/* Large pictorial controls; every task is playable without reading. */
body.child-game{background:radial-gradient(ellipse at 30% 0,#fff8eb,#edf4eb 70%);-webkit-tap-highlight-color:transparent}
.child-game .intro,.child-game .side-kicker,.child-game .side>h2,.child-game .story,.child-game .tiny-note,.child-game .footer{display:none}
.child-game .topbar{height:74px}.child-game .brand{font-size:15px}.child-game .brand small{display:none}
.child-game .main{margin-top:0}.child-game .game{min-height:620px;grid-template-columns:minmax(0,1fr) 330px}
.child-game .stage{min-height:620px}.child-game .scene{background-size:cover;background-position:center}
.child-game .side{padding:20px;gap:12px;background:linear-gradient(150deg,#fffdf7,#f9fcf7)}
.child-game .stepper{margin-bottom:3px}.child-game #details{display:flex;flex-direction:column;gap:14px;flex:1}
.child-game .side-actions{margin-top:0}.child-game .primary{min-height:76px;border-radius:23px;background:linear-gradient(#2ca99d,#14796e);box-shadow:inset 0 3px 0 #ffffff50,0 6px 0 #105c58,0 10px 18px #12524c20;font-size:33px;border:2px solid #ffffff75}
.child-game .primary:disabled{opacity:.45;cursor:default;transform:none}.child-game .primary:active{transform:translateY(3px);box-shadow:0 3px 0 #105c58}
.child-game .secondary{min-height:57px;font-size:26px;background:linear-gradient(#f4f9ef,#e4f0e6);box-shadow:0 3px 0 #c9dfce;border:1px solid #dbe8dc}
.child-game .help{width:49px;height:49px;font-size:23px;background:#fff7e6;border:1px solid #f3e5cb}
.child-game .pill{min-width:80px;font-size:21px;border:0;box-shadow:0 3px 0 #d4e3d5;background:white}
.child-game .scene-overlay{padding:20px}.child-game .level-dots{display:none}
.hud-symbol{display:flex;align-items:center;justify-content:center;gap:10px;background:#fffaf0f0;border:2px solid #fff;border-radius:19px;box-shadow:0 7px 20px #354d3e28;min-width:62px;min-height:61px;padding:10px 16px;font-size:30px}
.scene-picture-button{pointer-events:auto;border:3px solid white;background:linear-gradient(#58bde0,#167a9d);border-radius:24px;width:86px;height:86px;font-size:40px;color:white;box-shadow:0 6px 0 #185e76,0 10px 24px #203a4544;animation:beckon 2.5s infinite}
.fault-hotspot{position:absolute;left:67%;top:17%;width:19%;height:27%;pointer-events:auto;border:0;border-radius:45%;background:transparent}.fault-hotspot:after{content:'👆';position:absolute;right:2%;bottom:0;font-size:36px;filter:drop-shadow(0 3px 4px #24362c66);animation:beckon 2s infinite}.fault-hotspot:hover{outline:3px solid #ffebae;background:#ffd96616}
@keyframes beckon{50%{transform:translateY(-4px)}}
.resident-card{display:flex;align-items:center;justify-content:center;gap:18px;min-height:130px;background:linear-gradient(#fffaf0,#f5ead7);border:2px solid white;border-radius:23px;box-shadow:0 5px 0 #e2d9c6}
.resident-face{font-size:68px;filter:drop-shadow(0 5px 4px #60765728)}.resident-story{font-size:37px}.visual-arrow{font-size:27px;color:#91a794}
.clue-card{display:flex;align-items:center;justify-content:center;gap:16px;background:#e9f5ec;border:2px solid white;border-radius:22px;min-height:110px}
.door-token{display:grid;place-items:center;border-radius:16px;width:65px;height:73px;font-size:31px;box-shadow:inset 0 3px 0 #ffffff7a,0 4px 0 #abbcb4;border:3px solid #fff}
.entrance-layer{position:absolute;inset:0;pointer-events:none}
.entrance-target{pointer-events:auto;position:absolute;top:41%;width:15%;height:30%;border:3px solid transparent;border-radius:17px;background:transparent;display:flex;justify-content:center;align-items:flex-start;padding:0;transition:.2s}
.entrance-target .door-token{width:59px;height:58px;font-size:26px;position:relative;top:-4px}.entrance-target small{position:absolute;right:-7px;top:-9px;background:white;color:#425851;border-radius:50%;width:23px;height:23px;font-size:13px;display:grid;place-items:center}
.entrance-target:hover{background:#fff3;border-color:#ffffff95}.entrance-target.is-target{background:#fabe6333;border-color:#ffd984;box-shadow:0 0 25px #ffeab399}
.entrance-target.is-target .door-token{animation:beckon 1.8s infinite;outline:4px solid #ffd978}
.clock-face{width:94px;height:94px;background:conic-gradient(#e9ad50 360deg,#e2e9df 0);border-radius:50%;position:relative;display:grid;place-items:center;box-shadow:0 4px 12px #38504020}
.clock-face:before{content:'⌛';position:absolute;inset:9px;background:#fffaf0;border-radius:50%;display:grid;place-items:center;font-size:35px}.clock-wrap{display:flex;justify-content:center;padding:7px}
.visual-feedback{height:36px;text-align:center;font-size:27px}.visual-feedback.good{animation:pop .35s}
@keyframes pop{50%{transform:scale(1.2)}}
.task-reference{display:flex;align-items:center;justify-content:center;gap:10px;border-radius:18px;background:#eef6ef;min-height:67px;padding:10px;font-size:29px}
.repair-board{border:2px solid white;border-radius:24px;padding:16px 12px;background:linear-gradient(145deg,#edf2e8,#dce8db);box-shadow:inset 0 -5px 0 #d2dfce,0 5px 0 #c8d9c5;display:flex;flex-direction:column;gap:14px}
.match-row{display:grid;grid-template-columns:68px 1fr 68px;gap:8px;align-items:center;min-height:73px}
.part,.socket-btn,.tile-button,.big-toy,.sequence-button{display:grid;place-items:center;border-radius:17px;border:3px solid #fff;min-width:60px;min-height:64px;font-size:32px;box-shadow:inset 0 3px 0 #ffffff88,0 5px 0 #9caf9d;background:linear-gradient(#fffdf4,#f2ead5);touch-action:manipulation}
.part.selected,.tile-button.selected{outline:4px solid #f7b848;outline-offset:3px;transform:translateY(-2px)}
.socket-btn{background:#ccd9cb;box-shadow:inset 0 3px 7px #536e5140;outline:2px dashed #9eafa0;outline-offset:-7px;color:#718976}
.match-line{height:9px;border-radius:20px;background:#b9ccba;box-shadow:inset 0 2px 3px #637e6040}
.match-line.lit{background:#71b693;box-shadow:0 0 7px #5cba82}
.part:disabled,.socket-btn:disabled{cursor:default}.socket-btn.fitted{outline:0;box-shadow:inset 0 2px 0 #ffffff80,0 4px 0 #9caf9d}
.quantity-target{display:flex;gap:10px;justify-content:center;font-size:29px;letter-spacing:5px;color:#ca9442}
.battery{min-height:113px;background:#e9f3df;border:6px solid #9bbd94;border-radius:17px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;padding:15px;position:relative}.battery:after{content:'';position:absolute;top:26px;right:-14px;width:8px;height:38px;background:#9bbd94;border-radius:0 5px 5px 0}.energy-star{font-size:30px}
.task-buttons{display:flex;justify-content:center;gap:14px}.task-buttons button{flex:1}
.sequence-tray{display:flex;gap:11px;justify-content:center}.sequence-button{width:74px;height:85px;font-size:27px;opacity:.75}.sequence-button.flashing{opacity:1;filter:brightness(1.25);box-shadow:0 0 22px #e7c45f;transform:scale(1.08)}
.puzzle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.picture-piece{height:93px;overflow:hidden;border:2px solid white;border-radius:13px;background:#d5dfd2;background-repeat:no-repeat;background-size:200% 200%;box-shadow:0 4px 0 #aec1ad}.picture-piece.target{opacity:.36;box-shadow:inset 0 2px 7px #354d3e30}.picture-piece.target.fitted{opacity:1}.picture-tray{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.picture-tray .picture-piece{height:64px}
.track-scene{position:relative;height:220px;border-radius:19px;background:linear-gradient(#c9d7ce 0 73%,#b4c2b6 73% 77%,#eff0df 77%);overflow:hidden}.track-elevator{position:absolute;left:20%;right:20%;top:13%;bottom:24%;border:7px solid #e9f0e3;background:linear-gradient(90deg,#7eaaa4 49%,#d6e3d4 49% 51%,#7eaaa4 51%);border-radius:9px 9px 0 0}.track-line{position:absolute;left:8%;right:8%;bottom:18%;height:10px;border-radius:5px;background:#7d9284}.track-toy{position:absolute;bottom:15%;min-width:60px;min-height:65px;font-size:35px;border:0;background:transparent;padding:0;filter:drop-shadow(0 4px 2px #425f4c44)}.basket{font-size:43px;text-align:center}
.route-board{display:flex;align-items:center;justify-content:center;gap:7px;padding:20px 4px}.route-tile{height:70px;width:64px;position:relative;border:3px solid #fff;border-radius:15px;background:#c6d9cd;box-shadow:0 4px 0 #9db8a3;overflow:hidden}.route-tile span{position:absolute;left:4%;right:4%;top:40%;height:20%;border-radius:7px;background:linear-gradient(#70b8d1,#3693b2);box-shadow:0 2px 0 #1a7190;transform-origin:center}.route-end{font-size:28px}
.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.memory-card{height:85px;font-size:34px;border-radius:18px;border:3px solid white;background:linear-gradient(#4a9e9c,#287c7c);box-shadow:0 5px 0 #1c6664;color:white}.memory-card.revealed{background:#fff4d7}.memory-card.matched{background:#def1dc;box-shadow:0 4px 0 #abd0ae}
.reward-picture{display:flex;align-items:center;justify-content:center;gap:15px;min-height:150px;background:linear-gradient(#fff5d3,#ffe5a8);border:2px solid white;border-radius:25px;font-size:54px;box-shadow:0 5px 0 #e5c77a}.sticker-progress{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;padding:13px}.sticker-progress span{font-size:22px;opacity:.22}.sticker-progress .earned{opacity:1}
.album-modal{position:fixed;inset:0;background:#183e3ab5;z-index:30;display:flex;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(8px)}.album-page{background:#fff8e7;border:5px solid white;border-radius:30px;width:min(650px,100%);padding:24px;box-shadow:0 20px 70px #102b3d44}.album-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;font-size:35px}.album-close{border:0;background:#e8eee2;border-radius:50%;width:51px;height:51px;font-size:25px}.album-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.mission-tile{border:3px solid white;border-radius:19px;background:#e6eddf;min-height:91px;font-size:34px;position:relative;box-shadow:0 4px 0 #c5d2ba}.mission-tile.completed{background:#fff0b9}.mission-tile small{font-size:14px;position:absolute;right:7px;bottom:5px;color:#6b8172}.hand-hint{animation:beckon 1.4s infinite}
@media(max-width:1000px){.child-game .game{grid-template-columns:minmax(0,1fr) 300px}.child-game .stage,.child-game .game{min-height:570px}.match-row{grid-template-columns:62px 1fr 62px;gap:6px}}
@media(max-width:700px){.child-game .game{display:flex;flex-direction:column;min-height:0}.child-game .stage{min-height:0;height:43vh;max-height:440px;flex:none}.child-game .side{padding:15px;min-height:0;gap:10px}.child-game .side #details{flex:none;gap:10px}.child-game .resident-card{min-height:83px}.resident-face{font-size:47px}.resident-story{font-size:30px}.clue-card{min-height:78px}.child-game .primary{min-height:66px}.child-game .topbar{height:65px}.child-game .brand{font-size:12px;letter-spacing:.02em}.child-game .brand-mark{width:33px;height:33px}.child-game .help{width:43px;height:43px}.child-game .pill{font-size:18px;min-width:65px;padding:6px 10px}.child-game .scene-overlay{padding:12px}.hud-symbol{min-height:44px;min-width:44px;padding:7px 10px;font-size:23px}.scene-picture-button{width:66px;height:66px;font-size:32px}.entrance-target{top:41%;height:32%;width:18%}.entrance-target .door-token{width:43px;height:43px;font-size:23px;border-radius:12px}.entrance-target small{width:19px;height:19px;font-size:11px}.repair-board{padding:11px;gap:10px}.match-row{min-height:63px}.part,.socket-btn{min-height:58px;font-size:27px}.reward-picture{min-height:100px;font-size:45px}.picture-piece{height:83px}.picture-tray .picture-piece{height:62px}.memory-card{height:70px}.clock-face{width:75px;height:75px}.clock-face:before{font-size:28px}.album-grid{gap:8px}.mission-tile{min-height:71px;font-size:27px}.album-page{padding:15px}.child-game .stage[data-phase="search"] .scene,.child-game .stage[data-phase="remember"] .scene{background-size:100% 100%}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

