: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-L022-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-22,.lesson-23),:is(.lesson-22,.lesson-23)){--teal:#287b75;--gold:#e5b85b}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)){--teal:#657d94;--gold:#d7ac5d}
:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .actor,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .actor{height:78%;width:20%;bottom:6%}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .actor img,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .actor img{object-fit:contain;mix-blend-mode:normal;border-radius:22px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .welcome-board,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .welcome-board{padding:14px;margin-top:14px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .welcome-board h2,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .welcome-board h2{font-size:28px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .welcome-board p,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .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-22,.lesson-23),:is(.lesson-22,.lesson-23)) .match-world .mail-rack{grid-template-columns:repeat(4,minmax(0,1fr))}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .picture-card .portrait{height:215px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .review-exhibition,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .review-exhibition{grid-template-columns:repeat(4,minmax(0,1fr));padding:12px;gap:12px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .review-card .portrait,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .review-card .portrait{height:160px;max-width:none}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .review-card>span,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .review-card>span{font-size:17px;margin:7px 0}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .review-card strong,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .review-card strong{font-size:16px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .review-frames span,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .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-22,.lesson-23),:is(.lesson-22,.lesson-23)) .description-scene{grid-template-columns:57% 43%;gap:14px;padding:12px 20px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .subject-photo{position:relative;padding:6px;min-height:0;background:#fff8e7;border:4px ridge #d5b378;border-radius:20px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .subject-photo .portrait{height:100%}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .subject-badges{position:absolute;left:8px;bottom:10px;width:47%;display:flex;flex-direction:column;gap:5px;top:auto;right:auto}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .subject-badges button{font-size:14px;padding:7px;min-height:42px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .subject-photo .person-label{display:none}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .description-dock{padding:7px 10px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .description-dock .speech-bubble strong{font-size:20px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .description-dock .choices{flex-direction:column}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .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-22,.lesson-23),:is(.lesson-22,.lesson-23)) .learner-avatar,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .learner-avatar{display:none}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .roleplay-scene,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .roleplay-scene{width:54%;margin-left:23%;margin-top:14px;padding:12px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .dialogue-history,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .dialogue-history{max-height:245px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .dialogue-history .speech-bubble strong,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .dialogue-history .speech-bubble strong{font-size:19px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .role-selector,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .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-22,.lesson-23),:is(.lesson-22,.lesson-23)) .journey-complete .speech-bubble strong,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .journey-complete .speech-bubble strong{font-size:18px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .journey-complete .speech-bubble,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .journey-complete .speech-bubble{padding:5px 10px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .journey-complete .oral-turn,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .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-22,.lesson-23),:is(.lesson-22,.lesson-23)) .picture-card .portrait{height:190px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .subject-badges button{font-size:12px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .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-22,.lesson-23),:is(.lesson-22,.lesson-23)) .roleplay-scene,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .roleplay-scene{width:55%;margin-left:22%}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .dialogue-history,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .dialogue-history{max-height:220px}}
@media(max-width:750px){:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .actor,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .actor{position:relative;inset:auto;height:210px;width:40%;margin:12px 4%}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .welcome-board,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .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-22,.lesson-23),:is(.lesson-22,.lesson-23)) .match-world .mail-rack,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .review-exhibition,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .review-exhibition{grid-template-columns:1fr 1fr}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .picture-card .portrait{height:185px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .review-card .portrait,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .review-card .portrait{height:170px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .description-scene{display:flex;padding:10px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .subject-photo{height:400px;min-height:400px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .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-22,.lesson-23),:is(.lesson-22,.lesson-23)) .roleplay-scene,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .roleplay-scene{width:94%;margin:10px auto}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .talk-world>.actor,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .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-22,.lesson-23),:is(.lesson-22,.lesson-23)) .journey-art,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .journey-art{padding-bottom:8px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .scene-clue-trail,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .scene-clue-trail{inset:0;pointer-events:none;display:block}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .scene-clue-trail .scene-clue,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .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-22,.lesson-23),:is(.lesson-22,.lesson-23)) .scene-clue-trail .scene-clue:disabled,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .scene-clue-trail .scene-clue:disabled{opacity:.65}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .named-portraits,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .named-portraits{bottom:10px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .journey-art .profile-evidence-card,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .journey-art .profile-evidence-card{left:auto;right:10px;top:auto;bottom:12px;max-width:44%}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .learning-cue,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .learning-cue{pointer-events:none;z-index:2}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .journey-art .learning-cue,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .journey-art .learning-cue{right:3%;top:13%;max-width:33%;opacity:.9}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .journey-art:has(.named-portraits) .learning-cue{right:2%;top:8%;max-width:30%;padding:7px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .journey-art:has(.named-portraits) .learning-cue .cue-spark{font-size:30px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .subject-photo .profile-evidence-card{top:55px;left:8px;max-width:41%}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .journey-art:has(.portrait-zoom) .scene-person-title{max-width:55%}
@media(max-width:1050px){:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .scene-clue-trail .scene-clue,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .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-22,.lesson-23),:is(.lesson-22,.lesson-23)) .assembled-introduction .speech-bubble:has(.speaker-face),:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .assembled-introduction .speech-bubble:has(.speaker-face){min-height:43px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .assembled-introduction .speaker-face,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .assembled-introduction .speaker-face{height:37px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .journey-complete .journey-progress,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .journey-complete .journey-progress{margin:5px 0}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .review-card .portrait img,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .review-card .portrait img{object-fit:contain}
:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .description-scene{grid-template-columns:minmax(0,57fr) minmax(0,43fr)}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .subject-photo{display:grid;grid-template-columns:minmax(0,65fr) minmax(0,35fr);gap:6px;padding:7px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .subject-photo>.portrait{width:100%;height:100%;grid-column:1;border:0}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .subject-badges{position:static;grid-column:2;align-self:center;width:100%;max-width:none;gap:8px;padding:0 3px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .subject-badges button{min-width:0;word-wrap:break-word;text-align:center}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .subject-photo .portrait-zoom{font-size:12px;max-width:33%;padding:7px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .subject-photo .profile-evidence-card{font-size:11px;max-width:29%;top:auto;bottom:8px;left:8px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .subject-photo .profile-evidence-card span{font-size:11px}
@media(min-width:751px){:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .delivery-scene{padding:8px 14px 10px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .sentence-mail{margin:8px 0 3px;gap:8px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .mail-token{min-height:44px;font-size:18px;padding:7px 14px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .picture-card .portrait{height:195px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .picture-card>span{font-size:16px;margin:3px 0}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .attached-label{font-size:16px;padding:5px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .delivery-scene .scene-sign.inline{margin:5px 0;padding:7px;font-size:14px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .journey-complete .word-unlocked{font-size:16px;padding:5px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .journey-complete .journey-dialogue{padding-top:2px;padding-bottom:2px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .welcome-board,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .welcome-board{padding:10px;margin-top:10px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .welcome-board h2,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .welcome-board h2{font-size:24px;line-height:1.16;margin:7px 0}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .welcome-board p,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .welcome-board p{font-size:15px;margin:6px 0}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .welcome-board .speech-bubble strong,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .welcome-board .speech-bubble strong{font-size:21px}:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .welcome-board .club-pass,:is(:is(.lesson-22,.lesson-23),:is(.lesson-22,.lesson-23)) .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-22,.lesson-23){--teal:#6e648e;--gold:#deb063}:is(.lesson-22,.lesson-23){--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-22,.lesson-23) .mail-rack{grid-template-columns:repeat(3,minmax(0,1fr))!important}:is(.lesson-22,.lesson-23) .detective-board,:is(.lesson-22,.lesson-23) .detective-board{padding:9px 16px 12px}:is(.lesson-22,.lesson-23) .clue-envelopes,:is(.lesson-22,.lesson-23) .clue-envelopes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}:is(.lesson-22,.lesson-23) .clue-envelopes{grid-template-columns:repeat(2,minmax(0,1fr))}:is(.lesson-22,.lesson-23) .envelope,:is(.lesson-22,.lesson-23) .envelope{width:100%;min-width:0;font-size:16px;min-height:48px;padding:8px 10px}:is(.lesson-22,.lesson-23) .candidate-gallery,:is(.lesson-22,.lesson-23) .candidate-gallery{gap:10px}:is(.lesson-22,.lesson-23) .candidate-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}:is(.lesson-22,.lesson-23) .candidate .portrait,:is(.lesson-22,.lesson-23) .candidate .portrait{height:200px}:is(.lesson-22,.lesson-23) .candidate,:is(.lesson-22,.lesson-23) .candidate{padding:5px;border-width:3px}:is(.lesson-22,.lesson-23) .candidate>span,:is(.lesson-22,.lesson-23) .candidate>span{font-size:15px;margin:5px 0}:is(.lesson-22,.lesson-23) .detective-board .scene-sign.inline,:is(.lesson-22,.lesson-23) .detective-board .scene-sign.inline{font-size:14px;margin:7px 0;padding:7px}:is(.lesson-22,.lesson-23) .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-22,.lesson-23) .candidate .portrait,:is(.lesson-22,.lesson-23) .candidate .portrait{height:185px}:is(.lesson-22,.lesson-23) .envelope,:is(.lesson-22,.lesson-23) .envelope{font-size:14px}:is(.lesson-22,.lesson-23) .candidate>span{font-size:13px}.spelling-pattern{font-size:36px}.family-map{max-width:65%}}
@media(max-width:750px){:is(.lesson-22,.lesson-23) .clue-envelopes,:is(.lesson-22,.lesson-23) .clue-envelopes{grid-template-columns:1fr}:is(.lesson-22,.lesson-23) .candidate-gallery,:is(.lesson-22,.lesson-23) .candidate-gallery{grid-template-columns:1fr 1fr}:is(.lesson-22,.lesson-23) .candidate .portrait,:is(.lesson-22,.lesson-23) .candidate .portrait{height:180px}:is(.lesson-22,.lesson-23) .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-22{--teal:#397d70;--gold:#e0b36b}.lesson-23{--teal:#287d8c;--gold:#f0c36a}.lesson-22 .journey-art{border-style:double;border-width:6px;background:#fffbef}.lesson-22 .journey-art:after{content:'';position:absolute;left:3%;top:2%;width:70px;height:16px;background:#edca83aa;transform:rotate(-9deg);pointer-events:none}.lesson-23 .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-23 .journey-art:has(.route-motion) .portrait img{animation:route-arrival 1s ease-out}.lesson-22 .scene-clue.current{animation:scrapbook-glow 1.3s 3}.lesson-22 .guided-scene .journey-art{padding-bottom:8px}.lesson-22 .guided-scene .journey-dialogue{overflow-x:hidden}.lesson-23 .journey-dialogue .choices button{font-size:18px;min-height:44px}.lesson-23 .journey-progress{margin:6px 0}.lesson-22 .previous-exchange,.lesson-23 .previous-exchange{font-size:13px;line-height:1.16}.previous-exchange p{margin:4px 0}.lesson-22 .evidence-note,.lesson-23 .evidence-note{font-size:17px;padding:9px}.lesson-22 .journey-dialogue .speech-bubble strong,.lesson-23 .journey-dialogue .speech-bubble strong{font-size:21px}.lesson-22 .journey-dialogue .choices{margin:7px 0}.lesson-22 .journey-dialogue .choices button{font-size:18px;min-height:44px}.lesson-22 .profile-evidence-card{pointer-events:none}.lesson-23 .mail-rack{grid-template-columns:repeat(4,minmax(0,1fr))!important}.lesson-23 .picture-card .portrait{height:195px}.lesson-23 .sentence-mail{margin:7px 0}.lesson-23 .attached-label{font-size:16px}.lesson-23 .mail-token{font-size:18px;padding:8px 12px}.lesson-23 .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-22 .journey-complete .speech-bubble strong,.lesson-23 .journey-complete .speech-bubble strong{font-size:17px}.lesson-22 .journey-dialogue,.lesson-23 .journey-dialogue{padding-top:4px}.lesson-23 .journey-dialogue .speech-bubble{margin-bottom:7px}.lesson-23 .journey-dialogue .choices{gap:7px;margin:7px 0}.lesson-22 .guided-scene .speech-bubble strong{font-size:17px}.lesson-22 .guided-scene .given-exchange p{font-size:12px}}
@media(max-width:750px){.lesson-23 .mail-rack{grid-template-columns:1fr 1fr!important}.lesson-23 .journey-dialogue .choices button{font-size:19px}.lesson-22 .guided-scene .speech-bubble strong{font-size:19px}.route-motion{font-size:12px}.lesson-22 .journey-dialogue,.lesson-23 .journey-dialogue{overflow:visible}}
@media(prefers-reduced-motion:reduce){.route-motion i,.lesson-23 .journey-art .portrait img,.lesson-22 .scene-clue.current{animation:none!important}}
@media(min-width:751px){.lesson-22 .guided-scene .given-exchange{padding:4px 7px;margin-bottom:5px}.lesson-22 .guided-scene .speech-bubble:has(.speaker-face){min-height:32px;padding:3px 7px 3px 40px!important;margin-bottom:4px}.lesson-22 .guided-scene .speaker-face{height:28px;width:26px}.lesson-22 .guided-scene .speech-bubble strong{font-size:16px;line-height:1.1}.lesson-22 .guided-scene .speech-bubble>span{font-size:8px;margin-bottom:1px}.lesson-22 .guided-scene .word-unlocked{font-size:14px;line-height:1.2;padding:6px}}
@media(min-width:751px){.lesson-22 .journey-scene:not(.journey-complete):not(.guided-scene) .journey-dialogue .speech-bubble strong{font-size:19px;line-height:1.18}.lesson-22 .journey-scene:not(.journey-complete) .journey-dialogue .speech-bubble{margin-bottom:6px}.lesson-22 .journey-dialogue .previous-exchange{font-size:12px}.lesson-22 .journey-dialogue .journey-progress{margin:6px 0;gap:5px}.lesson-22 .journey-dialogue .journey-progress span{font-size:12px;padding:4px 6px}}

.lesson-22 .knowledge-spots,.lesson-23 .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-22 .scene-clue,.lesson-23 .scene-clue{z-index:7;max-width:44%;white-space:normal}
.lesson-22 .journey-progress,.lesson-23 .journey-progress{flex-wrap:wrap;font-size:12px;gap:4px}
.lesson-22 .learning-cue,.lesson-23 .learning-cue{pointer-events:none}
.lesson-22 .review-exhibition{grid-template-columns:repeat(5,1fr)}
.lesson-23 .talk-scene-evidence,.lesson-22 .talk-scene-evidence{width:40%}
@media(max-width:750px){.lesson-22 .review-exhibition{grid-template-columns:repeat(2,1fr)}.discovery-line{font-size:14px;padding:5px}.lesson-22 .scene-clue,.lesson-23 .scene-clue{font-size:11px;padding:7px 9px}.lesson-22 .journey-progress,.lesson-23 .journey-progress{font-size:10px}}

@media(min-width:751px){.lesson-22 .mail-rack{grid-template-columns:repeat(5,minmax(0,1fr))!important}.lesson-22 .picture-card .portrait{height:185px}.lesson-22 .picture-card{padding:5px;border-width:3px}.lesson-22 .delivery-scene{padding-top:12px}.lesson-22 .discovery-line,.lesson-23 .discovery-line{font-size:17px;padding:7px 10px}.lesson-22 .journey-progress,.lesson-23 .journey-progress{margin:5px 0}}
@media(min-width:751px){.lesson-22 .journey-scene:not(.journey-complete) .journey-progress span,.lesson-23 .journey-scene:not(.journey-complete) .journey-progress span{font-size:10px;padding:3px 5px}.lesson-22 .journey-dialogue .evidence-note,.lesson-23 .journey-dialogue .evidence-note{font-size:16px;padding:6px}.lesson-22 .journey-dialogue .previous-exchange,.lesson-23 .journey-dialogue .previous-exchange{font-size:11px;line-height:1.05;margin-bottom:4px}.lesson-22 .journey-dialogue .previous-exchange p,.lesson-23 .journey-dialogue .previous-exchange p{margin:2px 0}.lesson-22 .journey-dialogue .choices,.lesson-23 .journey-dialogue .choices{gap:5px;margin:5px 0}.lesson-22 .journey-dialogue .choices button,.lesson-23 .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-22{--teal:#3b8c73;--gold:#edb858}.lesson-23{--teal:#6379a5;--gold:#efbe65}
.lesson-22 .journey-art,.lesson-23 .journey-art{border:5px solid #d2b778}
.lesson-22 .review-exhibition{grid-template-columns:repeat(3,minmax(0,1fr))}
.lesson-23 .review-exhibition{grid-template-columns:repeat(4,minmax(0,1fr))}
.lesson-22 .review-card .portrait{height:110px}.lesson-22 .review-card strong{font-size:15px}
.lesson-23 .picture-conversation{position:relative;margin-left:27%;padding:12px 20px;height:100%;min-height:0}
.lesson-23 .dialogue-picture-bank{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0}
.lesson-23 .dialogue-choice{background:#fffbed;border:3px solid #a2b3a5;border-radius:17px;padding:6px;min-width:0}
.lesson-23 .dialogue-choice .portrait{height:170px}.lesson-23 .dialogue-choice span{font-size:14px;display:block;padding:6px}
.lesson-23 .picture-conversation .speech-bubble strong{font-size:18px}.lesson-23 .picture-conversation .speech-bubble{padding:7px 12px;margin-bottom:8px}
.lesson-22 .word-build-scene .journey-art,.lesson-23 .word-build-scene .journey-art{min-height:250px}
.lesson-22 .spelling-pattern,.lesson-23 .spelling-pattern{font-size:31px;padding:14px 10px;margin-bottom:8px;letter-spacing:2px}
.lesson-22 .word-build-scene .choices button,.lesson-23 .word-build-scene .choices button{font-size:23px;min-height:47px}
.lesson-22 .spelling-trail,.lesson-23 .spelling-trail{margin-top:7px}.lesson-22 .spelling-trail span,.lesson-23 .spelling-trail span{font-size:14px;padding:5px}
.lesson-22 .word-build-scene .word-unlocked,.lesson-23 .word-build-scene .word-unlocked{font-size:16px;padding:6px}
.lesson-22 .word-build-scene .word-unlocked p,.lesson-23 .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-22 .review-exhibition,.lesson-23 .review-exhibition{grid-template-columns:1fr 1fr}.lesson-23 .picture-conversation{margin-left:0;height:auto;padding:10px}.lesson-23 .picture-conversation+.learner-avatar{display:none}.lesson-23 .picture-dialogue-world>.actor{display:none}.lesson-23 .dialogue-choice .portrait{height:145px}.lesson-22 .spelling-pattern,.lesson-23 .spelling-pattern{font-size:26px}.lesson-23 .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-22{--teal:#387c77;--gold:#dfb359}.lesson-23{--teal:#3f8494;--gold:#ebbd5b}
.lesson-22 .talk-scene-evidence{width:43%;left:3%;top:6%;height:87%}.lesson-22 .talk-world>.actor{width:21%;height:75%;left:3%;z-index:4;bottom:0;pointer-events:auto}.lesson-22 .talk-world>.actor img{filter:drop-shadow(2px 4px 6px #4e594433)}.lesson-22 .talk-world>.actor span{font-size:16px;padding:5px}.lesson-22 .roleplay-scene{margin-left:47%;width:49%;margin-right:3%;padding:12px}.lesson-22 .learner-avatar{display:none}.lesson-22 .dialogue-history{max-height:210px}.lesson-22 .dialogue-history .speech-bubble strong{font-size:18px}
.lesson-22 .review-exhibition{grid-template-columns:repeat(5,minmax(0,1fr))}.lesson-22 .review-card .portrait{height:180px!important}
.lesson-23 .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-22 .roleplay-scene{padding:9px}.lesson-22 .dialogue-history .speech-bubble strong{font-size:17px}}
@media(max-width:750px){.lesson-22 .talk-scene-evidence{position:relative;inset:auto;width:100%;height:240px}.lesson-22 .talk-world>.actor{position:relative;inset:auto;width:90px;height:130px;margin:0 auto}.lesson-22 .roleplay-scene{margin:7px auto 20px;width:95%}.lesson-22 .review-exhibition,.lesson-23 .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-22 .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-22 .friend-review-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:751px){.lesson-22 .talk-scene-evidence{display:block;height:90%;top:3%;padding-bottom:95px}.lesson-22 .talk-scene-evidence .portrait{height:100%!important;min-height:0}.lesson-22 .talk-world>.actor{width:85px;height:125px;left:1%;bottom:0}.lesson-22 .talk-world>.actor span{font-size:12px;padding:3px}.lesson-22 .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-22 .roleplay-scene{padding:10px;margin-top:8px;margin-bottom:8px}.lesson-22 .roleplay-scene .dialogue-history{max-height:180px}.lesson-22 .roleplay-scene .speech-bubble strong{font-size:18px}.lesson-22 .roleplay-scene .speech-bubble{padding:8px 11px}.lesson-22 .personal-reminder{font-size:11px;margin:7px 0}.lesson-22 .role-selector{padding-bottom:6px}.lesson-22 .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-22 .talk-scene-evidence{height:auto}.lesson-22 .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-23 .roleplay-scene .dialogue-history{max-height:260px}.lesson-23 .roleplay-scene .speech-bubble{padding:7px 10px}.lesson-23 .roleplay-scene .speech-bubble strong{font-size:17px;line-height:1.25}.lesson-23 .role-selector{padding-bottom:5px}.lesson-23 .personal-reminder{margin:5px 0;font-size:11px}.lesson-23 .example-button{padding:6px;min-height:32px}}

@media(min-width:751px){.lesson-23 .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-22{--teal:#317e93;--gold:#e4bb65}.lesson-23{--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-22 .talk-scene-evidence,.lesson-23 .talk-scene-evidence{display:block;width:43%;left:3%;top:5%;height:85%}.lesson-22 .talk-scene-evidence .portrait,.lesson-23 .talk-scene-evidence .portrait{height:100%!important}.lesson-22 .talk-world>.actor,.lesson-23 .talk-world>.actor{width:85px;height:125px;left:1%;top:42%;bottom:auto}.lesson-22 .roleplay-scene,.lesson-23 .roleplay-scene{margin-left:47%;width:49%;padding:10px}.lesson-22 .learner-avatar,.lesson-23 .learner-avatar{display:none}.lesson-22 .friend-review-cards,.lesson-23 .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-22 .voice-badge,.lesson-23 .voice-badge{font-size:10px}.lesson-22 .scene-person-title,.lesson-23 .scene-person-title{font-size:11px}.lesson-23 .scene-clue{font-size:14px}.lesson-22 .roleplay-scene .dialogue-history,.lesson-23 .roleplay-scene .dialogue-history{max-height:260px;padding-top:0;flex-shrink:0}.lesson-22 .roleplay-scene .speech-bubble,.lesson-23 .roleplay-scene .speech-bubble{padding:7px 10px}.lesson-22 .roleplay-scene .speech-bubble strong,.lesson-23 .roleplay-scene .speech-bubble strong{font-size:17px;line-height:1.25}.lesson-22 .personal-reminder,.lesson-23 .personal-reminder{font-size:11px;margin:5px 0}.lesson-22 .example-button,.lesson-23 .example-button{min-height:32px;padding:6px}.lesson-22 .role-selector,.lesson-23 .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-22 .talk-scene-evidence,.lesson-23 .talk-scene-evidence{position:relative;inset:auto;display:block;width:100%;height:235px}.lesson-22 .talk-world>.actor,.lesson-23 .talk-world>.actor{position:relative;inset:auto;height:100px;width:80px}.lesson-22 .roleplay-scene,.lesson-23 .roleplay-scene{margin:10px auto;width:95%}.lesson-22 .friend-review-cards,.lesson-23 .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-23 .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-23 .match-world .mail-rack{grid-template-columns:repeat(3,minmax(0,1fr))!important;min-height:0}
 .lesson-23 .match-world .picture-card{display:grid;grid-template-rows:minmax(0,1fr) auto auto;min-height:0;padding:6px}
 .lesson-23 .match-world .picture-card .portrait{height:100%!important;min-height:0}
 .lesson-23 .match-world .picture-card>span{font-size:16px;margin:4px 0}
 .lesson-23 .match-world .sentence-mail{margin:0}
 .lesson-23 .match-world .delivery-scene .scene-sign.inline{margin:0;padding:4px}
 .lesson-23 .scene-page:has(.match-world) .scene-heading{padding-top:8px;padding-bottom:8px}
 .lesson-23 .scene-page:has(.match-world) .scene-heading h1{font-size:26px}
}
@media(max-width:750px){
 .lesson-23 .match-world .mail-rack{grid-template-columns:1fr!important}
 .lesson-23 .match-world .picture-card .portrait{height:280px!important}
}

.lesson-22{--teal:#3c8879;--gold:#e6b856}.lesson-23{--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-22 .friend-review-cards,.lesson-23 .friend-review-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.lesson-22 .friend-review-art>.week-lens,.lesson-23 .friend-review-art>.week-lens{right:0;top:0}
.lesson-22 .journey-dialogue,.lesson-23 .journey-dialogue{overflow-x:hidden}.lesson-22 .journey-dialogue:has(.personal-plan){padding-top:6px}.lesson-22 .journey-dialogue:has(.personal-plan)>.journey-progress{display:none}.lesson-22 .journey-dialogue .choices button{font-size:17px;min-height:42px;padding:7px 10px}.lesson-22 .room-map+.scene-clue-trail .scene-clue{max-width:80%}.lesson-23 .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-22 .journey-dialogue .speech-bubble strong,.lesson-23 .journey-dialogue .speech-bubble strong{font-size:19px}.lesson-22 .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-22 .friend-review-cards,.lesson-23 .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-22 .journey-dialogue,.lesson-23 .journey-dialogue{overflow:visible}}

.lesson-22{--teal:#3c8879;--gold:#e6b856}.lesson-23{--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-22 .friend-review-cards,.lesson-23 .friend-review-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.lesson-22 .friend-review-art>.week-lens,.lesson-23 .friend-review-art>.week-lens{right:0;top:0}
.lesson-22 .journey-dialogue,.lesson-23 .journey-dialogue{overflow-x:hidden}.lesson-22 .journey-dialogue:has(.personal-plan){padding-top:6px}.lesson-22 .journey-dialogue:has(.personal-plan)>.journey-progress{display:none}.lesson-22 .journey-dialogue .choices button{font-size:17px;min-height:42px;padding:7px 10px}.lesson-22 .room-map+.scene-clue-trail .scene-clue{max-width:80%}.lesson-23 .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-22 .journey-dialogue .speech-bubble strong,.lesson-23 .journey-dialogue .speech-bubble strong{font-size:19px}.lesson-22 .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-22 .friend-review-cards,.lesson-23 .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-22 .journey-dialogue,.lesson-23 .journey-dialogue{overflow:visible}}
.lesson-22 .scene-clue-trail,.lesson-23 .scene-clue-trail{position:absolute;inset:auto 3% 5%;display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center}
.lesson-22 .scene-clue-trail .scene-clue,.lesson-23 .scene-clue-trail .scene-clue{position:static!important;transform:none;max-width:100%;font-size:12px;min-height:38px;padding:6px 10px}
.lesson-22 .scene-clue-trail .scene-clue:disabled,.lesson-23 .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}

/* Full recheck: retain every discovery in a readable, scrollable exchange. */
.journey-complete .full-exchange{max-height:calc(100% - 125px);min-height:120px;overflow:auto;scrollbar-gutter:stable;padding-right:7px;border-bottom:2px dashed #94b9a0}.exchange-caption{display:block;font-size:16px;padding:8px 0 10px;color:#2b7360}.full-exchange .discovery-line{font-size:18px;line-height:1.4;margin:8px 0}
