/* Compact play space and tactile cards; animation is explicitly opt-in. */
.game-finder{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:18px 0}.game-finder label{display:grid;gap:7px;flex:1;min-width:200px;font-weight:600}.game-finder input{width:100%;min-height:48px;border:1px solid #9baf9b;border-radius:12px;padding:12px 16px;background:#fff;font:inherit}.game-finder-status{flex-basis:100%;margin:0;font-size:14px;color:#3e5549}
.game-instructions summary{cursor:pointer;min-height:44px;display:list-item;padding:10px 0;color:#334e40;font-weight:600}.game-instructions[open] .game-challenge-guide{margin-top:14px}.game-challenge{padding:16px 20px;margin:14px 0}.game-challenge .game-prompt{margin:0;font-size:clamp(1.3rem,2.6vw,1.85rem);padding:12px 15px}.challenge-label{font-size:.85rem;margin-bottom:8px;padding:4px 9px}.challenge-steps{font-size:1rem;line-height:1.55}.challenge-steps li{margin-bottom:8px;padding-bottom:8px}.game-instructions .challenge-finish{font-size:1rem}.game-tab .game-world-banner{max-height:130px}
.memory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:720px;margin:20px auto}.memory-card{position:relative;min-height:118px!important;border-radius:18px!important;border:2px solid #8a78a2!important;background:linear-gradient(145deg,#f2ebfa,#e0d4eb)!important;box-shadow:0 4px 0 #b4a2c3!important;overflow-wrap:anywhere}.memory-card .card-back{font-size:2rem;color:#64517c}.memory-card.face-up{background:#fffdf6!important;border-color:#8d9c70!important;box-shadow:0 4px 0 #bdc5aa!important}.memory-card .game-art{width:52px;height:52px}.memory-card.matched{opacity:1!important;background:#edf5e3!important;border-color:#527d50!important;box-shadow:none!important}.pair-check{position:absolute;top:5px;right:9px;color:#315b35;font-size:19px}.memory-progress{font-size:.95rem;font-weight:600;color:#33523e;margin:0}.game-board button:focus-visible,.game-instructions summary:focus-visible,.game-finder input:focus-visible{outline:3px solid #574778;outline-offset:4px}.game-board button:active:not(:disabled){filter:brightness(.95)}.game-related{border-top:1px solid #bec8b2;margin-top:24px;padding-top:16px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.game-related h4{flex-basis:100%;margin:0 0 5px}.games-gentle-motion .memory-card.face-up:not(.matched){animation:card-reveal .2s ease-out}.games-gentle-motion .memory-card.matched{animation:pair-found .3s ease-out}.games-gentle-motion .game-board .game-choice{transition:box-shadow .15s,background-color .15s}.games-contrast .memory-card{border-color:#111!important;background:#fff!important;color:#111!important}.games-contrast .memory-card.matched{border:4px solid #111!important}
@keyframes card-reveal{from{transform:scale(.95);opacity:.7}to{transform:scale(1);opacity:1}}@keyframes pair-found{50%{transform:translateY(-4px)}}
@media(max-width:600px){.game-challenge{padding:12px}.game-challenge .game-prompt{padding:10px;font-size:1.3rem}.memory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.memory-card{min-height:105px!important;padding:10px 6px!important;font-size:15px!important}.memory-card .game-art{width:40px;height:40px}.game-finder{gap:10px}.game-finder label,.game-finder>button{width:100%;flex-basis:100%}.game-player{padding:16px}.game-board{padding:14px}.game-instructions .game-challenge-guide{grid-template-columns:1fr;gap:12px}}
@media(prefers-reduced-motion:reduce){.page-games .memory-card{animation:none!important;transition:none!important}}

.game-instructions:has(>#game-challenge-guide[hidden]){display:none}

/* Bright illustrated library; reading and play controls stay on calm surfaces. */
.page-games{background:#faf8ff;--play:#6443a2;--play-soft:#eee7ff}.page-games .games-hero{gap:36px;padding:42px 0 28px}.site-page.page-games #games-title{font-family:'Trebuchet MS','Segoe UI',sans-serif;font-weight:900;letter-spacing:-3px;color:#6241a3;text-shadow:0 5px 0 #e4d7fb}.page-games .games-lead{font-family:'Trebuchet MS','Segoe UI',sans-serif;font-weight:700;color:#354c72}.page-games .games-hero .button{border-radius:16px;box-shadow:0 4px 0 #463668}.play-hero-scene.discovery-scene{height:auto;aspect-ratio:360/220;border:0;border-radius:30px;background:#edf1ff;box-shadow:0 10px 0 #d9ddf2,0 18px 35px #4c3a7920;transform:rotate(2deg)}.play-hero-scene .play-illustration{height:100%;width:100%;display:block}.play-illustration{display:block;width:100%;height:auto}.play-scene-piece{filter:drop-shadow(0 3px 1px #40355c28)}
.page-games .game-grid{gap:25px}.page-games .game-card{position:relative;border:2px solid #e2daef;border-radius:24px;background:#fff;padding:18px 20px 20px;box-shadow:0 6px 0 #e5deee,0 12px 26px #5845770b;overflow:hidden}.play-card-scene{margin:-18px -20px 18px;background:var(--card-tint);border-bottom:2px solid var(--card-tint)}.play-card-scene svg{border-radius:0}.page-games .game-card .game-card-top,.page-games .game-card>.game-number{display:none}.page-games .game-card h3{font:800 25px/1.2 'Trebuchet MS','Segoe UI',sans-serif;letter-spacing:-.5px;color:#35415d;margin:0 0 11px}.page-games .game-card p{color:#46526b;line-height:1.6}.page-games .game-card .game-skill{font-size:12px;color:#59617a}.page-games .game-card-tags span{background:var(--card-tint);color:#35415d;border:0;border-radius:20px;font-weight:600}.page-games .game-card>a.outline{background:#6544a1;color:#fff;border:2px solid #6544a1;border-radius:14px;min-height:48px;box-shadow:0 4px 0 #493273;font-weight:700}.page-games .game-card>a.outline:hover{background:#533485}.page-games .game-open-new-tab{color:#5b467d;margin-top:9px}.page-games .game-card:focus-within{border-color:#7853ac;box-shadow:0 6px 0 #c9b5e4,0 12px 24px #58457716}.page-games .game-filters{gap:9px}.page-games .game-filters button{border-radius:24px;padding:10px 17px;background:white;border:1px solid #c4b4d8;color:#4e4166}.page-games .game-filters button[aria-pressed=true]{background:#6443a2;color:white;border-color:#6443a2;box-shadow:0 3px 0 #c9b5e4}.page-games .game-library-head h2{font-family:'Trebuchet MS','Segoe UI',sans-serif;font-weight:800;color:#49396e}.page-games .games-access,.page-games .game-settings{background:#fff;border-color:#ddd4ef}.page-games .game-settings{border-radius:18px}.page-games .game-launch{border-radius:28px;box-shadow:0 7px 0 #ddd3ed}.page-games .game-player{background:#fffefa;border:2px solid #d8c8ec;box-shadow:0 6px 0 #e4dbee}.page-games .game-board{background:linear-gradient(135deg,#eef7e8,#f4f2fe);border:1px solid #d6e3cd}.page-games .game-choice{border-radius:16px}.page-games .game-choice .game-art svg{filter:drop-shadow(0 2px 1px #30403022)}
@media(hover:hover){.games-gentle-motion .game-card{transition:transform .2s,box-shadow .2s}.games-gentle-motion .game-card:hover{transform:translateY(-5px);box-shadow:0 9px 0 #ded3ec,0 18px 26px #58457717}.games-gentle-motion .game-card:hover .play-scene-piece>g{animation:play-bob .7s ease-in-out 1}}
@keyframes play-bob{50%{translate:0 -5px}}
@media(max-width:600px){.page-games .games-hero{padding-top:28px;gap:24px}.play-hero-scene.discovery-scene{max-width:360px;aspect-ratio:360/190;justify-self:center}.page-games .game-grid{gap:22px}.page-games .game-card{padding:16px 18px 18px}.play-card-scene{margin:-16px -18px 16px}.page-games .game-card h3{font-size:25px}.page-games .game-filters{display:flex;flex-wrap:wrap}.page-games .game-filters button{font-size:13px;padding:9px 12px}.page-games .game-player{padding:16px 12px}}
.page-games.games-contrast .game-card,.page-games.games-contrast .game-player,.page-games.games-contrast .game-board{background:#fff!important;border:2px solid #111!important;box-shadow:none}.games-contrast .play-illustration{filter:grayscale(1) contrast(1.25)}.games-contrast .game-card h3,.games-contrast .game-card p{color:#111!important}.games-contrast .game-card>a.outline{background:#111!important;border-color:#111!important;color:white!important}.games-contrast .game-card-tags span{background:#eee!important;color:#111!important}
@media(prefers-reduced-motion:reduce){.page-games .game-card,.page-games .play-scene-piece>g{animation:none!important;transition:none!important;translate:none!important}.page-games .game-card:hover{transform:none!important}}

.page-games .play-card-scene{width:calc(100% + 40px);align-self:center;flex-shrink:0}@media(max-width:600px){.page-games .play-card-scene{width:calc(100% + 36px)}}
