/* Seven independent, keyboard- and touch-operable activities. */
.memory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.memory-card{aspect-ratio:1/1;display:grid;place-items:center;position:relative;border:2px solid #e8b3d2;border-radius:17px;background:#fff9fd;box-shadow:0 5px 0 #deb2d1;overflow:hidden;min-width:0;transition:transform .17s}.memory-card .card-back{width:34px;height:34px;color:#a81e73}.memory-card img{position:absolute;width:68%;height:68%;object-fit:contain;visibility:hidden}.memory-card.is-open .card-back,.memory-card.is-matched .card-back{visibility:hidden}.memory-card.is-open img,.memory-card.is-matched img{visibility:visible}.memory-card.is-matched{border-color:#57a894;background:#f1fcf6;box-shadow:0 3px 0 #91c8b7}.memory-card.is-matched:after{content:"";position:absolute;right:10px;top:10px;width:8px;height:8px;border-radius:50%;background:#21785d}.postmark-meter{display:flex;gap:10px;margin:15px 0}.postmark-meter span{width:29px;height:29px;background:transparent;border:2px dashed var(--accent);border-radius:50%}.postmark-meter span.is-stamped{background:var(--accent);border-style:solid}
.catch-stage{position:relative;isolation:isolate;height:395px;overflow:hidden;background:linear-gradient(#b3e9ed 0%,#effbed 74%,#91ddd7 74%,#e0f3d4 100%);border:2px solid #499d97;border-radius:25px;touch-action:pan-y}.catch-stage:before{content:"";position:absolute;width:210px;height:65px;border-radius:50%;background:#ffffff9c;top:22px;left:-40px;box-shadow:220px 40px 0 #ffffff75,360px -20px 0 #ffffff88;z-index:-1}.catch-stage:after{content:"";position:absolute;inset:75% 0 0;border-top:2px dashed #489a8e;z-index:-1}.catch-basket{position:absolute;width:19%;height:48px;bottom:14px;left:40.5%;background:linear-gradient(#ffdc8c,#eaaa43);border:4px solid #875722;border-radius:8px 8px 26px 26px;box-shadow:inset 0 5px #fff1c6;pointer-events:none}.catch-basket:before{content:"";position:absolute;width:72%;height:28px;border:5px solid #875722;border-bottom:0;border-radius:60px 60px 0 0;bottom:100%;left:14%}.catch-fruit{position:absolute;top:0;width:48px;height:48px;object-fit:contain;pointer-events:none;will-change:transform}.catch-instructions{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:35px;background:#f4fffc88;color:#104546;pointer-events:none}.catch-instructions strong{font-size:25px;color:#104546}.catch-instructions p{color:#365e58;font-size:14px;max-width:28ch}.catch-controls{display:flex;gap:10px;justify-content:center;margin-top:12px}.catch-controls button{width:74px;height:46px;color:var(--ink);border:1px solid var(--line);border-radius:14px;background:var(--card)}
.slide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-width:400px;margin-inline:auto;background:#362433;border:12px solid #362433;border-radius:22px;box-shadow:0 9px 0 #bba9ba}.slide-tile{min-width:0;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:12px;border:2px solid #fff4e0;background:linear-gradient(145deg,#fdbbc2,#ef97a6);color:#50273a;font-size:clamp(25px,4vw,39px);font-weight:900;box-shadow:inset 0 5px 0 #ffffff88}.slide-tile:nth-child(3n+2){background:linear-gradient(135deg,#ded1fb,#b6a9db)}.slide-tile:nth-child(3n){background:linear-gradient(135deg,#f7e5a5,#ffd183)}.slide-tile.blank{background:#473044;border:2px dashed #bd90b4;box-shadow:none}.slide-tile.is-complete{border-color:#89d9b2}.slide-preview{display:grid;grid-template-columns:repeat(3,32px);gap:4px;padding:0 22px 22px}.slide-preview span{border:1px solid var(--line);text-align:center;color:var(--ink);border-radius:4px;font-size:13px;padding:4px}
.maze-stage{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));aspect-ratio:1;gap:3px;border:10px solid #372451;background:#372451;border-radius:21px;max-width:478px;margin-inline:auto}.maze-cell{position:relative;border-radius:3px;min-width:0;aspect-ratio:1;background:#e4d3f7}.maze-cell.wall{background:#543373;box-shadow:inset 0 2px #724a90}.maze-cell .maze-star{position:absolute;inset:15%;background:#543173;clip-path:polygon(50% 0,63% 34%,100% 38%,72% 61%,82% 100%,50% 77%,18% 100%,29% 61%,0 38%,37% 34%)}.maze-cell[data-player=true]:after{content:"";position:absolute;inset:10%;background:#116372;border:2px solid #fbfff0;border-radius:50%;box-shadow:0 0 0 2px #136070}.maze-cell.exit:before{content:"";position:absolute;inset:8%;border:3px double #633280;border-radius:5px}.maze-cell.exit{background:#b7e6c9}.maze-pad{display:grid;grid-template-columns:repeat(3,50px);grid-template-rows:repeat(2,44px);gap:6px;justify-content:center;margin-top:17px}.maze-pad button{border:1px solid #b598d5;border-radius:10px;background:#503574;color:#fff}.maze-pad button:first-child{grid-column:2}.maze-pad button:nth-child(2){grid-column:1;grid-row:2}.maze-pad button:nth-child(3){grid-column:2;grid-row:2}.maze-pad button:nth-child(4){grid-column:3;grid-row:2}.maze-legend{font-size:13px;color:var(--muted);display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.word-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;padding:12px;border:2px solid #8fab95;background:#dbe9cd;border-radius:18px;max-width:474px;margin-inline:auto}.word-cell{aspect-ratio:1;min-width:0;display:grid;place-items:center;border:1px solid #b0c5a5;border-radius:7px;background:#fcfff4;color:#294135;font-weight:800;font-size:clamp(13px,2.1vw,21px);padding:0}.word-cell.is-selected{background:#f8d278;border-color:#91553f;outline:2px solid #91553f;outline-offset:-3px}.word-cell.is-found{background:#34664e;color:#fff9e5;border-color:#294e3b}.word-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;list-style:none;padding:0;margin:15px 0}.word-list li{border-bottom:1px solid var(--line);padding:7px 0;margin:0;font-size:14px;letter-spacing:.09em;font-weight:700}.word-list li.is-found{text-decoration:line-through;color:var(--accent)}
.stack-stage{position:relative;height:423px;overflow:hidden;border-radius:20px;background:linear-gradient(#faebcb,#f3ce9e);border:2px solid #b8885e;isolation:isolate}.stack-stage:before{content:"";position:absolute;inset:28px 0 20px;background:repeating-linear-gradient(to top,transparent 0 40px,#ba91633d 40px 41px);z-index:-1}.stack-stage:after{content:"";position:absolute;bottom:16px;left:7%;width:86%;height:18px;border-radius:9px;background:#714b44;z-index:-1}.toffee-block{position:absolute;border:2px solid #7a5146;height:37px;border-radius:8px;background:linear-gradient(#ffe6b5 0 13%,#e9b35c 14% 100%);box-shadow:inset 0 -7px #ca8c49,0 4px 5px #754e4430}.toffee-block:nth-child(2n){background:linear-gradient(#e9f9dd 0 13%,#a4d5b6 14% 100%);box-shadow:inset 0 -7px #68a28d,0 4px 5px #754e4430}.toffee-block:nth-child(3n){background:linear-gradient(#ffdce4 0 13%,#eaa7b8 14% 100%);box-shadow:inset 0 -7px #c87893,0 4px 5px #754e4430}.toffee-block.moving{border-style:dashed;z-index:2}.stack-message{position:absolute;top:35%;left:10%;right:10%;padding:18px 16px;background:#fff8e5e8;border:1px solid #b8885e;border-radius:18px;text-align:center;color:#563e34}.stack-message strong{color:#563e34;font-size:24px}.stack-message p{color:#755747;font-size:14px}
.pixel-stage{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;padding:12px;border:2px solid #b7a6cb;border-radius:20px;background:#e6dcec;max-width:453px;margin-inline:auto}.pixel-cell{min-width:0;aspect-ratio:1;border:1px solid #a695ba;border-radius:4px;background:#fffaf6;padding:0;position:relative}.pixel-cell:hover:after{content:"";position:absolute;inset:2px;border:2px dotted #352853;border-radius:3px}.palette{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}.palette button{height:44px;width:44px;display:grid;place-items:center;border:2px solid #b3a2c8;border-radius:50%;box-shadow:0 2px 0 #d7c6df;background:var(--swatch);position:relative}.palette button[aria-pressed=true]:after{content:"";width:14px;height:14px;border-radius:50%;background:#302442;box-shadow:0 0 0 3px #ffffff}.palette button[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:3px}.mosaic-tools{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.mosaic-tools button{min-height:44px;border:1px solid var(--line);background:var(--card);color:var(--ink);padding:8px 12px;border-radius:12px;font-size:13px;display:inline-flex;gap:7px;align-items:center}.studio-counter{font-size:13px;font-weight:700;margin-top:14px;color:var(--ink)}
@media(max-width:800px){.memory-grid{max-width:550px;margin-inline:auto}.catch-stage{height:380px;max-width:600px;margin-inline:auto}.game-help{padding-top:4px}.stack-stage{max-width:500px;margin-inline:auto}.word-cell{font-size:20px}.slide-tile{font-size:36px}}
@media(max-width:400px){.memory-grid{gap:8px}.memory-card{border-radius:12px;box-shadow:0 3px 0 #deb2d1}.word-grid{gap:3px;padding:7px}.word-cell{font-size:13px;border-radius:4px}.maze-stage{gap:2px;border-width:6px}.maze-cell[data-player=true]:after{inset:12%;border-width:1px;box-shadow:none}.maze-cell.exit:before{inset:5%;border-width:2px}.pixel-stage{gap:2px;padding:8px}.slide-grid{gap:7px;border-width:9px}.catch-stage{height:350px}.catch-fruit{width:40px;height:40px}.palette{gap:7px}.palette button{width:39px;height:39px}.stack-stage{height:409px}}

.memory-card .card-back{width:46px;height:46px}
