/* ACCESS Practice Lab — Language Game Studio game styles (games-b). */

/* Distinct Language Game Studio stations share accessible controls while each keeps its own scene identity. */
.cg-station{max-width:900px;margin:0 auto;padding:clamp(1rem,3vw,2rem);border:2px solid #b9d1dc;border-radius:24px;background:#fffdf8;box-shadow:0 12px 30px #17324d12}.cg-route{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;font-weight:800;color:#17324d}.cg-route-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#f2c15b;color:#17324d}.cg-prompt{max-width:68ch;color:#17324d;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.45}.cg-instruction{font-weight:700;color:#385267}.cg-station .gs-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:.8rem}.cg-station .gs-choice{min-height:64px;padding:1rem;text-align:left;line-height:1.4}.cg-station .gs-choice:focus-visible{outline:4px solid #f2c15b;outline-offset:3px}.cg-station .gs-choice.is-right{border-color:#167c75;background:#e5f5f1}.cg-station .gs-choice.is-miss{border-color:#a54332;background:#fff0e8}.cg-station .gs-actions{margin-top:1.25rem}.cg-escape-room .cg-route-icon{background:#f2765a;color:#fff}.cg-sound-word-studio .gs-choice{font-size:1.15rem;letter-spacing:.02em}.cg-story-detective .cg-station{border-style:dashed}.cg-read-along-theater .cg-prompt{font-family:Georgia,serif}.cg-sentence-factory .gs-choice{border-radius:12px}
@media(max-width:600px){.cg-station{border-radius:16px;padding:1rem}.cg-station .gs-choice{min-height:56px}.cg-route{font-size:1rem}}

/* Word Bingo: caller, ball machine and a stampable 3x3 card. Motion stops under prefers-reduced-motion. */
.bg-board{display:grid;gap:.85rem}
.bg-caller{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:end}
.bg-guide{filter:drop-shadow(0 3px 4px rgb(20 38 61 / 25%))}
.bg-call{display:flex;gap:.75rem;align-items:center;padding:.8rem 1rem;border-radius:20px;background:#fff;border:2px solid #17324d;box-shadow:0 4px 0 #17324d;animation:bg-drop .45s cubic-bezier(.3,1.4,.5,1)}
.bg-ball{width:64px;min-width:64px;height:auto;animation:bg-roll .6s ease-out}
.bg-bubble{display:grid;gap:.4rem;min-width:0}
.bg-label{margin:0;font-size:.75rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#126e6c}
.bg-board .cg-prompt{margin:0;font-size:clamp(1.1rem,2.6vw,1.45rem)}
.bg-score{display:flex;align-items:center;gap:.5rem;margin:0;padding:.5rem .85rem;border-radius:999px;background:#f6e9cc;font-weight:800;color:#17324d;justify-self:start}
.bg-score.is-bingo{background:#f2c15b;animation:bg-pulse .9s ease-out}
.bg-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:0;padding:.7rem;list-style:none;border-radius:20px;background:#17324d}
.bg-card li{display:contents}
.bg-cell{position:relative;display:grid;place-items:center;min-height:5.2rem;padding:.4rem;border-radius:14px;border:3px solid #f6e9cc;background:#fffdf8;color:#17324d;font:inherit;font-size:clamp(.95rem,2.6vw,1.2rem);font-weight:800;text-align:center;cursor:pointer;overflow-wrap:anywhere;hyphens:auto;transition:transform .12s ease,box-shadow .12s ease}
button.bg-cell:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 5px 0 #f2c15b}
button.bg-cell:focus-visible{outline:4px solid #f2c15b;outline-offset:2px}
.bg-cell:disabled{cursor:default;opacity:1}
.bg-cell.is-free{background:#f2c15b;border-color:#d99a22;cursor:default}
.bg-free{display:grid;justify-items:center;gap:.15rem;font-size:.9rem}
.bg-cell.is-miss{border-color:#a54332;background:#fff0e8;animation:bg-shake .35s}
.bg-cell.is-reveal{border-color:#1fa6a2;background:#e5f5f1;animation:bg-pulse .9s ease-out}
.bg-cell.is-stamped{background:#e5f5f1;border-color:#167c75;color:#0e4f4b}
.bg-cell.is-learned{background:#fff9e6;border-color:#d99a22}
.bg-dab{position:absolute;top:.25rem;right:.25rem;display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:#f2765a;color:#fff;animation:bg-stamp .35s cubic-bezier(.3,1.6,.5,1)}
.is-learned .bg-dab{background:#d99a22;color:#17324d}
.bg-count{margin:0;text-align:right}
.bg-juno .bg-card{background:#26425c}
@keyframes bg-drop{from{transform:translateY(-14px) scale(.96);opacity:0}to{transform:none;opacity:1}}
@keyframes bg-roll{from{transform:rotate(-200deg) scale(.4)}to{transform:none}}
@keyframes bg-stamp{from{transform:scale(2.4);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes bg-shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
@keyframes bg-pulse{0%{box-shadow:0 0 0 0 #f2c15b}100%{box-shadow:0 0 0 18px #f2c15b00}}
@media(prefers-reduced-motion:reduce){.bg-call,.bg-ball,.bg-dab,.bg-cell,.bg-score{animation:none!important;transition:none!important}}
@media(max-width:600px){.bg-caller{grid-template-columns:minmax(0,1fr)}.bg-guide{justify-self:start}.bg-cell{min-height:4.4rem}}
