:root{--shell-rail:100px;--ink:#254650;--teal:#267f83;--gold:#dfad54}body{background:#edf5f4}.topbar{background:#204953;color:#fff;border-color:#3b6a6f}.stage{overflow:hidden;background:#f0f5f1}.lesson-content-slot{height:100%;min-height:0}.rail{background:#fff8ea;gap:8px;grid-template-columns:75px 1fr auto;padding:8px 12px}.rail button{padding:0 10px;border:2px solid #88b2b0;border-radius:12px;color:#254650;background:#fffdf6}.teacher-tools,.navcluster{gap:5px}button{transition:transform .16s,box-shadow .16s}button:hover:not(:disabled){;box-shadow:0 4px 12px #315c6322}button:active:not(:disabled){;}button:focus-visible{outline:4px solid #f1b741;outline-offset:3px}button.selected{background:#d8f0e7!important;border-color:#338a72!important;box-shadow:0 0 0 3px #84d5bc44}button:disabled{opacity:.6}.scene-page{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;color:var(--ink);font-family:'Segoe UI',Arial,sans-serif}.scene-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 25px 10px;background:#fff9e9}.eyebrow{font-weight:800;font-size:11px;letter-spacing:1.7px;text-transform:uppercase;color:#8d7041}.scene-heading h1{font-size:clamp(23px,2.5vw,34px);margin:4px 0}.scene-heading p{font-size:16px;margin:0}.mission-count{border:2px solid #cbaf75;border-radius:15px;padding:10px 16px;white-space:nowrap;font-size:23px;background:#fff0c9}.mission-count span{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase}.world{position:relative;overflow:auto;min-height:0;background:linear-gradient(#fcfaf141,#eff9f235),url('assets/background-L050-COVER.webp') center/cover}.world:before{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 60px #132d4b24}.scene-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:10px 25px;background:#fff9eb;border-top:2px solid #e4d3ac;min-height:66px}.feedback{font-size:16px;line-height:1.35;margin:0;max-width:73%}.feedback.success{color:#297646;font-weight:800}.teacher-accept,.primary{background:#1e7279!important;color:#fff!important;border:2px solid #1e7279!important;border-radius:12px;min-height:46px;min-width:166px}.teacher-accept:disabled{background:#d3e3de!important;border-color:#acc8be!important;color:#4f6d63!important;opacity:.7}.voice-badge{position:absolute;bottom:6px;right:12px;z-index:8;background:#fff9e8e8;padding:4px 9px;border-radius:9px;font-size:11px;color:#647976;pointer-events:none}.speech-bubble{position:relative;background:#fffdf3f7;border:3px solid #c3a86a;border-radius:19px;padding:12px 16px;box-shadow:0 5px 0 #785c2922;animation:bubble-in .4s ease-out}.speech-bubble:after{content:'';position:absolute;left:-10px;top:38%;width:16px;height:16px;background:#fffdf3;transform:rotate(45deg);border-left:3px solid #c3a86a;border-bottom:3px solid #c3a86a}.speech-bubble>span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:#8b7347;font-weight:800;margin-bottom:5px}.speech-bubble strong{font-size:clamp(20px,2.1vw,28px);line-height:1.3;display:block;overflow-wrap:anywhere}.speech-bubble.speaking{border-color:#229b91;box-shadow:0 0 0 5px #80d8c536}.speaking .portrait img{animation:talk-nod .65s ease-in-out infinite alternate}.portrait{position:relative;overflow:hidden;border-radius:18px;background:#fff7e8;width:100%;height:100%;min-height:0}.portrait img{width:100%;height:100%;object-fit:contain;display:block}.portrait.crop{background-size:200% 200%;background-repeat:no-repeat;background-position:left top;aspect-ratio:4/5}.portrait.crop.hair{background-position:left bottom}.portrait-stage{height:100%;min-height:390px;position:relative;max-width:1200px;margin:auto}.observation-photo{position:absolute;left:6%;top:5%;height:85%;width:36%;border:7px ridge #cfac66;border-radius:23px;box-shadow:0 12px 25px #21474835}.observation-photo .portrait{border-radius:12px}.hotspot{position:absolute;background:#ffe3710a;border:3px dashed #d6aa49;border-radius:45%;padding:0;min-height:44px;min-width:44px;color:#26494d}.hotspot>span{position:absolute;top:-19px;left:0;background:#fff8d3;border:2px solid #d2ae61;border-radius:10px;padding:5px 10px;font-size:13px;white-space:nowrap}.hotspot.lit{background:#ffe97626;border:5px solid #ffc95b;box-shadow:0 0 15px #fff1a9;animation:focus-ring .7s ease-out}.hotspot.solved{border-color:#2eae8b}.mode-trace .hotspot.lit{animation:trace-in .9s ease-out;border-radius:14px}.mode-photo .hotspot.lit{animation:photo-flash .65s ease-out;border-radius:8px}.question-in-scene{position:absolute;left:47%;right:5%;top:5%}.feature-dock{position:absolute;left:47%;right:5%;top:32%;padding:16px;border:3px solid #81b7ac;border-radius:20px;background:#fff9eaf5;animation:slide-in .35s ease-out}.choices{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:10px 0}.choices button{min-height:52px;padding:9px 18px;font-size:20px;border:2px solid #9bbab0;border-radius:13px;background:#fffef7}.feature-label{display:block;text-align:center;font-size:22px;color:#287c60}.answer-in-scene{position:absolute;left:47%;right:5%;bottom:13%;display:grid;gap:8px}.answer-in-scene .speech-bubble strong{font-size:22px}.answer-in-scene .speech-bubble{padding:10px 13px;border-color:#489a83}.feature-trail{position:absolute;bottom:5%;left:47%;right:5%;display:flex;gap:8px;flex-wrap:wrap}.feature-trail span{background:#fff2cedd;border:2px dashed #bfa56b;border-radius:9px;padding:7px 10px;font-size:13px}.scene-sign{position:absolute;top:38%;left:49%;right:6%;background:#fff9eaf2;border:3px dashed #c8a56e;border-radius:16px;padding:18px;text-align:center;font-size:21px}.scene-sign.inline{position:relative;inset:auto;padding:8px;font-size:15px;margin:8px auto;max-width:900px}.photo-stamp{position:absolute;bottom:-28px;right:0;padding:8px 14px;background:#eef9dd;border:3px double #709a61;border-radius:15px;color:#4a7f47;font-weight:900;transform:rotate(-4deg);animation:stamp-in .5s ease-out}.actor{position:absolute;bottom:4%;left:2%;height:88%;width:25%;background:none;border:0;padding:0;z-index:2}.actor img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;pointer-events:none}.actor span{position:absolute;bottom:0;left:10%;right:10%;padding:8px 15px;background:#fff8e9;border:2px solid #d1ae68;border-radius:15px;font-size:19px}.actor i{font-size:12px;color:#28a89a;animation:tap-dot 1.7s infinite}.actor.right{left:auto;right:2%}.welcome-board{position:relative;width:42%;margin:20px auto;padding:20px;border:4px solid #d1ad68;border-radius:28px;background:#fff9e9f2;text-align:center;z-index:3;box-shadow:0 12px 25px #3e5b4233}.welcome-board h2{font-size:32px;margin:9px 0}.welcome-board p{font-size:19px}.club-pass{background:#fff0c7;border:2px dashed #c7a15c;padding:15px;border-radius:15px;margin:12px 0;font-size:20px}.personality-scene{position:relative;margin-left:25%;height:100%;min-height:390px}.personality-scene .portrait{position:absolute;left:20%;width:39%;top:4%;height:91%;background:transparent}.personality-scene .portrait img{object-fit:cover;mix-blend-mode:multiply;transform:scale(1.22);transform-origin:center 42%}.personality-scene>.speech-bubble{position:absolute;top:5%;left:2%;width:47%;z-index:3}.scene-object{position:absolute;right:5%;top:7%;width:160px;height:150px;z-index:3;border:3px solid #bca668;border-radius:20px;background:#fff3d9;box-shadow:0 8px 0 #71683725}.scene-object svg{height:105px;display:block;width:100%}.scene-object span{font-size:14px}.opened.quiet .scene-object{animation:book-open .6s ease-out}.opened.shy .scene-object{animation:curtain-open .65s ease-out}.opened.outgoing .scene-object{animation:mic-glow .8s ease-out}.context-note{position:absolute;left:1%;bottom:14%;width:38%;background:#fff7e7;border:2px solid #d0b97f;border-radius:16px;padding:14px;font-size:18px}.personality-choice{position:absolute;right:3%;bottom:12%;width:40%;z-index:4;padding:10px;background:#fff8e5ee;border-radius:18px}.personality-choice .choices button{font-size:18px;min-height:45px;padding:7px 11px}.person-label{position:absolute;bottom:4%;left:36%;padding:7px 20px;background:#fff9dc;border:2px solid #c7a961;border-radius:13px;font-size:20px;font-weight:800}.delivery-scene,.detective-board,.review-exhibition{position:relative;max-width:1150px;margin:auto;padding:16px 22px 32px;min-height:100%;}.mail-rack,.candidate-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.picture-card,.candidate{position:relative;min-width:0;border:5px solid #caa86c;border-radius:20px;background:#fffaf0;padding:8px;box-shadow:0 7px 0 #7f673825;overflow:hidden}.picture-card .portrait{height:230px;background:#fffef5}.picture-card>span,.candidate>span{display:block;font-size:19px;margin:6px 0}.attached-label{display:block;background:#d9f2e5;color:#287955;border-radius:11px;padding:8px;font-size:18px;animation:stamp-in .45s ease-out}.matched{border-color:#459781}.sentence-mail{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:20px 0 5px}.mail-token{background:#fff1ce;border:2px dashed #be9b5d;padding:14px 20px;font-size:20px;border-radius:12px;min-height:56px;touch-action:none;user-select:none}.drag-mail{position:fixed;pointer-events:none;z-index:10000;background:#fff0bc;border:3px solid #c3a15a;padding:13px;border-radius:12px;font-size:20px;box-shadow:0 8px 22px #25464d44}.clue-envelopes{display:flex;justify-content:center;gap:12px;margin-bottom:15px;flex-wrap:wrap}.envelope{padding:13px 20px;min-height:57px;min-width:170px;border:3px solid #cda763;border-radius:13px;background:linear-gradient(150deg,#fff9df,#ffe7aa);font-size:19px;max-width:100%}.envelope.open{background:#edf9ed;border-color:#76a890;animation:envelope-in .5s ease-out}.candidate-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.candidate .portrait{height:225px}.candidate-gallery.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px;margin:auto}.candidate-gallery.two .portrait{height:240px}.message-log{display:flex;justify-content:center;gap:12px;margin-top:15px}.message-log .speech-bubble{max-width:48%}.message-log .speech-bubble strong{font-size:20px}.description-scene{height:100%;min-height:390px;display:grid;grid-template-columns:48% 49%;gap:3%;max-width:1150px;padding:18px 30px 32px;margin:auto}.subject-photo{position:relative;min-height:340px}.subject-photo>.portrait{width:75%;height:100%;background:#fff9e7;border:5px ridge #c7a05c}.subject-photo .person-label{left:17%;bottom:0}.subject-badges{position:absolute;right:0;top:9%;display:flex;flex-direction:column;gap:12px;max-width:45%;}.subject-badges button{background:#fff5d8;padding:12px;border:3px solid #c9ad71;border-radius:12px;font-size:17px;box-shadow:0 5px 0 #886d3222}.subject-badges button.complete{background:#dff3e4;border-color:#64a883}.description-dock{padding-top:4px;overflow:auto}.description-dock h2{font-size:20px;color:#558c7d;margin:14px 0}.description-dock>p{padding:14px;background:#fff6e1;font-size:19px;border-radius:13px}.description-dock .speech-bubble{margin-bottom:14px}.description-dock .speech-bubble strong{font-size:23px}.roleplay-scene{position:relative;width:54%;margin:15px auto 30px;border:4px solid #c4a467;border-radius:24px;background:#fffaf0ee;padding:16px;z-index:3;}.role-selector{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;padding-bottom:12px}.role-selector .eyebrow{width:100%;text-align:center}.role-selector button,.example-button{padding:9px 13px;min-height:45px;background:#ffedc2;border:2px solid #c7ad77;border-radius:12px}.dialogue-history{max-height:220px;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:4px 7px 14px}.dialogue-history .speech-bubble{max-width:93%;flex-shrink:0}.dialogue-history .speech-bubble strong{font-size:21px}.dialogue-history .learner{align-self:flex-end;border-color:#66a892;background:#effaf1}.dialogue-history .learner:after{left:auto;right:-10px;border-color:#66a892;border-left:0;border-right:3px solid #66a892;background:#effaf1}.dialogue-history .current{border-style:dashed}.personal-reminder{font-size:13px;margin:9px 0 0}.learner-avatar{position:absolute;bottom:4%;right:3%;width:18%;height:66%;}.learner-avatar svg{width:100%;height:90%;filter:drop-shadow(0 8px 3px #1f43482a)}.learner-avatar span{display:block;border:2px solid #c7a96b;border-radius:14px;background:#fff6dc;padding:8px;font-weight:800;text-align:center;font-size:16px}.review-exhibition{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.review-card{min-width:0;border:4px solid #bfa067;border-radius:20px;background:#fff9e9;padding:10px;box-shadow:0 8px 0 #886f4125;}.review-card .portrait{height:220px}.review-card>span{display:block;font-size:21px;margin:10px 0}.review-card strong{font-size:18px;display:block;color:#3b806b}.review-card.opened{animation:stamp-in .4s ease-out}.review-frames{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:8px}.review-frames span{background:#fff5d6;border:2px solid #cead71;padding:10px 15px;border-radius:13px;font-size:18px}.mission-earned:after{content:'✦ GREAT WORK ✦';position:absolute;left:35%;top:30%;padding:20px;background:#fff2b2;border:4px double #e2a937;border-radius:25px;color:#367b68;font-size:25px;z-index:20;pointer-events:none;animation:earned 1.6s forwards}
@keyframes bubble-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@keyframes focus-ring{from{transform:scale(1.12);box-shadow:0 0 40px #ffe68b}to{transform:scale(1)}}@keyframes trace-in{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}@keyframes photo-flash{0%{background:#fff;box-shadow:0 0 50px #fff}100%{background:#ffe97626}}@keyframes slide-in{from{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}@keyframes stamp-in{from{transform:scale(1.13) rotate(-5deg);opacity:0}to{transform:scale(1);opacity:1}}@keyframes envelope-in{from{transform:rotateX(50deg)}to{transform:none}}@keyframes tap-dot{50%{opacity:.4;transform:scale(.7)}}@keyframes book-open{from{transform:rotateY(60deg)}to{transform:none}}@keyframes curtain-open{from{transform:translateX(35px);opacity:.4}to{transform:none}}@keyframes mic-glow{50%{box-shadow:0 0 40px #efc854;transform:scale(1.06)}}@keyframes talk-nod{to{transform:translateY(-4px)}}@keyframes earned{0%{opacity:0;transform:scale(.6)}25%,75%{opacity:1;transform:scale(1)}100%{opacity:0;transform:translateY(-20px)}}
@media(max-height:750px) and (min-width:901px){.scene-heading{padding:10px 22px 8px}.scene-heading h1{font-size:27px}.portrait-stage,.personality-scene,.description-scene{min-height:360px}.picture-card .portrait,.candidate .portrait,.review-card .portrait{height:190px}.candidate-gallery.two .portrait{height:200px}.choices button{min-height:45px;padding:7px 12px;font-size:18px}.feature-dock{padding:11px;top:29%}.answer-in-scene{bottom:13%}.answer-in-scene .speech-bubble strong{font-size:20px}.feature-trail{bottom:3%}.scene-footer{min-height:60px}.dialogue-history{max-height:200px}.roleplay-scene{margin-top:10px;padding:12px}.voice-badge{font-size:10px}}
@media(max-width:1100px){.rail{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:7px}.progress{position:static}.teacher-tools{justify-self:auto}.navcluster{justify-self:auto}.rail button{font-size:13px;padding:0 8px}.lesson-shell{grid-template-rows:52px minmax(0,1fr) 130px}.rail{height:130px}.description-dock .speech-bubble strong{font-size:21px}}
@media(max-width:750px){.lesson-shell{grid-template-rows:46px minmax(0,1fr) 194px}.rail{height:194px;display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;padding:6px 6px;gap:6px}.navcluster,.teacher-tools{width:100%;justify-content:center;flex-shrink:0;gap:4px}.rail button{font-size:12px;padding:0 7px;min-height:44px}.progress{height:24px;flex-shrink:0}.topbar{padding:0 10px;gap:8px}.brand{font-size:12px}.scene-heading{padding:12px 14px;align-items:flex-start}.scene-heading h1{font-size:23px}.scene-heading p{font-size:14px;line-height:1.4}.mission-count{padding:7px;font-size:17px}.scene-footer{padding:10px 12px;flex-wrap:wrap;gap:8px}.feedback{max-width:100%;font-size:14px}.teacher-accept{min-height:44px;min-width:160px;font-size:13px}.world{overflow:auto}.voice-badge{position:sticky;bottom:0;display:block;text-align:right;float:right;font-size:9px}.portrait-stage{min-height:790px;height:auto;padding:15px}.observation-photo{position:relative;left:auto;top:auto;height:350px;width:270px;max-width:90%;margin:auto}.question-in-scene{position:relative;inset:auto;margin:12px 0}.feature-dock,.answer-in-scene,.feature-trail,.scene-sign{position:relative;inset:auto;margin:12px 0}.speech-bubble strong{font-size:22px}.feature-trail{justify-content:center}.answer-in-scene .speech-bubble strong{font-size:20px}.hotspot span{font-size:12px}.actor{position:relative;left:auto;bottom:auto;width:42%;height:240px;display:inline-block;margin:10px 3%;vertical-align:top}.actor.right{right:auto}.actor span{font-size:15px;padding:6px;left:0;right:0}.welcome-board{width:92%;margin:12px auto}.welcome-board h2{font-size:26px}.cover-world,.ending-world{text-align:center}.personality-world>.actor{display:none}.personality-scene{margin:0;min-height:690px}.personality-scene .portrait{left:8%;top:90px;width:76%;height:360px}.personality-scene>.speech-bubble{left:4%;top:10px;width:92%}.scene-object{top:115px;right:3%;width:110px;height:122px}.scene-object svg{height:75px}.scene-object span{font-size:12px}.context-note{left:4%;bottom:auto;top:455px;width:92%;font-size:16px;padding:10px}.personality-choice{left:4%;right:auto;width:92%;bottom:auto;top:525px}.person-label{bottom:auto;top:408px;left:32%;font-size:16px}.mail-rack,.candidate-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.delivery-scene,.detective-board,.review-exhibition{padding:14px 12px 25px}.picture-card .portrait,.candidate .portrait{height:180px}.picture-card,.candidate{border-width:3px;padding:5px}.picture-card>span,.candidate>span{font-size:15px}.attached-label{font-size:15px}.sentence-mail{gap:8px}.mail-token{font-size:17px;padding:11px}.clue-envelopes{gap:8px}.envelope{font-size:17px;min-width:0;width:100%}.candidate-gallery.two .portrait{height:180px}.message-log{flex-direction:column}.message-log .speech-bubble{max-width:100%}.description-scene{display:flex;flex-direction:column;height:auto;padding:15px 12px;gap:15px}.subject-photo{height:390px;min-height:390px}.subject-photo .person-label{top:auto;bottom:0;left:16%}.subject-badges button{font-size:15px;padding:10px}.description-dock{overflow:visible}.description-dock .speech-bubble strong{font-size:21px}.talk-world>.actor{position:relative;width:45%;height:250px;margin-left:27%;}.learner-avatar{display:none}.roleplay-scene{width:94%;margin:5px auto 20px;padding:12px}.dialogue-history{max-height:300px}.dialogue-history .speech-bubble strong{font-size:19px}.review-exhibition{grid-template-columns:1fr}.review-card .portrait{height:280px;max-width:250px;margin:auto}.review-frames{grid-column:1;gap:8px}.review-frames span{font-size:17px}.mission-earned:after{left:5%;right:5%;text-align:center;font-size:21px}.scene-sign.inline{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.mission-earned:after{display:none}}

.observation-photo{width:auto;aspect-ratio:4/5;max-width:40%}.hotspot{width:auto;height:44px;background:#fff7d9;border:2px solid #bc9a51;border-radius:12px;padding:6px 10px;z-index:5;box-shadow:0 3px 0 #99753624}.hotspot>span{position:static;background:none;border:0;padding:0;font-size:13px}.feature-ring{position:absolute;pointer-events:none;border:4px dashed transparent;border-radius:45%}.feature-ring.lit{border-color:#f0ba47;background:#ffe78422;box-shadow:0 0 14px #fff4a8;animation:focus-ring .6s ease-out}.feature-ring.solved{border-color:#3fba8c}.mode-trace .feature-ring.lit{border-radius:10px;animation:trace-in .8s ease-out}.mode-photo .feature-ring.lit{border-radius:8px;animation:photo-flash .65s ease-out}@media(max-width:750px){.observation-photo{max-width:90%;width:270px}}

.all-found .feature-dock{display:none}.all-found .answer-in-scene{bottom:22%;gap:15px}.all-found .speech-bubble strong{font-size:24px}@media(max-width:750px){.all-found .answer-in-scene{bottom:auto}.all-found .speech-bubble strong{font-size:21px}}

.personality-scene .portrait{left:28%;width:39%}.personality-scene .portrait img{object-fit:contain;transform:none}.personality-scene>.speech-bubble{left:1%;width:34%}.personality-scene>.speech-bubble strong{font-size:24px}.actor img{transform:scale(1.12);transform-origin:center bottom}@media(max-width:750px){.personality-scene .portrait{left:8%;width:76%}.personality-scene>.speech-bubble{left:4%;width:92%}.actor img{transform:none}}

.lesson-2 .actor{height:75%;width:22%;bottom:7%}.lesson-2 .actor img{object-fit:contain;border-radius:23px;transform:none}.lesson-2 .actor span{bottom:-8px}.delivery-scene,.detective-board{padding-bottom:12px}.roleplay-scene{margin-bottom:10px}.learner-avatar{bottom:7%}.voice-badge{bottom:1px}.picture-card{display:flex;flex-direction:column}.candidate{display:flex;flex-direction:column}.picture-card .portrait,.candidate .portrait{flex-shrink:0}.picture-card>span,.candidate>span{flex-shrink:0}@media(max-width:750px){.lesson-2 .actor{position:relative;width:42%;height:240px;bottom:auto;margin:12px 3%}.lesson-2 .actor span{bottom:0}}

.candidate:disabled{opacity:.9}.clue-match-world .candidate .portrait{height:180px}.clue-match-world .envelope{min-height:50px;padding:9px 15px}.clue-match-world .clue-envelopes{margin-bottom:8px}.clue-match-world .message-log{margin-top:8px}.clue-match-world .message-log .speech-bubble{padding:7px 12px}.clue-match-world .message-log .speech-bubble strong{font-size:17px}.clue-match-world .message-log .speech-bubble>span{margin-bottom:3px}.detective-board .candidate .portrait{height:205px}.detective-board .scene-sign{padding:6px;margin:7px auto}.detective-board .clue-envelopes{margin-bottom:10px}.talk-world .roleplay-scene{margin-bottom:5px}@media(max-width:750px){.clue-match-world .candidate .portrait,.detective-board .candidate .portrait{height:180px}.clue-match-world .message-log .speech-bubble{max-width:100%}}

.detective-board .candidate .portrait{height:188px}.match-world .picture-card .portrait{height:180px}.sentence-mail{margin:12px 0 4px}.match-world .scene-sign.inline{padding:6px}.matched>span{visibility:hidden}.attached-label{position:absolute;bottom:8px;left:8px;right:8px;margin:0;padding:6px;font-size:16px}@media(max-width:750px){.attached-label{font-size:14px}.detective-board .candidate .portrait{height:180px}}

.roleplay-scene{max-height:calc(100% - 20px);display:flex;flex-direction:column}.dialogue-history{overflow-x:hidden;overflow-y:auto;min-height:0;flex:1;padding:4px 14px 14px;max-height:180px}.role-selector,.personal-reminder,.example-button{flex-shrink:0}.example-button{align-self:flex-start}@media(max-width:750px){.roleplay-scene{max-height:none}.dialogue-history{max-height:300px;flex:0 1 auto}}

/* L002 review portraits: preserve each source quadrant's 4:5 proportions. */
.lesson-2 .review-card .portrait.crop{width:min(100%,176px);height:auto;aspect-ratio:4/5;margin-inline:auto}
@media(max-height:750px) and (min-width:901px){.lesson-2 .review-card .portrait.crop{width:min(100%,152px);height:auto}}
@media(max-width:750px){.lesson-2 .review-card .portrait.crop{width:min(100%,224px);height:auto}}

.lesson-4{--teal:#17776e;--gold:#e1ad56}.lesson-5{--teal:#5b7993;--gold:#d9ad68}
.lesson-4 .actor,.lesson-5 .actor{height:78%;width:21%;bottom:7%}.lesson-4 .actor img,.lesson-5 .actor img{object-fit:contain;mix-blend-mode:normal;transform:none;border-radius:22px}.lesson-4 .actor span,.lesson-5 .actor span{bottom:-10px}
.story-set{position:relative;height:100%;min-height:350px;max-width:1250px;margin:auto;padding:12px}.story-set .actor{left:1%;width:20%;height:76%;bottom:8%}.story-picture{position:absolute;left:24%;top:5%;width:37%;height:86%;padding:8px 8px 36px;border:5px ridge #d2ac64;border-radius:24px;background:#fff8e6;overflow:hidden;box-shadow:0 12px 25px #26465033}.story-picture .portrait{background:#fff9e9}.picture-invitation{position:absolute;bottom:0;left:0;right:0;padding:7px 10px;color:#3a625a;background:#fff0c9;font-size:19px;font-weight:800}.story-dialogue{position:absolute;right:3%;top:6%;width:34%;max-height:89%;overflow:auto;padding:2px 10px 12px}.story-dialogue .speech-bubble{margin-bottom:11px;padding:10px 14px}.story-dialogue .speech-bubble strong{font-size:23px}.story-dialogue .previous strong{font-size:17px}.story-dialogue .previous{padding:6px 12px}.story-options{background:#fff9e9ed;border:2px solid #b99e69;padding:12px;border-radius:17px}.story-options .choices{flex-direction:column;margin:9px 0 0}.story-options button{font-size:19px;min-height:51px;text-align:left}.story-stamp{display:block;background:#dff6e5;color:#2c725a;border:2px dashed #6c9c76;border-radius:12px;padding:10px;font-size:16px}.story-answer .speech-bubble{border-color:#64a88b}.story-glimmer{position:absolute;top:0;left:-100%;width:45%;height:100%;background:linear-gradient(90deg,transparent,#fff9,transparent);transform:skewX(-15deg);pointer-events:none}.clue-open .story-glimmer{animation:scene-shine 1s ease-out}.clue-open.bounce .portrait img{animation:ball-bounce .7s ease-out}.clue-open.book .portrait img{animation:book-open .7s ease-out}.clue-open.board .portrait{animation:stamp-in .6s ease-out}.clue-open.music .portrait{animation:music-beat .8s ease-out}.clue-open.science .portrait{animation:science-glow 1s ease-out}.clue-open.cook .portrait{animation:stamp-in .6s ease-out}.clue-open.doctor .portrait{animation:music-beat .8s ease-out}.clue-open.teacher .portrait{animation:book-open .7s ease-out}
.lesson-4 .mode-hobby{min-height:350px}.mode-hobby>.portrait{position:absolute;left:3%;top:4%;width:51%;height:auto;aspect-ratio:3/2;border:5px solid #c9a769;box-shadow:0 8px 20px #25465033}.mode-hobby .hotspot,.mode-hobby .feature-ring{display:none}.mode-hobby .hobby-hotspot{position:absolute;border:3px dashed #ffdb72;border-radius:20px;min-width:44px;min-height:44px;background:#fff8;z-index:3;box-shadow:0 0 0 3px #fff5}.mode-hobby .hobby-hotspot span{display:block;background:#fff5d6;border-radius:10px;padding:6px;color:#264c53;font-size:17px;font-weight:800}.mode-hobby .hobby-hotspot.solved{background:#d8f7dc99;border-color:#228466}.mode-hobby .question-in-scene,.mode-hobby .feature-dock,.mode-hobby .answer-in-scene,.mode-hobby .feature-trail{left:59%;right:3%}.mode-hobby .feature-dock{top:30%}.mode-hobby .answer-in-scene{bottom:20%}.mode-hobby .scene-sign{left:59%;right:3%;top:36%}.mode-hobby .feature-trail{bottom:6%}
.lesson-4 .mail-rack{grid-template-columns:repeat(4,minmax(0,1fr))}.lesson-5 .mail-rack{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;margin:auto}.lesson-5 .match-world .picture-card .portrait{height:245px}.lesson-4 .review-exhibition,.lesson-5 .review-exhibition{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding-top:16px}.lesson-4 .review-card .portrait,.lesson-5 .review-card .portrait{height:170px;object-fit:contain}.lesson-4 .review-card>span,.lesson-5 .review-card>span{font-size:19px}.lesson-4 .review-card strong,.lesson-5 .review-card strong{font-size:17px}.lesson-4 .review-frames span,.lesson-5 .review-frames span{font-size:16px;padding:9px 12px}.lesson-4 .welcome-board,.lesson-5 .welcome-board{margin-top:14px;padding:15px}.lesson-4 .welcome-board h2,.lesson-5 .welcome-board h2{font-size:27px}.lesson-4 .welcome-board p,.lesson-5 .welcome-board p{font-size:17px}.lesson-5 .welcome-board .speech-bubble strong{font-size:23px}
.dream-passport{position:relative;min-height:350px;height:100%;max-width:1250px;margin:auto;padding:12px 22px 22px 23%;display:grid;grid-template-columns:1fr 1fr;gap:16px}.dream-passport .actor{left:1%;width:20%;height:78%}.dream-clues{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start;margin-top:10px}.dream-clue{position:relative;min-width:0;border:4px solid #ccaf78;border-radius:20px;background:#fff9e9;padding:8px;overflow:hidden;box-shadow:0 7px 0 #55777133}.dream-clue .portrait{height:178px}.dream-tag{display:block;font-size:16px;background:#fff0c6;border-radius:10px;padding:9px 4px;margin-top:6px}.dream-clue strong{font-size:17px;display:block;margin:8px 0;line-height:1.3}.dream-clue.opened{animation:stamp-in .45s ease-out}.dream-clue.opened .dream-tag{background:#e5f3e2}.passport-questions{overflow:auto;padding:2px 10px}.passport-question .speech-bubble{padding:8px 12px}.passport-question .speech-bubble strong{font-size:21px}.passport-question .choices{gap:6px;margin:7px 0}.passport-question .choices button{font-size:16px;min-height:42px;padding:6px 9px}.passport-question{margin-bottom:10px}.evidence-link{font-size:14px;margin:5px 0;color:#2e715c;background:#ecf9e7;border-radius:8px;padding:7px}
@keyframes scene-shine{to{left:160%}}@keyframes ball-bounce{0%,100%{transform:none}35%{transform:translateY(-10px)}65%{transform:translateY(-4px)}}@keyframes music-beat{25%,75%{box-shadow:0 0 0 8px #86d8c677}50%{box-shadow:0 0 0 18px #86d8c622}}@keyframes science-glow{50%{filter:brightness(1.16) saturate(1.2)}}
@media(max-width:1050px) and (min-width:751px){.story-dialogue .speech-bubble strong{font-size:20px}.story-options button{font-size:17px}.story-dialogue{width:35%;right:1%}.story-picture{left:23%;width:36%}.scene-heading p{font-size:14px}.lesson-4 .review-card>span,.lesson-5 .review-card>span{font-size:17px}.dream-passport{padding-left:20%}.dream-clue .portrait{height:150px}.passport-question .speech-bubble strong{font-size:18px}.dream-clue strong{font-size:15px}}
@media(max-width:750px){.lesson-4 .actor,.lesson-5 .actor{height:210px;width:40%;position:relative;bottom:auto;left:auto;margin:12px 4%}.story-set{min-height:950px;display:grid;grid-template-columns:1fr 1fr;padding:12px;gap:12px;height:auto}.story-set .actor{position:relative;height:190px;width:100%;grid-column:1;left:auto;bottom:auto;margin:0}.story-picture{position:relative;left:auto;top:auto;width:100%;height:270px;grid-column:1/-1;grid-row:2}.story-dialogue{position:relative;inset:auto;width:100%;grid-column:1/-1;max-height:none;overflow:visible}.story-dialogue .speech-bubble strong{font-size:21px}.story-options button{font-size:18px}.story-set{min-height:0}.lesson-4 .mail-rack,.lesson-5 .mail-rack{grid-template-columns:1fr 1fr;gap:10px}.lesson-4 .match-world .picture-card .portrait,.lesson-5 .match-world .picture-card .portrait{height:170px}.lesson-4 .review-exhibition,.lesson-5 .review-exhibition{grid-template-columns:1fr 1fr;padding:14px 12px 25px;gap:10px}.lesson-4 .review-card .portrait,.lesson-5 .review-card .portrait{height:165px;max-width:100%}.lesson-4 .review-card>span,.lesson-5 .review-card>span{font-size:16px}.lesson-4 .review-card strong,.lesson-5 .review-card strong{font-size:15px}.lesson-4 .welcome-board,.lesson-5 .welcome-board{width:90%;margin:12px auto}.dream-passport{display:flex;flex-direction:column;padding:12px;min-height:0;height:auto}.dream-passport .actor{height:210px;width:58%;margin:auto}.dream-clues{width:100%}.dream-clue .portrait{height:170px}.passport-questions{overflow:visible;padding:0}.mode-hobby>.portrait{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:3/2}.mode-hobby .question-in-scene,.mode-hobby .feature-dock,.mode-hobby .answer-in-scene,.mode-hobby .feature-trail,.mode-hobby .scene-sign{position:relative;inset:auto;margin:12px 0;width:100%}.lesson-4 .mode-hobby{padding:12px;min-height:0;height:auto}.mode-hobby .hobby-hotspot span{font-size:13px;padding:4px}.mode-hobby .hobby-hotspot{border-width:2px}}
@media(prefers-reduced-motion:reduce){.scene-page *{animation:none!important;transition:none!important}}
.hobby-art{position:absolute;left:3%;top:4%;width:51%;aspect-ratio:3/2;height:auto;border:5px solid #c9a769;border-radius:20px;overflow:hidden;box-shadow:0 8px 20px #25465033}.hobby-art>.portrait{width:100%;height:100%;position:absolute;inset:0}.hobby-art img{object-fit:contain}.mode-hobby .hobby-hotspot{background:transparent}.mode-hobby .hobby-hotspot span{position:absolute;top:-6px;left:0;font-size:14px;padding:4px 7px}
@media(max-width:750px){.hobby-art{position:relative;inset:auto;width:100%;height:auto}.mode-hobby .hobby-hotspot span{font-size:12px}}
.activity-fx{position:absolute;inset:8px 8px 39px;pointer-events:none;overflow:hidden;border-radius:16px}.sport-orbit{position:absolute;bottom:13%;left:11%;width:48%;height:13%;border-bottom:5px dashed #fff17b;animation:track-reveal 1.2s ease-out}.reading-line{position:absolute;bottom:23%;left:20%;width:50%;border-top:4px solid #ffe875;animation:track-reveal 1s ease-out}.reading-line.second{bottom:19%;animation-delay:.15s}.board-piece{position:absolute;left:44%;top:64%;width:17px;height:17px;border:3px solid white;background:#e65f61;border-radius:50%;box-shadow:0 4px 7px #4e393955;animation:piece-step 1.1s ease-out}.equalizer{position:absolute;bottom:5%;left:30%;width:40%;height:50px;display:flex;align-items:end;justify-content:center;gap:8px}.equalizer i{width:13px;height:80%;border-radius:6px;background:#ffe075;box-shadow:0 0 6px #ffe8a5;animation:eq-beat .45s alternate 6}.equalizer i:nth-child(even){animation-delay:.2s;height:45%}.equalizer i:nth-child(3){animation-delay:.1s;height:100%}.lab-bubble{position:absolute;left:40%;bottom:20%;width:23px;height:23px;border:3px solid #71d7d5;background:#c4fcf5aa;border-radius:50%;animation:bubble-rise 1.5s ease-out 2}.lab-bubble.second{left:52%;width:14px;height:14px;animation-delay:.3s}.lab-bubble.third{left:60%;width:18px;height:18px;animation-delay:.6s}.chalk-path{position:absolute;right:16%;top:30%;width:34%;border-top:4px dashed #fff2a4;animation:track-reveal 1.2s ease-out}.steam{position:absolute;left:43%;bottom:34%;height:40%;width:13%;border-left:5px solid #ffffffaa;border-radius:50%;animation:steam-rise 1s 2}.steam.second{left:54%;animation-delay:.2s}.heart-trace{position:absolute;bottom:5%;left:20%;width:60%;height:22%;filter:drop-shadow(0 0 5px #fff)}.heart-trace path{fill:none;stroke:#ef6775;stroke-width:5;stroke-dasharray:300;stroke-dashoffset:300;animation:pulse-trace 1.4s forwards}
@keyframes track-reveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes piece-step{from{transform:translate(-70px,20px)}to{transform:none}}@keyframes eq-beat{to{height:25%}}@keyframes bubble-rise{to{transform:translateY(-80px);opacity:0}}@keyframes steam-rise{to{transform:translateY(-25px);opacity:0}}@keyframes pulse-trace{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.activity-fx *{animation:none!important}.heart-trace path{stroke-dashoffset:0}}
.hobby-art{width:46%;max-width:550px}.lesson-5 .welcome-board{padding:12px;margin-top:10px}.lesson-5 .welcome-board h2{font-size:25px;margin:7px 0}.lesson-5 .welcome-board p{font-size:16px;margin:9px 0}.lesson-5 .welcome-board .club-pass{font-size:17px;padding:10px;margin:9px 0}.lesson-5 .welcome-board .speech-bubble{padding:9px 12px}.lesson-5 .welcome-board .speech-bubble strong{font-size:21px}
.lesson-5 .match-world .delivery-scene{display:grid;grid-template-columns:3fr 1fr;gap:14px;padding-bottom:15px;align-items:start}.lesson-5 .match-world .mail-rack{grid-column:1;width:100%}.lesson-5 .match-world .sentence-mail{grid-column:2;flex-direction:column;align-items:stretch;margin-top:40px;gap:15px}.lesson-5 .match-world .scene-sign.inline{grid-column:1/-1;width:100%;margin:0}.lesson-5 .match-world .mail-token{padding:16px 8px;font-size:22px}
@media(max-width:750px){.hobby-art{width:100%;max-width:none}.lesson-5 .match-world .delivery-scene{display:block}.lesson-5 .match-world .sentence-mail{flex-direction:row;margin:15px 0}.lesson-5 .match-world .mail-token{padding:12px;font-size:19px}.lesson-5 .welcome-board .speech-bubble strong{font-size:21px}}
.story-dialogue.complete .speech-bubble{padding:7px 12px;margin-bottom:8px}.story-dialogue.complete .speech-bubble strong{font-size:18px}.story-dialogue.complete .final-response strong{font-size:21px}.story-dialogue.complete .speech-bubble>span{font-size:10px;margin-bottom:3px}.story-dialogue.complete .story-stamp{font-size:14px;padding:7px}
.all-delivered>.clue-envelopes{display:none}.lesson-4 .review-exhibition,.lesson-5 .review-exhibition{padding-bottom:15px}.lesson-4 .review-frames,.lesson-5 .review-frames{padding:4px}
@media(max-width:750px){.story-set .actor{grid-column:1/-1;width:65%;margin:0 auto}.lesson-4 .review-exhibition,.lesson-5 .review-exhibition{padding-bottom:25px}}
.lesson-5 .talk-world .roleplay-scene{margin-top:8px;max-height:calc(100% - 30px);padding:12px}.lesson-5 .talk-world .role-selector{padding-bottom:8px}
@media(max-width:750px){.lesson-5 .talk-world .roleplay-scene{max-height:none}}
.all-delivered>.scene-sign.inline{margin:4px auto}
.lesson-4 .learner-avatar svg,.lesson-5 .learner-avatar svg{height:calc(100% - 64px)}
.passport-question .choices{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:6px 0}.passport-question .choices button{min-width:0;font-size:15px;white-space:normal;min-height:44px}.passport-question .evidence-link{font-size:13px;padding:5px}.passport-question .speech-bubble strong{font-size:20px}

.lesson-6{--teal:#247c83;--gold:#dfac59}.lesson-7{--teal:#397e56;--gold:#e4af5b}.lesson-6 .actor,.lesson-7 .actor{height:78%;width:20%;bottom:6%}.lesson-6 .actor img,.lesson-7 .actor img{object-fit:contain;border-radius:24px;mix-blend-mode:normal}.lesson-6 .welcome-board,.lesson-7 .welcome-board{padding:14px;margin-top:14px}.lesson-6 .welcome-board h2,.lesson-7 .welcome-board h2{font-size:28px}.lesson-6 .welcome-board p,.lesson-7 .welcome-board p{font-size:17px}.lesson-6 .welcome-board .speech-bubble strong,.lesson-7 .welcome-board .speech-bubble strong{font-size:23px}
.journey-scene{display:grid;grid-template-columns:57% 43%;height:100%;min-height:350px;padding:14px;gap:0}.journey-art{position:relative;min-height:320px;height:100%;padding:8px 8px 60px;border:4px ridge #d7b371;border-radius:28px;background:#fff8e9ed;box-shadow:0 8px 18px #344c5533}.journey-art>.portrait{height:100%;border-radius:18px;overflow:hidden}.journey-art .portrait img{width:100%;height:100%;object-fit:contain}.scene-clue-trail{position:absolute;bottom:9px;left:9px;right:9px;display:flex;gap:7px;justify-content:center;flex-wrap:wrap}.scene-clue{font-size:16px;padding:9px 12px;min-height:44px;background:#fff3c3;border:2px solid #a6854c;border-radius:14px}.scene-clue.current{border-color:#208a70;box-shadow:0 0 0 4px #67cba444;animation:clue-pulse 2s 3}.journey-dialogue{margin-left:18px;padding:8px 10px;height:100%;overflow:auto}.journey-dialogue .speech-bubble{padding:10px 13px;margin:0 0 10px}.journey-dialogue .speech-bubble strong{font-size:23px}.journey-dialogue .choices{flex-direction:column;margin:10px 0}.journey-dialogue .choices button{font-size:19px;min-height:48px;text-align:left}.evidence-note{padding:13px;border:2px dashed #78a993;background:#fffce8f5;border-radius:16px;font-size:20px;animation:stamp-in .4s ease-out}.journey-progress{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.journey-progress span{border-radius:10px;padding:6px 9px;background:#fff8dd;font-size:14px}.journey-progress .complete{background:#d1f0d7;color:#286943}.oral-turn{border:2px solid #68a483;background:#edfae7;padding:12px;border-radius:15px;font-size:19px}.assembled-introduction .speech-bubble strong{font-size:19px}.assembled-introduction .speech-bubble{padding:7px 12px;margin-bottom:6px}.assembled-introduction .speech-bubble>span{font-size:10px}.support-vocabulary{display:flex;gap:5px;flex-wrap:wrap}.support-vocabulary span{background:#fff8e6;padding:5px 8px;border-radius:8px;font-size:14px}.journey-complete .journey-art{animation:music-beat .8s ease-out}.relation-tag{position:absolute;top:15%;max-width:40%;background:#fff2b5;padding:10px;border:3px solid white;border-radius:13px;font-size:20px;box-shadow:0 5px 12px #304d5533}.relation-tag.left{left:5%}.relation-tag.right{right:5%}.relation-connector{position:absolute;left:44%;top:22%;font-size:46px;color:#fff;background:#257d69;border-radius:15px;animation:stamp-in .6s ease-out}
.lesson-7 .story-set .story-picture{left:3%;width:55%;top:4%;height:89%}.lesson-7 .story-dialogue{width:37%;right:2%;top:6%}.lesson-7 .story-set .portrait img{object-fit:contain}.garden-bloom{position:absolute;bottom:4%;left:15%;right:15%;display:flex;justify-content:space-around;color:#e873ad;font-size:38px}.garden-bloom i{font-style:normal;animation:bloom-up .7s ease-out}.garden-bloom i:nth-child(2){animation-delay:.15s}.garden-bloom i:nth-child(3){animation-delay:.3s}.lesson-7 .story-answer .speech-bubble strong{font-size:22px}
.family-tree-scene{position:relative;max-width:1050px;margin:auto;padding:4px 20px 15px;height:100%;min-height:390px}.tree-people{display:grid;grid-template-columns:1fr 1fr;gap:26px 130px;max-width:680px;margin:16px auto;position:relative;z-index:2}.tree-person{height:148px;border:4px solid #b99c62;border-radius:22px;background:#fff9e6;padding:6px 6px 25px;position:relative;overflow:hidden}.tree-person .portrait{height:100%}.tree-person span{position:absolute;bottom:0;left:0;right:0;padding:4px;background:#fff1c5;font-size:15px}.tree-person.matched{border-color:#3b9a64;animation:stamp-in .45s ease-out}.tree-generation{position:absolute;left:12px;top:65px;background:#ffffe5;padding:7px;border-radius:9px;z-index:3;font-size:16px}.tree-generation.lower{top:240px}.tree-links{position:absolute;left:28%;right:28%;top:50%;height:35px;border:4px solid #659768;border-bottom:none;z-index:1}.family-tree-scene .sentence-mail{position:absolute;right:12px;top:12px;bottom:45px;width:145px;display:flex;flex-direction:column;justify-content:center;gap:12px}.family-tree-scene .mail-token{font-size:18px;padding:12px 7px}.family-tree-scene .tree-people{margin-right:165px;margin-left:110px;gap:24px 24px}.tree-speaking{font-size:17px;text-align:center;background:#ffffe9;border-radius:12px;padding:9px;position:relative;z-index:2}
.lesson-7 .review-exhibition{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;max-width:1150px}.lesson-7 .review-card .portrait{height:120px}.lesson-7 .review-card>span{font-size:17px}.lesson-7 .review-card strong{font-size:16px}.lesson-7 .review-frames{padding:5px;gap:5px}.lesson-7 .review-frames span{font-size:15px;padding:6px}.lesson-6 .review-exhibition{grid-template-columns:repeat(4,minmax(0,1fr));padding:14px}.lesson-6 .review-card .portrait{height:170px}.lesson-6 .review-card>span{font-size:17px}.lesson-6 .review-card strong{font-size:17px}.family-role-album{position:absolute;right:2%;top:5%;width:18%;height:72%;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:9px;background:#fff9e8;border:4px solid #b49b63;border-radius:20px}.family-role-album .portrait{height:100%;min-height:0}.lesson-7 .talk-world .learner-avatar{display:none}.lesson-6 .learner-avatar svg,.lesson-7 .learner-avatar svg{height:calc(100% - 64px)}
@keyframes clue-pulse{50%{box-shadow:0 0 0 8px #67cba422}}@keyframes bloom-up{from{opacity:0;transform:translateY(20px) scale(.2)}to{opacity:1;transform:none}}
@media(max-width:1050px) and (min-width:751px){.journey-dialogue .speech-bubble strong{font-size:20px}.journey-dialogue .choices button{font-size:17px}.evidence-note{font-size:18px}.scene-clue{font-size:14px;padding:7px}.lesson-7 .review-card .portrait{height:125px}.family-tree-scene .tree-people{margin-left:70px;gap:25px 15px}.tree-generation{font-size:13px;left:0}.journey-dialogue{margin-left:9px;padding:5px}.oral-turn{font-size:17px}}
@media(max-width:750px){.lesson-6 .actor,.lesson-7 .actor{position:relative;height:210px;width:40%;bottom:auto;left:auto;margin:12px 4%}.journey-scene{grid-template-columns:1fr;height:auto;padding:10px}.journey-art{height:360px;min-height:0}.journey-dialogue{margin:12px 0 0;height:auto;overflow:visible;padding:5px}.journey-dialogue .speech-bubble strong{font-size:21px}.lesson-7 .story-set{display:block}.lesson-7 .story-set .story-picture{position:relative;inset:auto;width:100%;height:370px}.lesson-7 .story-dialogue{position:relative;inset:auto;width:100%;margin-top:15px}.family-tree-scene{height:auto;padding:10px;min-height:0}.family-tree-scene .tree-people{margin:45px 0 15px;gap:40px 12px}.tree-person{height:210px}.tree-generation{top:12px;left:10px}.tree-generation.lower{top:268px}.family-tree-scene .sentence-mail{position:relative;inset:auto;width:100%;flex-direction:row;flex-wrap:wrap;gap:8px}.tree-links{top:48%;height:35px;left:25%;right:25%}.tree-speaking{margin-top:15px}.lesson-7 .review-exhibition,.lesson-6 .review-exhibition{grid-template-columns:1fr 1fr;gap:10px;padding:12px}.lesson-7 .review-card .portrait,.lesson-6 .review-card .portrait{height:170px}.family-role-album{position:relative;inset:auto;width:90%;height:300px;margin:15px auto}.lesson-6 .welcome-board,.lesson-7 .welcome-board{width:90%;margin:12px auto}.relation-tag{font-size:16px}.relation-connector{font-size:35px}.scene-clue{font-size:14px}}
@media(prefers-reduced-motion:reduce){.scene-clue,.garden-bloom i,.journey-complete .journey-art{animation:none}}
.previous-exchange{background:#fff9e9de;border-radius:12px;padding:6px 10px;margin-bottom:8px;border-left:4px solid #82ad95}.previous-exchange p{font-size:14px;margin:3px 0}.family-album{display:grid;grid-template-columns:55% 45%;grid-template-rows:minmax(210px,1fr) 105px auto;height:100%;gap:10px;padding:12px 22px}.album-main{background:#fff8e9;border:4px ridge #c5a168;border-radius:22px;padding:7px;min-height:0}.album-main .portrait{height:100%}.album-language{padding:12px}.album-language .speech-bubble strong{font-size:24px}.album-word{font-size:23px;background:#e7f4d7;border-radius:14px;padding:10px;text-align:center}.album-found{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.album-found span{background:#fffbe8;border-radius:9px;padding:5px;font-size:14px}.album-thumbnails{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.album-thumb{height:105px;position:relative;padding:4px 4px 22px;background:#fff8e8;border:2px solid #b29c70;border-radius:12px;overflow:hidden}.album-thumb .portrait{height:100%}.album-thumb span{position:absolute;bottom:0;left:0;right:0;background:#fff4ce;padding:3px;font-size:13px}.album-thumb.selected{border:4px solid #3f9a75}.album-frames{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.album-frames span{font-size:14px;background:#fff9e8;padding:4px 8px;border-radius:8px}
@media(max-width:750px){.family-album{display:flex;flex-direction:column;height:auto;padding:10px}.album-main{height:340px}.album-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}.album-language{padding:8px}.previous-exchange p{font-size:14px}}
@media(min-width:751px){.journey-complete .speech-bubble{padding:6px 10px;margin-bottom:5px}.journey-complete .speech-bubble strong{font-size:17px;line-height:1.18}.journey-complete .speech-bubble>span{font-size:9px;margin-bottom:3px}.journey-complete .oral-turn{font-size:16px;padding:8px;line-height:1.25}.journey-complete .journey-progress{margin:7px 0;gap:4px}.journey-complete .journey-progress span{font-size:12px;padding:4px 6px}.family-album{grid-template-rows:minmax(140px,1fr) 85px auto;gap:7px;padding:9px 18px}.album-thumbnails{gap:8px}.album-thumb{height:85px}.album-language{padding:5px 10px}.album-language .speech-bubble{padding:8px 12px;margin-bottom:8px}.album-language .speech-bubble strong{font-size:21px}.album-word{font-size:20px;padding:8px}.album-found{margin-top:8px}.album-found span{font-size:12px;padding:4px}.album-frames span{font-size:13px}.lesson-6 .review-card .portrait{height:150px}.lesson-6 .review-card strong{font-size:16px}.lesson-6 .review-frames span{font-size:15px;padding:6px 9px}.lesson-6 .review-exhibition{padding:10px;gap:10px}.lesson-6 .review-card>span{margin:7px 0}}
.learning-cue{position:absolute;right:3%;top:6%;padding:12px;border:3px solid #fff;border-radius:17px;background:#fff0badb;box-shadow:0 5px 14px #34544333;animation:stamp-in .45s ease-out;max-width:42%;pointer-events:none}.learning-cue>span{display:block;font-size:14px;text-transform:uppercase;letter-spacing:1px}.learning-cue>strong{font-size:24px;display:block;margin-top:6px}.cue-spark{font-size:40px;font-style:normal;color:#b67d28;display:block;text-align:center;animation:cue-twinkle .8s ease-out 2}.cue-face{border-radius:8px;border:4px dashed #e6b147}.cue-greet{animation:music-beat .9s ease-out 2}.learning-cue.cue-music,.learning-cue.cue-science{width:130px;height:120px}.learning-cue .equalizer{left:12%;width:76%;bottom:12px}.learning-cue .lab-bubble{bottom:15%}.cue-identity{transform:rotate(-3deg);border-style:dashed}.cue-reveal{background:#def2d9ed}.learning-cue.cue-face{background:#fff3c2b8}.journey-art:has(.cue-face) .portrait{animation:science-glow .8s ease-out}.journey-art:has(.cue-greet) .portrait{animation:book-open .6s ease-out}.journey-art:has(.cue-music) .portrait{animation:music-beat .9s ease-out}
@keyframes cue-twinkle{50%{transform:rotate(45deg) scale(1.3);filter:brightness(1.3)}}@media(max-width:750px){.learning-cue>strong{font-size:19px}.learning-cue>span{font-size:12px}.learning-cue{padding:8px;max-width:42%}.learning-cue.cue-music,.learning-cue.cue-science{width:105px;height:100px}}@media(prefers-reduced-motion:reduce){.learning-cue,.cue-spark,.journey-art .portrait{animation:none!important}}
@media(min-width:751px){.lesson-7 .journey-complete .speech-bubble{padding:4px 10px}.lesson-7 .journey-complete .oral-turn{padding:6px 8px}}
.tree-person.matched>span{visibility:visible;background:#dff1d8;color:#286541;z-index:3}
@media(min-width:751px){.family-tree-scene{display:grid;grid-template-columns:minmax(0,1fr) 145px;grid-template-rows:minmax(0,1fr) auto;column-gap:20px;row-gap:10px}.family-tree-scene .tree-people{grid-column:1;grid-row:1;align-self:start;width:auto;max-width:none;margin:16px 0 0 110px}.family-tree-scene .sentence-mail{position:static;grid-column:2;grid-row:1;align-self:stretch;width:145px;margin:0;min-height:0}.family-tree-scene .tree-speaking{grid-column:1/-1;grid-row:2;margin:0}.family-tree-scene .tree-links{right:24%}}
@media(min-width:751px) and (max-width:1050px){.family-tree-scene .tree-people{margin-left:70px}}
@media(min-width:751px){.family-tree-scene .tree-people{height:100%;min-height:0;margin-top:0;grid-template-rows:repeat(2,minmax(0,1fr))}.family-tree-scene .tree-person{height:100%;min-height:0}.family-tree-scene .tree-generation{top:22%}.family-tree-scene .tree-generation.lower{top:65%}}

:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)){--teal:#287b75;--gold:#e5b85b}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)){--teal:#657d94;--gold:#d7ac5d}
:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .actor,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .actor{height:78%;width:20%;bottom:6%}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .actor img,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .actor img{object-fit:contain;mix-blend-mode:normal;border-radius:22px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .welcome-board,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .welcome-board{padding:14px;margin-top:14px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .welcome-board h2,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .welcome-board h2{font-size:28px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .welcome-board p,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .welcome-board p{font-size:17px}
.scene-person-title{position:absolute;top:8px;left:10px;background:#fff9e6ed;border:2px solid #caad70;border-radius:11px;padding:7px 11px;font-size:16px;font-weight:800;z-index:3;max-width:80%}.named-portraits{position:absolute;left:3%;right:3%;bottom:66px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;pointer-events:none}.named-portraits span{padding:6px 2px;border:2px solid #fff;border-radius:10px;background:#fff5ceeb;font-size:13px;text-align:center;color:#3c625a;box-shadow:0 3px 8px #3453}.profile-evidence-card{position:absolute;left:10px;top:52px;max-width:40%;border:2px dashed #a9844c;background:#fff6d8e8;border-radius:13px;padding:7px 9px;transform:rotate(-2deg);z-index:3}.profile-evidence-card span{display:block;font-size:13px;margin:3px 0}.profile-evidence-card span:first-child{font-weight:800}.word-unlocked{background:#e4f1da;border:2px solid #6caa80;border-radius:12px;padding:7px 10px;font-size:18px;margin:6px 0;animation:stamp-in .45s ease-out}.portrait-zoom{position:absolute;right:10px;top:10px;z-index:5;font-size:13px;padding:9px;border:2px solid #a08042;border-radius:12px;background:#fff4d0;min-height:44px}.portrait-lightbox{position:fixed;inset:0;z-index:9999;background:#243543e8;display:flex;align-items:center;justify-content:center;padding:55px 20px 15px}.zoom-close{position:absolute;right:24px;top:10px;background:#fff4d0;padding:9px 18px;border-radius:12px;font-size:17px;min-height:44px}.zoom-scroll{height:100%;max-width:95%;overflow:auto;border:4px solid #d1b576;border-radius:16px;background:#fff}.zoom-scroll img{display:block;max-width:none;width:auto;height:1200px}
.learning-cue.cue-height{top:15%;right:5%;padding:8px}.cue-height .cue-spark{font-size:50px}.learning-cue.cue-hair{border:4px dashed #e9bd60;top:10%;right:13%;border-radius:50%}.learning-cue.cue-worker .cue-spark{animation:gear-turn 1.2s ease-out}.learning-cue.cue-farm .cue-spark{animation:bloom-up .7s ease-out}.learning-cue.cue-hospital .cue-spark,.learning-cue.cue-doctor .cue-spark{color:#dc6380;animation:music-beat .8s ease-out}.learning-cue.cue-teacher{border-style:dashed;animation:book-open .6s ease-out}.learning-cue.cue-height .cue-spark{animation:height-rise .8s ease-out}.journey-art:has(.cue-hair) .portrait img{animation:science-glow .8s ease-out}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .match-world .mail-rack{grid-template-columns:repeat(4,minmax(0,1fr))}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .picture-card .portrait{height:215px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .review-exhibition,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .review-exhibition{grid-template-columns:repeat(4,minmax(0,1fr));padding:12px;gap:12px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .review-card .portrait,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .review-card .portrait{height:160px;max-width:none}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .review-card>span,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .review-card>span{font-size:17px;margin:7px 0}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .review-card strong,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .review-card strong{font-size:16px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .review-frames span,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .review-frames span{font-size:14px;padding:5px 8px}
.picture-conversation{position:relative;height:100%;margin-left:23%;padding:12px 22px;display:flex;flex-direction:column;gap:5px}.picture-conversation>.speech-bubble{padding:7px 13px;margin:0}.picture-conversation>.speech-bubble strong{font-size:22px}.dialogue-picture-bank{display:grid;grid-template-columns:1fr 1fr;gap:18px;flex:1;min-height:0;margin-top:9px}.dialogue-choice{position:relative;padding:7px 7px 42px;border:4px ridge #c6a16a;border-radius:23px;background:#fff8e5;min-height:0;overflow:hidden}.dialogue-choice .portrait{height:100%;min-height:0}.dialogue-choice>span{position:absolute;bottom:0;left:0;right:0;padding:7px;background:#fff2cc;font-size:17px}.dialogue-choice.selected{border-color:#42a980;animation:stamp-in .45s ease-out}.dialogue-choice.selected>span{background:#ddf4dc}.dialogue-choice:disabled{opacity:.85}.given-exchange{border:2px dashed #c2ad81;border-radius:15px;background:#fffbea;padding:9px;margin-bottom:10px}.given-exchange.opened{border:2px solid #51a384;background:#eaf7e7;animation:stamp-in .45s ease-out}.given-exchange .speech-bubble{padding:6px 10px!important;margin-bottom:5px}.given-exchange .speech-bubble strong{font-size:18px}.given-exchange p{font-size:12px;margin:5px 0}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .description-scene{grid-template-columns:57% 43%;gap:14px;padding:12px 20px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .subject-photo{position:relative;padding:6px;min-height:0;background:#fff8e7;border:4px ridge #d5b378;border-radius:20px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .subject-photo .portrait{height:100%}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .subject-badges{position:absolute;left:8px;bottom:10px;width:47%;display:flex;flex-direction:column;gap:5px;top:auto;right:auto}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .subject-badges button{font-size:14px;padding:7px;min-height:42px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .subject-photo .person-label{display:none}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .description-dock{padding:7px 10px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .description-dock .speech-bubble strong{font-size:20px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .description-dock .choices{flex-direction:column}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .description-dock .choices button{font-size:18px}.talk-scene-evidence{position:absolute;right:2%;top:6%;width:19%;height:79%;display:grid;grid-template-rows:1fr 1fr;gap:10px}.talk-scene-evidence .portrait{background:#fff6df;border:4px ridge #c3a373;border-radius:15px;min-height:0;height:100%;padding:4px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .learner-avatar,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .learner-avatar{display:none}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .roleplay-scene,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .roleplay-scene{width:54%;margin-left:23%;margin-top:14px;padding:12px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .dialogue-history,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .dialogue-history{max-height:245px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .dialogue-history .speech-bubble strong,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .dialogue-history .speech-bubble strong{font-size:19px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .role-selector,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .role-selector{margin-bottom:8px}
@keyframes gear-turn{to{transform:rotate(180deg)}}@keyframes height-rise{from{transform:scaleY(.3);opacity:.3}to{transform:none;opacity:1}}
@media(min-width:751px){:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .journey-complete .speech-bubble strong,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .journey-complete .speech-bubble strong{font-size:18px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .journey-complete .speech-bubble,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .journey-complete .speech-bubble{padding:5px 10px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .journey-complete .oral-turn,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .journey-complete .oral-turn{font-size:16px;padding:6px}}
@media(max-width:1050px) and (min-width:751px){.scene-person-title{font-size:13px}.named-portraits span{font-size:11px}.profile-evidence-card span{font-size:11px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .picture-card .portrait{height:190px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .subject-badges button{font-size:12px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .description-dock .speech-bubble strong{font-size:18px}.picture-conversation{padding:9px}.picture-conversation>.speech-bubble strong{font-size:20px}.dialogue-choice>span{font-size:15px}.given-exchange .speech-bubble strong{font-size:17px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .roleplay-scene,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .roleplay-scene{width:55%;margin-left:22%}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .dialogue-history,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .dialogue-history{max-height:220px}}
@media(max-width:750px){:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .actor,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .actor{position:relative;inset:auto;height:210px;width:40%;margin:12px 4%}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .welcome-board,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .welcome-board{width:90%;margin:12px auto}.scene-person-title{font-size:13px}.named-portraits span{font-size:11px}.profile-evidence-card span{font-size:11px}.picture-conversation{margin:0;height:auto;padding:10px}.dialogue-picture-bank{min-height:280px;gap:8px}.dialogue-choice{height:280px;padding-bottom:55px}.dialogue-choice>span{font-size:15px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .match-world .mail-rack,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .review-exhibition,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .review-exhibition{grid-template-columns:1fr 1fr}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .picture-card .portrait{height:185px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .review-card .portrait,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .review-card .portrait{height:170px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .description-scene{display:flex;padding:10px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .subject-photo{height:400px;min-height:400px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .description-dock{overflow:visible}.talk-scene-evidence{position:relative;inset:auto;width:92%;height:240px;grid-template-rows:1fr;grid-template-columns:1fr 1fr;margin:10px auto}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .roleplay-scene,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .roleplay-scene{width:94%;margin:10px auto}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .talk-world>.actor,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .talk-world>.actor{margin-left:27%;width:45%}.portrait-lightbox{padding:60px 10px 10px}.zoom-scroll img{height:1100px}.portrait-zoom{font-size:11px;max-width:45%}}
@media(prefers-reduced-motion:reduce){.learning-cue,.cue-spark,.given-exchange,.dialogue-choice{animation:none!important}}
.speech-bubble:has(.speaker-face){padding-left:67px!important;position:relative;min-height:65px}.speaker-face{position:absolute;left:8px;top:5px;width:48px;height:57px;object-fit:contain;border-radius:12px;background:#fff5d7;border:1px solid #ead5a9}.previous-exchange .speaker-face{display:none}.assembled-introduction .speech-bubble:has(.speaker-face){min-height:48px;padding-left:54px!important}.assembled-introduction .speaker-face{height:42px;width:38px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .journey-art,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .journey-art{padding-bottom:8px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .scene-clue-trail,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .scene-clue-trail{inset:0;pointer-events:none;display:block}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .scene-clue-trail .scene-clue,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .scene-clue-trail .scene-clue{pointer-events:auto;position:absolute;transform:translateX(-50%);max-width:42%;font-size:14px;white-space:normal;box-shadow:0 4px 12px #3449;background:#fff3c8ed;z-index:4}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .scene-clue-trail .scene-clue:disabled,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .scene-clue-trail .scene-clue:disabled{opacity:.65}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .named-portraits,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .named-portraits{bottom:10px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .journey-art .profile-evidence-card,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .journey-art .profile-evidence-card{left:auto;right:10px;top:auto;bottom:12px;max-width:44%}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .learning-cue,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .learning-cue{pointer-events:none;z-index:2}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .journey-art .learning-cue,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .journey-art .learning-cue{right:3%;top:13%;max-width:33%;opacity:.9}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .journey-art:has(.named-portraits) .learning-cue{right:2%;top:8%;max-width:30%;padding:7px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .journey-art:has(.named-portraits) .learning-cue .cue-spark{font-size:30px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .subject-photo .profile-evidence-card{top:55px;left:8px;max-width:41%}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .journey-art:has(.portrait-zoom) .scene-person-title{max-width:55%}
@media(max-width:1050px){:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .scene-clue-trail .scene-clue,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .scene-clue-trail .scene-clue{font-size:12px;padding:7px}.speaker-face{width:43px}.speech-bubble:has(.speaker-face){padding-left:58px!important}}
.given-exchange .speech-bubble:has(.speaker-face){min-height:45px;padding-left:53px!important}.given-exchange .speaker-face{height:39px;width:36px;top:3px}.given-exchange .speech-bubble strong{font-size:18px}.given-exchange .speech-bubble>span{font-size:9px;margin-bottom:2px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .assembled-introduction .speech-bubble:has(.speaker-face),:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .assembled-introduction .speech-bubble:has(.speaker-face){min-height:43px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .assembled-introduction .speaker-face,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .assembled-introduction .speaker-face{height:37px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .journey-complete .journey-progress,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .journey-complete .journey-progress{margin:5px 0}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .review-card .portrait img,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .review-card .portrait img{object-fit:contain}
:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .description-scene{grid-template-columns:minmax(0,57fr) minmax(0,43fr)}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .subject-photo{display:grid;grid-template-columns:minmax(0,65fr) minmax(0,35fr);gap:6px;padding:7px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .subject-photo>.portrait{width:100%;height:100%;grid-column:1;border:0}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .subject-badges{position:static;grid-column:2;align-self:center;width:100%;max-width:none;gap:8px;padding:0 3px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .subject-badges button{min-width:0;word-wrap:break-word;text-align:center}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .subject-photo .portrait-zoom{font-size:12px;max-width:33%;padding:7px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .subject-photo .profile-evidence-card{font-size:11px;max-width:29%;top:auto;bottom:8px;left:8px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .subject-photo .profile-evidence-card span{font-size:11px}
@media(min-width:751px){:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .delivery-scene{padding:8px 14px 10px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .sentence-mail{margin:8px 0 3px;gap:8px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .mail-token{min-height:44px;font-size:18px;padding:7px 14px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .picture-card .portrait{height:195px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .picture-card>span{font-size:16px;margin:3px 0}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .attached-label{font-size:16px;padding:5px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .delivery-scene .scene-sign.inline{margin:5px 0;padding:7px;font-size:14px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .journey-complete .word-unlocked{font-size:16px;padding:5px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .journey-complete .journey-dialogue{padding-top:2px;padding-bottom:2px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .welcome-board,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .welcome-board{padding:10px;margin-top:10px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .welcome-board h2,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .welcome-board h2{font-size:24px;line-height:1.16;margin:7px 0}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .welcome-board p,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .welcome-board p{font-size:15px;margin:6px 0}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .welcome-board .speech-bubble strong,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .welcome-board .speech-bubble strong{font-size:21px}:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .welcome-board .club-pass,:is(:is(.lesson-39,.lesson-38),:is(.lesson-39,.lesson-38)) .welcome-board .club-pass{font-size:16px;padding:8px;margin:7px 0}.guided-scene .given-exchange{padding:5px 7px;margin-bottom:7px}.guided-scene .given-exchange .speech-bubble:has(.speaker-face){min-height:36px;padding:4px 8px 4px 47px!important}.guided-scene .given-exchange .speech-bubble strong{font-size:16px;line-height:1.12}.guided-scene .given-exchange .speech-bubble>span{font-size:8px;line-height:1;margin-bottom:2px}.guided-scene .given-exchange .speaker-face{height:31px;width:30px;top:2px}.guided-scene .given-exchange p{font-size:11px;line-height:1.15;margin:3px 0}.guided-scene .word-unlocked{font-size:16px;padding:5px;margin:4px 0}.description-complete .description-dock h2,.description-complete .description-dock .choices,.description-complete .description-dock>p{display:none}}

:is(.lesson-39,.lesson-38){--teal:#6e648e;--gold:#deb063}:is(.lesson-39,.lesson-38){--teal:#438068;--gold:#e2b35d}.learning-cue.cue-theatre{background:#ffe2ede5;border-style:dashed;animation:theatre-pop .7s ease-out}.cue-theatre .cue-spark{color:#c48240;animation:cue-twinkle 1s ease-out}.cue-age{background:#d8efdc!important;border-style:dashed}.cue-age .cue-spark{animation:height-rise .8s ease-out}.family-map{position:absolute;bottom:7px;right:7px;background:#fffae4ed;padding:8px 10px;border:2px solid #79967b;border-radius:12px;max-width:58%;z-index:3;text-align:center}.family-map>strong{display:block;font-size:13px;padding-bottom:6px;border-bottom:2px solid #8baf90}.branch-row{display:flex;gap:10px;justify-content:space-around;padding-top:8px}.branch-row span{font-size:11px;border-top:2px solid #7fa087;padding:4px;background:#e7f2df;border-radius:7px}.spelling-pattern{font-size:45px;letter-spacing:4px;background:#fff4c9;border:3px dashed #c4a366;padding:22px 12px;text-align:center;border-radius:20px;margin-bottom:16px;animation:stamp-in .5s ease-out}.spelling-prompt{font-size:20px;background:#fff9e4;padding:10px;border-radius:12px}.spelling-trail{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.spelling-trail span{padding:8px 12px;border-radius:10px;background:#fff5d9;font-size:17px}.spelling-trail .built{background:#dbf0d6;animation:stamp-in .4s ease-out}.word-build-scene .choices{flex-direction:row;flex-wrap:wrap}.word-build-scene .choices button{font-size:29px;min-width:90px;min-height:60px;text-align:center}:is(.lesson-39,.lesson-38) .mail-rack{grid-template-columns:repeat(3,minmax(0,1fr))!important}:is(.lesson-39,.lesson-38) .detective-board,:is(.lesson-39,.lesson-38) .detective-board{padding:9px 16px 12px}:is(.lesson-39,.lesson-38) .clue-envelopes,:is(.lesson-39,.lesson-38) .clue-envelopes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}:is(.lesson-39,.lesson-38) .clue-envelopes{grid-template-columns:repeat(2,minmax(0,1fr))}:is(.lesson-39,.lesson-38) .envelope,:is(.lesson-39,.lesson-38) .envelope{width:100%;min-width:0;font-size:16px;min-height:48px;padding:8px 10px}:is(.lesson-39,.lesson-38) .candidate-gallery,:is(.lesson-39,.lesson-38) .candidate-gallery{gap:10px}:is(.lesson-39,.lesson-38) .candidate-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}:is(.lesson-39,.lesson-38) .candidate .portrait,:is(.lesson-39,.lesson-38) .candidate .portrait{height:200px}:is(.lesson-39,.lesson-38) .candidate,:is(.lesson-39,.lesson-38) .candidate{padding:5px;border-width:3px}:is(.lesson-39,.lesson-38) .candidate>span,:is(.lesson-39,.lesson-38) .candidate>span{font-size:15px;margin:5px 0}:is(.lesson-39,.lesson-38) .detective-board .scene-sign.inline,:is(.lesson-39,.lesson-38) .detective-board .scene-sign.inline{font-size:14px;margin:7px 0;padding:7px}:is(.lesson-39,.lesson-38) .journey-art:has(.cue-theatre) .portrait{animation:music-beat .8s ease-out}@keyframes theatre-pop{from{transform:scale(.7) rotate(-8deg)}to{transform:none}}
@media(max-width:1050px) and (min-width:751px){:is(.lesson-39,.lesson-38) .candidate .portrait,:is(.lesson-39,.lesson-38) .candidate .portrait{height:185px}:is(.lesson-39,.lesson-38) .envelope,:is(.lesson-39,.lesson-38) .envelope{font-size:14px}:is(.lesson-39,.lesson-38) .candidate>span{font-size:13px}.spelling-pattern{font-size:36px}.family-map{max-width:65%}}
@media(max-width:750px){:is(.lesson-39,.lesson-38) .clue-envelopes,:is(.lesson-39,.lesson-38) .clue-envelopes{grid-template-columns:1fr}:is(.lesson-39,.lesson-38) .candidate-gallery,:is(.lesson-39,.lesson-38) .candidate-gallery{grid-template-columns:1fr 1fr}:is(.lesson-39,.lesson-38) .candidate .portrait,:is(.lesson-39,.lesson-38) .candidate .portrait{height:180px}:is(.lesson-39,.lesson-38) .mail-rack{grid-template-columns:1fr 1fr!important}.family-map{max-width:70%;padding:5px}.branch-row{gap:6px;padding-top:5px}.branch-row span{font-size:9px}.spelling-pattern{font-size:35px}.word-build-scene .choices button{font-size:25px;min-width:75px}}
@media(prefers-reduced-motion:reduce){.cue-theatre,.cue-age,.spelling-pattern,.spelling-trail .built{animation:none!important}}
@media(min-width:751px){.word-build-scene .spelling-pattern{padding:14px 12px;margin-bottom:8px}.word-build-scene .word-unlocked p{margin:5px 0}.word-build-scene .spelling-trail{margin-top:8px}}
@media(min-width:751px){.journey-dialogue{overflow-x:hidden}} #upgradedReward .upgraded-card{width:min(1080px,95vw,calc((100dvh - 170px)*1.777));}

.lesson-39{--teal:#397d70;--gold:#e0b36b}.lesson-38{--teal:#287d8c;--gold:#f0c36a}.lesson-39 .journey-art{border-style:double;border-width:6px;background:#fffbef}.lesson-39 .journey-art:after{content:'';position:absolute;left:3%;top:2%;width:70px;height:16px;background:#edca83aa;transform:rotate(-9deg);pointer-events:none}.lesson-38 .journey-art{border-color:#82ada6;background:#fffcee}.route-motion{position:absolute;bottom:12px;left:6%;width:88%;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#ffffe8ef;border:2px solid #6eaaa0;border-radius:20px;pointer-events:none;color:#226359;font-size:13px;font-weight:800;z-index:2}.route-motion:before{content:'';position:absolute;left:22%;right:23%;top:48%;border-top:4px dashed #b9d7b4}.route-motion i{position:absolute;left:24%;top:10px;width:16px;height:16px;border:3px solid white;border-radius:50%;background:#f3aa44;animation:route-travel 2s ease-out both}.route-walk i{animation-timing-function:steps(8)}.route-bike i{background:#268dba}.route-bus i{border-radius:4px;width:23px;background:#edbf4e}.route-car i{border-radius:5px;width:20px;background:#d9725a}.lesson-38 .journey-art:has(.route-motion) .portrait img{animation:route-arrival 1s ease-out}.lesson-39 .scene-clue.current{animation:scrapbook-glow 1.3s 3}.lesson-39 .guided-scene .journey-art{padding-bottom:8px}.lesson-39 .guided-scene .journey-dialogue{overflow-x:hidden}.lesson-38 .journey-dialogue .choices button{font-size:18px;min-height:44px}.lesson-38 .journey-progress{margin:6px 0}.lesson-39 .previous-exchange,.lesson-38 .previous-exchange{font-size:13px;line-height:1.16}.previous-exchange p{margin:4px 0}.lesson-39 .evidence-note,.lesson-38 .evidence-note{font-size:17px;padding:9px}.lesson-39 .journey-dialogue .speech-bubble strong,.lesson-38 .journey-dialogue .speech-bubble strong{font-size:21px}.lesson-39 .journey-dialogue .choices{margin:7px 0}.lesson-39 .journey-dialogue .choices button{font-size:18px;min-height:44px}.lesson-39 .profile-evidence-card{pointer-events:none}.lesson-38 .mail-rack{grid-template-columns:repeat(4,minmax(0,1fr))!important}.lesson-38 .picture-card .portrait{height:195px}.lesson-38 .sentence-mail{margin:7px 0}.lesson-38 .attached-label{font-size:16px}.lesson-38 .mail-token{font-size:18px;padding:8px 12px}.lesson-38 .delivery-scene .scene-sign.inline{padding:7px;margin:5px 0;font-size:14px}@keyframes route-travel{from{left:24%;transform:scale(.8)}to{left:72%;transform:scale(1)}}@keyframes route-arrival{from{transform:translateX(-10px);filter:brightness(.85)}to{transform:none;filter:brightness(1)}}@keyframes scrapbook-glow{50%{box-shadow:0 0 0 5px #f6d78688,0 0 22px #eac76b}}
@media(min-width:751px){.lesson-39 .journey-complete .speech-bubble strong,.lesson-38 .journey-complete .speech-bubble strong{font-size:17px}.lesson-39 .journey-dialogue,.lesson-38 .journey-dialogue{padding-top:4px}.lesson-38 .journey-dialogue .speech-bubble{margin-bottom:7px}.lesson-38 .journey-dialogue .choices{gap:7px;margin:7px 0}.lesson-39 .guided-scene .speech-bubble strong{font-size:17px}.lesson-39 .guided-scene .given-exchange p{font-size:12px}}
@media(max-width:750px){.lesson-38 .mail-rack{grid-template-columns:1fr 1fr!important}.lesson-38 .journey-dialogue .choices button{font-size:19px}.lesson-39 .guided-scene .speech-bubble strong{font-size:19px}.route-motion{font-size:12px}.lesson-39 .journey-dialogue,.lesson-38 .journey-dialogue{overflow:visible}}
@media(prefers-reduced-motion:reduce){.route-motion i,.lesson-38 .journey-art .portrait img,.lesson-39 .scene-clue.current{animation:none!important}}
@media(min-width:751px){.lesson-39 .guided-scene .given-exchange{padding:4px 7px;margin-bottom:5px}.lesson-39 .guided-scene .speech-bubble:has(.speaker-face){min-height:32px;padding:3px 7px 3px 40px!important;margin-bottom:4px}.lesson-39 .guided-scene .speaker-face{height:28px;width:26px}.lesson-39 .guided-scene .speech-bubble strong{font-size:16px;line-height:1.1}.lesson-39 .guided-scene .speech-bubble>span{font-size:8px;margin-bottom:1px}.lesson-39 .guided-scene .word-unlocked{font-size:14px;line-height:1.2;padding:6px}}
@media(min-width:751px){.lesson-39 .journey-scene:not(.journey-complete):not(.guided-scene) .journey-dialogue .speech-bubble strong{font-size:19px;line-height:1.18}.lesson-39 .journey-scene:not(.journey-complete) .journey-dialogue .speech-bubble{margin-bottom:6px}.lesson-39 .journey-dialogue .previous-exchange{font-size:12px}.lesson-39 .journey-dialogue .journey-progress{margin:6px 0;gap:5px}.lesson-39 .journey-dialogue .journey-progress span{font-size:12px;padding:4px 6px}}

.lesson-39 .knowledge-spots,.lesson-38 .knowledge-spots{position:absolute;inset:0;pointer-events:none}
.knowledge-spot{position:absolute;border:3px solid transparent;border-radius:18px;transition:all .5s;opacity:0}
.knowledge-spot.lit.focused{opacity:1;border-color:#ffc84a;box-shadow:0 0 0 5px #ffc84a44,inset 0 0 22px #fff7c044;animation:discoveryPulse 1.4s ease-in-out infinite}
@keyframes discoveryPulse{50%{box-shadow:0 0 0 9px #ffc84a22,inset 0 0 30px #fff7c077}}
.discovery-line{padding:8px 12px;margin:5px 0;background:#fffdf0;border-left:4px solid #e5b74d;border-radius:8px;font-size:18px;line-height:1.3;animation:cueReveal .35s both}
.lesson-39 .scene-clue,.lesson-38 .scene-clue{z-index:7;max-width:44%;white-space:normal}
.lesson-39 .journey-progress,.lesson-38 .journey-progress{flex-wrap:wrap;font-size:12px;gap:4px}
.lesson-39 .learning-cue,.lesson-38 .learning-cue{pointer-events:none}
.lesson-39 .review-exhibition{grid-template-columns:repeat(5,1fr)}
.lesson-38 .talk-scene-evidence,.lesson-39 .talk-scene-evidence{width:40%}
@media(max-width:750px){.lesson-39 .review-exhibition{grid-template-columns:repeat(2,1fr)}.discovery-line{font-size:14px;padding:5px}.lesson-39 .scene-clue,.lesson-38 .scene-clue{font-size:11px;padding:7px 9px}.lesson-39 .journey-progress,.lesson-38 .journey-progress{font-size:10px}}

@media(min-width:751px){.lesson-39 .mail-rack{grid-template-columns:repeat(5,minmax(0,1fr))!important}.lesson-39 .picture-card .portrait{height:185px}.lesson-39 .picture-card{padding:5px;border-width:3px}.lesson-39 .delivery-scene{padding-top:12px}.lesson-39 .discovery-line,.lesson-38 .discovery-line{font-size:17px;padding:7px 10px}.lesson-39 .journey-progress,.lesson-38 .journey-progress{margin:5px 0}}
@media(min-width:751px){.lesson-39 .journey-scene:not(.journey-complete) .journey-progress span,.lesson-38 .journey-scene:not(.journey-complete) .journey-progress span{font-size:10px;padding:3px 5px}.lesson-39 .journey-dialogue .evidence-note,.lesson-38 .journey-dialogue .evidence-note{font-size:16px;padding:6px}.lesson-39 .journey-dialogue .previous-exchange,.lesson-38 .journey-dialogue .previous-exchange{font-size:11px;line-height:1.05;margin-bottom:4px}.lesson-39 .journey-dialogue .previous-exchange p,.lesson-38 .journey-dialogue .previous-exchange p{margin:2px 0}.lesson-39 .journey-dialogue .choices,.lesson-38 .journey-dialogue .choices{gap:5px;margin:5px 0}.lesson-39 .journey-dialogue .choices button,.lesson-38 .journey-dialogue .choices button{font-size:17px;padding:6px 10px}}
.cue-clock .cue-spark{width:48px;height:48px;border:3px solid #578b80;border-radius:50%;font-size:0;position:relative;background:#fff7cd}.cue-clock .cue-spark:after{content:"";position:absolute;left:21px;top:8px;height:16px;width:3px;background:#387769;transform-origin:bottom;animation:clockDiscover 1.8s ease-out}.cue-paint{background:linear-gradient(120deg,#ffead9,#d6f2ef,#eee1fc)!important}.cue-paint .cue-spark{animation:paintDiscover 1s ease-out}.cue-math .cue-spark:after{content:" + × = ";font-size:23px;color:#357e71}.cue-book .cue-spark{animation:bookDiscover 1s ease-out}@keyframes clockDiscover{from{transform:rotate(-130deg)}to{transform:rotate(70deg)}}@keyframes paintDiscover{50%{transform:rotate(30deg) scale(1.3);color:#ec9471}}@keyframes bookDiscover{50%{transform:rotateY(100deg)}}

.lesson-39{--teal:#3b8c73;--gold:#edb858}.lesson-38{--teal:#6379a5;--gold:#efbe65}
.lesson-39 .journey-art,.lesson-38 .journey-art{border:5px solid #d2b778}
.lesson-39 .review-exhibition{grid-template-columns:repeat(3,minmax(0,1fr))}
.lesson-38 .review-exhibition{grid-template-columns:repeat(4,minmax(0,1fr))}
.lesson-39 .review-card .portrait{height:110px}.lesson-39 .review-card strong{font-size:15px}
.lesson-38 .picture-conversation{position:relative;margin-left:27%;padding:12px 20px;height:100%;min-height:0}
.lesson-38 .dialogue-picture-bank{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0}
.lesson-38 .dialogue-choice{background:#fffbed;border:3px solid #a2b3a5;border-radius:17px;padding:6px;min-width:0}
.lesson-38 .dialogue-choice .portrait{height:170px}.lesson-38 .dialogue-choice span{font-size:14px;display:block;padding:6px}
.lesson-38 .picture-conversation .speech-bubble strong{font-size:18px}.lesson-38 .picture-conversation .speech-bubble{padding:7px 12px;margin-bottom:8px}
.lesson-39 .word-build-scene .journey-art,.lesson-38 .word-build-scene .journey-art{min-height:250px}
.lesson-39 .spelling-pattern,.lesson-38 .spelling-pattern{font-size:31px;padding:14px 10px;margin-bottom:8px;letter-spacing:2px}
.lesson-39 .word-build-scene .choices button,.lesson-38 .word-build-scene .choices button{font-size:23px;min-height:47px}
.lesson-39 .spelling-trail,.lesson-38 .spelling-trail{margin-top:7px}.lesson-39 .spelling-trail span,.lesson-38 .spelling-trail span{font-size:14px;padding:5px}
.lesson-39 .word-build-scene .word-unlocked,.lesson-38 .word-build-scene .word-unlocked{font-size:16px;padding:6px}
.lesson-39 .word-build-scene .word-unlocked p,.lesson-38 .word-build-scene .word-unlocked p{margin:3px 0}
.cue-music .cue-spark{animation:music-beat .8s 3}.cue-sport .cue-spark{animation:sportHop 1s 3}.cue-theatre .cue-spark{animation:theatre-pop .7s ease-out}.cue-cinema .cue-spark{animation:cinemaFlash .9s 3}
@keyframes sportHop{50%{transform:translateY(-18px) rotate(30deg)}}@keyframes cinemaFlash{50%{color:#eab963;filter:drop-shadow(0 0 8px #fada83)}}
@media(max-width:750px){.lesson-39 .review-exhibition,.lesson-38 .review-exhibition{grid-template-columns:1fr 1fr}.lesson-38 .picture-conversation{margin-left:0;height:auto;padding:10px}.lesson-38 .picture-conversation+.learner-avatar{display:none}.lesson-38 .picture-dialogue-world>.actor{display:none}.lesson-38 .dialogue-choice .portrait{height:145px}.lesson-39 .spelling-pattern,.lesson-38 .spelling-pattern{font-size:26px}.lesson-38 .dialogue-picture-bank{grid-template-columns:1fr}}

.friend-review{height:100%;min-height:0;display:grid;grid-template-columns:52% 48%;grid-template-rows:minmax(0,1fr) 99px;padding:12px 20px;gap:10px}.friend-review-art{position:relative;min-height:0;border:4px solid #c7ac70;border-radius:18px;overflow:hidden}.friend-review-art .portrait img{object-fit:contain}.friend-review-language{padding:4px 15px;display:flex;flex-direction:column;gap:9px;justify-content:center}.friend-review-language .speech-bubble strong{font-size:21px}.friend-review-found{display:flex;gap:5px;flex-wrap:wrap}.friend-review-found span{font-size:12px;padding:4px 6px;background:#fff5dc;border-radius:8px}.friend-review-cards{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.friend-card{min-width:0;border:3px solid #b7b891;border-radius:13px;background:#fffbe8;padding:3px}.friend-card .portrait{height:65px!important;background:#fff9ed}.friend-card span{font-size:12px}.friend-review .oral-turn{font-size:16px;padding:7px;margin:4px 0}@media(max-width:750px){.friend-review{height:auto;grid-template-columns:1fr;grid-template-rows:280px auto auto;padding:10px;gap:8px}.friend-review-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.friend-review-language{padding:6px}.friend-card{height:95px}.friend-review-language .speech-bubble strong{font-size:19px}}
.lesson-39{--teal:#387c77;--gold:#dfb359}.lesson-38{--teal:#3f8494;--gold:#ebbd5b}
.lesson-39 .talk-scene-evidence{width:43%;left:3%;top:6%;height:87%}.lesson-39 .talk-world>.actor{width:21%;height:75%;left:3%;z-index:4;bottom:0;pointer-events:auto}.lesson-39 .talk-world>.actor img{filter:drop-shadow(2px 4px 6px #4e594433)}.lesson-39 .talk-world>.actor span{font-size:16px;padding:5px}.lesson-39 .roleplay-scene{margin-left:47%;width:49%;margin-right:3%;padding:12px}.lesson-39 .learner-avatar{display:none}.lesson-39 .dialogue-history{max-height:210px}.lesson-39 .dialogue-history .speech-bubble strong{font-size:18px}
.lesson-39 .review-exhibition{grid-template-columns:repeat(5,minmax(0,1fr))}.lesson-39 .review-card .portrait{height:180px!important}
.lesson-38 .review-exhibition{grid-template-columns:repeat(4,minmax(0,1fr))}
.time-discovery{position:absolute;left:5%;right:5%;bottom:9px;z-index:3;background:#fffceceF;border:2px solid #81b7ad;border-radius:15px;padding:8px 12px;pointer-events:none}.time-discovery>strong{font-size:14px;display:block;text-align:center;color:#286b76}.unit-beads{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;margin:6px 0}.unit-beads i{height:5px;background:#2b9792;border-radius:4px;animation:timeFill .5s backwards;animation-delay:calc(var(--i)*.035s)}.unit-equation{display:flex;align-items:center;justify-content:space-around;font-size:16px;font-weight:800}.unit-equation b{color:#c28b36}.time-discovery .elapsed-bar{height:9px;border-radius:8px;background:#d4e9db;overflow:hidden;margin:8px 0}.elapsed-bar i{display:block;height:100%;background:linear-gradient(90deg,#68b3a3,#ecc66e);animation:elapsedFill 2s ease-out both}.time-demo-disclosure{font-size:9px;text-align:center;display:block;margin-top:4px;color:#62817a}.time-ticket-board{padding:12px 22px;height:100%;display:flex;flex-direction:column;gap:12px}.time-ticket-brief .speech-bubble strong{font-size:20px}.time-ticket-brief .speech-bubble{padding:10px 14px}.time-ticket-bank{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;min-height:0}.time-ticket{border:3px solid #a8b5a1;border-radius:18px;padding:6px;background:#fffbef;min-width:0}.time-ticket .portrait{height:150px}.time-ticket span{display:block;font-size:17px;font-weight:800;margin:4px 0}.time-ticket small{display:block;font-size:18px;color:#387980;margin-bottom:3px}.time-ticket.selected{border-color:#3da38e}.time-ticket-result{background:#eff8dd;border:2px solid #80aa80;border-radius:13px;padding:9px;font-size:18px;animation:cueReveal .4s ease-out}.time-ticket-result p{margin:4px 0;font-size:13px}.time-ticket-title{font-size:16px;margin:0;text-align:center}.time-choice-world .voice-badge{display:none}
@keyframes timeFill{from{opacity:.15;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes elapsedFill{from{width:0}to{width:100%}}
@media(max-width:1050px) and (min-width:751px){.time-ticket .portrait{height:125px}.time-ticket span{font-size:15px}.time-ticket small{font-size:15px}.lesson-39 .roleplay-scene{padding:9px}.lesson-39 .dialogue-history .speech-bubble strong{font-size:17px}}
@media(max-width:750px){.lesson-39 .talk-scene-evidence{position:relative;inset:auto;width:100%;height:240px}.lesson-39 .talk-world>.actor{position:relative;inset:auto;width:90px;height:130px;margin:0 auto}.lesson-39 .roleplay-scene{margin:7px auto 20px;width:95%}.lesson-39 .review-exhibition,.lesson-38 .review-exhibition{grid-template-columns:1fr 1fr}.time-ticket-board{height:auto;padding:10px}.time-ticket-bank{grid-template-columns:1fr 1fr;gap:8px}.time-ticket .portrait{height:130px}.time-ticket small{font-size:13px}.time-ticket span{font-size:14px}.time-ticket-brief .speech-bubble strong{font-size:18px}.time-discovery{padding:5px 7px}.unit-equation{font-size:12px}.time-discovery>strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){.unit-beads i,.elapsed-bar i{animation:none}}

.lesson-39 .friend-review-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.time-story-trigger{background:#f9e8b9;border:2px solid #c1ad75;border-radius:12px;padding:5px 12px;font-size:14px;margin-bottom:5px}.time-ticket-brief .speech-bubble{margin:0}.time-ticket-result{padding:6px 10px;font-size:15px}@media(max-width:750px){.lesson-39 .friend-review-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:751px){.lesson-39 .talk-scene-evidence{display:block;height:90%;top:3%;padding-bottom:95px}.lesson-39 .talk-scene-evidence .portrait{height:100%!important;min-height:0}.lesson-39 .talk-world>.actor{width:85px;height:125px;left:1%;bottom:0}.lesson-39 .talk-world>.actor span{font-size:12px;padding:3px}.lesson-39 .scene-intro-card{background:#fff9e8ee;border:2px solid #c6b582;border-radius:13px;padding:6px 9px;margin-top:7px;font-size:13px;line-height:1.2}.scene-intro-card p{margin:3px 0}.lesson-39 .roleplay-scene{padding:10px;margin-top:8px;margin-bottom:8px}.lesson-39 .roleplay-scene .dialogue-history{max-height:180px}.lesson-39 .roleplay-scene .speech-bubble strong{font-size:18px}.lesson-39 .roleplay-scene .speech-bubble{padding:8px 11px}.lesson-39 .personal-reminder{font-size:11px;margin:7px 0}.lesson-39 .role-selector{padding-bottom:6px}.lesson-39 .example-button{min-height:35px;padding:6px 10px}}@media(max-width:750px){.scene-intro-card{font-size:12px;background:#fff9e8;padding:7px;border-radius:12px}.lesson-39 .talk-scene-evidence{height:auto}.lesson-39 .talk-scene-evidence .portrait{height:250px!important}}
@media(min-width:751px) and (max-height:800px){.time-ticket-board{gap:6px;padding:8px 18px}.time-ticket .portrait{height:108px!important}.time-ticket span{font-size:15px;margin:2px 0}.time-ticket small{font-size:15px}.time-ticket-brief .speech-bubble{padding:7px 10px}.time-ticket-brief .speech-bubble strong{font-size:18px}.time-ticket-result{padding:6px;font-size:15px}.time-ticket-result p{font-size:12px;margin:2px 0}.time-ticket-bank{flex:none}.time-ticket{padding:4px}}

@media(min-width:751px){.lesson-38 .roleplay-scene .dialogue-history{max-height:260px}.lesson-38 .roleplay-scene .speech-bubble{padding:7px 10px}.lesson-38 .roleplay-scene .speech-bubble strong{font-size:17px;line-height:1.25}.lesson-38 .role-selector{padding-bottom:5px}.lesson-38 .personal-reminder{margin:5px 0;font-size:11px}.lesson-38 .example-button{padding:6px;min-height:32px}}

@media(min-width:751px){.lesson-38 .roleplay-scene .dialogue-history{padding-top:0;flex-shrink:0}}

.lesson-18{--teal:#387c77;--gold:#dfb359}.lesson-19{--teal:#3f8494;--gold:#ebbd5b}
.lesson-18 .talk-scene-evidence{width:43%;left:3%;top:6%;height:87%}.lesson-18 .talk-world>.actor{width:21%;height:75%;left:3%;z-index:4;bottom:0;pointer-events:auto}.lesson-18 .talk-world>.actor img{filter:drop-shadow(2px 4px 6px #4e594433)}.lesson-18 .talk-world>.actor span{font-size:16px;padding:5px}.lesson-18 .roleplay-scene{margin-left:47%;width:49%;margin-right:3%;padding:12px}.lesson-18 .learner-avatar{display:none}.lesson-18 .dialogue-history{max-height:210px}.lesson-18 .dialogue-history .speech-bubble strong{font-size:18px}
.lesson-18 .review-exhibition{grid-template-columns:repeat(5,minmax(0,1fr))}.lesson-18 .review-card .portrait{height:180px!important}
.lesson-19 .review-exhibition{grid-template-columns:repeat(4,minmax(0,1fr))}
.time-discovery{position:absolute;left:5%;right:5%;bottom:9px;z-index:3;background:#fffceceF;border:2px solid #81b7ad;border-radius:15px;padding:8px 12px;pointer-events:none}.time-discovery>strong{font-size:14px;display:block;text-align:center;color:#286b76}.unit-beads{display:grid;grid-template-columns:repeat(12,1fr);gap:3px;margin:6px 0}.unit-beads i{height:5px;background:#2b9792;border-radius:4px;animation:timeFill .5s backwards;animation-delay:calc(var(--i)*.035s)}.unit-equation{display:flex;align-items:center;justify-content:space-around;font-size:16px;font-weight:800}.unit-equation b{color:#c28b36}.time-discovery .elapsed-bar{height:9px;border-radius:8px;background:#d4e9db;overflow:hidden;margin:8px 0}.elapsed-bar i{display:block;height:100%;background:linear-gradient(90deg,#68b3a3,#ecc66e);animation:elapsedFill 2s ease-out both}.time-demo-disclosure{font-size:9px;text-align:center;display:block;margin-top:4px;color:#62817a}.time-ticket-board{padding:12px 22px;height:100%;display:flex;flex-direction:column;gap:12px}.time-ticket-brief .speech-bubble strong{font-size:20px}.time-ticket-brief .speech-bubble{padding:10px 14px}.time-ticket-bank{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;min-height:0}.time-ticket{border:3px solid #a8b5a1;border-radius:18px;padding:6px;background:#fffbef;min-width:0}.time-ticket .portrait{height:150px}.time-ticket span{display:block;font-size:17px;font-weight:800;margin:4px 0}.time-ticket small{display:block;font-size:18px;color:#387980;margin-bottom:3px}.time-ticket.selected{border-color:#3da38e}.time-ticket-result{background:#eff8dd;border:2px solid #80aa80;border-radius:13px;padding:9px;font-size:18px;animation:cueReveal .4s ease-out}.time-ticket-result p{margin:4px 0;font-size:13px}.time-ticket-title{font-size:16px;margin:0;text-align:center}.time-choice-world .voice-badge{display:none}
@keyframes timeFill{from{opacity:.15;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes elapsedFill{from{width:0}to{width:100%}}
@media(max-width:1050px) and (min-width:751px){.time-ticket .portrait{height:125px}.time-ticket span{font-size:15px}.time-ticket small{font-size:15px}.lesson-18 .roleplay-scene{padding:9px}.lesson-18 .dialogue-history .speech-bubble strong{font-size:17px}}
@media(max-width:750px){.lesson-18 .talk-scene-evidence{position:relative;inset:auto;width:100%;height:240px}.lesson-18 .talk-world>.actor{position:relative;inset:auto;width:90px;height:130px;margin:0 auto}.lesson-18 .roleplay-scene{margin:7px auto 20px;width:95%}.lesson-18 .review-exhibition,.lesson-19 .review-exhibition{grid-template-columns:1fr 1fr}.time-ticket-board{height:auto;padding:10px}.time-ticket-bank{grid-template-columns:1fr 1fr;gap:8px}.time-ticket .portrait{height:130px}.time-ticket small{font-size:13px}.time-ticket span{font-size:14px}.time-ticket-brief .speech-bubble strong{font-size:18px}.time-discovery{padding:5px 7px}.unit-equation{font-size:12px}.time-discovery>strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){.unit-beads i,.elapsed-bar i{animation:none}}
.lesson-39{--teal:#317e93;--gold:#e4bb65}.lesson-38{--teal:#387f76;--gold:#e9bb63}.clock-lens{position:absolute;right:2%;top:5%;width:140px;z-index:4;background:#fffbecef;border:2px solid #a3c1b3;border-radius:20px;padding:7px;text-align:center;pointer-events:none;box-shadow:0 5px 15px #31535425}.clock-lens strong{display:block;font-size:11px;margin-bottom:3px}.clock-lens svg{width:100%;height:115px}.clock-lens span{display:block;font-size:11px;font-weight:700}.clock-lens.active{animation:clockReveal .4s ease-out}.clock-lens.active .clock-arc{animation:arcReveal 1s ease-out}.clock-lens.active .minute-pointer{animation:pointerGlow 1s ease-in-out 2}.clock-puzzle-scene{display:grid;grid-template-columns:56% 42%;gap:2%;height:100%;padding:10px 24px}.puzzle-picture{min-height:0;display:flex;align-items:center;justify-content:center}.puzzle-picture>.portrait{height:100%;width:100%}.puzzle-board{display:grid;grid-template-columns:repeat(4,1fr);width:440px;max-width:100%;aspect-ratio:4/3;gap:3px;background:#eff0db;border:3px solid #abc1a9;border-radius:12px;padding:3px}.puzzle-cell,.puzzle-piece{position:relative;min-width:0;min-height:0;border:2px solid #a2b9aa;background:#fff9e9;border-radius:6px;padding:0;overflow:hidden;cursor:pointer}.puzzle-cell i,.puzzle-piece i{display:block;width:100%;height:100%;background-size:400% 300%;background-repeat:no-repeat}.puzzle-cell span{font-size:16px;color:#687e79}.puzzle-piece{height:58px}.puzzle-piece.selected{border:4px solid #d3a02f}.puzzle-piece:disabled{opacity:.25}.puzzle-bank{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:10px 0}.puzzle-discovery{padding:3px 10px;min-height:0}.puzzle-discovery h2{font-size:19px;margin:7px 0}.puzzle-discovery p{font-size:14px;margin:7px 0}.puzzle-discovery .speech-bubble strong{font-size:18px}.puzzle-discovery .choices{display:flex;flex-direction:column}.puzzle-discovery .choice{font-size:16px;min-height:48px}.lesson-39 .talk-scene-evidence,.lesson-38 .talk-scene-evidence{display:block;width:43%;left:3%;top:5%;height:85%}.lesson-39 .talk-scene-evidence .portrait,.lesson-38 .talk-scene-evidence .portrait{height:100%!important}.lesson-39 .talk-world>.actor,.lesson-38 .talk-world>.actor{width:85px;height:125px;left:1%;top:42%;bottom:auto}.lesson-39 .roleplay-scene,.lesson-38 .roleplay-scene{margin-left:47%;width:49%;padding:10px}.lesson-39 .learner-avatar,.lesson-38 .learner-avatar{display:none}.lesson-39 .friend-review-cards,.lesson-38 .friend-review-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.friend-review-art{position:relative}.talk-scene-evidence .clock-lens{right:0;top:0;width:120px}.talk-scene-evidence .clock-lens svg{height:92px}.talk-scene-evidence .clock-lens span{display:none}.lesson-39 .voice-badge,.lesson-38 .voice-badge{font-size:10px}.lesson-39 .scene-person-title,.lesson-38 .scene-person-title{font-size:11px}.lesson-38 .scene-clue{font-size:14px}.lesson-39 .roleplay-scene .dialogue-history,.lesson-38 .roleplay-scene .dialogue-history{max-height:260px;padding-top:0;flex-shrink:0}.lesson-39 .roleplay-scene .speech-bubble,.lesson-38 .roleplay-scene .speech-bubble{padding:7px 10px}.lesson-39 .roleplay-scene .speech-bubble strong,.lesson-38 .roleplay-scene .speech-bubble strong{font-size:17px;line-height:1.25}.lesson-39 .personal-reminder,.lesson-38 .personal-reminder{font-size:11px;margin:5px 0}.lesson-39 .example-button,.lesson-38 .example-button{min-height:32px;padding:6px}.lesson-39 .role-selector,.lesson-38 .role-selector{padding-bottom:5px}
@keyframes clockReveal{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}@keyframes arcReveal{from{opacity:0;stroke-width:0}to{opacity:1;stroke-width:5}}@keyframes pointerGlow{50%{stroke:#f5b841;stroke-width:5}}
@media(max-width:1050px) and (min-width:751px){.clock-lens{width:112px}.clock-lens svg{height:90px}.clock-lens span{font-size:10px}.puzzle-board{width:410px}.puzzle-piece{height:53px}}
@media(max-width:750px){.clock-lens{width:104px;right:1%;top:8%;padding:5px}.clock-lens svg{height:84px}.clock-lens strong,.clock-lens span{font-size:9px}.clock-puzzle-scene{grid-template-columns:1fr;height:auto;padding:12px}.puzzle-board{width:100%}.puzzle-piece{height:61px}.puzzle-discovery{padding:10px}.lesson-39 .talk-scene-evidence,.lesson-38 .talk-scene-evidence{position:relative;inset:auto;display:block;width:100%;height:235px}.lesson-39 .talk-world>.actor,.lesson-38 .talk-world>.actor{position:relative;inset:auto;height:100px;width:80px}.lesson-39 .roleplay-scene,.lesson-38 .roleplay-scene{margin:10px auto;width:95%}.lesson-39 .friend-review-cards,.lesson-38 .friend-review-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.clock-lens,.clock-arc,.minute-pointer{animation:none!important}}

.journey-art:has(.clock-lens)>.learning-cue{display:none}.clock-lens{opacity:1!important}
/* L21 P6: devote the available scene area to three full-size picture targets. */
@media(min-width:751px){
 .lesson-38 .match-world .delivery-scene{max-width:1600px;height:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:8px;padding:12px 20px}
 .lesson-38 .match-world .mail-rack{grid-template-columns:repeat(3,minmax(0,1fr))!important;min-height:0}
 .lesson-38 .match-world .picture-card{display:grid;grid-template-rows:minmax(0,1fr) auto auto;min-height:0;padding:6px}
 .lesson-38 .match-world .picture-card .portrait{height:100%!important;min-height:0}
 .lesson-38 .match-world .picture-card>span{font-size:16px;margin:4px 0}
 .lesson-38 .match-world .sentence-mail{margin:0}
 .lesson-38 .match-world .delivery-scene .scene-sign.inline{margin:0;padding:4px}
 .lesson-38 .scene-page:has(.match-world) .scene-heading{padding-top:8px;padding-bottom:8px}
 .lesson-38 .scene-page:has(.match-world) .scene-heading h1{font-size:26px}
}
@media(max-width:750px){
 .lesson-38 .match-world .mail-rack{grid-template-columns:1fr!important}
 .lesson-38 .match-world .picture-card .portrait{height:280px!important}
}

.lesson-39{--teal:#3c8879;--gold:#e6b856}.lesson-38{--teal:#39869b;--gold:#e6ba65}
.week-lens{position:absolute;right:2%;top:3%;width:220px;background:#fffcebef;border:2px solid #abc1a9;border-radius:14px;padding:8px;z-index:4;pointer-events:none;box-shadow:0 5px 14px #31535425}.week-lens strong{font-size:12px;display:block;text-align:center;margin-bottom:5px}.week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.week-days span{background:#f2ead8;text-align:center;padding:4px 0;border-radius:5px;font-size:11px;color:#3b5b58}.week-days b{display:block;height:18px;font-size:16px}.week-days .marked{background:#a9d8b4;color:#215735}.week-lens.active .marked{animation:day-pop .55s ease-out backwards}.week-lens.active .marked:nth-child(2n){animation-delay:.15s}.week-lens.active .marked:nth-child(3n){animation-delay:.3s}@keyframes day-pop{from{transform:scale(.65);background:#ffe692}to{transform:scale(1)}}
.room-map{position:absolute;left:2%;top:2%;width:230px;background:#fffcedf5;border:2px solid #91b5a0;border-radius:14px;padding:6px;z-index:4}.room-map strong{display:block;font-size:12px;text-align:center}.room-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.room-map-grid span{padding:5px 2px;background:#e2edd8;border-radius:5px;text-align:center;font-size:10px;line-height:1.2}.room-map-grid b{display:block;font-size:15px}.room-map-grid .entrance{background:#e5d4a7}.personal-plan{background:#fffaf0;border:2px solid #a9b9a0;border-radius:14px;padding:8px}.personal-plan h2{font-size:17px;margin:0 0 5px}.personal-plan p{font-size:13px;margin:5px 0}.plan-row{display:grid;grid-template-columns:90px repeat(5,minmax(0,1fr));gap:3px;margin:3px 0;align-items:center}.plan-row span{font-size:12px}.plan-row button{font-size:12px;min-height:29px;padding:4px;border:1px solid #a7bbaa;border-radius:5px;background:#fff9e6}.plan-row button[aria-pressed=true]{background:#b5ddb7;border-color:#498c60}
.lesson-39 .friend-review-cards,.lesson-38 .friend-review-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.lesson-39 .friend-review-art>.week-lens,.lesson-38 .friend-review-art>.week-lens{right:0;top:0}
.lesson-39 .journey-dialogue,.lesson-38 .journey-dialogue{overflow-x:hidden}.lesson-39 .journey-dialogue:has(.personal-plan){padding-top:6px}.lesson-39 .journey-dialogue:has(.personal-plan)>.journey-progress{display:none}.lesson-39 .journey-dialogue .choices button{font-size:17px;min-height:42px;padding:7px 10px}.lesson-39 .room-map+.scene-clue-trail .scene-clue{max-width:80%}.lesson-38 .friend-review-cards:has(>button:nth-child(4)):not(:has(>button:nth-child(5))){grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1050px) and (min-width:751px){.week-lens{width:195px}.room-map{width:200px}.plan-row{grid-template-columns:73px repeat(5,minmax(0,1fr))}.plan-row button{font-size:10px;padding:3px}.lesson-39 .journey-dialogue .speech-bubble strong,.lesson-38 .journey-dialogue .speech-bubble strong{font-size:19px}.lesson-39 .journey-dialogue .choices button{font-size:15px;min-height:36px}}
@media(max-width:750px){.week-lens{width:190px;right:1%;top:2%}.room-map{width:200px}.lesson-39 .friend-review-cards,.lesson-38 .friend-review-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-row{grid-template-columns:76px repeat(5,minmax(0,1fr))}.plan-row button{font-size:10px}.lesson-39 .journey-dialogue,.lesson-38 .journey-dialogue{overflow:visible}}

.lesson-39{--teal:#3c8879;--gold:#e6b856}.lesson-38{--teal:#39869b;--gold:#e6ba65}
.week-lens{position:absolute;right:2%;top:3%;width:220px;background:#fffcebef;border:2px solid #abc1a9;border-radius:14px;padding:8px;z-index:4;pointer-events:none;box-shadow:0 5px 14px #31535425}.week-lens strong{font-size:12px;display:block;text-align:center;margin-bottom:5px}.week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.week-days span{background:#f2ead8;text-align:center;padding:4px 0;border-radius:5px;font-size:11px;color:#3b5b58}.week-days b{display:block;height:18px;font-size:16px}.week-days .marked{background:#a9d8b4;color:#215735}.week-lens.active .marked{animation:day-pop .55s ease-out backwards}.week-lens.active .marked:nth-child(2n){animation-delay:.15s}.week-lens.active .marked:nth-child(3n){animation-delay:.3s}@keyframes day-pop{from{transform:scale(.65);background:#ffe692}to{transform:scale(1)}}
.room-map{position:absolute;left:2%;top:2%;width:230px;background:#fffcedf5;border:2px solid #91b5a0;border-radius:14px;padding:6px;z-index:4}.room-map strong{display:block;font-size:12px;text-align:center}.room-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.room-map-grid span{padding:5px 2px;background:#e2edd8;border-radius:5px;text-align:center;font-size:10px;line-height:1.2}.room-map-grid b{display:block;font-size:15px}.room-map-grid .entrance{background:#e5d4a7}.personal-plan{background:#fffaf0;border:2px solid #a9b9a0;border-radius:14px;padding:8px}.personal-plan h2{font-size:17px;margin:0 0 5px}.personal-plan p{font-size:13px;margin:5px 0}.plan-row{display:grid;grid-template-columns:90px repeat(5,minmax(0,1fr));gap:3px;margin:3px 0;align-items:center}.plan-row span{font-size:12px}.plan-row button{font-size:12px;min-height:29px;padding:4px;border:1px solid #a7bbaa;border-radius:5px;background:#fff9e6}.plan-row button[aria-pressed=true]{background:#b5ddb7;border-color:#498c60}
.lesson-39 .friend-review-cards,.lesson-38 .friend-review-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.lesson-39 .friend-review-art>.week-lens,.lesson-38 .friend-review-art>.week-lens{right:0;top:0}
.lesson-39 .journey-dialogue,.lesson-38 .journey-dialogue{overflow-x:hidden}.lesson-39 .journey-dialogue:has(.personal-plan){padding-top:6px}.lesson-39 .journey-dialogue:has(.personal-plan)>.journey-progress{display:none}.lesson-39 .journey-dialogue .choices button{font-size:17px;min-height:42px;padding:7px 10px}.lesson-39 .room-map+.scene-clue-trail .scene-clue{max-width:80%}.lesson-38 .friend-review-cards:has(>button:nth-child(4)):not(:has(>button:nth-child(5))){grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1050px) and (min-width:751px){.week-lens{width:195px}.room-map{width:200px}.plan-row{grid-template-columns:73px repeat(5,minmax(0,1fr))}.plan-row button{font-size:10px;padding:3px}.lesson-39 .journey-dialogue .speech-bubble strong,.lesson-38 .journey-dialogue .speech-bubble strong{font-size:19px}.lesson-39 .journey-dialogue .choices button{font-size:15px;min-height:36px}}
@media(max-width:750px){.week-lens{width:190px;right:1%;top:2%}.room-map{width:200px}.lesson-39 .friend-review-cards,.lesson-38 .friend-review-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.plan-row{grid-template-columns:76px repeat(5,minmax(0,1fr))}.plan-row button{font-size:10px}.lesson-39 .journey-dialogue,.lesson-38 .journey-dialogue{overflow:visible}}
.lesson-39 .scene-clue-trail,.lesson-38 .scene-clue-trail{position:absolute;inset:auto 3% 5%;display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center}
.lesson-39 .scene-clue-trail .scene-clue,.lesson-38 .scene-clue-trail .scene-clue{position:static!important;transform:none;max-width:100%;font-size:12px;min-height:38px;padding:6px 10px}
.lesson-39 .scene-clue-trail .scene-clue:disabled,.lesson-38 .scene-clue-trail .scene-clue:disabled{display:none}
.journey-art:has(.week-lens) .learning-cue,.journey-art:has(.room-map) .learning-cue{display:none}

.room-choices{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.room-choices button{padding:6px!important;min-height:36px!important}

.lesson-39{--teal:#388991;--gold:#e6bf66}.lesson-38{--teal:#588a68;--gold:#e6ae62}
.lesson-39 .scene-clue-trail,.lesson-38 .scene-clue-trail{position:absolute;inset:auto 3% 5%;display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center}.lesson-39 .scene-clue-trail .scene-clue,.lesson-38 .scene-clue-trail .scene-clue{position:static!important;transform:none;max-width:100%;font-size:13px;min-height:38px;padding:6px 10px}.scene-clue-trail .scene-clue:disabled{display:none}
.lesson-39 .friend-review-cards,.lesson-38 .friend-review-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.lesson-39 .journey-dialogue,.lesson-38 .journey-dialogue{overflow-x:hidden}.lesson-39 .journey-dialogue .choices button,.lesson-38 .journey-dialogue .choices button{font-size:18px;min-height:44px;padding:7px 10px}
.food-layout,.routine-layout{height:100%;display:grid;grid-template-columns:minmax(0,62fr) minmax(0,38fr);gap:14px;padding:16px 22px;align-items:center}.food-art{height:100%;min-height:0;display:flex;align-items:center;justify-content:center}.food-board{position:relative;max-width:100%;border-radius:18px;overflow:hidden;box-shadow:0 6px 20px #3c62422a;border:3px solid #d4cfa9;background:#fffdf0}.food-board>.portrait{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0}.food-board img{width:100%;height:100%;object-fit:contain!important}.pair-board{width:100%;aspect-ratio:2/1}.square-board{height:100%;aspect-ratio:1/1;max-height:100%;max-width:100%;width:auto}.food-hotspot{position:absolute;z-index:2;display:flex;align-items:flex-end;justify-content:center;border:3px solid transparent;background:transparent;color:#284f43;font-size:16px;font-weight:800;padding:12px 5px;transition:border .2s,background .2s,box-shadow .2s}.food-hotspot:hover{border-color:#d7b85c;background:#fff5c61a}.food-hotspot.selected{border-color:#539269;box-shadow:inset 0 0 22px #5cba5c32;animation:food-found .5s ease-out}.food-hotspot.pair-0{inset:0 50% 0 0}.food-hotspot.pair-1{inset:0 0 0 50%}.food-hotspot.quadrant{width:50%;height:50%;padding-bottom:5px;font-size:13px}.q-0{top:0;left:0}.q-1{top:0;left:50%}.q-2{top:50%;left:0}.q-3{top:50%;left:50%}.menu-food{width:29%;height:26%;transform:translate(-50%,-50%);font-size:12px;padding:4px}.food-language,.routine-language{background:#fffbeaee;border:2px solid #b8c4a5;border-radius:18px;padding:14px;min-width:0}.food-language p,.routine-language p{font-size:17px;line-height:1.4}.food-word{font-size:38px;color:#426e53;font-weight:900;margin:18px 0}.food-trail{display:flex;flex-wrap:wrap;gap:6px}.food-trail span{background:#e5edce;padding:6px 10px;border-radius:10px;font-size:14px}.basket-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.basket-tabs button,.routine-selection>button,.country-cards button,.routine-language>button{background:#fff8df;border:2px solid #a9c0a4;border-radius:10px;min-height:42px;font-weight:700;font-size:16px;color:#356953}.basket-tabs button[aria-pressed=true]{background:#bddcb1}.food-counter{display:block;font-size:23px;margin:10px 0}.routine-art{position:relative;height:100%;min-height:0;border-radius:18px;overflow:hidden;background:#fffdf0}.routine-art>.portrait{height:100%;width:100%}.routine-art img{object-fit:contain!important}.routine-selection{position:absolute;bottom:8px;left:3%;right:3%;display:flex;justify-content:center;gap:8px}.routine-selection button{flex:1;max-width:150px;min-width:0;font-size:13px;overflow:hidden;background:#fff7e6f5}.routine-selection button .portrait{height:82px;width:100%;border:0}.routine-selection button>span{display:block;padding:5px 2px}.created-story p,.routine-story-trail p{padding:8px;border-left:4px solid #d8b550;background:#fff3cf;border-radius:6px;animation:food-found .45s ease-out}.country-cards{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.country-cards strong{width:100%;font-size:15px}.country-cards button{display:flex;align-items:center;gap:5px;font-size:11px;padding:4px;min-height:36px;flex:1}.country-cards svg{width:42px;height:26px;flex-shrink:0}.country-cards span{line-height:1.15}.lesson-39 .journey-art:has(.clock-lens)>.learning-cue{display:none}.lesson-38 .journey-art:has(img[src*="open"]){animation:lid-reveal .6s ease-out}@keyframes lid-reveal{from{filter:brightness(.8);transform:scale(.97)}to{filter:brightness(1);transform:scale(1)}}@keyframes food-found{from{transform:translateY(5px);filter:brightness(1.3)}to{transform:translateY(0);filter:brightness(1)}}.menu-food.selected{animation:none}
@media(max-width:1050px) and (min-width:751px){.food-layout,.routine-layout{padding:12px;gap:10px;grid-template-columns:minmax(0,58fr) minmax(0,42fr)}.food-language .speech-bubble strong,.routine-language .speech-bubble strong,.lesson-39 .journey-dialogue .speech-bubble strong,.lesson-38 .journey-dialogue .speech-bubble strong{font-size:19px}.food-language p,.routine-language p{font-size:15px}.lesson-39 .journey-dialogue .choices button,.lesson-38 .journey-dialogue .choices button{font-size:16px;min-height:38px}.country-cards button{font-size:10px}.country-cards svg{width:30px}}
@media(max-width:750px){.food-layout,.routine-layout{height:auto;grid-template-columns:1fr;padding:12px;gap:12px}.food-art{height:auto}.square-board{width:100%;height:auto}.routine-art{height:330px}.food-language p,.routine-language p{font-size:16px}.lesson-39 .talk-scene-evidence,.lesson-38 .talk-scene-evidence{position:relative;inset:auto;display:block;width:100%;height:240px}.lesson-39 .talk-world>.actor,.lesson-38 .talk-world>.actor{position:relative;inset:auto;height:100px;width:80px}.lesson-39 .roleplay-scene,.lesson-38 .roleplay-scene{margin:10px auto;width:95%}.lesson-39 .friend-review-cards,.lesson-38 .friend-review-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-39 .journey-dialogue,.lesson-38 .journey-dialogue{overflow:visible}.food-hotspot{font-size:13px}.food-word{font-size:28px}.country-cards svg{width:30px}.country-cards button{font-size:10px}.menu-food{font-size:11px}}
@media(prefers-reduced-motion:reduce){.food-hotspot,.created-story p,.routine-story-trail p,.lesson-38 .journey-art{animation:none!important}}

@media(min-width:751px){.lesson-38 .talk-scene-evidence{padding-bottom:0;height:90%;top:3%}.lesson-38 .talk-scene-evidence:has(.scene-intro-card){padding-bottom:75px}.lesson-38 .talk-scene-evidence:has(.scene-intro-card) .scene-intro-card{font-size:12px}.lesson-38 .talk-world>.actor{top:auto;bottom:4%;width:80px;height:125px}.lesson-38 .talk-scene-evidence .portrait img{object-fit:contain!important}}

.routine-language .speech-bubble strong{font-size:21px}.routine-language p{font-size:16px;margin:8px 0;line-height:1.3}.created-story p,.routine-story-trail p{padding:6px}.routine-language{padding:10px}.routine-language>.speech-bubble{padding:10px}

.menu-food{transform:none!important}

.food-multi-world .food-language{padding:10px}.food-multi-world .speech-bubble{padding:8px 10px}.food-multi-world .speech-bubble strong{font-size:21px}.food-multi-world .food-language p{font-size:15px;line-height:1.25;margin:7px 0}.food-multi-world .food-trail{gap:4px}.food-multi-world .food-trail span{font-size:12px;padding:4px 7px}.food-multi-world .food-counter{font-size:20px;margin:7px 0}.food-multi-world .oral-turn{font-size:14px;padding:8px}.journey-dialogue:has(.choices button:nth-child(4)) .choices{display:grid;grid-template-columns:1fr 1fr}.lesson-38 .journey-dialogue:has(.choices button:nth-child(4)) .choices button{font-size:16px;padding:7px;line-height:1.2}

.food-hotspot,.food-hotspot.selected{background:transparent!important;display:flex!important;align-items:flex-end!important;justify-content:center!important}.menu-food{font-size:13px!important;font-weight:900!important}

.lesson-39{--teal:#3c8876;--gold:#e6b55b}.lesson-38{--teal:#467b9a;--gold:#e2b566}.lesson-39 .journey-art>.learning-cue,.lesson-38 .journey-art>.learning-cue{pointer-events:none}.cue-fish .cue-spark{color:#329bbd;animation:fish-swim 1.5s ease-in-out 2}.cue-stamp{border-style:dashed!important;animation:album-open .6s ease-out}.cue-game .cue-spark{color:#9565b3;animation:game-glow .8s ease-in-out 2}.cue-past{animation:page-flip .6s ease-out}.cue-newspaper{animation:album-open .6s ease-out}.cue-cook .cue-spark{animation:steam-rise 1.2s ease-in-out 2}
@keyframes fish-swim{50%{transform:translateX(16px) rotate(10deg)}}@keyframes album-open{from{transform:perspective(300px) rotateY(-50deg);opacity:.3}to{transform:rotateY(0);opacity:1}}@keyframes game-glow{50%{text-shadow:0 0 15px #aa61e7;transform:scale(1.2)}}@keyframes page-flip{from{transform:translateX(-20px);opacity:.2}to{transform:translateX(0);opacity:1}}@keyframes steam-rise{50%{transform:translateY(-12px);opacity:.35}}
.link-layout,.case-layout{height:100%;display:grid;grid-template-columns:minmax(0,64fr) minmax(0,36fr);gap:16px;padding:16px 22px;align-items:center}.link-art{height:100%;min-height:0;display:flex;align-items:center;justify-content:center}.link-board{position:relative;width:100%;aspect-ratio:2.25/1;max-height:100%;border:3px solid #c8b88a;border-radius:16px;overflow:hidden;background:#fffbea}.link-board>.portrait{position:absolute;inset:0;width:100%;height:100%}.link-board img{object-fit:contain!important}.link-hotspot{position:absolute;top:0;bottom:0;background:transparent!important;display:flex;align-items:flex-end;justify-content:center;padding:10px 3px;border:3px solid transparent;font-size:16px;font-weight:800;color:#294e59;transition:border .2s}.link-hotspot:hover{border-color:#d4b853}.link-hotspot:disabled{opacity:1}.link-language,.case-language{background:#fffcecee;border:2px solid #bbc9af;border-radius:18px;padding:12px;min-width:0}.link-language .speech-bubble strong,.case-language .speech-bubble strong{font-size:21px}.link-language p,.case-language p{font-size:15px;line-height:1.3;margin:9px 0}.activity-token{font-size:29px;color:#326c70;font-weight:900;padding:10px 0}.link-trail{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.link-trail span{background:#e5efcf;padding:6px 9px;border-radius:10px;font-size:13px}.link-results p{font-size:15px;padding:6px;background:#e6f2dc;border-left:4px solid #7da470;border-radius:7px}.link-language button,.case-tabs button,.case-clues button,.partner-replies button{font-size:15px;color:#365c5e;background:#fff7d9;border:2px solid #b6b685;border-radius:10px;padding:8px;min-height:40px;font-weight:700}.case-art{height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:9px;min-height:0}.case-picture{position:relative;padding:0 0 35px;border:3px solid #c7b086;border-radius:18px;overflow:hidden;background:#fff9e8;min-height:0}.case-picture .portrait{height:100%;width:100%}.case-picture img{object-fit:contain!important}.case-picture>span{position:absolute;bottom:0;left:0;right:0;background:#fff3d2;font-size:16px;padding:7px;font-weight:700}.case-picture:disabled{opacity:1}.case-picture.case-solved{border-color:#50a57b;animation:album-open .5s ease-out}.case-tabs,.case-clues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.case-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.case-tabs button[aria-pressed=true]{background:#cde7c6}.case-clues{margin:9px 0}.case-clues button{font-size:12px;line-height:1.2}.case-explanation{font-size:14px;padding:8px;background:#e2f2d8;border-radius:8px;line-height:1.25}.partner-replies{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.partner-replies p{font-size:12px;width:100%;margin:0}.partner-replies button{flex:1}.lesson-39 .friend-review-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-39 .scene-person-title,.lesson-38 .scene-person-title{max-width:85%;white-space:normal}
@media(min-width:751px){
 .lesson-39 .match-world .delivery-scene{max-width:1600px;height:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:8px;padding:12px 20px}.lesson-39 .match-world .mail-rack{grid-template-columns:repeat(3,minmax(0,1fr))!important;min-height:0}.lesson-39 .match-world .picture-card{display:grid;grid-template-rows:minmax(0,1fr) auto auto;min-height:0;padding:6px}.lesson-39 .match-world .picture-card .portrait{height:100%!important;min-height:0}.lesson-39 .match-world .picture-card>span{font-size:16px;margin:4px 0}.lesson-39 .match-world .sentence-mail{margin:0}.lesson-39 .match-world .scene-sign.inline{margin:0;padding:4px}.lesson-39 .clue-match-world .delivery-scene{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:7px;padding:12px 24px}.lesson-39 .clue-match-world .clue-envelopes{margin:0}.lesson-39 .clue-match-world .candidate-gallery.two{min-height:0;grid-template-columns:1fr 1fr}.lesson-39 .clue-match-world .candidate{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:4px;padding:5px}.lesson-39 .clue-match-world .candidate .portrait{height:100%!important;min-height:0}.lesson-39 .clue-match-world .message-log{margin:0}.lesson-39 .clue-match-world .message-log .speech-bubble{padding:5px 8px;max-width:48%;margin:0}.lesson-39 .clue-match-world .message-log .speech-bubble strong{font-size:15px}.lesson-39 .clue-match-world .scene-sign{margin:0;padding:4px}
 .lesson-39 .talk-scene-evidence,.lesson-38 .talk-scene-evidence{padding-bottom:0!important;height:90%}.lesson-39 .roleplay-scene,.lesson-38 .roleplay-scene{margin-top:10px;max-height:calc(100% - 20px)}.lesson-39 .dialogue-history,.lesson-38 .dialogue-history{max-height:220px!important}.lesson-39 .role-selector,.lesson-38 .role-selector{margin-bottom:4px}.lesson-39 .role-selector .eyebrow,.lesson-38 .role-selector .eyebrow{font-size:9px}.lesson-39 .talk-world .speech-bubble strong,.lesson-38 .talk-world .speech-bubble strong{font-size:17px}
}
@media(max-width:1050px) and (min-width:751px){.link-layout,.case-layout{padding:12px;gap:10px;grid-template-columns:minmax(0,58fr) minmax(0,42fr)}.link-language .speech-bubble strong,.case-language .speech-bubble strong{font-size:18px}.activity-token{font-size:24px}.link-language p,.case-language p{font-size:14px}.link-trail span{font-size:11px}.case-clues button{font-size:11px}.lesson-39 .talk-world .speech-bubble strong,.lesson-38 .talk-world .speech-bubble strong{font-size:16px}.lesson-39 .scene-heading h1,.lesson-38 .scene-heading h1{font-size:27px}}
@media(max-width:750px){.link-layout,.case-layout{height:auto;display:grid;grid-template-columns:1fr;gap:12px;padding:12px}.link-art{height:auto}.link-board{aspect-ratio:2.25/1}.link-hotspot{font-size:12px;padding:5px}.link-language,.case-language{padding:10px}.case-art{height:320px}.case-tabs button{font-size:12px;padding:5px}.lesson-39 .match-world .mail-rack{grid-template-columns:1fr!important}.lesson-39 .match-world .picture-card .portrait{height:280px!important}.lesson-39 .clue-match-world .candidate .portrait{height:220px!important}.lesson-39 .clue-match-world .candidate-gallery{grid-template-columns:1fr}.lesson-39 .friend-review-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-replies p{font-size:11px}.lesson-39 .dialogue-history,.lesson-38 .dialogue-history{max-height:none!important}}
@media(prefers-reduced-motion:reduce){.cue-fish .cue-spark,.cue-stamp,.cue-game .cue-spark,.cue-past,.cue-newspaper,.cue-cook .cue-spark,.case-solved{animation:none!important}}

@media(min-width:751px){.lesson-39 .clue-match-world .delivery-scene{gap:4px;padding:7px 20px}.lesson-39 .clue-match-world .envelope{padding:5px 10px;min-height:40px}.lesson-39 .clue-match-world .message-log .speech-bubble{padding:4px 7px}.lesson-39 .clue-match-world .message-log .speech-bubble strong{font-size:14px}}.case-language{padding:10px}.case-language .speech-bubble{padding:7px 9px}.case-language .speech-bubble strong{font-size:19px}.case-clues{gap:5px;margin:6px 0}.case-clues button{min-height:36px;padding:5px}.case-language p{font-size:14px;line-height:1.2;margin:6px 0}.case-explanation{font-size:13px;padding:6px}
@media(max-width:750px){.link-art{overflow:auto;justify-content:flex-start}.link-board{width:780px;max-width:none;flex-shrink:0;height:346px;max-height:none}.link-hotspot{font-size:16px}.link-layout{overflow:hidden}}

.lesson-39{--teal:#3a886c;--gold:#e1ae4e}.lesson-38{--teal:#447c9f;--gold:#e6b46c}.cue-climb .cue-spark{animation:climb-step .8s ease-out 2}.cue-hike .cue-spark{animation:hike-step .65s ease-in-out 2}.cue-travel .cue-spark{animation:travel-step 1s ease-out}.cue-skate .cue-spark{animation:skate-step .8s ease-in-out 2}.cue-picnic .cue-spark{animation:picnic-pop .7s ease-out 2}
@keyframes climb-step{50%{transform:translateY(-15px)}}@keyframes hike-step{50%{transform:translateX(15px)}}@keyframes travel-step{from{transform:translateX(-30px);opacity:.2}to{transform:none;opacity:1}}@keyframes skate-step{50%{transform:translateX(18px) rotate(10deg)}}@keyframes picnic-pop{50%{transform:scale(1.3);color:#e4ad4e}}
.packing-layout{height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;padding:12px 20px;align-items:stretch}.packing-scene{position:relative;min-height:0;border:3px solid #c7b67f;border-radius:18px;overflow:hidden;background:#fff9e9}.packing-scene>.portrait{height:100%;width:100%}.packing-scene img{object-fit:contain!important}.packing-caption{position:absolute;left:10px;right:10px;top:10px;pointer-events:none}.packing-caption .speech-bubble{padding:7px 10px;background:#fffbeaef}.packing-caption .speech-bubble strong{font-size:19px}.packed-items{position:absolute;left:0;right:0;top:65px;display:flex;flex-wrap:wrap;gap:5px}.packed-items b{width:100%;font-size:12px;background:#fff8e6c9;padding:3px 5px;border-radius:7px}.packed-items span{font-size:13px;background:#dbf1d9ef;border:2px solid #86b391;border-radius:10px;padding:4px 7px;animation:bag-arrival .35s ease-out}.packing-dock{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:5px;align-items:center}.packing-dock>.speech-bubble{padding:6px 10px}.packing-dock>.speech-bubble strong{font-size:19px}.packing-catalog{height:100%;aspect-ratio:1/1;max-width:100%;min-height:0;position:relative;margin:auto;border:3px solid #c7b67f;border-radius:14px;overflow:hidden;background:#fffdf1}.packing-catalog>.portrait{position:absolute;inset:0;width:100%;height:100%}.packing-catalog img{object-fit:contain!important}.packing-hotspot{position:absolute;background:transparent!important;border:3px solid transparent;border-radius:9px;display:flex;align-items:flex-end;justify-content:flex-end;padding:4px;font-weight:900;font-size:16px;color:#34764f}.packing-hotspot:hover{border-color:#e2b55b;box-shadow:inset 0 0 12px #ebba4933}.packing-hotspot.selected{border-color:#459766!important;background:#c8eec522!important;box-shadow:inset 0 0 12px #87c08a44}.packing-actions{display:flex;gap:7px;justify-content:center}.packing-actions button{font-size:13px;padding:6px 9px;color:#35655b;border:2px solid #a7b58c;background:#fff7db;border-radius:10px;min-height:37px}.packing-prompt,.packing-result{margin:0;font-size:13px;text-align:center;background:#fff9e9d9;border-radius:9px;padding:5px}.packing-result{font-weight:700;color:#34764f}.packing-scene:has(img[src*="correct"]){animation:skate-step .6s ease-out}.packing-catalog:has(.selected){border-color:#63a87b}@keyframes bag-arrival{from{transform:translateY(-12px);opacity:.2}to{transform:none;opacity:1}}
.storybuild-layout{height:100%;display:grid;grid-template-columns:minmax(0,60fr) minmax(0,40fr);gap:14px;padding:12px 20px;align-items:center}.storybuild-art{height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.storybuild-board{position:relative;min-height:0;aspect-ratio:1/1;max-width:100%;height:100%;border:3px solid #c5b079;border-radius:18px;overflow:hidden;background:#fffce9}.storybuild-board>.portrait{position:absolute;inset:0;width:100%;height:100%}.storybuild-board img{object-fit:contain!important}.storybuild-board.winter-board{width:100%;height:calc(100% - 69px);aspect-ratio:auto}.story-hotspot{position:absolute;background:transparent;border:3px solid transparent;padding:3px;display:flex;align-items:flex-end;justify-content:center;font-size:13px;font-weight:800;color:#2c6b59;text-shadow:0 0 3px #fff,0 0 6px #fff;pointer-events:none}.story-hotspot.current{pointer-events:auto;border:3px dashed #e5bb54;background:#ffef9b12;animation:story-focus .8s ease-out}.story-hotspot:disabled{opacity:1}.skating-week{width:100%;background:#fff9e8ef;border:2px solid #b7c0a1;border-radius:12px;padding:5px}.skating-week strong{font-size:12px;display:block;margin-bottom:3px}.skating-week>div{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.skating-week button{padding:4px 1px;min-height:30px;font-size:12px;border:2px solid #bdc6a5;background:#fffef4;border-radius:6px;color:#385e56}.skating-week button.marked{background:#dcf1d4;border-color:#6ba475}.skating-week button.counted{box-shadow:0 0 0 2px #dab34b;background:#fff0ae}.storybuild-language{min-width:0;background:#fffbedeb;border:2px solid #b9c8b0;border-radius:18px;padding:10px}.storybuild-language .speech-bubble{padding:8px 10px}.storybuild-language .speech-bubble strong{font-size:20px}.story-evidence{font-size:15px;margin:7px 0;background:#fff1cd;padding:6px;border-radius:8px}.storybuild-language .choices{margin:7px 0;gap:6px}.storybuild-language .choices button{font-size:16px;min-height:42px;padding:7px 10px;width:100%}.storybuilt-trail p{font-size:14px;margin:4px 0;padding:4px 6px;border-left:3px solid #82ad76;background:#e5f0d8;border-radius:6px;animation:bag-arrival .35s ease-out}.story-step-count{font-size:12px;margin-top:6px;color:#6b7e5e}.story-model{font-size:18px;line-height:1.35;margin:9px 0;color:#326b51}.storybuild-language:has(.story-model) .storybuilt-trail{display:none}@keyframes story-focus{50%{box-shadow:inset 0 0 16px #ffd87955}}
@media(min-width:751px){.lesson-39 .match-world .delivery-scene,.lesson-38 .match-world .delivery-scene{height:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:6px;padding:10px 20px;max-width:1600px}.lesson-39 .match-world .mail-rack,.lesson-38 .match-world .mail-rack{grid-template-columns:repeat(3,minmax(0,1fr))!important;min-height:0}.lesson-39 .match-world .picture-card,.lesson-38 .match-world .picture-card{display:grid;grid-template-rows:minmax(0,1fr) auto auto;min-height:0;padding:5px}.lesson-39 .match-world .picture-card .portrait,.lesson-38 .match-world .picture-card .portrait{height:100%!important;min-height:0}.lesson-39 .match-world .picture-card>span,.lesson-38 .match-world .picture-card>span{font-size:15px;margin:3px}.lesson-39 .match-world .sentence-mail,.lesson-38 .match-world .sentence-mail{margin:0}.lesson-39 .match-world .scene-sign,.lesson-38 .match-world .scene-sign{margin:0;padding:4px}.lesson-38 .journey-dialogue .choices button{font-size:18px;min-height:44px}.lesson-39 .friend-review-cards,.lesson-38 .friend-review-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1050px) and (min-width:751px){.packing-layout,.storybuild-layout{padding:10px;gap:10px}.storybuild-layout{grid-template-columns:minmax(0,57fr) minmax(0,43fr)}.packing-caption .speech-bubble strong,.packing-dock>.speech-bubble strong{font-size:17px}.storybuild-language .speech-bubble strong{font-size:18px}.storybuilt-trail p{font-size:13px}.story-model{font-size:17px}.lesson-39 .scene-heading h1,.lesson-38 .scene-heading h1{font-size:26px}}
@media(max-width:750px){.packing-layout,.storybuild-layout{height:auto;grid-template-columns:1fr;padding:10px}.packing-scene{height:360px}.packing-dock{grid-template-rows:auto 360px auto auto}.packing-catalog{width:360px;height:360px;max-width:100%}.packing-dock>.speech-bubble strong{font-size:19px}.storybuild-art{height:420px}.storybuild-board.winter-board{height:340px}.storybuild-language{padding:10px}.story-hotspot{font-size:12px}.story-model{font-size:18px}.lesson-38 .match-world .mail-rack{grid-template-columns:1fr!important}.lesson-38 .match-world .picture-card .portrait{height:280px!important}.packing-layout{overflow:hidden}}
@media(prefers-reduced-motion:reduce){.cue-climb .cue-spark,.cue-hike .cue-spark,.cue-travel .cue-spark,.cue-skate .cue-spark,.cue-picnic .cue-spark,.packing-scene,.packed-items span,.story-hotspot.current,.storybuilt-trail p{animation:none!important}}

.packing-scene{display:grid;grid-template-rows:minmax(0,1fr) auto}.packing-main{min-height:0;position:relative}.packing-main>.portrait{height:100%;width:100%}.packing-caption{position:static;padding:5px;pointer-events:none}.packing-caption .speech-bubble{padding:4px 7px}.packing-caption .speech-bubble strong{font-size:16px}.packing-caption .speech-bubble:after{display:none}.packing-caption .speech-bubble .speaker-avatar{height:30px}.packed-items{position:static;margin-top:4px}.packed-items b{width:auto}.packed-items span{font-size:11px;padding:3px 5px}.packing-main:has(.object-focus-wrap){display:grid;grid-template-columns:40% 60%;gap:4px;padding:5px}.object-focus-wrap{min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.object-focus{min-height:0;max-height:calc(100% - 25px);max-width:100%;height:100%;background-repeat:no-repeat;border:2px solid #c4b18b;border-radius:12px;animation:bag-arrival .4s ease-out}.object-focus-wrap strong{font-size:17px;color:#35705a}.packing-caption .portrait{width:30px!important;height:35px!important}.packing-caption .speech-bubble.with-portrait{padding-left:45px!important}@media(max-width:750px){.packing-scene{height:420px}.packing-main:has(.object-focus-wrap){grid-template-columns:30% 70%}.packing-caption .speech-bubble strong{font-size:16px}}

.personal-story-layout,.inventory-layout,.school-pattern-layout,.math-pack-layout{position:absolute;inset:12px 14px 34px;display:grid;grid-template-columns:55% 43%;gap:2%;min-height:0}.personal-story-art,.inventory-picture,.pattern-scene,.math-pack-story{position:relative;min-height:0;display:flex;flex-direction:column;gap:8px}.personal-source{flex:1;min-height:0;position:relative;padding:0;border:3px solid #e6bc64;border-radius:22px;background:#fffdf2;overflow:hidden}.personal-source .portrait{position:absolute;inset:0 0 32px}.personal-source>span{position:absolute;bottom:0;left:0;right:0;background:#fff4ce;padding:5px;font-size:15px;font-weight:800}.personal-reference{background:#fffdf4ed;padding:8px 12px;border-radius:14px;border-left:5px solid #c99c4e;font-size:14px}.personal-reference p{margin:4px 0}.personal-story-language,.inventory-language,.pattern-language,.math-pack-dock{background:#fffdf5ec;padding:12px;border:2px solid #bad7c7;border-radius:18px;display:flex;flex-direction:column;gap:8px;min-height:0;overflow:auto}.personal-story-language .speech-bubble strong,.inventory-language .speech-bubble strong,.pattern-language .speech-bubble strong{font-size:19px}.personal-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;min-height:0}.personal-options button{padding:5px;min-height:100px;display:flex;flex-direction:column;background:#fffdf3;border:2px solid #acd1c2;border-radius:14px}.personal-options .portrait{height:82px;width:100%}.personal-options span{font-size:14px;font-weight:800}.personal-answer{display:flex;flex-direction:column;gap:7px}.personal-answer>button{min-height:36px;border-radius:12px;border:2px solid #91baa9;background:#eef9e9;font-weight:800}.personal-trail p{font-size:14px;margin:4px 0;padding:5px;border-left:3px solid #67ac8c;background:#eef9ed}.personal-truth{font-size:13px;color:#506e60;margin:auto 0 0}.discovered .personal-source{animation:sceneIn .4s ease-out;box-shadow:0 0 23px #efc55477}.inventory-picture>.portrait{position:absolute;inset:0}.inventory-spot{position:absolute;background:#fff9!important;border:2px dashed #c79347!important;border-radius:14px;font-size:15px;font-weight:800;display:flex;align-items:flex-end;justify-content:center;padding:8px;transition:background .3s}.inventory-spot.found{background:#d9f5d244!important;border-style:solid!important;box-shadow:0 0 20px #8cce88}.inventory-list p{font-size:20px;margin:8px 0;background:#f3f9ed;padding:9px;border-radius:12px}.pattern-scene{background:#fffdf4e8;border-radius:18px;padding:12px;justify-content:center}.pattern-scene h2{font-size:19px;margin:0}.school-pattern-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px}.pattern-cell{aspect-ratio:1/1.25;position:relative;border:2px solid #c8d4b1;border-radius:10px;overflow:hidden;background:white}.pattern-cell>.portrait{position:absolute;inset:0}.pattern-cell.gap{border:3px dashed #d0a13b;background:#fff3b5}.pattern-cell.gap>button{position:absolute;inset:0;z-index:2;background:#fff1!important;font-size:12px;display:flex;align-items:flex-end;justify-content:center;padding:3px;font-weight:800}.pattern-cell.gap>span{position:absolute;inset:0;display:grid;place-items:center;font-size:40px;color:#bd8c2c}.pattern-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.pattern-options button{border:2px solid #acccbb;border-radius:12px;padding:3px;background:white}.pattern-options .portrait{height:130px}.pattern-options span{font-size:13px;font-weight:800}.math-pack-story>.portrait{flex:1;min-height:0}.math-pack-story>.speech-bubble{margin:0}.math-pack-story .speech-bubble strong{font-size:17px}.math-pack-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;flex:1;min-height:0}.math-pack-options button{padding:3px;display:flex;flex-direction:column;align-items:stretch;border:2px solid #c5d4b9;border-radius:14px;background:#fff;min-height:0}.math-pack-options .portrait{flex:1;min-height:85px}.math-pack-options span{font-size:14px;font-weight:800}.math-pack-options .packed{border:3px solid #58a679;background:#e9f7df;animation:sceneIn .3s}.pack-brief{font-size:16px;font-weight:700}.pack-result{font-size:15px;margin:0;background:#edf8db;padding:8px;border-radius:10px}.math-pack-story .packed-items{font-size:13px;min-height:38px;display:flex;flex-wrap:wrap;gap:5px;background:#fffbec;padding:6px;border-radius:12px}.math-pack-story .packed-items span{padding:2px 6px;background:#e5f6de;border-radius:6px}.lesson-38 .friend-review-art .portrait,.lesson-39 .friend-review-art .portrait{background:#fffdf6}.lesson-39 .talk-scene-evidence{width:54%}
@media(max-width:1100px) and (min-width:751px){.personal-story-layout,.inventory-layout,.school-pattern-layout,.math-pack-layout{inset:8px 9px 28px;grid-template-columns:53% 45%;gap:2%}.personal-story-language,.inventory-language,.pattern-language,.math-pack-dock{padding:8px;gap:5px}.personal-options .portrait{height:70px}.personal-options button{min-height:86px}.personal-story-language .speech-bubble strong{font-size:17px}.personal-reference{font-size:13px}.personal-trail p{font-size:13px}.pattern-options .portrait{height:108px}.pack-brief{font-size:14px}}
@media(max-width:750px){.personal-story-layout,.inventory-layout,.school-pattern-layout,.math-pack-layout{position:relative;inset:auto;grid-template-columns:1fr;padding:10px;gap:10px}.personal-story-art{height:380px}.inventory-picture{height:390px}.personal-story-language,.inventory-language,.pattern-language,.math-pack-dock{overflow:visible}.personal-options .portrait{height:100px}.school-pattern-grid{gap:3px}.pattern-scene{min-height:255px}.pattern-options .portrait{height:120px}.math-pack-story>.portrait{height:260px;flex:auto}.math-pack-options{min-height:290px}.lesson-39 .talk-scene-evidence{width:100%}}

.personal-story-language .speech-bubble{flex:none;margin:0;padding:6px 9px;min-height:0}.personal-story-language .speech-bubble strong{font-size:17px;line-height:1.2}.personal-story-language .speech-bubble>span{margin-bottom:2px;font-size:10px}.personal-story-language .speaker-face{height:34px}.personal-story-language .role-selector{margin:0;gap:6px;flex:none}.personal-story-language .role-selector button{min-height:32px;padding:4px 8px;font-size:13px}.personal-answer-controls{display:flex;gap:5px;flex-wrap:wrap}.personal-answer-controls button{flex:1;min-height:32px;padding:4px;border:2px solid #a8c7b3;border-radius:9px;font-size:12px;font-weight:700;background:#eef8e8}.personal-story-language{gap:6px}.personal-options .portrait{height:68px}.personal-options button{min-height:89px}.personal-trail p{margin:2px 0;padding:3px;font-size:13px}.personal-truth{font-size:12px;line-height:1.2}.personal-answer{gap:6px}.personal-answer .speech-bubble{border-color:#63a98c}.personal-story-language .speech-bubble:has(.speaker-face){padding-left:46px}.personal-story-language .scene-sign{margin:0}

@media(min-width:751px){.lesson-38 .friend-review-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.lesson-39 .friend-review-cards{grid-template-columns:repeat(6,minmax(0,1fr))}.lesson-39 .talk-scene-evidence{width:46%}.lesson-39 .roleplay-scene{margin-left:51%;width:46%}}
.inventory-language .speech-bubble{flex:none;padding:6px 9px;margin:0}.inventory-language .speech-bubble strong{font-size:17px;line-height:1.25}.inventory-language .speech-bubble:has(.speaker-face){padding-left:46px}.inventory-language .speaker-face{height:34px}.inventory-list p{font-size:16px;margin:3px 0;padding:5px}.inventory-language>p{font-size:14px;margin:3px 0}.inventory-language{gap:6px}.inventory-list{min-height:0}

@keyframes sceneIn{from{opacity:.45;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.personal-trail p{animation:sceneIn .4s ease-out}.inventory-spot.found{animation:focus-ring .6s ease-out}.pattern-cell.gap .portrait{animation:sceneIn .5s ease-out}.math-pack-story .packed-items span{animation:bag-arrival .4s ease-out}

.math-pack-options{grid-template-rows:repeat(2,minmax(0,1fr));flex:1;min-height:0}.math-pack-options .portrait{min-height:0!important}.math-pack-options button{overflow:hidden}.math-pack-options span{flex:none;line-height:18px;font-size:13px}.math-pack-dock>#unused{display:none}.math-pack-dock>.primary{flex:none;min-height:36px}.math-pack-story .speech-bubble{flex:none}.math-pack-story .speech-bubble strong{font-size:16px;line-height:1.2}.math-pack-story .speech-bubble:has(.speaker-face){padding-left:46px}.math-pack-story .speaker-face{height:34px}

.color-sort-layout,.gallery-steps-layout{position:absolute;inset:10px 16px 30px;display:grid;grid-template-columns:53% 45%;gap:2%;min-height:0}.color-sort-art{display:grid;grid-template-columns:40% 58%;gap:2%;min-height:0}.color-reference,.color-focus,.gallery-art{position:relative;min-height:0;display:flex;flex-direction:column;border:3px solid #cab275;background:#fffdf1;border-radius:20px;overflow:hidden}.color-reference .portrait,.color-focus .portrait{flex:1;min-height:0}.color-reference button{min-height:40px;font-size:14px;background:#fff0b8;border:2px solid #c9a668}.color-name{padding:8px;text-align:center;border-top:10px solid var(--color);font-size:21px;animation:bag-arrival .4s}.color-focus>strong{padding:8px;font-size:18px;text-align:center}.color-focus>p{margin:auto;padding:18px;font-size:21px}.color-sort-dock,.gallery-language{background:#fffdf1ed;border:2px solid #b4cbb9;border-radius:18px;padding:9px;display:flex;flex-direction:column;gap:6px;min-height:0}.color-sort-dock>.speech-bubble,.gallery-language>.speech-bubble{flex:none;padding:6px 9px;min-height:0}.color-sort-dock .speech-bubble strong,.gallery-language .speech-bubble strong{font-size:17px;line-height:1.22}.color-sort-dock .speaker-face,.gallery-language .speaker-face{height:34px}.color-sort-dock .speech-bubble:has(.speaker-face),.gallery-language .speech-bubble:has(.speaker-face){padding-left:46px}.color-object-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:5px;flex:1;min-height:0}.color-object-grid button{padding:3px;min-height:0;overflow:hidden;background:#fff;border:2px solid #c6cfb9;border-radius:10px;display:flex;flex-direction:column}.color-object-grid .portrait{flex:1;min-height:0}.color-object-grid span{font-size:11px;line-height:14px;flex:none;font-weight:800}.color-object-grid [aria-pressed=true]{background:#eaf7da;border:3px solid #6ab083;animation:bag-arrival .3s}.color-sort-dock>button{min-height:32px;border:2px solid #90b69b;border-radius:9px;background:#eff8e6;font-weight:800;flex:none}.color-complete{margin:0;font-size:12px}.gallery-art>.portrait{flex:1;min-height:0}.gallery-caption{padding:5px;text-align:center;font-size:17px;font-weight:800;background:#fff0bb}.gallery-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;height:75px;padding:4px}.gallery-thumbnails button{min-width:0;min-height:0;padding:2px;border:2px solid #aec7a6;border-radius:9px;background:#fff9e9;position:relative}.gallery-thumbnails .portrait{height:100%}.gallery-thumbnails span{position:absolute;bottom:1px;right:4px;font-size:12px;background:#fff8}.gallery-trail p{font-size:15px;padding:6px;margin:3px 0;background:#edf7dc;border-radius:8px;animation:bag-arrival .3s}.gallery-language:has(.gallery-trail p:last-child:nth-child(4)) .gallery-trail{font-size:13px}.gallery-language .choices{display:flex;flex-direction:column;margin:3px 0;gap:6px}.gallery-language .choices button{font-size:17px;min-height:40px;padding:6px}.gallery-language>p,.evidence-note{font-size:15px;margin:4px 0}.gallery-language:has(.gallery-trail p:nth-child(4)) .gallery-trail{display:none}.hat-panel{position:relative;background-repeat:no-repeat;background-size:500% 100%;height:100%;width:100%;min-height:0;aspect-ratio:396/793;border-radius:12px}.lesson-38 .friend-review-cards{grid-template-columns:repeat(6,minmax(0,1fr))!important}.lesson-39 .friend-review-cards{grid-template-columns:repeat(4,minmax(0,1fr))!important}.lesson-38 .match-world .mail-rack{grid-template-columns:repeat(5,minmax(0,1fr))!important}.lesson-38 .match-world .picture-card>span{font-size:14px}.lesson-38 .match-world .attached-label{font-size:13px;padding:3px}.lesson-38 .match-world .mail-token{font-size:17px;padding:7px;min-height:38px}.lesson-39 .roleplay-scene{margin-left:51%;width:46%}.lesson-39 .talk-scene-evidence{width:46%}
@media(max-width:750px){.color-sort-layout,.gallery-steps-layout{position:relative;inset:auto;display:grid;grid-template-columns:1fr;padding:10px}.color-sort-art{height:340px}.color-object-grid{height:330px;flex:auto}.gallery-art{height:420px}.gallery-language{min-height:290px}.lesson-38 .friend-review-cards,.lesson-39 .friend-review-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}.lesson-38 .match-world .mail-rack{grid-template-columns:1fr!important}.lesson-38 .match-world .picture-card .portrait{height:270px!important}.lesson-39 .roleplay-scene{margin-left:0;width:100%}.lesson-39 .talk-scene-evidence{width:100%}}

.hat-lens{container-type:size;display:grid;place-items:center}.hat-lens .hat-panel{width:min(100cqw,50cqh);height:min(100cqh,200cqw)}.quantity-example{display:flex;height:60px;flex:none;align-items:center;padding:3px 8px;background:#eef6da;gap:8px}.quantity-example .portrait{width:75px;height:52px}.quantity-example b{font-size:13px}.lesson-38 .talk-scene-evidence .portrait{height:50%!important}.lesson-38 .talk-scene-evidence .scene-intro-card{font-size:12px}.lesson-38 .roleplay-scene{margin-left:51%;width:46%}.lesson-38 .talk-scene-evidence{width:46%}.partner-replies{display:flex;gap:4px;flex-wrap:wrap}.partner-replies p{width:100%;font-size:12px;margin:4px}.partner-replies button{min-height:28px;font-size:12px;padding:4px}@media(max-width:750px){.lesson-38 .roleplay-scene{margin-left:0;width:100%}.lesson-38 .talk-scene-evidence{width:100%}}

.lesson-38 .talk-scene-evidence{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr) auto;gap:5px;height:85%}.lesson-38 .talk-scene-evidence .portrait{height:100%!important;min-height:0}.lesson-38 .scene-intro-card{padding:4px;font-size:11px}.lesson-38 .scene-intro-card p{margin:2px}

.personal-options:has(button:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))}

.ai-panel{background:#fff9ec;display:grid;place-items:center;overflow:hidden}.ai-panel>div{width:100%;max-height:100%;background-repeat:no-repeat}.links-layout,.room-build-layout{height:100%;display:grid;grid-template-columns:1.65fr 1fr;gap:14px;padding:14px}.links-art,.links-language,.room-build-dock,.room-build-art{min-height:0;min-width:0}.links-art{display:flex;flex-direction:column}.links-art h2{margin:0 0 10px;background:#ffefb7;border-radius:15px;padding:7px 16px;text-align:center}.links-pictures{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;flex:1;min-height:0}.links-pictures>button{position:relative;min-height:0;display:flex;flex-direction:column;background:#fff9ed;padding:5px}.links-pictures .portrait{flex:1;min-height:0}.links-pictures span{position:absolute;top:8px;left:8px;background:#197f85;color:white;border-radius:50%;padding:3px 10px;font-size:24px}.links-language{display:flex;flex-direction:column;gap:8px}.linked-example{display:flex;align-items:center;gap:8px;min-height:0;height:30%;background:#fff9ed;border-radius:14px}.linked-example .portrait{width:50%;height:100%}.link-trail{font-size:16px}.link-trail p{margin:4px}.room-build-art{display:flex;flex-direction:column}.room-stage{position:relative;flex:1;min-height:0;background:#f2eafa;border-radius:20px;overflow:hidden}.room-stage>.portrait{height:100%;width:100%}.room-stage>.portrait img{object-fit:fill}.room-zone{position:absolute;z-index:3;border:2px dashed #387c8c;background:#fff9;width:15%;height:13%;font-size:11px;padding:2px}.room-zone.invalid{opacity:.3}.room-zone.valid{animation:zone-glow 1.4s ease-in-out infinite}.placed-object{position:absolute;transform:translateX(-50%);z-index:2;border:0;background:none;padding:0;animation:room-arrive .45s ease-out}.placed-object .portrait{width:100%;height:100%;background:none;border:none;box-shadow:none}.placed-object img{object-fit:contain}.placed-object.selected{filter:drop-shadow(0 0 7px #ffd35b)}.room-frame{background:#ffefba;border-radius:14px;text-align:center;padding:7px;margin:5px 0 0;font-size:19px;font-weight:bold}.room-build-dock{display:flex;flex-direction:column;gap:6px}.room-build-dock p{margin:2px;font-size:13px}.furniture-palette{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;min-height:0;flex:1}.furniture-palette button{min-height:0;display:flex;flex-direction:column;padding:4px;font-size:12px;background:#fffbed}.furniture-palette .portrait{flex:1;min-height:0;height:70px}.room-actions,.room-relations{display:flex;gap:6px}.room-actions button,.room-relations button{flex:1;font-size:12px;padding:6px}.room-build-dock .speech-bubble strong{font-size:18px}.room-builder-world .voice-badge{display:none}.lesson-38 .cue-spark{animation:weather-glow 1.8s infinite}.lesson-38 .cue-wind .cue-spark{animation:wind-breeze 2s infinite}.lesson-38 .cue-rain .cue-spark{animation:rain-drop 1.3s infinite}.lesson-39 .learning-cue{box-shadow:0 0 20px #eeb4588a}.lesson-38 .gallery-caption{background:#d5f3ff}.forecast-labels{display:flex;gap:7px;flex-wrap:wrap}.forecast-labels span{background:#fff8cf;border-radius:8px;padding:5px}.room-stage .room-zone[disabled]{opacity:0}.room-build-dock .teacher-accept{font-size:14px}@keyframes weather-glow{50%{transform:rotate(90deg) scale(1.2);filter:drop-shadow(0 0 15px gold)}}@keyframes wind-breeze{50%{transform:translateX(15px) rotate(15deg)}}@keyframes rain-drop{50%{transform:translateY(10px);opacity:.6}}@keyframes zone-glow{50%{border-color:#e79d24;background:#fff7d8cc}}@keyframes room-arrive{from{opacity:0;translate:0 -22px}to{opacity:1;translate:0 0}}@media(max-width:750px){.links-layout,.room-build-layout{height:auto;display:flex;flex-direction:column;padding:9px}.links-art{height:420px}.links-language{min-height:200px}.room-stage{flex:none;height:370px}.furniture-palette{flex:none;height:220px}.room-build-dock{min-height:370px}.room-frame{font-size:17px}}

.room-stage>.portrait img{object-fit:contain}.ai-panel>div{width:auto;height:100%;max-width:100%;aspect-ratio:1}.lesson-39 .room-frame{font-size:16px}

.lesson-38 .talk-scene-evidence,.lesson-39 .talk-scene-evidence{padding-bottom:0!important;height:90%;width:54%}.lesson-38 .roleplay-scene,.lesson-39 .roleplay-scene{margin-top:8px;max-height:calc(100% - 16px)}.lesson-38 .dialogue-history,.lesson-39 .dialogue-history{max-height:none!important;flex:1;min-height:0}.lesson-38 .role-selector,.lesson-39 .role-selector{margin-bottom:3px}.lesson-38 .talk-world .speech-bubble strong,.lesson-39 .talk-world .speech-bubble strong{font-size:16px;line-height:1.3}.lesson-38 .talk-world .speech-bubble,.lesson-39 .talk-world .speech-bubble{padding:6px 8px}.lesson-38 .talk-world .dialogue-history .speech-bubble,.lesson-39 .talk-world .dialogue-history .speech-bubble{margin:4px 0}.lesson-38 .role-selector .eyebrow,.lesson-39 .role-selector .eyebrow{font-size:10px}@media(max-width:750px){.lesson-38 .talk-scene-evidence,.lesson-39 .talk-scene-evidence{width:100%}.lesson-38 .dialogue-history,.lesson-39 .dialogue-history{min-height:180px}}

.room-stage{container-type:size}.room-canvas{position:absolute;width:min(100cqw,150cqh);height:min(100cqh,66.666cqw);left:50%;top:50%;transform:translate(-50%,-50%)}.room-canvas>.portrait{position:absolute;inset:0}.room-canvas>.portrait img{object-fit:contain}.room-zone{width:11%;height:8%;min-height:24px;font-size:9px;border-width:1px}.placed-object{pointer-events:none}.room-build-dock .speech-bubble{padding:5px 8px;margin:0;min-height:45px}.room-build-dock .speaker-face{width:28px;height:38px}.room-build-dock .speech-bubble strong{font-size:17px}.room-build-dock .speech-bubble>span{font-size:9px}.room-build-dock button{min-height:26px;height:auto;padding:4px;font-size:12px}.room-build-dock>button{min-height:30px}.furniture-palette{min-height:140px}.furniture-palette .portrait{height:50px;flex:1}.room-actions button,.room-relations button{min-height:26px}.room-build-dock{gap:5px}.lesson-39 .personal-story-language{gap:5px;padding:8px}.lesson-39 .personal-options .portrait{height:65px}.lesson-39 .personal-options button{min-height:87px}.lesson-39 .personal-options span{font-size:12px}.lesson-39 .personal-story-language .room-frame{margin:0;padding:5px}.lesson-39 .journey-dialogue{gap:5px}.lesson-39 .previous-exchange{font-size:13px;padding:4px}.lesson-39 .journey-dialogue .evidence-note{font-size:14px;padding:5px}.lesson-39 .journey-dialogue .choices button{font-size:17px;min-height:38px;padding:7px}.lesson-38 .roleplay-scene,.lesson-39 .roleplay-scene{height:calc(100% - 30px);padding:10px}.lesson-38 .dialogue-history,.lesson-39 .dialogue-history{padding:2px 4px 4px}.lesson-38 .role-selector,.lesson-39 .role-selector{gap:3px}.lesson-38 .talk-world .speech-bubble .speaker-face,.lesson-39 .talk-world .speech-bubble .speaker-face{width:30px;height:40px}.lesson-38 .talk-world .speech-bubble,.lesson-39 .talk-world .speech-bubble{padding-left:44px;min-height:45px}.lesson-38 .talk-world .speech-bubble strong,.lesson-39 .talk-world .speech-bubble strong{font-size:16px}.lesson-38 .personal-reminder,.lesson-39 .personal-reminder{margin:4px 0;font-size:11px}@media(max-width:750px){.lesson-38 .roleplay-scene,.lesson-39 .roleplay-scene{height:auto}.room-canvas{width:100%;height:100%}.room-build-art .room-stage{height:auto;aspect-ratio:1.5}.furniture-palette{height:210px}.room-build-dock button{min-height:34px}.lesson-39 .personal-options .portrait{height:95px}}

.lesson-38 .talk-scene-evidence,.lesson-39 .talk-scene-evidence{display:block;width:51%;height:calc(100% - 25px);padding:0;left:2%;top:12px}.lesson-38 .talk-scene-evidence>.portrait,.lesson-39 .talk-scene-evidence>.portrait{height:100%!important}.lesson-38 .scene-intro-card{position:absolute;bottom:0;left:0;right:0;background:#fffbe9e8}.lesson-38 .roleplay-scene,.lesson-39 .roleplay-scene{position:absolute;left:55%;top:10px;width:43%;height:calc(100% - 25px);margin:0;max-height:none!important}.lesson-38 .talk-world>.actor,.lesson-39 .talk-world>.actor{left:2%;bottom:4%;width:18%;height:48%;z-index:5}.lesson-38 .talk-world .learner-avatar,.lesson-39 .talk-world .learner-avatar{display:none}@media(max-width:750px){.lesson-38 .talk-scene-evidence,.lesson-39 .talk-scene-evidence{position:relative;left:auto;top:auto;width:100%;height:320px}.lesson-38 .roleplay-scene,.lesson-39 .roleplay-scene{position:relative;left:auto;top:auto;width:96%;height:auto;margin:10px auto}.lesson-38 .talk-world>.actor,.lesson-39 .talk-world>.actor{position:relative;left:auto;bottom:auto;height:220px;width:40%;margin:8px 30%}}

@media(min-width:751px){.lesson-39 .friend-review-cards{grid-template-columns:repeat(6,minmax(0,1fr))!important}}

.region-lens{container-type:size;display:grid;place-items:center;background:#fffaf0}.region-lens>div{background-repeat:no-repeat}.evidence-pack-layout,.town-route-layout{position:absolute;inset:12px 14px 24px;display:grid;grid-template-columns:56% 42%;gap:2%}.evidence-pack-art,.evidence-pack-dock,.town-route-art,.town-route-dock{min-height:0;min-width:0}.evidence-pack-art{display:grid;grid-template-columns:45% 53%;gap:2%}.pack-context-art,.pack-object-focus{display:flex;flex-direction:column;min-height:0;background:#fffbea;border:2px solid #dac18e;border-radius:20px;padding:5px}.pack-context-art>.portrait,.pack-object-focus>.portrait{flex:1;min-height:0}.pack-context-art>button{min-height:38px;font-size:14px}.pack-object-focus strong{font-size:17px;text-align:center;padding:6px}.pack-object-focus{box-shadow:0 0 16px #f1cb6277;animation:sceneIn .4s ease-out}.evidence-pack-dock,.town-route-dock{display:flex;flex-direction:column;gap:7px;padding:10px;background:#fffdf3ec;border:2px solid #bccfc6;border-radius:18px}.evidence-pack-dock .speech-bubble{margin:0;padding:6px 9px}.evidence-pack-dock .speech-bubble strong{font-size:18px}.evidence-object-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;flex:1;min-height:0}.evidence-object-grid button{position:relative;min-height:0;padding:3px;display:flex;flex-direction:column;background:#fffdf3}.evidence-object-grid .portrait{flex:1;min-height:0}.evidence-object-grid span{position:absolute;bottom:4px;left:4px;background:#fff4d4de;border-radius:7px;padding:2px 5px;font-size:14px;font-weight:bold}.evidence-pack-dock p{font-size:13px;margin:0;padding:3px}.evidence-pack-dock>button{min-height:33px;font-size:14px;padding:6px}.pack-complete{background:#e8f6d9;border-radius:9px;color:#28683f}.town-route-art{display:flex;flex-direction:column}.town-board{container-type:size;position:relative;flex:1;min-height:0;border-radius:20px;background:#15285a;overflow:hidden}.town-canvas{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100cqw,150cqh);height:min(100cqh,66.666cqw)}.town-canvas>.portrait{position:absolute;inset:0;background:none;border:none}.town-canvas>.portrait img{object-fit:contain}.town-start{position:absolute;width:8%;height:12%;min-height:28px;transform:translate(-50%,-50%);z-index:4;border:3px solid #f8e5a1;border-radius:50%;padding:0;background:#fffbe5}.town-start b{position:absolute;inset:0;display:grid;place-items:center;font-size:21px}.town-start img{width:100%;height:100%;object-fit:contain;border-radius:50%;background:#fff}.town-start.found b{inset:auto -3px -4px auto;background:#fff5bf;border-radius:10px;padding:1px 5px;font-size:11px}.town-route-dock .speech-bubble{margin:0;padding:5px 8px}.town-route-dock .speech-bubble strong{font-size:18px}.traveler-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;min-height:0;flex:1}.traveler-cards button{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:4px;background:#fff9ed}.traveler-cards .portrait{flex:1;min-height:0}.traveler-cards span{font-weight:800;font-size:14px}.traveler-cards strong{font-size:12px;line-height:1.35}.route-models p{margin:2px 0;font-size:14px}.route-selected,.route-bridge-note{font-size:12px;margin:4px 0;background:#fffae3;padding:5px;border-radius:9px}.town-route-dock>button{min-height:28px;font-size:12px;padding:4px}.route-traveler{position:absolute;width:7%;height:13%;object-fit:contain;transform:translate(-50%,-75%);pointer-events:none;z-index:3;filter:drop-shadow(0 0 9px #ffd665);animation-duration:3s;animation-timing-function:linear;animation-fill-mode:forwards}.route-A{animation-name:route-A}.route-B{animation-name:route-B}.route-C{animation-name:route-C}@keyframes route-A{0%{left:6.3%;top:48.3%}20%{left:24%;top:50%}40%{left:40%;top:51%}55%{left:50%;top:47%}70%{left:64%;top:57%}90%{left:81%;top:63%}100%{left:88%;top:61%}}@keyframes route-B{0%{left:6.5%;top:86%}20%{left:26%;top:74%}40%{left:41%;top:58%}60%{left:55%;top:41%}80%{left:75%;top:30%}100%{left:85%;top:25%}}@keyframes route-C{0%{left:80%;top:90%}20%{left:65%;top:85%}40%{left:52%;top:68%}60%{left:42%;top:62%}72%{left:36%;top:44%}85%{left:26%;top:35%}100%{left:15%;top:26%}}.hat-reference-strip{display:grid;grid-template-columns:repeat(3,1fr);height:85px;gap:6px;min-height:85px}.hat-reference-strip>div{display:flex;align-items:center;min-height:0;background:#fff7dd;border-radius:12px}.hat-reference-strip .portrait{height:100%;width:60%;min-width:0}.hat-reference-strip b{font-size:11px}.brainstorm-note{font-size:12px;background:#fff3c2;padding:4px 8px;border-radius:9px}.lesson-38 .personal-trail p{font-size:12px;margin:2px 0;padding:3px}.lesson-38 .personal-story-language{gap:5px;padding:9px}.lesson-38 .personal-options span{font-size:12px}.lesson-38 .personal-options .portrait{height:66px}.lesson-38 .personal-options button{min-height:86px}.lesson-39 .match-world .picture-card .portrait{height:165px!important}.lesson-39 .match-world .mail-rack{grid-template-columns:repeat(4,1fr)!important}.lesson-39 .partner-replies button{min-height:24px;font-size:11px;padding:3px}.lesson-39 .partner-replies p{font-size:10px;margin:2px}.lesson-39 .dialogue-history .speech-bubble strong{font-size:15px}@media(max-width:1050px) and (min-width:751px){.evidence-pack-dock .speech-bubble strong{font-size:16px}.evidence-pack-layout,.town-route-layout{inset:10px 12px 22px;grid-template-columns:56% 42%}.traveler-cards strong{font-size:11px}.lesson-38 .scene-heading h1{font-size:26px}}@media(max-width:750px){.evidence-pack-layout,.town-route-layout{position:relative;inset:auto;display:flex;flex-direction:column;padding:10px;gap:10px}.evidence-pack-art{height:340px;flex:none}.evidence-pack-dock{min-height:380px}.evidence-object-grid{flex:none;min-height:200px}.town-board{flex:none;height:auto;aspect-ratio:1.5}.town-canvas{width:100%;height:100%}.town-route-dock{min-height:350px}.traveler-cards{min-height:180px}.lesson-39 .match-world .mail-rack{grid-template-columns:repeat(2,1fr)!important}.lesson-39 .match-world .picture-card .portrait{height:190px!important}.lesson-38 .personal-options .portrait{height:95px}.hat-reference-strip{height:75px;min-height:75px}}

.lesson-38 .personal-story-language .speech-bubble{margin:3px 0;padding:5px 8px}.lesson-38 .personal-story-language .speech-bubble strong{font-size:18px;line-height:1.3}.lesson-38 .personal-story-language .role-selector{margin:0}.lesson-38 .personal-story-language .personal-truth{font-size:12px}

.town-start:hover:not(:disabled){;}.town-start:active:not(:disabled){;}

.lesson-39 .talk-world .dialogue-history .speech-bubble{margin:2px 0;padding:4px 8px}.lesson-39 .talk-world .dialogue-history{padding:2px}

.town-teach-layout{position:absolute;inset:12px 14px 24px;display:grid;grid-template-columns:58% 40%;gap:2%}.town-teach-art,.town-teach-dock{min-height:0;min-width:0}.town-teach-art{display:flex;flex-direction:column;gap:5px}.teaching-map{container-type:size;position:relative;flex:1;min-height:0;background:#fffbea;border:2px solid #b4c99b;border-radius:18px;overflow:hidden}.teaching-map>.portrait{position:absolute;inset:0}.teaching-map-canvas{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100cqw,150cqh);height:min(100cqh,66.666cqw)}.teaching-map-canvas>.portrait{position:absolute;inset:0;background:none;border:none}.teaching-map-canvas>.portrait img{object-fit:contain}.building-slot{position:absolute;transform:translate(-50%,-50%);width:27%;border:2px dashed #bc984a;border-radius:15px;background:#fff7d499;padding:0;display:flex;flex-direction:column;min-height:0}.building-slot .portrait{flex:1;min-height:0;background:none;border:none}.building-slot span{font-size:12px;font-weight:800;background:#fff9dfa8;border-radius:8px;padding:2px}.building-slot:hover:not(:disabled){;}.building-slot:active:not(:disabled){;}.building-slot.occupied{border-style:solid;animation:building-appear .35s}.town-teach-dock{background:#fffdf2ed;border:2px solid #bccfc6;border-radius:18px;padding:9px;display:flex;flex-direction:column;gap:6px}.town-teach-dock .speech-bubble{margin:0;padding:5px 8px}.town-teach-dock .speech-bubble strong{font-size:16px;line-height:1.3}.town-teach-dock>button{min-height:31px}.map-orientation{font-size:12px;line-height:1.3;background:#fff9e4;padding:5px 8px;border-radius:10px;margin:0;flex:none}.map-clue-list{display:grid;grid-template-columns:100px 1fr;gap:4px;align-items:center}.map-clue-list button{font-size:12px;padding:4px;min-height:27px}.map-clue-list p{font-size:12px;line-height:1.3;margin:0;padding:3px}.active-clue{background:#fff0ae;border-radius:8px;box-shadow:0 0 10px #e5ce66}.building-palette{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;flex:1;min-height:70px}.building-palette button{display:flex;flex-direction:column;min-height:0;padding:3px;background:#fff9eb}.building-palette .portrait{flex:1;min-height:0}.building-palette span{font-size:11px;font-weight:800}.map-check-controls{display:flex;gap:5px;flex:none}.map-check-controls button{flex:1;min-height:29px;font-size:13px;padding:5px}.map-result{font-size:12px;margin:0;line-height:1.3;min-height:30px}.comparison-options{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;flex:1;min-height:70px}.comparison-options button{display:flex;flex-direction:column;padding:3px;min-height:0;background:#fff9eb}.comparison-options .portrait{flex:1;min-height:0}.comparison-options span{font-size:13px;font-weight:800}.map-arrow{position:absolute;transform:translate(-50%,-50%);width:7%;height:12%;min-height:30px;min-width:30px;border:2px solid #806b40;border-radius:12px;background:#fff1bd!important;color:#315e67;font-size:24px;z-index:4;padding:0}.map-arrow.walked{background:#caedb0!important;border-color:#45915f}.map-arrow:hover:not(:disabled){;}.map-arrow:active:not(:disabled){;}.walking-traveler{position:absolute;width:6%;height:14%;object-fit:contain;transform:translate(-50%,-80%);z-index:3;pointer-events:none;filter:drop-shadow(0 0 6px #fff);animation:walk-map-step .8s ease-in-out forwards}.walk-progress{display:flex;flex-direction:column;gap:4px;flex:1;justify-content:center}.walk-progress span{background:#edf9e6;border:2px solid #bcd29f;border-radius:10px;padding:8px;font-size:14px;font-weight:800}.route-arrival{font-size:13px;font-weight:800;color:#2c7151;background:#e4f5cb;border-radius:10px;padding:7px;margin:0}.talk-map-canvas{container-type:size;position:relative;width:min(100%,150cqh);aspect-ratio:1.5;height:auto;max-height:100%;margin:auto}.talk-map-canvas>.portrait{position:absolute;inset:0}.talk-start-marker{position:absolute;transform:translate(-50%,-50%);background:#fff2bd;border:2px solid #be9348;border-radius:10px;padding:3px;font-size:11px;font-weight:800;width:110px;text-align:center}.lesson-38 .match-world .picture-card .portrait,.lesson-39 .match-world .picture-card .portrait{height:180px!important}.lesson-38 .match-world .mail-rack,.lesson-39 .match-world .mail-rack{grid-template-columns:repeat(3,1fr)!important}.lesson-38 .talk-world .dialogue-history .speech-bubble,.lesson-39 .talk-world .dialogue-history .speech-bubble{margin:2px 0;padding:4px 8px}.lesson-38 .talk-world .speech-bubble strong,.lesson-39 .talk-world .speech-bubble strong{font-size:15px;line-height:1.25}@keyframes building-appear{from{opacity:.4;filter:brightness(1.5)}to{opacity:1;filter:none}}@keyframes walk-map-step{from{left:var(--from-x);top:var(--from-y)}to{left:var(--to-x);top:var(--to-y)}}@media(max-width:1050px) and (min-width:751px){.map-clue-list{grid-template-columns:90px 1fr}.map-clue-list p{font-size:11px}.town-teach-dock .speech-bubble strong{font-size:14px}.map-result{font-size:11px}.walk-progress span{font-size:12px;padding:6px}}@media(max-width:750px){.town-teach-layout{position:relative;inset:auto;display:flex;flex-direction:column;padding:10px;gap:9px}.teaching-map{flex:none;aspect-ratio:1.5}.teaching-map-canvas{width:100%;height:100%}.town-teach-dock{min-height:350px}.building-palette{min-height:130px;flex:none}.comparison-options{min-height:160px;flex:none}.map-clue-list p{font-size:12px}.building-slot span{font-size:10px}.map-arrow{font-size:20px}.talk-map-canvas{width:100%;height:auto;min-height:250px}.lesson-38 .match-world .mail-rack,.lesson-39 .match-world .mail-rack{grid-template-columns:1fr!important}}

.building-slot{width:32%}.town-teach-dock{gap:4px}.route-arrival{font-size:12px;padding:4px;line-height:1.2}

.town-teach-dock .speech-bubble{flex-shrink:0}.walk-progress{min-height:0;gap:3px}.walk-progress span{padding:5px;font-size:13px;line-height:1.2}

.object-pick-layout{position:absolute;inset:12px 30px;display:flex;flex-direction:column;gap:8px}.object-pick-question{flex:none}.object-pick-bank{display:flex;gap:20px;flex:1;min-height:0;justify-content:center}.object-pick-bank>button{width:40%;display:flex;flex-direction:column;min-height:0;background:#fff9ee;border-radius:20px}.object-pick-bank .portrait{flex:1;min-height:0}.object-pick-model{flex:none}.object-pick-model .speech-bubble{margin:0;padding:4px}.object-pick-bank .selected{animation:building-appear .45s;box-shadow:0 0 18px #dbe889}.route-strokes{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.graph-node{position:absolute;transform:translate(-50%,-50%);width:32px;height:32px;min-height:0!important;padding:0!important;border-radius:50%;background:#fff6bd!important;font-size:12px;z-index:4}.graph-progress{flex:1;display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:0}.graph-progress p{border:2px solid;border-radius:12px;padding:8px;margin:0;font-size:15px;background:#fffdf2}.traveler-tabs{display:flex;gap:5px;flex:none}.traveler-tabs button{flex:1;font-size:12px;padding:5px}.traveler-tabs [aria-pressed=true]{background:#fff1bd;border-color:#b08b40}.guess-layout{position:absolute;inset:12px 20px;display:grid;grid-template-columns:48% 50%;gap:2%}.guess-art{position:relative;min-height:0;display:flex}.guess-art>.portrait{width:100%;height:100%;background:#fff;border-radius:20px}.guess-dock{min-height:0;display:flex;flex-direction:column;gap:4px;background:#fffdf0e8;border-radius:18px;padding:8px}.guess-dock .speech-bubble{margin:0;padding:5px}.guess-clues{flex:1;display:flex;flex-direction:column;gap:5px;min-height:0}.guess-clues button{display:flex;align-items:center;gap:10px;flex:1;min-height:0;text-align:left;background:#fff8e8}.guess-clues .portrait{height:100%;width:80px;flex:none;min-height:0;border:0;background:none}.guess-clues span{font-size:16px;font-weight:800}.guess-clues .heard{background:#eafaD3}.guess-dock>p{margin:0;font-size:12px}.animal-reveal-spark{position:absolute;bottom:10%;left:20%;color:#dba441;font-size:38px;animation:building-appear .6s}.rotated-compass{position:absolute;left:44%;top:55%;width:14%;aspect-ratio:1;background:#fff6dfe8;border-radius:50%;border:2px solid #a48450;z-index:3;font-size:11px}.rotated-compass b{position:absolute}.rotated-compass .n{right:4%;top:9%;color:#a6382f}.rotated-compass .e{right:4%;bottom:9%}.rotated-compass .s{left:4%;bottom:9%}.rotated-compass .w{left:4%;top:9%}.zoo-slot{position:absolute;transform:translate(-50%,-50%);width:30%;height:40%;display:flex;flex-direction:column;min-height:0;background:#fff8d8c9!important;padding:2px!important;border-radius:15px!important;border:2px dashed #b38a42!important}.zoo-slot>.portrait{flex:1;min-height:0;background:transparent;border:0}.zoo-slot>span{font-size:12px;position:absolute;top:1px;left:5px}.zoo-slot strong{font-size:11px;line-height:1.1}.zoo-slot small{font-size:10px}.zoo-slot i{margin:auto;font-size:12px}.visitor-token{display:flex;justify-content:center;align-items:center;gap:4px;height:24%;flex:none}.visitor-token img{height:100%;width:30%;object-fit:contain}.visitor-token b{font-size:12px}.zoo-facts{display:flex;flex-direction:column;gap:3px;flex:none}.zoo-facts button{display:flex;align-items:center;gap:6px;padding:3px!important;font-size:12px;line-height:1.25;text-align:left;background:#fff9ed}.zoo-facts img{height:38px;width:32px;object-fit:contain}.zoo-palette{display:flex;gap:5px;flex:1;min-height:70px}.zoo-palette>button{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;padding:3px;background:#fff9e5}.zoo-palette .portrait{flex:1;min-height:0;background:none;border:0}.zoo-palette span{font-size:11px}.zoo-palette .selected{box-shadow:0 0 12px #e1bf58}.recap-layout{position:absolute;inset:12px 16px;display:grid;grid-template-columns:52% 46%;gap:2%}.recap-art{display:flex;flex-direction:column;min-height:0;gap:4px}.recap-art>.portrait{flex:1;min-height:0}.recap-model{flex:none;background:#fff9ecea;border-radius:12px;padding:4px}.recap-model .speech-bubble{margin:0;padding:4px}.recap-model p{font-size:12px;margin:2px}.recap-bank{display:grid;grid-template-columns:1fr 1fr;gap:5px;min-height:0}.recap-bank button{font-size:14px;line-height:1.25;background:#fff9e9;padding:5px;min-height:0}.recap-bank .selected{background:#f5e1ac}.lesson-50 .match-world .mail-rack{grid-template-columns:repeat(4,1fr)!important}.lesson-50 .match-world .picture-card .portrait{height:175px!important}.lesson-50 .talk-world .speech-bubble strong,.lesson-50 .talk-world .speech-bubble strong{font-size:15px;line-height:1.25}.lesson-50 .talk-world .dialogue-history .speech-bubble,.lesson-50 .talk-world .dialogue-history .speech-bubble{margin:2px 0;padding:4px 8px}@media(max-width:1050px) and (min-width:751px){.zoo-facts button{font-size:11px}.zoo-facts img{height:30px}.recap-bank button{font-size:12px}.guess-clues span{font-size:14px}.guess-clues .portrait{width:65px}}@media(max-width:750px){.object-pick-layout{position:relative;inset:auto;padding:10px}.object-pick-bank{min-height:220px;gap:8px}.object-pick-bank>button{width:49%}.guess-layout,.recap-layout{position:relative;inset:auto;display:flex;flex-direction:column;padding:10px;gap:8px}.guess-art{height:270px}.guess-dock{min-height:440px}.recap-art>.portrait{min-height:250px}.recap-bank{min-height:300px}.zoo-palette{min-height:130px}.zoo-facts button{font-size:12px}.zoo-slot strong{font-size:10px}.rotated-compass{font-size:8px}.graph-progress{min-height:100px}.lesson-50 .match-world .mail-rack{grid-template-columns:repeat(2,1fr)!important}}

.lesson-50 .journey-dialogue .choices button,.lesson-50 .journey-dialogue .choices button{font-size:16px;min-height:40px}.lesson-50 .journey-dialogue .speech-bubble,.lesson-50 .journey-dialogue .speech-bubble{padding:7px 10px;margin-bottom:6px}.lesson-50 .journey-dialogue .evidence-note,.lesson-50 .journey-dialogue .evidence-note{font-size:13px;line-height:1.3}.lesson-50 .journey-dialogue .journey-progress,.lesson-50 .journey-dialogue .journey-progress{font-size:12px}

.zoo-slot .portrait{animation:building-appear .35s ease}
@media(min-width:751px){.lesson-50 .talk-scene-evidence,.lesson-50 .talk-scene-evidence{position:absolute;left:2%;top:3%;width:48%;height:88%;display:block}.lesson-50 .talk-scene-evidence>.portrait,.lesson-50 .talk-scene-evidence>.portrait{height:100%!important;width:100%;min-height:0}.lesson-50 .roleplay-scene,.lesson-50 .roleplay-scene{margin-left:53%;width:44%;height:88%;max-height:88%;padding:8px}.lesson-50 .learner-avatar,.lesson-50 .learner-avatar{display:none}.lesson-50 .talk-world .actor.left,.lesson-50 .talk-world .actor.left{left:2%;top:auto;bottom:6%;width:14%;height:44%;min-height:0}.lesson-50 .talk-world .actor img,.lesson-50 .talk-world .actor img{max-height:calc(100% - 25px);height:calc(100% - 25px);width:100%;object-fit:contain}.lesson-50 .talk-world .dialogue-history,.lesson-50 .talk-world .dialogue-history{padding:2px;max-height:none}}
@media(max-width:750px){.lesson-50 .talk-scene-evidence,.lesson-50 .talk-scene-evidence{position:relative;inset:auto;width:100%;height:290px;margin:0}.lesson-50 .talk-scene-evidence>.portrait,.lesson-50 .talk-scene-evidence>.portrait{height:100%!important}.lesson-50 .roleplay-scene,.lesson-50 .roleplay-scene{margin:0;width:100%;max-height:none}.lesson-50 .talk-world .actor.left,.lesson-50 .talk-world .actor.left{height:180px;min-height:0}.lesson-50 .learner-avatar,.lesson-50 .learner-avatar{display:none}}

@media(min-width:751px){.lesson-50 .welcome-board,.lesson-50 .welcome-board{padding:14px;top:14px}.lesson-50 .welcome-board h2,.lesson-50 .welcome-board h2{font-size:26px;line-height:1.2;margin:10px 0}.lesson-50 .welcome-board>p,.lesson-50 .welcome-board>p{font-size:16px;margin:8px 0}.lesson-50 .welcome-board .club-pass,.lesson-50 .welcome-board .club-pass{font-size:16px;padding:9px;margin:8px 0}.lesson-50 .welcome-board .speech-bubble,.lesson-50 .welcome-board .speech-bubble{padding:8px 8px 8px 52px;margin:6px 0}.lesson-50 .welcome-board .speech-bubble strong,.lesson-50 .welcome-board .speech-bubble strong{font-size:19px;line-height:1.25}}

.city-place{position:absolute;transform:translate(-50%,-50%);padding:0!important;min-height:28px!important;min-width:28px;background:#fff3!important;border:2px dashed #9a7e45!important;border-radius:16px!important;z-index:2;font-size:12px!important;color:#244b55;text-shadow:0 1px white}.city-place.active{background:#fff6b855!important;border:3px solid #4c966b!important;box-shadow:0 0 14px #fff48a;animation:building-appear .4s}.city-destination-pin{position:absolute;transform:translate(-50%,-50%);color:#b44536;text-shadow:0 0 4px white;pointer-events:none;font-size:24px;animation:pin-discovery .8s ease-in-out}.city-speaker{display:flex;align-items:center;gap:9px;height:67px;min-height:67px!important;flex:none;padding:3px!important;background:#fff8e6}.city-speaker>.portrait{height:100%;width:50px;flex:none;border:0;background:none}.city-speaker span{font-weight:800;font-size:15px}.city-source-story{font-size:13px;line-height:1.3;flex:none;background:#fff6d8;padding:6px;border-radius:10px}.city-question{font-size:15px;font-weight:800;line-height:1.25;margin:3px 0}.city-model{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:4px}.city-model .speech-bubble{padding:4px 8px}.city-model .speech-bubble strong{font-size:15px}.city-model>p{font-size:11px;margin:0}.city-invitation{font-size:14px;margin:auto}.city-found{display:flex;gap:5px;flex-wrap:wrap;flex:none}.city-found span{font-size:11px;background:#eef8d4;border-radius:8px;padding:3px 6px}.city-route-example{font-size:13px;line-height:1.3;margin:3px 0;background:#eef6da;padding:5px;border-radius:10px}.city-walking-dot{position:absolute;transform:translate(-50%,-50%);z-index:3;pointer-events:none;color:#217b94;text-shadow:0 0 8px #fff;font-size:27px;animation:walk-map-step .7s ease-in-out forwards}.intro-lines{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:6px}.intro-lines p{padding:7px;border-radius:10px;background:#f5efce;font-size:15px;margin:0;animation:building-appear .35s}.intro-route-choices{display:flex;gap:5px}.intro-route-choices button{flex:1;font-size:12px;padding:5px}.read-person{position:absolute;transform:translate(-50%,-50%);width:9%;height:13%;min-height:30px;border-radius:50%;padding:0!important;font-size:20px!important;background:#fff3b8!important}.read-person.heard{border-color:#438964;box-shadow:0 0 16px #fff0a2}.scene-read-dock{gap:7px}.scene-read-line{flex:1;min-height:0;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:5px;padding:8px!important;background:#fff7e0}.scene-read-line b{font-size:12px}.scene-read-line span{font-size:18px;font-weight:800}.scene-read-line.heard{background:#e4f3d1}.scene-read-dock>p{font-size:12px;margin:0}.tree-zone{position:absolute;transform:translate(-50%,-50%);border-radius:50%;width:6%;height:9%;min-width:25px;min-height:25px;z-index:3;padding:0!important;background:#fff4b9b8!important;font-size:12px!important}.tree-zone[disabled]{opacity:0;pointer-events:none}.tree-ornament{position:absolute;transform:translate(-50%,-50%);padding:0!important;min-height:0!important;background:none!important;border:0!important;border-radius:0!important;z-index:4;animation:ornament-hang .4s ease-out}.tree-ornament .portrait{height:100%;width:100%;background:none;border:none}.tree-ornament img{object-fit:contain}.tree-ornament.selected{filter:drop-shadow(0 0 5px #ffe777)}.ornament-bank{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:5px;min-height:100px;flex:1}.ornament-bank button{display:flex;flex-direction:column;min-height:0;min-width:0;padding:3px;background:#fff9e6}.ornament-bank .portrait{min-height:0;flex:1;background:none;border:0}.ornament-bank span{font-size:10px;font-weight:800;line-height:1.15}.ornament-bank .selected{background:#f2edc6;border-color:#a37e42}.picture-stories-layout{position:absolute;inset:12px 16px 24px;display:grid;grid-template-columns:58% 40%;gap:2%}.picture-stories-art{min-height:0;position:relative;display:flex;flex-direction:column;gap:5px}.picture-stories-art>.portrait{flex:1;min-height:0}.picture-story-thumbs{display:flex;height:70px;gap:5px;flex:none}.picture-story-thumbs>button{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;padding:2px;background:#fff8e0}.picture-story-thumbs .portrait{flex:1;min-height:0}.picture-story-thumbs span{font-size:11px}.open-answer-example{background:#f8efcc;border-radius:12px;padding:9px;font-size:14px}.open-answer-example b,.open-answer-example span{font-size:11px}.open-answer-example p{margin:5px 0}.lesson-50 .match-world .mail-rack{grid-template-columns:repeat(3,1fr)!important}.lesson-50 .match-world .picture-card .portrait{height:110px!important}.lesson-50 .match-world .mail-token{font-size:16px;min-height:33px;padding:5px}.lesson-50 .match-world .picture-card>span{font-size:12px;padding:2px}.lesson-50 .match-world .attached-label{font-size:11px;padding:2px}.lesson-50 .match-world .picture-mail{padding:8px;gap:7px}.lesson-50 .cue-spark{animation:festive-spark 1.8s infinite}.lesson-50 .knowledge-spot.lit{box-shadow:0 0 20px #ffe891}.lesson-50 .journey-art .learning-cue{background:#fff6d1ee;border-color:#c7a755}@keyframes festive-spark{50%{transform:rotate(70deg) scale(1.2);filter:drop-shadow(0 0 8px gold)}}@keyframes pin-discovery{50%{transform:translate(-50%,-70%) scale(1.2)}}@keyframes ornament-hang{from{opacity:.3;transform:translate(-50%,-65%) rotate(-20deg)}to{opacity:1;transform:translate(-50%,-50%) rotate(0)}}@media(max-width:1050px) and (min-width:751px){.city-speaker{height:58px;min-height:58px!important}.city-source-story{font-size:12px}.city-question{font-size:13px}.city-model .speech-bubble strong{font-size:13px}.intro-lines p{font-size:13px;padding:5px}.scene-read-line span{font-size:16px}.picture-stories-layout{grid-template-columns:56% 42%}}@media(max-width:750px){.city-place{font-size:10px!important;min-height:24px!important}.city-model{min-height:150px}.picture-stories-layout{position:relative;inset:auto;display:flex;flex-direction:column;padding:10px;gap:10px}.picture-stories-art>.portrait{min-height:270px}.picture-story-thumbs{height:80px}.ornament-bank{min-height:230px;flex:none}.scene-read-dock{min-height:330px}.intro-lines{min-height:130px}.lesson-50 .match-world .mail-rack{grid-template-columns:repeat(2,1fr)!important}.lesson-50 .match-world .picture-card .portrait{height:160px!important}}

@media(min-width:751px){.lesson-50 .match-world .delivery-scene{height:100%;padding:8px 14px;display:flex;flex-direction:column;gap:5px}.lesson-50 .match-world .mail-rack{min-height:0;flex:1;grid-template-rows:repeat(2,minmax(0,1fr));gap:7px}.lesson-50 .match-world .picture-card{min-height:0;padding:4px}.lesson-50 .match-world .picture-card .portrait{height:auto!important;min-height:0;flex:1}.lesson-50 .match-world .sentence-mail{margin:0;gap:6px;flex:none}.lesson-50 .match-world .delivery-scene>p{font-size:11px;margin:0}.lesson-50 .journey-dialogue{gap:4px;padding:6px 8px}.lesson-50 .journey-dialogue .speech-bubble{margin:0;padding:5px 8px}.lesson-50 .journey-dialogue .speech-bubble strong{font-size:17px}.lesson-50 .journey-dialogue .choices{margin:4px 0;gap:5px}.lesson-50 .journey-dialogue .choices button{min-height:34px;padding:5px}.lesson-50 .journey-dialogue .evidence-note{padding:6px;margin:3px 0}.lesson-50 .journey-dialogue .previous-exchange{font-size:12px;padding:4px}.lesson-50 .journey-dialogue .journey-progress{margin:2px 0}}

.lesson-50 .tree-ornament,.lesson-50 .tree-ornament.selected,.lesson-50 .tree-ornament:hover,.lesson-50 .tree-ornament:focus{background:transparent!important;box-shadow:none!important;border:0!important}

.festival-pick-layout,.festival-pot-layout{position:absolute;inset:12px 16px 24px;display:grid;grid-template-columns:58% 40%;gap:2%}.festival-pictures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:0}.festival-option{display:flex;flex-direction:column;justify-content:center;min-height:0;padding:8px!important;background:#fffbee!important;border:3px solid #c9b885}.festival-option .portrait{flex:1;min-height:0;background:none;border:0}.festival-option span{font-size:17px;font-weight:800}.festival-option.selected{border-color:#d1a448!important;box-shadow:0 0 18px #ffdf88}.festival-option.key-picture{border-color:#38865d!important;animation:festival-discovery .6s}.source-paragraph{font-size:19px;line-height:1.5;padding:12px;background:#fff4ca;border-radius:14px;margin:0}.festival-clue-dock{justify-content:center;gap:10px}.festival-task{font-size:21px;font-weight:800}.festival-result{padding:10px;border-radius:10px;background:#eaf3d1;font-size:18px}.festival-result p{font-size:13px;margin:5px 0}.festival-quiz-art>.portrait{height:100%}.festival-quiz-dock{gap:5px}.festival-question{flex:1;min-height:0}.ask-question{width:100%;text-align:left;background:#fff1c6;min-height:35px!important;padding:6px!important;font-size:17px!important;line-height:1.3;font-weight:800}.festival-question .choices{display:flex;flex-direction:column;gap:5px;margin:5px 0}.festival-question .choices button{font-size:14px;line-height:1.3;padding:5px;min-height:34px}.festival-question small{font-size:11px}.pumpkin-workshop{display:flex;flex-direction:column;gap:7px}.pumpkin-stage{flex:1;min-height:0;position:relative}.pumpkin-stage>.portrait{height:100%}.phase-badge{position:absolute;bottom:8px;left:15px;padding:5px 12px;background:#fff3c7;border-radius:10px;font-size:18px;font-weight:800}.pumpkin-timeline{display:flex;align-items:center;justify-content:center;gap:10px;font-size:14px;padding:6px;background:#fff7de;border-radius:10px}.pumpkin-timeline .done{color:#348450;font-weight:800}.pumpkin-glows{animation:lantern-warmth 2.2s infinite}.craft-dock{gap:6px}.craft-intro{font-size:21px;font-weight:800;margin:0}.craft-step{margin:0;font-size:16px;padding:6px;background:#fff6de;border-radius:10px}.craft-step.current{background:#ffe9a4;border:2px solid #c6a65e}.craft-tools{display:flex;flex:1;min-height:0;gap:8px}.craft-tools>button{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;padding:5px;background:#fff9e9}.craft-tools .portrait{flex:1;min-height:0;background:none;border:0}.craft-tools span{font-size:17px;font-weight:800}.craft-dock>p:last-child{font-size:13px;margin:2px 0}.harvest-picture{display:flex;position:relative;min-height:0;height:100%;width:100%;padding:0!important;background:none!important;border:0!important}.harvest-picture>.portrait{height:100%;width:100%}.harvest-picture>span{position:absolute;bottom:8px;left:10px;background:#fff2b9;padding:6px;border-radius:10px;font-size:17px;font-weight:800}.harvest-dock{gap:5px;padding:7px}.native-calendar{flex:none;border:2px solid #bea977;background:#fffcf1;border-radius:12px;padding:5px 7px;text-align:center}.native-calendar>strong{font-size:18px;color:#a35c36}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.calendar-grid>b{font-size:10px}.calendar-grid button{min-height:21px!important;height:23px;padding:1px!important;font-size:12px!important;border:0;background:#fff8df}.calendar-grid .source-circle{border:2px solid #af5734!important;border-radius:50%}.calendar-grid .selected{background:#e0f4c7!important}.native-calendar small{font-size:10px}.harvest-frames p{font-size:14px;line-height:1.4;margin:4px 0;background:#f9edcb;padding:5px;border-radius:8px}.harvest-frames b{color:#9b5a33}.oral-marks{display:flex;gap:4px;flex:none}.oral-marks button{flex:1;min-width:0;font-size:11px;padding:4px;min-height:29px}.art-stage{position:relative}.art-hotspot{position:absolute;transform:translate(-50%,-50%);padding:6px!important;font-size:12px!important;border:2px dashed #c49140;background:#fff3b9b8;max-width:32%;min-height:30px!important}.art-speaker-label{position:absolute;bottom:5%;background:#fff8de;padding:4px 12px;font-size:16px;font-weight:800;border-radius:10px}.art-speaker-label.left{left:7%}.art-speaker-label.right{right:7%}.art-revealed{animation:festival-discovery .8s}.art-dock{justify-content:center;gap:9px}.art-dock .speech-bubble{padding:9px 10px}.art-dock .speech-bubble strong{font-size:18px}.art-dock .choices{display:flex;gap:7px}.art-dock .choices button{flex:1;font-size:19px}.art-dock>p{font-size:13px;margin:0}.festival-foods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:7px}.food-group{min-height:0;display:flex;flex-direction:column;padding:5px!important;background:#fff9e9}.food-group .portrait{flex:1;min-height:0;background:none;border:0}.food-group span{font-size:14px;font-weight:800}.food-group.selected{box-shadow:0 0 16px #edc959;border-color:#ac913b}.pot-dock{gap:4px}.pot-dock>.speech-bubble{padding:5px 8px;flex:none}.pot-dock>.speech-bubble strong{font-size:15px}.festival-pot-stage{position:relative;flex:1;min-height:0}.festival-pot-stage>.portrait{height:100%;background:none;border:0}.pot-contents{position:absolute;inset:13% 8% 28%;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:4px;pointer-events:none}.pot-contents>button{pointer-events:auto;width:44%;height:85%;padding:3px;background:#fff9dfee;min-height:0;display:flex;flex-direction:column;border-radius:15px;animation:food-pot-arrival .5s}.pot-contents .portrait{flex:1;min-height:0;background:none;border:0}.pot-contents span{font-size:11px}.pot-count,.pot-result{font-size:12px;margin:1px 0}.thanks-art{display:flex;flex-direction:column;gap:5px}.thanks-scene{flex:1;min-height:0;width:100%;position:relative;padding:0!important;background:none!important;border:0!important}.thanks-scene>.portrait{height:100%;width:100%;min-height:0}.thanks-scene>span{position:absolute;bottom:5px;left:5px;padding:5px;background:#fff2c9;border-radius:9px;font-size:14px}.thanks-friends{height:90px;position:relative;flex:none;display:flex;flex-direction:column;background:#fff9e9;border-radius:12px}.thanks-friends>.portrait{flex:1;min-height:0;border:0;background:none}.thanks-friends>div:last-child{display:flex;justify-content:space-around}.thanks-friends span{font-size:12px;font-weight:800}.thanks-role{font-size:14px;font-weight:800;margin:0;padding:5px;background:#ffedbd;border-radius:9px}.thanks-dock{gap:5px}.thanks-dock .ask-question{font-size:16px!important;min-height:34px!important}.thank-frame{font-size:17px;font-weight:800;margin:0;padding:5px;background:#fff5d5;border-radius:9px}.thanks-dock .speech-bubble{padding:5px 8px;margin:0}.thanks-dock .speech-bubble strong{font-size:17px}.thanks-dock>p:last-child{font-size:11px;margin:0}.lesson-50 .match-world .delivery-scene{height:100%;padding:8px 14px;display:flex;flex-direction:column;gap:5px}.lesson-50 .match-world .mail-rack{min-height:0;flex:1;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px}.lesson-50 .match-world .picture-card{min-height:0;padding:4px}.lesson-50 .match-world .picture-card .portrait{height:auto!important;min-height:0;flex:1}.lesson-50 .match-world .sentence-mail{margin:0;gap:6px;flex:none}.lesson-50 .match-world .delivery-scene>p{font-size:11px;margin:0}.lesson-50 .match-world .picture-card>span,.lesson-50 .match-world .attached-label{font-size:11px;padding:2px}.lesson-50 .match-world .mail-token{font-size:15px;padding:4px;min-height:30px}.lesson-50 .match-world .mail-rack{grid-template-columns:repeat(4,minmax(0,1fr))!important}.lesson-50 .match-world .picture-card .portrait{height:210px!important}.lesson-50 .match-world .picture-card>span{font-size:13px}.lesson-50 .match-world .mail-token{font-size:16px;padding:5px}.lesson-50 .journey-dialogue .choices button{font-size:16px;min-height:40px}.lesson-50 .journey-dialogue .speech-bubble strong{font-size:18px}.lesson-50 .journey-dialogue .speech-bubble{padding:6px 9px;margin:4px 0}.lesson-50 .journey-dialogue .evidence-note{padding:7px;font-size:13px}.lesson-50 .journey-dialogue .choices{margin:5px 0}.lesson-50 .talk-scene-evidence:has(.portrait:nth-child(2)){display:flex;flex-direction:column;gap:5px}.lesson-50 .talk-scene-evidence:has(.portrait:nth-child(2))>.portrait:first-child{height:70%;flex:7}.lesson-50 .talk-scene-evidence:has(.portrait:nth-child(2))>.portrait:last-child{height:25%;flex:2}.lesson-50 .knowledge-spot.lit{box-shadow:0 0 22px #ffbe69}.lesson-50 .cue-spark{color:#de9846}.lesson-50 .knowledge-spot.lit{box-shadow:0 0 22px #f5d16c}@keyframes lantern-warmth{50%{filter:drop-shadow(0 0 15px #ffb34a)}}@keyframes festival-discovery{from{filter:brightness(1.25);transform:scale(.97)}to{filter:brightness(1);transform:scale(1)}}@keyframes food-pot-arrival{from{transform:translateY(-35px) rotate(-9deg);opacity:.2}to{transform:none;opacity:1}}@media(max-width:1050px) and (min-width:751px){.source-paragraph{font-size:17px;padding:8px}.festival-clue-dock .speech-bubble strong{font-size:18px}.craft-intro{font-size:18px}.craft-step{font-size:14px}.festival-question .choices button{font-size:13px}.art-dock .speech-bubble strong{font-size:16px}.lesson-50 .match-world .picture-card .portrait{height:185px!important}}
@media(max-width:750px){.festival-pick-layout,.festival-pot-layout{position:relative;inset:auto;display:flex;flex-direction:column;padding:10px;gap:12px}.festival-pictures{height:340px}.festival-pictures .portrait{min-height:0}.festival-clue-dock{min-height:330px}.festival-quiz-art{height:300px}.festival-quiz-dock{min-height:410px}.festival-question .choices button{min-height:43px;font-size:15px}.pumpkin-workshop{height:370px}.craft-dock{min-height:400px}.craft-tools{height:150px;flex:none}.harvest-art{height:310px}.harvest-dock{min-height:430px}.calendar-grid button{height:30px}.art-dock{min-height:330px}.festival-foods{height:420px}.pot-dock{min-height:400px}.festival-pot-stage{height:220px;flex:none}.thanks-art{height:400px}.thanks-dock{min-height:350px}.lesson-50 .match-world .delivery-scene{height:auto}.lesson-50 .match-world .mail-rack{grid-template-columns:repeat(2,minmax(0,1fr))!important}.lesson-50 .match-world .picture-card .portrait{height:160px!important;flex:none}.lesson-50 .match-world .delivery-scene>p{font-size:13px}.lesson-50 .match-world .mail-rack{grid-template-columns:repeat(2,minmax(0,1fr))!important}.lesson-50 .match-world .picture-card .portrait{height:165px!important}}

.calendar-clue{position:absolute;left:4%;right:4%;bottom:5px;height:124px;padding:4px 8px;background:#fffae9ee;border:2px solid #b99b5e;border-radius:12px;pointer-events:none}.calendar-clue>strong{font-size:12px}.calendar-clue>div{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;text-align:center}.calendar-clue b,.calendar-clue span{font-size:11px;line-height:15px}.calendar-clue .circled{border:2px solid #ad513b;border-radius:50%}.journey-art:has(.calendar-clue)>.portrait{height:calc(100% - 130px);top:0;bottom:auto}.journey-art:has(.calendar-clue) .scene-clue{top:48%!important}.journey-art:has(.calendar-clue) .learning-cue{top:5%;bottom:auto}.native-calendar>strong{font-size:16px}@media(max-width:750px){.journey-art:has(.calendar-clue){height:450px!important}.calendar-clue{height:136px}.calendar-clue b,.calendar-clue span{font-size:12px;line-height:18px}}

@keyframes festival-discovery{from{filter:brightness(1.22)}to{filter:brightness(1)}}@media(min-width:751px){.festival-pot-layout{grid-template-rows:minmax(0,1fr)}.festival-foods{min-height:0}.pot-dock{min-height:0;height:100%}}

.pot-contents:has(button:nth-child(3))>button{width:30%;height:45%}

.thanks-scene>.thanks-clue-title{top:5px;bottom:auto;font-size:12px}.thanks-person-tag{position:absolute;bottom:8px;font-size:16px;background:#fff3c9;padding:3px 10px;border-radius:8px;transform:translateX(-50%)}.thanks-person-tag.left{left:34%}.thanks-person-tag.right{left:67%}.thanks-friends{height:110px}.thanks-friends>.portrait{width:138px;margin:auto}.thanks-friends>div:last-child{width:138px;margin:auto}.thanks-friends span{font-size:10px}

.egg-map{position:relative;width:100%;aspect-ratio:3/2}.egg-map>.portrait{position:absolute;inset:0;width:100%;height:100%}.egg-spot{position:absolute;transform:translate(-50%,-50%);width:4%;height:7%;min-width:0!important;min-height:0!important;padding:0!important;border:2px dashed #fff9!important;border-radius:50%!important;background:#fff2!important;color:#fff!important;font-size:16px!important;box-shadow:0 0 7px #3456}.egg-spot.found{background:#2f937bdd!important;border:2px solid #fff!important;animation:egg-glow .7s ease-out}.egg-counter{font-size:60px;text-align:center;color:#38876a;line-height:1.1;margin:16px}.egg-counter small{display:block;font-size:17px}.egg-feature-map{position:relative;height:100%;width:100%}.egg-feature-map>.portrait{height:100%}.egg-feature{position:absolute;transform:translate(-50%,-50%);background:#fffbd7!important;border:3px solid #a6c9b6!important;min-width:130px}.egg-feature.focused{border-color:#e7ab40!important;box-shadow:0 0 28px #ffdd64}.color-swatches{display:grid;grid-template-columns:1fr 1fr;gap:9px}.color-swatches button:before{content:'';display:inline-block;width:24px;height:24px;border-radius:50%;background:var(--swatch);vertical-align:middle;margin-right:8px;border:1px solid #7775}.feature-progress{display:flex;gap:9px;flex-wrap:wrap;font-size:14px;margin-top:12px}.lunar-date{position:absolute;left:6%;top:5%;background:#fff8d9ef;border:2px solid #e2b65c;border-radius:15px;padding:9px;display:grid;color:#385471;font-size:16px}.lunar-date span{font-size:22px;font-weight:800}.lunar-date.inline{position:static;padding:7px;font-size:13px}.lunar-date.inline span{font-size:17px}.moon-cycle-art{display:flex;flex-direction:column;min-height:0}.moon-cycle-art>.portrait{flex:1;min-height:0}.moon-caption{margin:5px 0;background:#fff6d7;padding:9px;border-radius:10px;text-align:center}.moon-frame{font-size:19px;line-height:1.5;margin:8px 0}.moon-speaker-tags{display:flex;justify-content:space-around;background:#fff7da;padding:8px}.moon-family{display:flex;flex-direction:column}.moon-family>.portrait{flex:1;min-height:0}.moon-word-bank{display:flex;gap:7px;flex-wrap:wrap}.moon-speech{background:#fff8df;border-radius:12px;padding:8px;margin:8px 0}.moon-speech b{font-size:13px}.moon-speech p{margin:4px 0;font-size:20px}.moon-speech button{min-height:37px!important;padding:4px 9px!important}.moon-frames-world .town-teach-dock{gap:5px;padding:10px}.moon-frames-world .bubble{font-size:17px}.moon-words-world .town-teach-dock{gap:7px}.egg-hunt-world .town-teach-art{display:flex;align-items:center}.egg-colors-world .town-teach-art{height:100%}@keyframes egg-glow{0%{box-shadow:0 0 2px #ffed80}50%{box-shadow:0 0 22px #ffdb64}100%{box-shadow:0 0 7px #3456}}@media(max-width:750px){.egg-feature-map{height:430px}.egg-map{min-height:0}.moon-family>.portrait{min-height:260px}.moon-cycle-art>.portrait{min-height:350px}.moon-frame{font-size:18px}}
.egg-spot:hover:not(:disabled),.egg-spot:active:not(:disabled),.egg-feature:hover:not(:disabled),.egg-feature:active:not(:disabled){;}
@media(min-width:751px){.egg-hunt-world .town-teach-layout,.egg-colors-world .town-teach-layout,.moon-frames-world .town-teach-layout,.moon-words-world .town-teach-layout{grid-template-rows:minmax(0,1fr)}.egg-hunt-world .town-teach-art{container-type:size;justify-content:center;min-height:0}.egg-map{width:min(100cqw,150cqh);height:auto;flex:none}.egg-colors-world .town-teach-art{min-height:0}.moon-frames-world .town-teach-dock,.moon-words-world .town-teach-dock{min-height:0}}
.egg-spot{width:3%}.egg-spot[data-value="3"],.egg-spot[data-value="4"],.egg-spot[data-value="5"]{width:2.8%}

.lesson-50 .talk-scene-evidence,.lesson-50 .talk-scene-evidence{display:flex!important;flex-direction:column;gap:5px}.lesson-50 .talk-scene-evidence>.portrait:first-child,.lesson-50 .talk-scene-evidence>.portrait:first-child{height:0!important;flex:7;min-height:0}.lesson-50 .talk-scene-evidence>.portrait:last-child,.lesson-50 .talk-scene-evidence>.portrait:last-child{height:0!important;flex:3;min-height:0}@media(max-width:750px){.lesson-50 .talk-scene-evidence,.lesson-50 .talk-scene-evidence{height:450px}}
@media(min-width:751px){.moon-words-world .town-teach-dock{gap:4px;padding:8px}.moon-speech{padding:4px 7px;margin:3px 0}.moon-speech b{font-size:11px}.moon-speech p{font-size:17px;margin:2px 0}.moon-speech button{min-height:30px!important;padding:3px 8px!important}.moon-word-bank button{min-height:31px;font-size:15px;padding:4px 8px}.moon-words-world .town-teach-dock>p{font-size:14px;line-height:1.3;margin:3px 0}}
.memory-layout,.intro-festival-layout{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);grid-template-rows:minmax(0,1fr)}
.memory-layout .town-teach-art{display:flex;flex-direction:column;min-height:0}.memory-layout .teaching-map{flex:1;min-height:0}
.memory-layout .teaching-map,.intro-festival-layout .teaching-map{container-type:size}.memory-layout .teaching-map-canvas,.intro-festival-layout .teaching-map-canvas{width:min(100cqw,150cqh);height:auto;aspect-ratio:3/2;max-height:100%;margin:auto}
.memory-clue{position:absolute;transform:translate(-50%,-50%);max-width:42%;font-size:13px;padding:8px 10px;background:#fff7dce8;border:2px solid #bf864e;box-shadow:0 0 0 5px #fff5;border-radius:15px;animation:memory-pulse 2.4s infinite}.memory-clue:hover,.memory-clue:active{;}.memory-clue.heard{background:#daf6e4;border-color:#398b70;animation:none}.memory-clue:disabled{opacity:.72}
@keyframes memory-pulse{50%{box-shadow:0 0 0 9px #ffe19f66}}.revealed-story{animation:story-rise .45s ease-out;border-left:4px solid #47a28d;padding-left:10px}@keyframes story-rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
.memory-words{display:flex;flex-wrap:wrap;gap:5px;padding:6px;justify-content:center}.memory-words button{font-size:14px;padding:7px 10px}.memory-dock{padding:12px;display:flex;flex-direction:column;gap:8px}.memory-speaker{font-size:18px;font-weight:800;color:#247b74}.memory-story p{margin:6px 0;font-size:17px;line-height:1.35}.story-placeholder{color:#6c8586;border:1px dashed #aaa;padding:6px}.memory-questions{display:grid;gap:9px}.memory-questions section{border-top:1px solid #b6d4c6;padding-top:6px}.memory-questions .ask-question{font-size:17px;margin:0 0 4px;padding:6px}.memory-questions section>button:last-child{font-size:13px;padding:6px 10px}.open-answer-note{font-size:13px;margin:0}.past-count{font-size:13px;background:#fff0bf;padding:5px}.intro-sentence-ladder p{display:flex;gap:10px;margin:8px 0;font-size:18px}.intro-sentence-ladder b{background:#287e83;color:#fff;border-radius:50%;padding:2px 8px}.intro-festival-layout .oral-marks button{font-size:13px}.intro-festival-layout .ask-question{font-size:17px;padding:7px;margin:3px 0}.share-layout .picture-story-thumbs{grid-template-columns:repeat(5,minmax(0,1fr))}.share-layout .picture-story-thumbs span{font-size:12px}.share-layout .town-teach-dock{display:flex;flex-direction:column;justify-content:center}
.wellness-art{display:flex;align-items:center;justify-content:center}.wellness-art>.portrait{width:100%;height:100%;object-fit:contain}.wellness-dock .choices{display:grid;gap:12px}.wellness-dock .choices button{font-size:19px;line-height:1.3;padding:13px}.wellness-dock{display:flex;flex-direction:column;justify-content:center;gap:10px}.wellness-result{background:#dff5e5;border-radius:12px;padding:10px}
.wellness-pair-layout{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;height:100%;gap:8px;padding:10px;min-height:0}.wellness-pair-question .bubble{margin:0;text-align:center;font-size:22px}.wellness-pair-pictures{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-height:0}.wellness-option{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;min-width:0;min-height:0;border-radius:18px;border:3px solid #bad4d0;background:#fffaf0;padding:8px;overflow:hidden}.wellness-option.selected{border-color:#218c85;box-shadow:0 0 0 4px #55d6ac55;background:#e0f5e8}.wellness-option>.portrait{width:100%;height:0;flex:1;min-height:0;object-fit:contain}.wellness-option>span{padding:6px;font-size:19px;font-weight:700}.time-label{position:absolute;top:10px;left:10px;background:#1b5664;color:#fff;padding:7px;border-radius:10px}.wellness-pair-check{display:flex;gap:15px;align-items:center;justify-content:center;background:#fff9e5;border-radius:14px;padding:7px}.wellness-pair-check p{font-size:16px;margin:0}
.wellness-circle-layout{display:grid;grid-template-rows:95px minmax(0,1fr) auto;height:100%;gap:8px;padding:10px;min-height:0}.wellness-circle-context{display:flex;align-items:center;justify-content:center;gap:14px;background:#fff7de;border-radius:16px}.wellness-circle-context>.portrait{width:85px;height:90px;object-fit:contain}.wellness-circle-context .bubble{max-width:700px;margin:0;font-size:22px}.wellness-circle-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;min-height:0}.wellness-circle-grid .wellness-option>span{font-size:15px}.lesson-50 .festival-foods{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.lesson-50 .pot-dock .bubble{font-size:19px;margin:4px}.lesson-50 .pot-count{font-size:14px;margin:4px}.lesson-50 .festival-pot-stage{min-height:0;flex:1}.lesson-50 .pot-contents{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-50 .food-group{min-height:0}.lesson-50 .food-group>.portrait{height:0;flex:1;object-fit:contain}.lesson-50 .pot-result{font-size:16px}.shopping-context{font-weight:700;color:#247b74;margin:2px 0}.lesson-50 .journey-clue:hover,.lesson-50 .journey-clue:active{;}
@media(max-height:760px) and (min-width:751px){.memory-story p{font-size:16px}.memory-dock{gap:5px}.memory-questions .ask-question{font-size:16px}.memory-words button{font-size:13px;padding:5px 8px}.wellness-circle-layout{grid-template-rows:76px minmax(0,1fr) auto}.wellness-circle-context>.portrait{height:70px;width:65px}.wellness-circle-context .bubble{font-size:19px}.wellness-pair-question .bubble{font-size:20px}.wellness-pair-check p{font-size:14px}.wellness-option>span{font-size:17px}}
@media(max-width:750px){.memory-layout,.intro-festival-layout{display:flex;flex-direction:column;height:auto}.memory-layout .town-teach-art,.intro-festival-layout .town-teach-art{height:auto;min-height:0}.memory-layout .teaching-map,.intro-festival-layout .teaching-map{container-type:normal;height:auto;flex:none}.memory-layout .teaching-map-canvas,.intro-festival-layout .teaching-map-canvas{width:100%;aspect-ratio:3/2;max-height:none}.memory-clue{font-size:10px;padding:5px}.memory-dock{height:auto}.share-layout .picture-story-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}.wellness-pair-layout{height:auto;display:flex;flex-direction:column}.wellness-pair-pictures{display:flex;flex-direction:column}.wellness-option>.portrait{flex:none;height:auto;max-height:310px}.wellness-pair-check{flex-direction:column}.wellness-circle-layout{display:flex;flex-direction:column;height:auto}.wellness-circle-context{min-height:95px}.wellness-circle-grid{grid-template-columns:1fr 1fr}.wellness-circle-grid .wellness-option>.portrait{height:170px}.lesson-50 .food-group>.portrait{height:130px;flex:none}.wellness-dock .choices button{font-size:17px}.lesson-50 .festival-foods{grid-template-columns:1fr 1fr}.memory-layout .town-teach-dock{min-width:0}}

.scene-clue:hover,.scene-clue:active{;}.lesson-50 .supplement-vocabulary{font-size:13px;padding:5px;gap:4px}.memory-words button.selected{max-width:100%;}

@media(min-width:751px){.intro-festival-layout .town-teach-dock{padding:8px;gap:2px;font-size:13px;line-height:1.25}.intro-festival-layout .ask-question{font-size:14px;min-height:30px;padding:4px 6px;margin:2px 0}.intro-festival-layout .traveler-tabs button{font-size:13px;padding:4px 8px;min-height:30px}.intro-festival-layout .traveler-tabs{margin:0}.intro-festival-layout .memory-speaker{font-size:17px}.intro-sentence-ladder p{font-size:16px;margin:4px 0}.intro-sentence-ladder b{padding:1px 7px}.intro-festival-layout .oral-marks{gap:4px}.intro-festival-layout .oral-marks button{font-size:11px;padding:4px 7px;min-height:30px}.intro-festival-layout .town-teach-dock>p{font-size:12px;line-height:1.25;margin:4px 0}}@media(min-width:751px){.wellness-dock{gap:5px;padding:10px}.wellness-dock .choices{gap:7px}.wellness-dock .choices button{font-size:17px;padding:8px;min-height:38px}.wellness-dock .bubble{font-size:19px;margin:4px}.wellness-dock>p{margin:4px}.wellness-result{padding:6px;font-size:14px}}

.lesson-50 .festival-pot-stage{container-type:size}.lesson-50 .festival-pot-stage>.portrait{width:min(100cqw,100cqh);height:100%;margin:auto}.lesson-50 .pot-contents{inset:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(36cqw,36cqh);height:25%;left:calc(50% - min(30cqw,30cqh));top:42%;gap:2px;align-content:stretch}.lesson-50 .pot-contents>button,.lesson-50 .pot-contents:has(button:nth-child(3))>button{width:100%;height:100%;padding:2px;min-height:0;border-radius:5px;background:#fff9e8cc}.lesson-50 .pot-contents:has(button:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr));height:38%;top:36%}.lesson-50 .pot-contents span{font-size:9px}.lesson-50 .pot-contents .portrait{height:0;flex:1}.lesson-50 .pot-contents button:focus-visible{outline:3px solid #14786d}

.clinic-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:14px;height:100%;padding:14px;min-height:0}.clinic-art{position:relative;min-height:0;overflow:hidden;border-radius:25px;background:#fff9;box-shadow:0 5px 18px #24576320;display:flex;align-items:center;justify-content:center}.clinic-art>img{width:100%;height:100%;object-fit:contain}.clinic-dock{min-height:0;display:flex;flex-direction:column;gap:7px;padding:12px;background:#fffffff0;border-radius:24px;overflow:auto}.clinic-dock .speech-bubble{flex-shrink:0;font-size:17px;line-height:1.3;padding:10px}.clinic-hotspot{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);background:#fff5bc;border:3px solid #ddae38;padding:10px 18px;border-radius:30px;box-shadow:0 0 0 8px #ffe77a40;animation:clinicBeacon 2s ease-in-out infinite;white-space:nowrap}.clinic-hotspot:hover,.clinic-hotspot:active{;}.clue-lit{box-shadow:0 0 0 4px #6ecbb1,0 8px 28px #388c8040}.clinic-trail{display:flex;gap:5px;flex-wrap:wrap;font-size:12px}.clinic-trail span{padding:4px 8px;border-radius:15px;background:#eaf0f3}.clinic-trail .current{background:#fff0b0}.clinic-trail .finished{background:#c9f2de}.clinic-options{display:grid;gap:7px;grid-template-columns:1fr}.clinic-options.illustrated{grid-template-columns:repeat(3,minmax(0,1fr));flex:1;min-height:0}.clinic-option{border:2px solid #d5e4e6;background:#fff;border-radius:14px;padding:8px;display:flex;flex-direction:column;align-items:center;gap:5px;min-height:0;transition:box-shadow .25s,background .25s}.clinic-option img{width:100%;height:0;min-height:70px;flex:1;object-fit:contain}.clinic-option span{font-size:14px;line-height:1.25}.clinic-option.selected,.clinic-sort-row .selected,.clinic-slots .selected{border-color:#288d7e;background:#dbf8eb;box-shadow:0 0 0 3px #79d5b84d}.clinic-dock>button{flex-shrink:0;padding:7px 12px}.clinic-retry{color:#8a4c29;margin:0}.clinic-complete{color:#256f5d;margin:0}.clinic-words{display:flex;gap:5px;flex-wrap:wrap}.clinic-words button{font-size:13px;padding:5px 8px}.clinic-inset{position:absolute;right:10px;top:10px;width:24%;height:30%;background:#fffd;border-radius:15px;border:2px solid #c4ddd5}.clinic-inset img{width:100%;height:100%;object-fit:contain}.clinic-measure{position:absolute;right:12px;top:12px;font-size:28px;background:#fff7b4;padding:8px 16px;border-radius:15px;box-shadow:0 4px 10px #0002}.clinic-sort{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;flex:1;min-height:0}.clinic-sort-row{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(40px,1fr) auto auto;gap:3px;border:1px solid #cde0dc;border-radius:10px;padding:5px;min-height:0}.clinic-sort-row img{grid-column:1/3;width:100%;height:100%;min-height:0;object-fit:contain}.clinic-sort-row strong{grid-column:1/3;font-size:13px;text-align:center}.clinic-sort-row button{font-size:12px;padding:4px;line-height:1.1}.clinic-number{display:block;text-align:center;font-size:38px;letter-spacing:14px;background:#eaf5f6;border-radius:16px}.clinic-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;max-width:310px;width:100%;margin:auto}.clinic-keypad button{padding:8px}.clinic-scope{font-size:13px;margin:0}.clinic-word{font-size:27px;letter-spacing:2px;text-align:center;margin:5px}.clinic-word span{background:#fff0bd;padding:3px}.clinic-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.clinic-slots>div{display:flex;flex-direction:column;gap:5px}.clinic-slots button{font-size:18px;padding:6px}.clinic-inventory{font-size:12px;line-height:1.3}.clinic-open-frame{font-size:19px;background:#eff8f5;padding:14px;border-radius:15px}@keyframes clinicBeacon{50%{box-shadow:0 0 0 12px #ffe77a22}}@media(max-width:750px){.clinic-layout{display:flex;flex-direction:column;height:auto;padding:8px}.clinic-art{height:320px;flex-shrink:0}.clinic-dock{overflow:visible;min-height:350px}.clinic-options.illustrated{min-height:290px}.clinic-sort{min-height:450px}.clinic-inset{height:25%}.clinic-dock .speech-bubble{font-size:16px}}@media(prefers-reduced-motion:reduce){.clinic-hotspot{animation:none}}

.clinic-image-pair{display:flex;flex:1;min-height:70px;width:100%;gap:2px}.clinic-image-pair img{width:50%;height:100%;min-height:0;object-fit:contain}.clinic-option:disabled{opacity:.9}.clinic-word span{display:inline-block}.clinic-inventory{margin:0}

@media(min-width:751px){
.clinic-layout{gap:10px;padding:10px}.clinic-dock{padding:8px;gap:5px;overflow:hidden}.clinic-dock .speech-bubble{padding:6px 8px;min-height:0!important;line-height:1.2!important;margin:0!important}.clinic-dock .speech-bubble strong{font-size:17px!important;line-height:1.2!important}.clinic-dock .speech-bubble small{font-size:10px!important}.clinic-dock .bubble-avatar{width:32px;height:36px}.clinic-slots{gap:5px}.clinic-slots>div{gap:3px}.clinic-slots button{min-height:24px!important;padding:3px!important;font-size:14px!important;line-height:1.15!important}.clinic-slots strong{font-size:12px}.clinic-word{font-size:22px;margin:0}.clinic-dock>button{min-height:29px!important;padding:4px 9px!important;line-height:1.15;font-size:14px}.clinic-options.illustrated{min-height:135px;grid-auto-rows:minmax(0,1fr)}.clinic-option{padding:4px;min-height:0!important}.clinic-option span{font-size:12px;line-height:1.15}.clinic-option img,.clinic-image-pair{min-height:0}.clinic-inventory{font-size:11px}.clinic-keypad button{min-height:26px!important;padding:3px!important}.clinic-number{font-size:28px}.clinic-sort-row button{min-height:21px!important;padding:2px!important}.clinic-sort-row strong{font-size:12px}.clinic-open-frame{margin:4px 0;padding:10px;font-size:17px}.clinic-words button{min-height:24px!important;padding:3px 6px!important}.clinic-trail{font-size:11px}.clinic-trail span{padding:3px 7px}.clinic-retry,.clinic-complete{font-size:13px}
}

.clinic-sort-row>.portrait{grid-column:1/3;height:100%;min-height:0}.clinic-sort-row>.portrait img{width:100%;height:100%;object-fit:contain}.clinic-option>.portrait{flex:1;width:100%;height:0;min-height:0}.clinic-option>.portrait img{width:100%;height:100%;object-fit:contain}.clinic-art>.portrait{width:100%;height:100%;min-height:0}.clinic-inset>.portrait{width:100%;height:100%}.clinic-image-pair>.portrait{width:50%;height:100%;min-height:0}.clinic-image-pair img{width:100%;height:100%}.clinic-dock .speech-bubble .speaker-face{width:30px!important;height:30px!important}

@media(min-width:751px){.clinic-sort-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.clinic-sort{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.clinic-sort-row{grid-template-rows:minmax(0,1fr) 16px 23px;overflow:hidden}.clinic-sort-layout .clinic-words{display:none}.clinic-sort-row button{font-size:11px;line-height:1.1}.clinic-option>.portrait{min-height:0!important}.clinic-sort-row>.portrait{min-height:0!important}}

@media(min-width:751px){.journey-dialogue{gap:4px!important;padding:6px 8px!important}.journey-dialogue .speech-bubble strong{font-size:16px!important;line-height:1.2}.journey-dialogue .choices button{font-size:14px!important;min-height:30px!important;padding:5px!important}.journey-dialogue .support-vocabulary{font-size:11px;padding:4px;gap:3px}.journey-dialogue .evidence-note{font-size:13px;line-height:1.25}.lesson-50 .match-world .picture-card .portrait{height:0!important;min-height:0!important;flex:1}.roleplay-scene .dialogue-history .speech-bubble{padding:5px 8px;margin:2px 0}.roleplay-scene .dialogue-history .speech-bubble strong{font-size:16px;line-height:1.2}.roleplay-scene .dialogue-history{padding:4px;min-height:0}.roleplay-scene .dialogue-history .speaker-face{width:30px;height:30px}.roleplay-scene .role-selector{padding:5px;gap:4px}.roleplay-scene .role-selector .eyebrow{font-size:9px}.roleplay-scene .role-selector button{min-height:30px;padding:5px}.roleplay-scene .example-button{min-height:30px;padding:5px}.roleplay-scene .partner-replies{font-size:12px;padding:4px}.roleplay-scene .partner-replies p{margin:2px}.roleplay-scene .partner-replies button{min-height:28px;padding:4px}}

.clinic-keypad.number-checked{display:none}

/* L50: stable click targets, with focus/glow feedback instead of position changes. */
.lesson-50 .journey-world .scene-clue-trail .scene-clue,.lesson-50 .journey-world .scene-clue-trail .scene-clue:is(:hover,:active){transform:none!important;animation:none!important;transition:box-shadow .16s,border-color .16s}.lesson-50 .clinic-hotspot,.lesson-50 .clinic-hotspot:is(:hover,:active){transform:translateX(-50%)!important;animation:none!important;transition:box-shadow .16s,border-color .16s}.lesson-50 .match-world .mail-token{font-size:24px!important;font-weight:700;line-height:1.2;padding:8px 14px!important;min-height:48px!important}.lesson-50 .match-world .attached-label{font-size:20px!important;line-height:1.2}
