/* Game-first interactions; stage artwork stays behind the one active task. */
.game-object{--size:100px;display:inline-block;flex-shrink:0;width:var(--size);height:var(--size);background-image:url('assets/objects.png');background-repeat:no-repeat;background-size:400% 300%;vertical-align:middle;pointer-events:none}
.obj-eggs{background-position:0 0}.obj-milk{background-position:33.333% 0}.obj-flour{background-position:66.667% 0}.obj-spoon{background-position:100% 0}.obj-bowl{background-position:0 50%}.obj-pan{background-position:33.333% 50%}.obj-pancakes{background-position:66.667% 50%}.obj-berries{background-position:100% 50%}.obj-bananas{background-position:0 100%}.obj-water{background-position:33.333% 100%}.obj-basket{background-position:66.667% 100%}.obj-umbrella{background-position:100% 100%}
.emoji-object{display:inline-grid;place-items:center;font-size:60px;width:100px;height:100px;vertical-align:middle;pointer-events:none}.inventory .game-object{--size:110px;display:block;margin:auto}.inventory .ingredient{min-height:150px;min-width:140px;position:relative;padding:10px}.ingredient>span:last-child{display:block;font-size:17px}.inventory{margin:15px 0 8px}.gesture-hint{text-align:center;font-size:12px;color:#786c79;margin:12px 0}.mini-reward{text-align:center;color:#8b7183;font-size:12px;margin:16px}.task-title{font-size:clamp(22px,2.8vw,30px);min-height:92px;transition:box-shadow .2s}.is-reading{outline:3px solid #a9c8c4;box-shadow:0 0 0 6px #ffffff80}.task-title.is-reading{outline:0;box-shadow:0 0 0 4px #a9c8c4}.recipe-slots{display:flex;justify-content:center;gap:8px;margin:12px 0}.recipe-slot{display:flex;align-items:center;background:#fff8e9;border:2px solid #f1e0cc;border-radius:16px;font-size:15px;font-weight:700;padding:3px 10px 3px 3px}.recipe-slot .game-object{--size:36px}.recipe-slot.filled{background:#def1e0;border-color:#8cb79a}.ingredient-bowl,.mix-bowl{background:none;border:0;box-shadow:none;outline:0;height:205px;min-width:205px;max-width:260px;position:relative;padding:0;overflow:visible;margin:0 auto;display:block}.bowl>.obj-bowl{--size:215px}.bowl-items{position:absolute;top:42%;left:16%;right:16%;font-size:16px;display:flex;justify-content:center;gap:4px;flex-wrap:wrap}.added-dot{border-radius:10px;background:#fff8e9dd;padding:3px}.mix-bowl{touch-action:none}.mix-spoon{--size:145px!important;position:absolute;left:27%;top:-4%;transform:rotate(var(--stir,0deg));transform-origin:50% 75%;transition:transform .18s}.hob{position:relative;display:block;margin:20px auto 0;background:#ede6e0;width:250px;height:200px;border:7px solid #fffbf3;border-radius:30px;padding:0}.hob>.obj-pan{--size:200px;position:relative;z-index:2}.hob-ring{position:absolute;left:50%;top:50%;translate:-50% -50%;border:7px solid #c3bbb5;border-radius:50%;width:130px;height:100px;z-index:1}.hob-ring.hot{border-color:#f09b58;box-shadow:0 0 20px #f4af6d}.pan-cake{--size:95px!important;position:absolute;top:25%;left:23%;z-index:3}.plate-display,.serve-plate{position:relative;width:240px;height:210px;margin:15px auto;background:none;padding:0}.plate-display>.obj-pancakes,.serve-plate>.obj-pancakes{--size:210px}.served-berries,#toppingArt .game-object{--size:88px!important;position:absolute;top:20px;left:75px}.guest-area{position:absolute;left:0;bottom:0;width:205px;height:255px;z-index:4}.guest-area .guest{left:0;bottom:0}.serve-target{position:absolute;bottom:-6px;left:15px;background:#fff8e8;border:3px dashed #cb9a89;z-index:5;min-width:175px;font-size:15px}.serve-arrow{font-size:45px;color:#a87583;position:absolute;left:-25px;top:65px}.served:after{content:'♥';position:absolute;top:12px;right:40px;font-size:50px;color:#d798a1}.serve-plate{border:3px dashed #e7b199;border-radius:30px;cursor:grab}.picnic-scene,.workshop-scene{border:6px solid white;border-radius:30px;padding:24px;min-height:470px;position:relative;overflow:hidden}.picnic-scene{background:#e5edce url('assets/picnic.png') center/cover}.workshop-scene{background:radial-gradient(ellipse at bottom,#ece0c9 0 35%,transparent 36%),linear-gradient(130deg,#ede3f1,#e5edde)}.picnic-basket{position:relative;margin:20px auto 0;width:250px;height:205px}.picnic-basket>.obj-basket{--size:215px;position:absolute;left:15px;bottom:0}.packed-items{position:absolute;top:4px;left:0;right:0;display:flex;justify-content:center;gap:0;flex-wrap:wrap}.packed-items .game-object{--size:57px;filter:drop-shadow(0 3px 3px #7774)}.answer-tile{position:relative;background:#fffaf1;border-radius:24px;border:3px solid #efe2d2;min-width:0;transition:transform .2s;overflow:hidden}.answer-tile .choice{width:100%;height:100%;border:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:none;padding:18px 38px 18px 18px;min-height:135px;line-height:1.4;font-size:18px}.answer-tile .choice .game-object{--size:95px}.answer-tile .choice .answer-label{font-size:17px}.answer-speaker{position:absolute;right:5px;top:6px;padding:6px;width:44px;height:44px;min-height:44px;background:#f0e7f2;border-radius:50%;font-size:17px}.choice-area{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px auto}.feedback{position:sticky;bottom:12px;z-index:10;margin:8px auto;max-width:650px;background:#fffaf2;border-radius:20px;padding:14px 20px;min-height:0;box-shadow:0 3px 20px #493a4310;font-size:18px}.feedback:empty{padding:0;box-shadow:none}.celebrate .task-title{background:#e7f3e4}.packed .game-object{opacity:.65}.word{font-size:22px;border-width:2px;background:#fffdf8;box-shadow:0 4px 0 #d7c9dc}.sentence{min-height:110px;border:3px dashed #cdbbd1;padding:14px;align-items:center}.word-bank{padding:12px}.voice .actions{margin:20px auto}.voice #finish{margin:15px auto;display:block}.voice #skipVoice{font-size:12px;display:block;margin:auto;background:none}.sound-notice{position:fixed;z-index:200;bottom:calc(25px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#f4d49b;border:3px solid white;box-shadow:0 4px 25px #4b394b30}
.reward-finale{position:relative;overflow:hidden;background:linear-gradient(#fffdf8,#f9f1df);border:5px solid white;max-width:780px}.reward-burst{font-size:38px;color:#dba643;letter-spacing:25px}.reward-reveal{margin:24px auto;background:#fff7d8;border:3px solid #f0d28a;border-radius:28px;padding:20px;max-width:420px}.reward-chest{font-size:65px}.earned-stars{font-size:40px;letter-spacing:8px;margin-top:-10px}.reward-reveal h2{font-size:34px;color:#9c6c30;margin:12px}.reward-total{display:inline-block;border-radius:24px;padding:12px 20px;background:white;font-weight:bold}.reward-pet{position:relative;max-width:300px;margin:auto}.reward-pet .character{margin:auto}.sticker-pop{font-size:55px;position:absolute;right:10px;top:45px;rotate:12deg}.earned-badge{padding:12px;background:#e4edde;border-radius:18px;max-width:440px;margin:auto;font-weight:bold}.real-mission{background:#f3eadc;border-radius:20px;padding:18px;margin:0 auto 24px;max-width:500px}.real-mission p{margin:8px 0 0}.completion .actions{padding:0}.game .stage{min-height:290px}.obj-sugar{background-image:none}.recipe-slots .game-object{display:inline-block}
@keyframes add-pop{0%,100%{scale:1}50%{scale:1.08}}@keyframes flip-cake{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -50px;rotate:180deg}}@keyframes reward-open{0%{scale:.6;opacity:0;rotate:-8deg}75%{scale:1.08;opacity:1;rotate:4deg}100%{scale:1;rotate:0deg}}@keyframes nudge{0%,100%{translate:0}25%{translate:-5px}75%{translate:5px}}
@media(prefers-reduced-motion:no-preference){.add-pop{animation:add-pop .45s}.flip .pan-cake{animation:flip-cake .6s}.reward-reveal{animation:reward-open .85s}.earned-stars{animation:reward-open 1.2s}.try-again{animation:nudge .35s}.celebrate .character{animation:add-pop .5s 2}}
@media(max-width:1000px){.guest-area{left:-28px;width:165px}.guest-area .guest{transform:scale(.65)}.serve-target{left:18px;min-width:140px;font-size:13px}.work-area{max-width:60%}}
@media(max-width:600px){.game{padding:10px}.game-nav{font-size:11px}.step-dot{width:25px;height:25px;font-size:11px}.task-title{font-size:21px;padding:12px;min-height:90px;line-height:1.3}.kitchen,.picnic-scene,.workshop-scene{padding:12px;min-height:390px}.game .stage{min-height:260px;padding-bottom:15px}.work-area{max-width:80%;padding:0}.guest-area{left:-14px;width:116px;height:175px}.guest-area .guest{left:0;transform:scale(.43)}.serve-target{left:0;bottom:-8px;min-width:102px;font-size:11px;padding:9px}.guide{right:-12px;transform:scale(.43)}.recipe-slots{gap:3px;margin:8px -10px}.recipe-slot{font-size:12px;padding:3px 6px 3px 0}.recipe-slot .game-object{--size:30px}.bowl.ingredient-bowl,.mix-bowl{height:175px;min-width:175px;width:175px;margin:0 auto;max-width:175px}.bowl>.obj-bowl{--size:175px}.mix-spoon{--size:120px!important;left:25%;top:-5px}.bowl-items{font-size:12px;gap:2px}.inventory{gap:8px;margin:12px 0}.inventory .ingredient{width:calc((100% - 16px)/3);min-width:0;min-height:120px;padding:5px}.inventory .game-object{--size:85px}.ingredient>span:last-child{font-size:14px}.choice-area{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.answer-tile{border-radius:18px;border-width:2px}.answer-tile .choice{padding:40px 6px 10px;min-height:160px;font-size:13px}.answer-tile .choice .answer-label{font-size:13px;display:block;margin:0}.answer-tile .choice .game-object{--size:70px}.answer-tile .choice .emoji-object{font-size:45px;width:70px;height:70px}.answer-speaker{top:4px;right:4px;width:36px;min-height:44px;height:44px}.forest .choice-area{grid-template-columns:repeat(3,minmax(0,1fr))}.cafe .answer-tile:has(.choice[data-serve]) .choice{min-height:160px}.plate-display,.serve-plate{width:185px;height:175px}.plate-display>.obj-pancakes,.serve-plate>.obj-pancakes{--size:170px}.served-berries,#toppingArt .game-object{--size:70px!important;top:12px;left:60px}.serve-arrow{left:-10px;font-size:32px}.hob{width:190px;height:160px;margin:14px auto 0}.hob>.obj-pan{--size:160px}.hob-ring{width:110px;height:85px}.pan-cake{--size:75px!important;left:22%;top:23%}.picnic-basket{width:180px;height:175px}.picnic-basket>.obj-basket{--size:175px;left:0}.packed-items .game-object{--size:40px}.feedback{font-size:15px;padding:12px;max-width:95%;bottom:12px}.word{font-size:20px;padding:12px;min-width:44px}.word-bank{gap:8px;padding:8px}.sentence{gap:6px;min-height:115px;padding:8px}.sentence .word{font-size:16px;padding:8px}.reward-finale{margin:15px 10px}.reward-reveal{padding:16px}.reward-reveal h2{font-size:29px}.reward-burst{font-size:27px;letter-spacing:13px}.reward-total{font-size:14px}.earned-stars{font-size:32px}.completion .actions{gap:10px}.voice{padding:20px 12px}.voice h2{font-size:24px;line-height:1.4}.sound-notice{max-width:85vw;white-space:nowrap}.game .actions{padding-right:40px}.mini-reward{margin:12px;font-size:11px}}
.obj-water{clip-path:inset(0 8% 0 12%)}#toTop{opacity:0;pointer-events:none;transition:opacity .15s}#toTop.show{opacity:1;pointer-events:auto}@media(max-width:600px){.choice-area,.inventory,.puzzle-tray{padding-right:46px}.memory-grid{margin-right:45px}.puzzle-board{margin-right:38px}.voice .actions{padding-right:45px}}
