*{box-sizing:border-box}body{margin:0;padding:18px;background:#fff9ed;color:#27334b;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}button{font:inherit;touch-action:manipulation;cursor:pointer}button:focus-visible{outline:4px solid #ffbf47;outline-offset:3px}.shell{max-width:850px;min-height:calc(100vh - 36px);margin:auto;padding:clamp(18px,4vw,34px);background:#fff;border-radius:28px;box-shadow:0 14px 50px #29345212;display:flex;flex-direction:column}.topline{display:flex;justify-content:space-between;gap:12px;align-items:center}.brand{font-weight:900;color:#f06f5a;font-size:13px;letter-spacing:.04em}.pill{background:#f1efff;color:#6252b6;border-radius:50px;padding:7px 12px;font-size:12px;font-weight:800}.eyebrow{color:#9c8b76;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:900;margin:23px 0 4px}.shell h1{font-size:clamp(28px,5vw,42px);line-height:1.1;letter-spacing:-.04em;margin:5px 0 7px}.intro{color:#707b8e;margin:0 0 20px}.play-card{background:#f7f5ff;border-radius:23px;padding:clamp(16px,3vw,25px);min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.prompt{font-size:clamp(18px,3vw,24px);font-weight:850;margin:0 0 19px}.choices{width:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.choice{min-width:82px;min-height:76px;padding:10px;border:0;border-radius:18px;background:#fff;box-shadow:0 5px 0 #e4e1ef;color:#27334b;font-size:25px;font-weight:800;transition:transform .14s,box-shadow .14s}.choice:hover{transform:translateY(-2px);box-shadow:0 7px 0 #dedbec}.choice small{display:block;font-size:11px;margin-top:4px}.feedback{min-height:34px;margin:12px 0 4px;font-weight:850;color:#59667d}.feedback.good{color:#3a9c70}.feedback.try{color:#d66a4b}.controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:15px}.control{border:0;border-radius:13px;background:#26334c;color:white;padding:11px 18px;font-weight:800}.control.soft{background:#f2f3f8;color:#46516a}.score{font-size:12px;font-weight:800;color:#737f93}.color-dot{width:54px;height:54px;border-radius:50%;margin:0 auto 3px;border:4px solid #fff;box-shadow:0 3px 8px #27334b18}.shape{display:block;width:42px;height:42px;margin:auto auto 5px;background:#ffd166}.shape.circle{border-radius:50%}.shape.square{background:#67cdbd;border-radius:7px}.shape.triangle{background:#ff7c68;clip-path:polygon(50% 0,0 100%,100% 100%)}.shape.star{background:#a796ef;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,20% 94%,31% 57%,2% 35%,39% 35%)}.bubble{border-radius:50%;width:58px;height:58px;min-width:58px;min-height:58px;background:linear-gradient(145deg,#a6dfff,#69b4ef);color:#fff;text-shadow:0 1px 2px #47799a;box-shadow:inset -4px -6px 0 #4c9dd344,0 4px 0 #d1e5f0}.memory-grid{display:grid;grid-template-columns:repeat(4,minmax(54px,90px));gap:10px;justify-content:center}.memory-card{aspect-ratio:1;border:0;border-radius:15px;background:#a899f1;color:#fff;font-size:30px;box-shadow:0 4px 0 #8375d3}.memory-card.open,.memory-card.matched{background:#fff;color:#26334c;box-shadow:0 0 0 2px #dbd8ed}.pattern-icon{font-size:37px;min-width:52px}.food-basket{font-size:44px;margin-bottom:8px}.maze{display:grid;grid-template-columns:repeat(5,48px);grid-template-rows:repeat(5,48px);gap:5px;margin:3px auto 15px}.maze-cell{width:48px;height:48px;border-radius:12px;background:#fff}.maze-cell.wall{background:#c5e9df}.maze-cell.player,.maze-cell.goal{display:grid;place-items:center;background:#fff0ca;font-size:27px}.maze-cell.goal{background:#daf5df}.direction-pad{display:grid;grid-template-columns:repeat(3,48px);gap:5px}.direction-pad button{height:43px;border:0;border-radius:12px;background:#283650;color:#fff;font-size:20px}.direction-pad button:nth-child(1){grid-column:2}.direction-pad button:nth-child(2){grid-column:1;grid-row:2}.direction-pad button:nth-child(3){grid-column:2;grid-row:2}.direction-pad button:nth-child(4){grid-column:3;grid-row:2}.shadow-option{filter:grayscale(1);opacity:.65}.canvas-wrap{width:100%;height:min(48vh,320px);min-height:200px;border:2px dashed #d5d0ec;border-radius:18px;overflow:hidden;background:#fff;touch-action:none}.canvas-wrap canvas{width:100%;height:100%;display:block;touch-action:none}.color-tools{display:flex;justify-content:center;gap:9px;margin:13px 0}.color-tools button{width:35px;height:35px;border-radius:50%;border:3px solid white;box-shadow:0 0 0 1px #d8d9e2}.color-tools button.selected{box-shadow:0 0 0 3px #303b51}.footer-note{margin-top:auto;padding-top:17px;text-align:center;color:#a0a7b4;font-size:10px}.match-scene{font-size:66px;margin:0 0 8px}.status-line{font-size:12px;font-weight:800;color:#758197}.@media(max-width:520px){body{padding:8px}.shell{min-height:calc(100vh - 16px);border-radius:20px;padding:20px 15px}.play-card{min-height:245px}.choice{min-width:68px;min-height:69px}.maze{grid-template-columns:repeat(5,42px);grid-template-rows:repeat(5,42px)}.maze-cell{width:42px;height:42px}.memory-grid{gap:7px}.memory-card{font-size:25px}}
@media(max-width:520px){body{height:100dvh;overflow:hidden}.shell{height:calc(100dvh - 16px);min-height:0;overflow:hidden;padding:clamp(10px,2.5vh,20px) 15px}.play-card{flex:1;min-height:0;padding:clamp(10px,2vh,18px)}.prompt{margin-bottom:10px}.controls{margin-top:9px}.footer-note{padding-top:8px}.canvas-wrap{height:min(40vh,280px);min-height:130px}}
@media(max-height:680px){.shell{padding:10px 12px}.eyebrow{margin:9px 0 2px}.shell h1{font-size:clamp(24px,4vh,32px)}.intro{font-size:12px;margin-bottom:8px}.play-card{padding:10px;min-height:0}.prompt{margin-bottom:8px}.choices{gap:6px}.choice{min-width:64px;min-height:55px;padding:6px;font-size:21px}.feedback{min-height:24px;margin:7px 0 2px}.controls{margin-top:7px}.control{padding:8px 12px}.footer-note{display:none}.score{margin:4px 0}.maze{grid-template-columns:repeat(5,34px);grid-template-rows:repeat(5,34px);gap:4px}.maze-cell{width:34px;height:34px}.direction-pad{grid-template-columns:repeat(3,38px);gap:4px}.direction-pad button{height:36px}.memory-grid{gap:5px}.memory-card{font-size:22px}.canvas-wrap{height:min(34vh,240px);min-height:110px}}
