:root{font-family:"Malgun Gothic",system-ui,sans-serif;color:#264d51;background:#e7f1eb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;padding:14px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:radial-gradient(ellipse at 90% 0,#fcf4df,transparent 60%),#e7f1eb}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit;border:0}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:4px solid #c27430;outline-offset:3px}button:active:not(:disabled){transform:translateY(3px) scale(.98)}[hidden]{display:none!important}img{object-fit:contain;user-select:none;-webkit-user-drag:none}svg{width:100%;height:100%}#school{max-width:1050px;margin:auto}header{display:flex;gap:9px;align-items:center;min-height:55px;margin-bottom:10px}header strong{flex:1;font-size:clamp(16px,3vw,23px)}.icon{width:49px;min-width:49px;height:49px;border-radius:16px;background:#ffffffb5;display:grid;place-items:center;text-decoration:none;color:#326f68;font-size:25px;box-shadow:0 3px 0 #c7dcd0}.eyebrow{font-size:13px;font-weight:800;color:#578076}h1{font-size:clamp(27px,4vw,42px);line-height:1.25;margin:9px 0 13px}p{line-height:1.5}.welcome{display:flex;align-items:center;gap:28px;background:#d3e9dc;border:3px solid #fff9ec;border-radius:32px;padding:23px 32px;box-shadow:0 7px 0 #c0d6c5}.welcome-dino{width:28%;min-width:100px;height:230px;filter:drop-shadow(0 8px 3px #37676320)}.welcome p{font-size:16px;margin:0}.lesson-doors{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:26px 0 20px}.lesson-door{border-radius:29px;border:4px solid #fffaf1;padding:20px 22px;text-align:left;box-shadow:0 7px 0 #c5d6bd;background:#fff1ce;min-height:290px;transition:transform .18s}.letter-door{background:#dae9f0;box-shadow:0 7px 0 #b6cbd1}.door-art{height:160px;display:flex;align-items:center;justify-content:center;gap:12px;position:relative}.door-art img{width:47%;height:100%}.door-art>b{font-size:30px;letter-spacing:5px;background:#fff9ed;border-radius:15px;white-space:nowrap;padding:9px 13px;box-shadow:0 4px 0 #d3bd94}.number-door .door-art>img:first-child{width:25%}.number-door .door-art>b{position:absolute;left:8px;bottom:3px;font-size:23px}.lesson-door strong{font-size:clamp(21px,3.4vw,29px);display:block;margin:13px 0 7px}.lesson-door span{display:block;font-size:16px}.lesson-door small{display:block;color:#648078;margin-top:10px;font-size:13px}.quiet-link{display:block;text-align:center;padding:13px;color:#51726b;font-weight:700;font-size:15px}.activity{background:#fffcf5;border:3px solid white;border-radius:28px;padding:15px;box-shadow:0 7px 0 #cbdacd}.activity-top{display:flex;align-items:center;gap:14px;margin-bottom:13px}.cue{background:#e4eee7;border-radius:17px;padding:13px 18px;display:flex;align-items:center;gap:12px;flex:1;min-height:60px;text-align:left;font-size:clamp(17px,2.8vw,24px)}.cue>span{color:#488b7c;font-size:25px}.rounds{display:flex;gap:6px}.rounds i{width:15px;height:9px;background:#d3e1d6;border-radius:8px}.rounds i.on{background:#529784}.play-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}.scene{min-height:370px;position:relative;overflow:hidden;background:linear-gradient(#cce9ed 0%,#e1f0e6 64%,#aad1ac 65%,#bad5ad);border-radius:24px;isolation:isolate}.sun{position:absolute;width:65px;height:65px;border-radius:50%;background:#f8de95;right:13%;top:24px;box-shadow:0 0 0 10px #fff1c640}.cloud{position:absolute;width:94px;height:23px;left:14%;top:34px;border-radius:50%;background:#ffffffe0}.cloud:before{content:"";position:absolute;left:29px;top:-15px;width:40px;height:32px;background:inherit;border-radius:50%}.hill{position:absolute;bottom:60px;left:-15%;width:100%;height:125px;background:#94c89f;border-radius:50% 65% 0 0;transform:rotate(-8deg)}.road{position:absolute;left:-10%;right:-10%;bottom:12%;height:68px;background:#dfcda9;transform:rotate(-5deg);border-block:4px solid #f4e6c8}.road:after{content:"";position:absolute;left:0;right:0;top:50%;border-top:5px dashed #faf0d7}.receiver{position:absolute;left:3%;bottom:19%;width:30%;height:180px;filter:drop-shadow(0 5px 2px #3c78582b);z-index:2}.receiver>span{position:absolute;background:#fffced;border-radius:13px;padding:6px 10px;top:5%;left:0;white-space:nowrap;font-weight:800;font-size:13px}.truck-team{position:absolute;right:3%;bottom:14%;width:62%;height:210px;z-index:3}.truck-art{width:100%;height:100%;display:block}.cargo{position:absolute;top:16%;right:5%;width:44%;height:56%;display:flex;flex-wrap:wrap;align-content:end;justify-content:center;gap:0;z-index:4}.cargo-egg{width:33.333%;min-width:44px;height:52px;background:transparent;position:relative;filter:drop-shadow(0 3px 2px #614e5c25)}.cargo-egg img{width:100%;height:100%}.cargo-egg span{position:absolute;bottom:0;right:1px;font-weight:900;font-size:12px;border-radius:50%;background:#fff5d8;padding:0 4px}.driver-label{position:absolute;bottom:0;right:4%;font-size:11px;font-weight:800;color:#557068}.workshop{border-radius:22px;background:#f6edda;padding:16px;display:flex;flex-direction:column;justify-content:center;gap:16px;min-height:370px}.order{text-align:center}.order>span{font-size:14px;display:block;font-weight:800;color:#7d8065}.numeral{font-size:66px;line-height:1.1;display:block;color:#2e806f}.numeral small{font-size:20px;margin-left:5px}.request-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:3px}.request-dots img{width:32px;height:45px}.egg-yard{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.yard-egg{height:83px;min-height:65px;background:#fffcf3;border-radius:19px;border:2px solid #e1d3b4;box-shadow:0 4px 0 #d9caa8;transform:rotate(var(--tilt));transition:opacity .2s,filter .2s,transform .2s}.yard-egg img{width:100%;height:100%;padding:4px}.yard-egg:disabled{opacity:.25;box-shadow:none}.speaking .yard-egg:not([disabled]){opacity:1}.number-choices,.letter-pieces,.word-choices{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.number-choices button,.letter-pieces button,.word-choices button{background:#fffdf6;box-shadow:0 5px 0 #ccbaa1;border:2px solid #e2d4b8;border-radius:18px;min-width:70px;min-height:76px;padding:5px 12px;font-size:38px;font-weight:900}.word-choices button{font-size:28px;min-width:100px}.activity-bottom{display:flex;gap:12px;align-items:center;margin-top:13px;min-height:62px}.activity-bottom p{flex:1;font-size:15px;font-weight:700;color:#658173;margin:0}.primary{background:#378c79;color:#fff;box-shadow:0 5px 0 #256b5c;border-radius:18px;min-height:62px;padding:10px 24px;font-size:24px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:8px}.primary img{width:52px;height:42px}.primary:disabled{opacity:.72}.word-order{display:flex;align-items:center;justify-content:center;gap:12px}.word-picture{width:45%;height:116px}.word-picture img{width:100%;height:100%}.word-order strong{display:block;font-size:37px;letter-spacing:3px}.word-order span{display:block;font-size:13px;color:#7d8065;margin-bottom:5px}.letter-slots{display:flex;justify-content:center;gap:12px}.letter-slot{width:76px;min-width:65px;height:78px;border:3px dashed #b7b59b;border-radius:19px;font-size:44px;font-weight:900;display:grid;place-items:center}.letter-slot.active{border-color:#479785;background:#e1efe2}.letter-slot.filled{background:#b9d9c2;border:3px solid #5a9d82}.ghost{color:#789b8680}.cargo-word{display:flex;align-items:center;gap:3px;height:100%;padding-top:20px}.cargo-word span{background:#fff8dc;font-size:26px;font-weight:900;padding:3px 7px;border-radius:8px;box-shadow:0 3px 0 #b8a686}.listen-order{text-align:center}.listen-order button{width:80px;height:70px;font-size:30px;background:#e2eee0;border-radius:22px}.listen-order h2{font-size:21px}#listen-picture{height:100px}#listen-picture img{height:100%;width:100%}#delivery-arrived{position:absolute;left:5%;top:10%;font-size:25px;font-weight:900;background:#fff8de;border-radius:18px;padding:8px 14px;z-index:7}#delivery-arrived>span{margin-left:8px;color:#d49779}.happy{animation:happy .65s ease-in-out 2}@keyframes happy{50%{transform:translateY(-9px) rotate(-4deg)}}.hint{outline:4px solid #eeaf62;outline-offset:3px;animation:hint 1.3s infinite}@keyframes hint{50%{box-shadow:0 0 0 7px #f4c57a55}}.try-again{animation:nudge .3s}@keyframes nudge{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.correct{background:#b7dbbb!important}.flying-egg{position:fixed;z-index:20;pointer-events:none}.flying-egg img{width:100%;height:100%}#feedback{text-align:center;font-size:15px;min-height:23px;margin:13px 0 8px;color:#59786e}footer{text-align:center;font-size:11px;color:#80968a;padding-top:9px}.result{text-align:center;max-width:700px;margin:auto;background:#fffbef;border:3px solid white;border-radius:28px;padding:22px}.result-dino{height:135px;width:150px;margin:auto}.result h1{font-size:30px}.earned-record{display:flex;justify-content:center;gap:12px;margin:18px 0}.earned-record>span{width:30%;background:#e9efde;border-radius:17px;padding:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.earned-record b{font-size:26px}.earned-record>span>img,.earned-record>span>svg{height:80px;width:100%}.earned-record .request-dots img{width:23px;height:34px}.result .primary{width:100%;margin-top:20px}.secondary{min-height:52px;background:#e5ede3;font-weight:800;font-size:18px;border-radius:16px;width:100%;margin-top:15px}.loading{text-align:center;padding:50px}
@media(max-width:650px){body{padding-top:8px}.welcome{padding:20px 14px;gap:14px}.welcome-dino{width:31%;height:154px}.welcome h1{font-size:28px}.welcome p{font-size:12px}.lesson-doors{gap:12px;margin-top:19px}.lesson-door{padding:10px;min-height:240px;border-radius:22px}.door-art{height:115px;flex-wrap:wrap;gap:0}.door-art img{width:70%;height:70%}.number-door .door-art>img:first-child{width:35%;height:60%}.number-door .door-art>img:last-child{width:65%}.door-art>b{font-size:21px;padding:5px 8px;letter-spacing:3px}.number-door .door-art>b{font-size:17px}.lesson-door strong{font-size:19px}.lesson-door span{font-size:12px}.lesson-door small{font-size:11px}.play-layout{grid-template-columns:1fr;gap:11px}.scene{min-height:175px;height:175px}.sun{width:39px;height:39px;top:14px;right:22%}.cloud{top:23px;left:39%;width:66px}.hill{bottom:30px;height:72px}.road{height:43px;bottom:10%}.receiver{height:128px;bottom:17%;width:29%}.receiver>span{font-size:11px;padding:4px 7px}.truck-team{height:153px;bottom:9%;width:62%}.cargo{height:60%;top:8%}.cargo-egg{height:44px;min-width:44px;width:33.333%}.driver-label{font-size:9px}.workshop{min-height:210px;padding:10px;gap:9px}.order>span{font-size:12px}.numeral{font-size:43px}.numeral small{font-size:15px}.request-dots img{width:24px;height:31px}.egg-yard{gap:7px}.yard-egg{height:62px;min-height:62px;border-radius:15px}.activity{padding:10px;border-radius:23px}.cue{min-height:53px;font-size:16px;padding:9px;gap:7px}.cue>span{font-size:22px}.rounds{gap:4px}.rounds i{width:9px;height:8px}.activity-top{gap:7px;margin-bottom:9px}.activity-bottom{flex-direction:column;margin-top:8px;gap:7px}.activity-bottom p{font-size:12px}.activity-bottom .primary{width:100%;min-height:58px;font-size:22px}.word-picture{height:75px;width:36%}.word-order strong{font-size:30px}.letter-slot{width:69px;height:65px;font-size:39px}.letter-pieces button{min-width:64px;min-height:64px;font-size:34px}.number-choices button{min-width:64px;min-height:72px;font-size:37px}.word-choices{gap:9px}.word-choices button{min-width:80px;min-height:66px;font-size:25px}.cargo-word span{font-size:20px;padding:2px 6px}#feedback{font-size:12px;margin:11px 0 4px}footer{font-size:10px}.result{padding:16px}.result-dino{height:110px}.result h1{font-size:27px}.earned-record{gap:7px}.earned-record>span{padding:7px}.earned-record .request-dots img{width:21px;height:28px}}
@media(max-width:350px){header strong{font-size:15px}.icon{width:44px;min-width:44px;height:46px}.lesson-door strong{font-size:17px}.letter-pieces{gap:8px}.letter-pieces button{min-width:57px}.cue{font-size:14px}.scene{height:160px;min-height:160px}.truck-team{height:142px}.receiver{height:115px}.cargo{width:50%;right:1%}.cargo-egg{min-width:44px;width:50%;height:44px}.workshop{min-height:200px}.cargo-word span{font-size:18px}.result h1{font-size:24px}}
@media(orientation:landscape) and (max-height:550px){body{padding-block:5px}header{min-height:43px;margin-bottom:7px}.icon{height:42px;width:45px;min-width:45px}header strong{font-size:18px}.activity{padding:9px}.activity-top{margin-bottom:7px}.cue{min-height:43px;padding:6px 12px;font-size:17px}.play-layout{grid-template-columns:1fr 1.05fr;gap:13px}.scene{min-height:185px;height:185px}.receiver{height:140px;width:29%}.truck-team{height:170px;width:62%;bottom:8%}.workshop{min-height:185px;gap:8px;padding:9px}.egg-yard{grid-template-columns:repeat(4,1fr);gap:5px}.yard-egg{height:57px;min-height:57px}.numeral{font-size:37px}.request-dots img{width:24px;height:29px}.word-picture{height:62px}.word-order strong{font-size:27px}.letter-slot{width:62px;height:56px;font-size:33px}.letter-pieces button{min-width:62px;min-height:55px;font-size:31px}.number-choices button{min-height:60px;font-size:34px}.activity-bottom{flex-direction:row;min-height:49px;margin-top:7px}.activity-bottom p{font-size:12px}.activity-bottom .primary{width:auto;min-height:48px;padding:4px 18px;font-size:20px}.primary img{width:43px;height:34px}#feedback{margin:8px 0 0;font-size:12px}footer{display:none}.welcome{padding:10px 24px}.welcome-dino{height:115px}.welcome h1{font-size:28px}.welcome h1 br{display:none}.lesson-doors{margin:13px 0;gap:15px}.lesson-door{min-height:135px;padding:10px 17px;position:relative}.door-art{height:115px;width:42%;float:right}.lesson-door strong{margin-top:10px;font-size:22px}.quiet-link{font-size:12px;padding:6px}.result{padding:14px;position:relative;max-width:780px}.result-dino{height:85px;width:100px;float:left}.result h1{font-size:24px;margin:5px}.earned-record{margin:9px 0}.earned-record>span{flex-direction:row;height:75px;padding:5px}.earned-record>span>img,.earned-record>span>svg{height:65px;width:50%}.earned-record .request-dots img{width:20px;height:27px}.result p{font-size:12px;margin:6px}.result .primary,.secondary{min-height:47px;margin-top:8px;font-size:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}button:active:not(:disabled){transform:none}}

.welcome-dino{display:flex;width:34%;align-items:end}.welcome-dino>svg{width:58%;height:76%}.guide-boy{width:42%;height:100%;display:block}.cargo{height:40%;top:3%;right:5%;width:43%}.cargo-egg{display:block;width:33%;min-width:0;height:50%;position:relative}.cargo-egg span{font-size:10px}.driver-label{bottom:-5%}#loaded-strip:empty{display:none}#loaded-strip{display:flex;align-items:center;gap:7px;border-radius:14px;background:#e2ebd4;padding:5px 7px}.loaded-label{font-size:11px;white-space:nowrap;font-weight:800}#loaded-strip>div{display:flex;flex-wrap:wrap;gap:3px;flex:1}#loaded-strip button{width:47px;height:48px;background:#fff9e6;border-radius:10px;position:relative;border:1px solid #cbcead}#loaded-strip img{width:100%;height:100%}#loaded-strip button>span{position:absolute;bottom:0;right:3px;font-size:12px;font-weight:900}.truck-art{overflow:visible}@media(max-width:650px){.welcome-dino{width:33%;min-width:95px}#loaded-strip button{width:44px;height:44px}.cargo-egg{height:50%;width:33%;min-width:0}.cargo{top:3%;height:40%;width:43%;right:5%}}@media(max-width:350px){.cargo{width:43%;right:5%}.cargo-egg{min-width:0;width:33%;height:50%}}

/* v179: the whole egg is visible; reading numbers is an actual counting activity. */
.egg-art{display:block;pointer-events:none;overflow:hidden}
.door-art>.egg-art{width:25%;height:90%}
.request-dots>.egg-art{width:27px;height:37px}
.yard-egg>.egg-art{width:100%;height:100%;padding:6px}
.cargo-egg>.egg-art{width:100%;height:100%;padding:2px}
#loaded-strip button>.egg-art{width:100%;height:100%;padding:3px}
.earned-record .request-dots>.egg-art{width:20px;height:27px}
.count-yard{display:grid;grid-template-columns:repeat(3,minmax(0,82px));justify-content:center;gap:10px;margin:12px auto 3px}
.count-egg{position:relative;height:96px;min-width:56px;padding:7px 15px;background:#fffdf4;border:2px solid #e4d1a9;border-radius:22px;box-shadow:0 4px 0 #d8c8a5;transition:background .18s}
.count-egg>.egg-art{width:100%;height:100%}
.count-egg.counted{background:#d6ebd5;border-color:#86b398}
.count-stamp{position:absolute;right:2px;bottom:2px;border-radius:50%;background:#378c79;color:white;width:29px;height:29px;display:grid;place-items:center;font-weight:900;font-size:20px;border:2px solid #fff8de}
.landing-slot{border:1px dashed #9cba8b;border-radius:8px;background:#fff8dd55}
.transfer-flight{position:fixed;z-index:20;pointer-events:none;display:grid;place-items:center;will-change:transform;transform-origin:center}
.transfer-egg>.egg-art{width:100%;height:100%;padding:4px;filter:drop-shadow(0 4px 2px #58604335)}
.transfer-letter{background:#fff6d9;border:3px solid #5a9d82;border-radius:18px;color:#264d51;font-weight:900;font-size:38px;box-shadow:0 4px 0 #47775f35}
.in-transit>.egg-art,.letter-pieces .in-transit{opacity:.16}
.letter-slot.just-landed{animation:letter-land .38s ease-out}
@keyframes letter-land{0%{transform:scale(.87);background:#fff0b4}65%{transform:scale(1.05)}100%{transform:scale(1)}}
@media(max-width:650px){.count-yard{grid-template-columns:repeat(3,minmax(0,72px));gap:9px;margin-top:9px}.count-egg{height:83px;padding:5px 12px;border-radius:18px}.request-dots>.egg-art{width:22px;height:30px}.door-art>.egg-art{width:35%;height:60%}}
@media(max-width:350px){.count-yard{grid-template-columns:repeat(3,minmax(0,62px));gap:7px}.count-egg{height:76px;padding:5px 9px}}
@media(max-height:500px) and (min-width:651px){.count-yard{grid-template-columns:repeat(3,minmax(0,60px));gap:7px;margin-top:6px}.count-egg{height:72px;padding:5px 8px}}
@media(prefers-reduced-motion:reduce){.letter-slot.just-landed{animation:none}}


/* Keep the cargo within the illustrated open bed; large counting lives below. */
.cargo{width:32%;height:25%;top:9%;right:20%}
.cargo-egg>span{display:none}
.cargo-word{padding-top:0;height:100%}
.cargo-word span{font-size:18px;padding:2px 5px;box-shadow:0 2px 0 #b8a686}
.door-art>.truck-art{width:62%;height:90%}
.word-picture>.truck-art,.word-picture>.wheel-art{width:100%;height:100%}
@media(max-width:650px){.door-art>.truck-art{width:70%;height:75%}}

/* The friend, the parked truck and the received objects have separate places. */
.scene{min-height:370px}.receiver{left:3%;bottom:27%;width:29%;height:48%;z-index:3}.receiver>span{top:0;font-size:12px}
.truck-team{right:1%;bottom:9%;width:54%;height:54%;z-index:2}.driver-label{bottom:-2%;font-size:10px;white-space:nowrap}
.scene-helpers{position:absolute;left:37%;top:4%;width:23%;height:30%;display:flex;align-items:end;z-index:1;pointer-events:none;filter:drop-shadow(0 3px 2px #58735925)}
.scene-helpers>.guide-boy{width:56%;height:100%}.scene-helpers>.helper-dog{width:54%;height:61%;margin-left:-6%;display:block}
.handoff-basket{position:absolute;left:2%;bottom:12%;width:30%;min-height:58px;z-index:4;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:2px;padding:8px 5px 6px;background:linear-gradient(#e5bf80,#caa061);border:3px solid #ba935b;border-radius:18px 18px 23px 23px;box-shadow:0 4px 0 #75836b38}
.nest-slot{display:block;position:relative;height:31px;border-radius:9px;border:1px dashed #fff4d5;background:#fff5d135}
.nest-slot>.egg-art{width:100%;height:100%;padding:1px}.nest-slot.received{border:0;background:transparent;animation:school-received .35s ease-out}
.handoff-basket.name-basket{grid-template-columns:1fr;padding:8px;min-height:65px;background:linear-gradient(#ede5c9,#d9cba4);border-color:#b29f76}
.name-basket .nest-slot{height:44px;display:grid;place-items:center;font-size:clamp(18px,3vw,28px);font-weight:900;letter-spacing:1px}.name-basket .nest-slot.received{background:#fff7de;border-radius:9px}
.handoff-head{text-align:center}.handoff-head>span{display:block;font-size:13px;color:#658071;font-weight:800}.handoff-head h2{font-size:23px;margin:5px 0 7px}.handoff-progress{display:flex;align-items:center;justify-content:center;gap:10px;color:#437669;font-weight:800;font-size:15px}.handoff-progress b{font-size:31px;font-variant-numeric:tabular-nums}.handoff-progress small{font-size:15px;color:#7b876b}
.handoff-tray{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:340px;width:100%;margin:auto}
.handoff-egg{min-width:56px;height:92px;background:#fffbed;border:2px solid #dccca7;border-radius:20px;padding:8px 18px;box-shadow:0 5px 0 #c9bb99;position:relative}
.handoff-egg>.egg-art{width:100%;height:100%}.handoff-egg:disabled{opacity:.24;box-shadow:none}.handoff-egg.in-transit{opacity:.24}
.handoff-name{display:flex;align-items:center;justify-content:center;gap:16px;min-height:106px;width:100%;max-width:300px;margin:10px auto;background:#fffbed;border:3px solid #79b09a;box-shadow:0 5px 0 #b8bea0;border-radius:23px;font-weight:900;font-size:42px;padding:10px 18px}.handoff-name>span{display:block;width:88px;height:80px}.handoff-name:disabled{opacity:.24}
.handoff-help{display:flex;align-items:center;justify-content:center;gap:10px;margin:3px 0 0;color:#6c8370;font-size:13px}.handoff-help>i{font-style:normal;font-size:28px;color:#378c79}
#surface[data-phase=handoff] .workshop,#surface[data-phase=received] .workshop{background:#e5efdb}
#surface[data-phase=received] .scene-helpers{animation:school-received .5s ease-out}
#surface[data-phase=handoff] .activity-bottom,#surface[data-phase=received] .activity-bottom{min-height:28px}
#delivery-arrived{left:5%;top:6%;font-size:20px;padding:7px 11px}
@keyframes school-received{0%{transform:translateY(3px) scale(.94)}65%{transform:translateY(-2px) scale(1.02)}100%{transform:translateY(0) scale(1)}}
@media(max-width:650px){.scene{height:235px;min-height:235px}.receiver{height:48%;bottom:31%}.truck-team{height:61%;width:54%;bottom:9%}.scene-helpers{width:26%;height:37%}.handoff-basket{bottom:11%;min-height:51px}.nest-slot{height:26px}.handoff-head h2{font-size:21px}.handoff-tray{gap:10px;max-width:270px}.handoff-egg{height:86px;padding:7px 15px}.handoff-name{min-height:94px;font-size:36px}.handoff-name>span{width:75px;height:67px}.name-basket .nest-slot{height:36px;font-size:22px}.handoff-basket.name-basket{min-height:57px}.driver-label{font-size:8px}}
@media(max-width:350px){.scene{height:218px;min-height:218px}.handoff-tray{gap:8px}.handoff-egg{height:77px;padding:6px 12px}.handoff-basket{left:2%;width:30%;padding-inline:3px}.nest-slot{height:23px}.driver-label{font-size:7px}}
@media(orientation:landscape) and (max-height:550px){.scene{height:240px;min-height:240px}.workshop{min-height:240px}.receiver{height:53%;bottom:26%}.truck-team{height:62%;width:54%;bottom:9%}.scene-helpers{height:36%}.handoff-head h2{font-size:19px}.handoff-tray{gap:8px;max-width:270px}.handoff-egg{height:75px;padding:5px 13px}.handoff-progress b{font-size:27px}.handoff-help{font-size:12px}.handoff-name{min-height:88px;font-size:35px}.handoff-name>span{height:64px;width:65px}.cue{min-height:44px}.icon{min-height:44px}}
@media(prefers-reduced-motion:reduce){.nest-slot.received,#surface[data-phase=received] .scene-helpers{animation:none}}

/* Jjae and Poppy guide the activity; they are not floating passengers. */
.school-coaches{display:flex;align-items:end;flex:0 0 72px;width:72px;height:62px;filter:drop-shadow(0 2px 1px #37676320)}.school-coaches>.guide-boy{width:53%;height:100%}.school-coaches>.helper-dog{display:block;width:52%;height:63%;margin-left:-5%}.cue strong{min-width:0;flex:1}@media(max-width:650px){.school-coaches{flex-basis:55px;width:55px;height:49px}.cue{padding-block:7px}}@media(orientation:landscape) and (max-height:550px){.school-coaches{height:40px;flex-basis:46px;width:46px}}

/* The extra egg arrives in the same counting yard; one action is shown at a time. */
.grow-source{display:flex;align-items:center;justify-content:center;gap:13px;background:#d9ecde;border:2px solid #83b39b;border-radius:22px;min-height:82px;box-shadow:0 4px 0 #a2c7ad;padding:7px 13px;width:100%;color:#34745c}
.grow-source-egg{display:block;width:48px;height:62px;flex:0 0 48px}
.grow-source b{display:block;font-size:24px}.grow-source small{display:block;font-size:13px;font-weight:700}
.grow-source>svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;flex:0 0 30px}
.grow-pending{background:#ebe7d7;box-shadow:none;border-style:dashed;border-color:#c6c9b1}.grow-pending>.egg-art{opacity:0}
.count-egg.just-landed{animation:letter-land .38s ease-out}
.grow-activity .activity-bottom{min-height:26px;margin-top:10px}.grow-activity .workshop{gap:11px;padding:13px}
@media(max-width:650px){.grow-activity .number-choices{gap:9px}.grow-activity .number-choices button{min-width:62px;min-height:72px;padding:4px 10px}.grow-activity .workshop{min-height:244px}.grow-source{min-height:76px}}
@media(max-width:350px){.grow-activity .number-choices button{min-width:58px}.grow-activity .scene{min-height:208px;height:208px}}
@media(prefers-reduced-motion:reduce){.count-egg.just-landed{animation:none}}

/* Repair uses the same large letter tiles; supplied syllables are not earned choices. */
.handoff-name>span>img,.handoff-name>span>svg{width:100%;height:100%;object-fit:contain}
.word-picture{min-width:0}.word-order>div:last-child{min-width:0}
.repair-caption{text-align:center;margin:0;font-size:15px;font-weight:800;color:#71816b}
.repair-slots{gap:12px}.repair-slots .given{background:#e9ead5;color:#6e8073;border-style:solid;box-shadow:0 3px 0 #b8c0a4}
.repair-slots .missing-slot{position:relative;background:#fff7dc;border:3px dashed #4e9a7c;box-shadow:0 5px 0 #acd0b3}
.empty-piece{color:#b3bb99;font-size:32px}.missing-slot .ghost:not([hidden])+.empty-piece{display:none}
.repair-slots .filled{border-style:solid;background:#cce7d1}
.cargo-word{display:flex;gap:2px;width:100%;justify-content:center}.cargo-word span{min-width:0;flex:1;text-align:center;padding-inline:1px;font-size:clamp(9px,1.35vw,16px)}
@media(max-width:650px){.repair-caption{font-size:13px}.repair-slots{gap:9px}.word-choices button{font-size:clamp(19px,5vw,25px);padding-inline:8px}}
@media(max-width:350px){.repair-slots .letter-slot{width:62px}.repair-slots{gap:8px}}

/* Equal-sized baskets and fixed egg slots make quantity, not container size, the cue. */
.compare-title{text-align:center}.compare-title>span{display:block;font-size:14px;font-weight:800;color:#7d8065}.compare-title>strong{display:block;font-size:28px;color:#34745c;margin-top:4px}
.compare-baskets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:15px}
.compare-basket{position:relative;background:linear-gradient(#e7dcc3,#d8be8f);border:3px solid #b79b6b;border-radius:24px 24px 30px 30px;padding:19px 9px 21px;min-height:204px;box-shadow:0 6px 0 #af966c;isolation:isolate}
.basket-handle{position:absolute;width:52%;height:35px;border:8px solid #b79b6b;border-bottom:0;border-radius:40px 40px 0 0;left:24%;top:-23px;z-index:-1}
.basket-eggs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,69px);gap:5px}.basket-place{display:flex;justify-content:center;align-items:center;min-width:0}.compare-egg{display:block;width:45px;height:62px;filter:drop-shadow(0 3px 1px #75653c24)}.compare-egg.aboard{visibility:hidden}.compare-egg>.egg-art{width:100%;height:100%}
.basket-rim{position:absolute;bottom:10px;left:-4px;right:-4px;height:15px;background:#ac8f5e;border-radius:8px;border:2px solid #f0dfb8}.compare-count{position:absolute;bottom:-15px;left:calc(50% - 25px);background:#fffbec;border:2px solid #c7aa77;border-radius:12px;padding:3px 8px;font-weight:900;font-size:19px;min-width:50px}.compare-caption{text-align:center;font-size:14px;font-weight:800;margin:7px 0 0;color:#647866}.compare-activity .workshop{gap:16px}.compare-basket.correct{border-color:#4e9c77;box-shadow:0 6px 0 #438365}.compare-basket.correct .basket-rim{background:#689f76;border-color:#bce0b7}
@media(max-width:650px){.compare-activity .workshop{padding:18px 12px;min-height:268px}.compare-baskets{gap:13px}.compare-basket{padding:13px 6px 22px;min-height:175px;border-radius:20px}.basket-eggs{grid-template-rows:repeat(2,57px);gap:3px}.compare-egg{width:35px;height:49px}.compare-title>strong{font-size:24px}.compare-caption{font-size:12px}}
@media(max-width:350px){.compare-activity .workshop{padding-inline:9px}.compare-baskets{gap:11px}.compare-egg{width:30px;height:42px}.basket-eggs{grid-template-rows:repeat(2,51px)}.compare-basket{min-height:161px}}
@media(orientation:landscape) and (max-height:550px){.compare-title>strong{font-size:22px}.compare-activity .workshop{padding:12px;gap:10px}.compare-basket{min-height:157px;padding-top:8px}.basket-eggs{grid-template-rows:repeat(2,48px)}.compare-egg{width:30px;height:42px}.compare-caption{font-size:11px}}

/* Real partially loaded orders: supplied cargo never earns completion. */
.fill-order{display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:center;text-align:left}
.fill-order>span{font-weight:800;font-size:17px}.fill-order>.numeral{font-size:48px;margin:0;line-height:1}
.fill-places{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.fill-place{height:86px;position:relative;display:flex;align-items:center;justify-content:center;border:3px dashed #b9c7b4;border-radius:20px;background:#f3f3e7;overflow:hidden}
.fill-place>.egg-art,.fill-empty>.egg-art{width:53px;height:70px}.fill-empty{opacity:.16;display:flex}
.fill-place.filled{border-style:solid;border-color:#51a294;background:#e0f4df}.fill-place.provided{border-color:#cfb66a;background:#fff2c9}
.place-count{position:absolute;right:6px;bottom:3px;font-size:14px;font-weight:900;color:#496c6e}
#fill-status{grid-column:1/-1;font-size:17px;margin:2px 0 0;color:#225e59;font-weight:800;min-height:23px}
#fill-status.overfull{color:#97512d}.fill-yard{grid-template-columns:repeat(3,minmax(0,1fr))}
.provided-egg{width:44px;height:44px;position:relative;display:inline-flex;background:#fff0c5;border:1px solid #cfb66a;border-radius:10px}
.provided-egg>.egg-art{width:100%;height:100%;padding:3px}.provided-egg>span{position:absolute;bottom:0;right:3px;font-size:12px;font-weight:900}
@media(max-width:650px){.fill-activity .workshop{gap:12px}.fill-place{height:77px}.fill-order>.numeral{font-size:43px}.fill-places{gap:7px}}
@media(orientation:landscape) and (max-height:550px){.fill-place{height:57px;border-radius:14px}.fill-place>.egg-art,.fill-empty>.egg-art{width:37px;height:49px}.fill-order{gap:5px 10px}.fill-activity .workshop{gap:8px}.fill-order>.numeral{font-size:35px}.fill-activity .yard-egg{height:65px}}

/* One egg goes to a real friend slot. Remaining eggs must be counted again. */
.share-activity .workshop{gap:14px}.share-order>span{font-size:19px;color:#427464}
.share-friend{display:flex;align-items:center;justify-content:center;gap:15px;background:#e1edd9;border:2px solid #b4cfa9;border-radius:22px;padding:9px 15px;min-height:105px}
.share-friend-art{display:block;width:84px;height:94px}.share-friend>div{min-width:0;display:flex;align-items:center;gap:12px}.share-friend strong{font-size:16px;max-width:130px;line-height:1.4}
.share-nest{display:flex;align-items:center;justify-content:center;flex:0 0 55px;width:55px;height:65px;border:3px dashed #a7b998;border-radius:17px;background:#fff7d6}.share-nest>.egg-art{width:38px;height:54px}
.count-egg.share-choice{border-color:#459c79;background:#e0edca;box-shadow:0 4px 0 #9dbe93}.count-egg.shared{border-style:dashed;background:#e9e8dc;box-shadow:none}.count-egg.shared>.egg-art{opacity:.1}.count-egg.shared::after{content:'나눔';position:absolute;inset:0;display:grid;place-items:center;font-size:13px;color:#7b927a;font-weight:800}
@media(max-width:650px){.share-activity .workshop{padding:14px 10px}.share-friend{gap:10px;padding:8px;min-height:94px}.share-friend-art{width:65px;height:76px}.share-friend strong{font-size:14px;max-width:100px}.share-friend>div{gap:8px}.share-nest{width:48px;height:59px;flex-basis:48px}}
@media(orientation:landscape) and (max-height:550px){.share-activity .workshop{gap:9px}.share-friend{min-height:75px;padding:5px 9px}.share-friend-art{height:64px;width:55px}.share-nest{height:53px}.share-nest>.egg-art{height:43px}.share-friend strong{font-size:14px}.share-order>span{font-size:16px}}

/* Two groups become one only after the child moves every real egg. */
.join-activity .workshop{gap:13px}.join-baskets{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}
.join-basket{border:3px solid #b0d0a6;border-radius:24px;background:#e4efdc;padding:10px 9px 12px;min-width:0;box-shadow:0 4px 0 #a8c89c}.join-basket:nth-child(2){border-color:#e0c47f;background:#fff0cb;box-shadow:0 4px 0 #d5ba79}
.join-owner{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:8px}.join-owner>span{width:55px;height:64px;flex:none}.join-owner strong{font-size:14px;line-height:1.3}
.join-source{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;align-content:start;min-height:58px}.join-source button{position:relative;min-width:44px;min-height:60px;height:64px;padding:4px;background:#fffaf0;border-radius:15px;border:2px solid #d5cda4;box-shadow:0 3px 0 #c2b68b}.join-source .egg-art{width:100%;height:100%}.join-source button.gathered{box-shadow:none;border-style:dashed;background:transparent}.join-source button.gathered>.egg-art{opacity:0}
.join-order{background:#f5f2e2;border:2px solid #e4dbb8;border-radius:23px;padding:12px 10px}.join-order>span{font-size:18px;color:#657c65}.join-order .count-yard{margin-top:9px}.count-egg.join-pending{background:transparent;box-shadow:none;border-style:dashed;border-color:#c4c7ae}.count-egg.join-pending>.egg-art{opacity:0}.join-activity [data-join="count"]{color:inherit}
@media(max-width:650px){.join-activity .workshop{padding:13px 10px;gap:12px}.join-baskets{gap:8px}.join-basket{border-width:2px;padding:8px 6px 10px;border-radius:19px}.join-owner{gap:3px}.join-owner>span{width:46px;height:55px}.join-owner strong{font-size:12px}.join-source{gap:4px}.join-source button{padding:3px;min-height:54px;height:55px;min-width:44px;border-radius:12px}.join-order>span{font-size:16px}}
@media(orientation:landscape) and (max-height:550px){.join-activity .workshop{gap:10px}.join-owner>span{width:45px;height:51px}.join-owner{margin-bottom:5px}.join-source button{height:54px;min-height:54px}.join-order{padding:9px}.join-order>span{font-size:16px}}

/* The same learning props, with one inspected label and a real removed tile. */
.fix-workbench{border:3px solid #dac79f;border-radius:22px;padding:13px;background:linear-gradient(145deg,#fffaf0,#efe0bd);box-shadow:0 5px 0 #ccb993}
.fix-workbench .repair-caption{margin:0 0 12px;text-align:center;color:#456f65}
.fix-slots{flex-wrap:wrap;gap:12px}
button.fix-letter{min-width:70px;min-height:76px;padding:8px 14px;font-size:38px;font-weight:900;color:#294e50;background:#fffdf6;border:2px solid #d4c5a5;box-shadow:0 5px 0 #c8b994;border-radius:16px}
.fix-bin{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:17px;color:#718076;font-size:14px;font-weight:800}
#removed-letter{display:grid;place-items:center;min-width:62px;width:62px;height:68px;background:#e7e7d9;border:2px dashed #b6bdad;border-radius:15px;color:#738375;font-size:32px}
#removed-letter s{text-decoration-thickness:3px}
.fix-activity .word-order{border-radius:18px;padding:10px;background:#fffcf0}
@media(max-width:600px){.fix-workbench{padding:11px}.fix-slots{gap:9px}button.fix-letter{min-width:64px;min-height:70px;font-size:34px}.fix-bin{margin-top:14px}}

/* Reserve the same tray and slot sizes so the characters do not jump between steps. */
.fix-slots .letter-slot{width:76px;min-width:70px;height:78px;min-height:78px;font-size:38px}
.fix-pieces.is-waiting{visibility:hidden;pointer-events:none}
.fix-pieces:not(.is-waiting){animation:fix-tray-enter .24s ease-out}
@keyframes fix-tray-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.fix-slots .letter-slot{width:64px;min-width:64px;height:70px;min-height:70px;font-size:34px}}
@media(prefers-reduced-motion:reduce){.fix-pieces{animation:none}}

/* Listening starts with recognisable pictures, then connects to the same name workbench. */
.word-picture-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}
.word-picture-choices button{min-width:0;min-height:158px;padding:10px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}
.word-choice-art{display:block;width:100%;max-width:148px;height:110px;min-width:0;filter:drop-shadow(0 3px 2px #55745922)}
.word-choice-art img,.word-choice-art svg{display:block;width:100%;height:100%;object-fit:contain}
.word-choice-label{font-size:23px;line-height:1.2;letter-spacing:0;white-space:nowrap}
.listen-order{display:grid;grid-template-columns:64px minmax(0,1fr) 84px;align-items:center;gap:12px;width:100%}
.listen-order button{width:64px;height:64px;font-size:27px}.listen-order h2{margin:0;font-size:19px;line-height:1.4}
#listen-picture{height:84px;display:grid;place-items:center;min-width:0;width:100%;border:2px dashed #bad2b5;background:#f0f4df;border-radius:19px;padding:6px}
#listen-picture svg,#listen-picture img,.listen-model{display:block;width:100%;height:100%;min-height:0;object-fit:contain}.listen-await{color:#9aaa83;font-size:42px;font-weight:900}
#listen-picture.just-landed{border-style:solid;border-color:#6caa7d;animation:letter-land .38s ease-out}
.transfer-picture{padding:5px;background:#fff9e8;border:2px solid #80ad87;border-radius:18px;box-shadow:0 5px 12px #46725930}
.transfer-picture>svg,.transfer-picture>img{display:block;width:100%;height:100%;object-fit:contain}.word-choice-art.in-transit{opacity:.18}
@media(max-width:650px){.word-picture-choices{gap:9px}.word-picture-choices button{min-height:138px;padding:8px 5px}.word-choice-art{height:94px}.word-choice-label{font-size:21px}.listen-order{grid-template-columns:54px minmax(0,1fr) 72px;gap:9px}.listen-order button{width:54px;height:54px}.listen-order h2{font-size:17px}#listen-picture{height:72px}}
@media(max-width:350px){.word-picture-choices{gap:7px}.word-picture-choices button{min-height:122px}.word-choice-art{height:77px}.word-choice-label{font-size:19px}.listen-order{grid-template-columns:48px minmax(0,1fr) 60px;gap:7px}.listen-order button{width:48px;height:48px}#listen-picture{height:60px}.listen-order h2{font-size:15px}}
@media(orientation:landscape) and (max-height:550px){.word-picture-choices button{min-height:105px}.word-choice-art{height:62px}.word-choice-label{font-size:18px}.listen-order{grid-template-columns:48px minmax(0,1fr) 54px}.listen-order button{width:48px;height:48px}.listen-order h2{font-size:16px}#listen-picture{height:54px}}
@media(prefers-reduced-motion:reduce){#listen-picture.just-landed{animation:none}}

/* The same cargo is held by Jjae, carried through the scene, then placed. */
.school-handoff-motion{position:absolute;inset:0;z-index:6;pointer-events:none;overflow:hidden}
.school-carrier,.school-carry-pose,.school-held,.school-carry-shadow,.school-carry-step{position:absolute;display:block;pointer-events:none}
.school-carrier{will-change:transform,left,top}
.school-carry-pose{left:0;bottom:0;width:100%;height:100%;opacity:0;transform:scaleX(var(--face));filter:drop-shadow(0 2px 1px #51775b20)}
.school-carry-pose>svg{display:block;width:100%;height:100%;overflow:hidden}
.school-held{display:grid;place-items:center;z-index:2;filter:drop-shadow(0 2px 1px #53684630)}
.school-held-egg>.egg-art{width:100%;height:100%}
.school-held-name{border:2px solid #68a28c;border-radius:8px;background:#fff7df;color:#264d51;font-size:clamp(13px,2vw,17px);font-weight:900;white-space:nowrap;box-shadow:0 2px 0 #94bba780}
.school-carry-shadow{height:5px;background:#46644e;border-radius:50%;opacity:.2}
.school-carry-step{height:5px;border-radius:3px;background:#95aaa0;border-bottom:2px solid #617970}
.cargo-carried{visibility:hidden}

/* The requested places mirror actual truck cargo; overflow remains removable. */
.packing-activity .workshop{gap:11px;padding:16px}
.packing-activity .order{display:flex;align-items:center;justify-content:center;gap:14px}
.packing-activity .order>span{font-size:17px;font-weight:800}
.packing-activity .numeral{font-size:43px;line-height:1;margin:0}
.packing-activity #loaded-strip{display:block;width:100%;background:none;padding:0}
.packing-board{width:100%;padding:11px;border:2px solid #ccdbc0;border-radius:20px;background:linear-gradient(#f7f9e9,#edf2da);box-shadow:0 3px 0 #b5c5a680}
.packing-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;font-size:13px;font-weight:800;gap:8px}
.packing-heading strong{white-space:nowrap}.packing-heading b{font-size:24px;color:#397464}.packing-heading small{font-size:13px;color:#61705c}
.packing-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.packing-activity #loaded-strip .packing-place{position:relative;display:grid;place-items:center;width:auto;height:64px;min-width:44px;min-height:44px;border:2px solid #b9c99f;border-radius:15px;background:#fffbed;box-shadow:0 3px 0 #bbbd9170}
.packing-place>.egg-art{width:36px!important;height:50px!important;padding:2px!important}
.packing-place.packing-empty{border-style:dashed;background:#dce5c780;box-shadow:none}
.packing-outline{display:grid;place-items:center;opacity:.18;filter:grayscale(1)}.packing-outline>.egg-art{width:34px;height:47px}
.packing-activity #loaded-strip .packing-place>.packing-index{position:absolute;right:5px;bottom:2px;font-size:12px;font-weight:900;color:#657158}
.packing-overflow{display:flex;align-items:center;gap:10px;margin-top:10px;padding-top:9px;border-top:1px dashed #c99764}
.packing-overflow>span{font-size:12px;font-weight:800;color:#855735}.packing-overflow>div{display:grid;grid-template-columns:repeat(2,60px);gap:7px}
.packing-activity #loaded-strip .packing-extra{background:#fff0d7;border-color:#d6a269}
.packing-activity #loaded-strip .packing-place>.packing-down{position:absolute;left:5px;top:3px;font-size:18px;color:#93673b}
.packing-status{display:flex;justify-content:center;align-items:center;gap:6px;margin:10px 0 0;font-size:13px;font-weight:800;line-height:1.3;min-height:20px;color:#617357}
.packing-status i{font-style:normal;display:grid;place-items:center;width:22px;height:22px;background:#dce7cc;border-radius:50%;font-size:18px}
[data-packing=ready]{border-color:#85ba87}[data-packing=ready] .packing-status{color:#31765a}[data-packing=ready] .packing-status i{background:#bce0b1}
[data-packing=overfull]{border-color:#d7b18c}[data-packing=overfull] .packing-status{color:#875c37}
@media(max-width:650px){.packing-activity .workshop{padding:14px 12px}.packing-activity .yard-egg{height:76px}.packing-activity .order>span{font-size:15px}.packing-activity .numeral{font-size:38px}}
@media(max-width:350px){.packing-board{padding:9px}.packing-activity .workshop{padding:12px 10px}.packing-activity #loaded-strip .packing-place{height:62px}.packing-heading{font-size:12px}.packing-activity .yard-egg{height:70px}}
@media(orientation:landscape) and (max-height:550px){.packing-activity .workshop{gap:8px;padding:11px}.packing-board{padding:9px}.packing-activity .numeral{font-size:33px}.packing-activity .order>span{font-size:14px}.packing-heading{margin-bottom:6px}.packing-activity #loaded-strip .packing-place{height:52px}.packing-place>.egg-art{height:42px!important;width:31px!important}.packing-outline>.egg-art{height:39px;width:28px}.packing-status{margin-top:7px;font-size:12px}.packing-activity .yard-egg{height:58px}.packing-overflow{margin-top:7px;padding-top:6px}}

.packing-activity #loaded-strip>.packing-board{display:block}

/* Earned flashcards belong to real completed handoffs, with the same cast/props. */
.school-recall{margin:18px auto;width:100%;max-width:620px;padding:17px;background:#eef3df;border:2px solid #bdcfae;border-radius:24px;text-align:center}
.recall-heading{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px 15px;margin-bottom:13px}.recall-heading strong{font-size:21px;color:#315e52}.recall-heading>span{font-size:13px;color:#65816b}
.recall-detail{min-height:194px;display:grid;place-content:center;gap:10px;padding:15px;border:2px solid #fff;background:#fffcf1;border-radius:19px}
.recall-quantity{display:grid;grid-template-columns:repeat(3,minmax(0,74px));justify-content:center;gap:9px}.recall-quantity button{position:relative;width:74px;height:80px;padding:4px 12px;border-radius:16px;background:#f1e6cd;border:2px solid #d9c79e;box-shadow:0 3px 0 #c4be96;transition:background .15s}.recall-quantity button>.egg-art{width:100%;height:100%}.recall-quantity button[aria-pressed=true]{background:#d5ecd5;border-color:#86b98b}.recall-quantity button>span{position:absolute;right:4px;bottom:3px;border-radius:50%;width:25px;height:25px;background:#fff9dd;color:#43715a;font-size:18px;font-weight:900}
.recall-listen{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;background:#e6f0df;border-radius:13px;padding:5px 14px;color:#34765e}.recall-listen>span{font-size:25px}.recall-listen strong{font-size:37px}.recall-listen small{font-size:17px;margin-left:7px}
.recall-word{position:relative;display:grid;place-items:center;gap:10px;background:transparent;min-width:220px;min-height:195px;border-radius:14px;padding:8px 32px}.recall-picture{width:142px;height:126px;display:grid;place-items:center}.recall-picture>img,.recall-picture>svg{width:100%;height:100%;object-fit:contain}.recall-word strong{display:flex;gap:8px}.recall-word strong>span{display:grid;place-items:center;width:51px;height:55px;border-radius:13px;border:2px solid #c8d2b0;background:#fff6d9;font-size:35px;color:#306557;box-shadow:0 3px 0 #b5c4a0}.recall-word small{font-size:13px;color:#688066}.recall-word>i{position:absolute;right:3px;top:8px;font-size:27px;font-style:normal;color:#4c907a}
.recall-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}.recall-tab{position:relative;display:grid;place-items:center;gap:3px;min-width:44px;min-height:104px;border:2px solid #d0d8bd;background:#f7f7e9;box-shadow:0 3px 0 #cad2b3;border-radius:16px;padding:8px}.recall-tab[aria-pressed=true]{border-color:#488b72;background:#d6ead8;box-shadow:0 3px 0 #86b196}.recall-tab>i{position:absolute;left:6px;top:4px;font-size:11px;font-style:normal;color:#738672}.recall-tab>b{font-size:22px;line-height:1.2}.recall-tab small{font-size:13px;margin-left:3px}.recall-tab-art{width:68px;height:59px;display:grid;place-items:center}.recall-tab-art>img,.recall-tab-art>svg{width:100%;height:100%;object-fit:contain}.recall-tab-eggs{display:grid;grid-template-columns:repeat(3,19px);justify-content:center;gap:1px}.recall-tab-eggs>.egg-art{width:19px;height:26px}
.recall-return{margin:auto;border-radius:14px;background:#e6edd9;min-height:48px;width:100%;max-width:440px}
.recall-hearing>.egg-art,.recall-hearing .recall-picture{animation:recall-breathe .8s ease-in-out infinite}.recall-hearing strong>span{background:#d7edcf;border-color:#83af7d}.recall-hearing strong{color:#2e7353}
@keyframes recall-breathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.035)}}
@media(max-width:650px){.school-recall{padding:12px}.recall-heading strong{font-size:18px}.recall-detail{padding:12px;min-height:184px}.recall-quantity{grid-template-columns:repeat(3,minmax(0,65px));gap:8px}.recall-quantity button{width:65px;height:76px}.recall-tab{padding:8px 4px;min-height:97px}.recall-tab>b{font-size:19px}.recall-tab-art{width:62px;height:56px}}
@media(max-width:350px){.school-recall{padding:10px}.recall-detail{padding:10px}.recall-word{min-width:190px;padding-inline:15px}.recall-tabs{gap:6px}.recall-tab-art{width:56px}.recall-tab-eggs{grid-template-columns:repeat(3,16px)}.recall-tab-eggs>.egg-art{width:16px;height:23px}.recall-quantity{grid-template-columns:repeat(3,58px);gap:7px}.recall-quantity button{width:58px;height:70px}.recall-tab>b{font-size:18px}.recall-heading>span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.recall-hearing>.egg-art,.recall-hearing .recall-picture{animation:none}.recall-quantity button{transition:none}}

/* A real request uses earned delivery cards; no score pressure or new save. */
.recall-heading .recall-friend-open{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:60px;padding:7px 14px;background:#d3e8d3;border:2px solid #92bc9e;border-radius:16px;box-shadow:0 3px 0 #adc8a7;font-size:18px;font-weight:900;color:#315f4d}
.recall-friend-open>span:first-child{display:block;width:42px;height:48px}.recall-friend-open svg{width:100%;height:100%}.recall-detail.friend-active{display:block;padding:13px;min-height:220px}
.friend-request{display:grid;grid-template-columns:minmax(80px,.72fr) minmax(0,1.3fr);gap:13px;align-items:center;margin-bottom:17px}.friend-dino{position:relative;height:150px;display:grid;place-items:center}.friend-dino>svg{width:100%;height:100%;filter:drop-shadow(0 4px 2px #54745924)}
.friend-nest{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:85px;height:63px;border:2px dashed #a7b999;border-radius:18px;background:#fff8e480;display:grid;place-items:center;overflow:hidden}.friend-nest.friend-received{border-style:solid;background:#dceccb}.friend-nest .friend-eggs{grid-template-columns:repeat(3,14px);gap:0}.friend-nest .friend-eggs>.egg-art{width:14px;height:19px}.friend-nest .friend-picture{height:40px;width:50px}.friend-nest>b{font-size:14px;line-height:1}.friend-nest small{font-size:10px}
.friend-ask{min-width:0;min-height:148px;display:grid;place-items:center;gap:7px;border:2px solid #b9d6a9;background:#e9f0d9;border-radius:22px;padding:12px;color:#32634e}.friend-ask strong{font-size:22px}.friend-ask small{font-size:12px}.friend-wait{font-size:35px;color:#66986e}.friend-model{display:grid;place-items:center;gap:4px}.friend-model>b{font-size:23px}.friend-model small{font-size:14px}.friend-model .friend-picture{height:78px;width:90px}.friend-model .friend-eggs{grid-template-columns:repeat(3,20px)}.friend-model .friend-eggs>.egg-art{width:20px;height:27px}
.friend-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.friend-choices button{min-width:44px;min-height:145px;display:grid;place-items:center;align-content:center;gap:8px;padding:9px 6px;border:2px solid #d6ceb0;border-radius:20px;background:#fff3da;box-shadow:0 4px 0 #cabf9b}.friend-choices b{font-size:25px;color:#315b50;white-space:nowrap}.friend-choices small{font-size:15px;margin-left:3px}.friend-eggs{display:grid;grid-template-columns:repeat(3,24px);justify-content:center;gap:3px}.friend-eggs>.egg-art{width:24px;height:33px}.friend-picture{display:block;width:85px;max-width:100%;height:85px}.friend-picture>svg,.friend-picture>img{display:block;width:100%;height:100%;object-fit:contain}.friend-caption{margin:15px 0 10px!important;font-size:15px!important;font-weight:800;color:#5a7b60;min-height:23px}.friend-bottom{display:flex;align-items:center;justify-content:space-between;gap:9px}.friend-bottom>span{display:flex;gap:6px}.friend-bottom i{width:18px;height:8px;border-radius:6px;background:#c8d8b9}.friend-bottom i.on{background:#76a586}.friend-bottom>button,.friend-finish>button{background:#e3eddb;border-radius:12px;min-height:46px;padding:7px 13px;font-size:14px;font-weight:800}.friend-help{border-color:#67aa7c!important;background:#ddedd6!important;animation:friend-cue 1.1s ease-in-out infinite}.friend-happy>svg{animation:friend-thanks .65s ease-in-out}.friend-try-again{animation:friend-retry .35s ease-out}
.friend-finish{display:grid;place-items:center;gap:11px}.friend-finish-dino{display:block;width:110px;height:125px}.friend-finish-dino>svg{width:100%;height:100%}.friend-finish h3{margin:0;font-size:24px;color:#38644e}.friend-keeps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}.friend-keeps>span{display:grid;place-items:center;gap:4px;background:#eff2d8;border-radius:15px;padding:9px 4px;min-width:0}.friend-keeps b{font-size:20px}.friend-keeps small{font-size:12px;margin-left:3px}.friend-keeps .friend-picture{width:68px;height:60px}.friend-keeps .friend-eggs{grid-template-columns:repeat(3,18px);gap:1px}.friend-keeps .friend-eggs>.egg-art{width:18px;height:25px}.friend-finish p{font-size:14px!important;margin:2px 0!important}
@keyframes friend-cue{50%{box-shadow:0 0 0 4px #8cba7850}}@keyframes friend-thanks{35%{transform:translateY(-5px) rotate(-3deg)}70%{transform:translateY(0) rotate(2deg)}}@keyframes friend-retry{40%{transform:translateX(-3px)}75%{transform:translateX(2px)}}
@media(max-width:350px){.friend-request{gap:8px;grid-template-columns:80px minmax(0,1fr)}.friend-dino{height:130px}.friend-ask{padding:8px;min-height:130px}.friend-ask strong{font-size:19px}.friend-ask small{font-size:11px}.friend-choices{gap:6px}.friend-choices button{min-height:127px;padding:7px 3px}.friend-choices b{font-size:20px}.friend-picture{width:66px;height:71px}.friend-eggs{grid-template-columns:repeat(3,18px);gap:1px}.friend-eggs>.egg-art{width:18px;height:26px}.friend-caption{font-size:13px!important}.friend-keeps{gap:6px}}
@media(orientation:landscape) and (max-height:550px){.friend-request{grid-template-columns:90px minmax(0,1fr);max-width:390px;margin:0 auto 11px}.friend-dino{height:106px}.friend-ask{min-height:100px;padding:8px}.friend-model .friend-picture{height:50px;width:65px}.friend-choices button{min-height:104px;grid-template-columns:minmax(0,1fr) auto;gap:4px}.friend-picture{height:75px;width:85px}.friend-caption{margin:11px 0 6px!important}.friend-finish-dino{height:95px}.friend-nest{height:48px;width:68px}}
@media(prefers-reduced-motion:reduce){.friend-help,.friend-happy>svg,.friend-try-again{animation:none}}

/* Both passengers share the real truck transform; front rail covers their legs. */
.crew-truck .crew-boy{opacity:var(--crew-boy-opacity,1)}
#surface[data-phase=delivery] .crew-poppy{transform-origin:260px 151px;animation:school-cab-ride .46s ease-in-out infinite alternate}
@keyframes school-cab-ride{from{transform:translateY(0) rotate(-.3deg)}to{transform:translateY(-1.1px) rotate(.35deg)}}
@media(prefers-reduced-motion:reduce){#surface[data-phase=delivery] .crew-poppy{animation:none}}
