/* Physical toy assets; word art remains the original article illustration. */
html.preschool-games .learning-reward{display:none!important}
html.preschool-games #clawApp .word-capsule{width:clamp(120px,17vw,196px)!important;aspect-ratio:1!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;filter:drop-shadow(0 7px 5px #183a4b55)}
html.preschool-games .toy-frame{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
html.preschool-games .toy-picture-window{position:absolute;left:29%;top:39%;width:41%;height:37%;overflow:hidden;background:#fff;border-radius:18%;z-index:2}
html.preschool-games .prize-effect.word-prize{width:clamp(120px,17vw,196px);height:auto;aspect-ratio:1;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;filter:drop-shadow(0 5px 5px #16334866)}
html.preschool-games #clawApp .word-capsule[data-state=selected]{filter:drop-shadow(0 0 7px #65d9ed)}
html.preschool-games #clawApp .word-capsule[data-state=correct]{filter:drop-shadow(0 0 12px #5be6c4)}
html.preschool-games .capsule-frame{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:3!important;display:block!important}
html.preschool-games .picture-surface{position:absolute!important;inset:24% 26% 30% 27%!important;z-index:2!important;overflow:hidden!important;border-radius:18%!important;background:#fff!important;border:0!important;box-shadow:none!important}
html.preschool-games .capsule-art{position:absolute;inset:0;filter:drop-shadow(0 4px 5px #06122966)}
html.preschool-games .falling-capsule{background:transparent!important;border:0!important;box-shadow:none!important}
html.preschool-games .falling-capsule.target-candidate .capsule-art{filter:drop-shadow(0 4px 5px #06122966)!important}
html.preschool-games .collector.caught:before{content:'';position:absolute;left:10%;bottom:60%;width:80%;height:160%;background:linear-gradient(0deg,#67e9ff99,transparent);clip-path:polygon(0 0,100% 0,65% 100%,35% 100%);animation:tractor-light .7s both;pointer-events:none}
@keyframes tractor-light{0%,100%{opacity:0}25%,70%{opacity:1}}
html.preschool-games .zombie-picture{position:absolute;inset:5%;overflow:hidden;background:#fff;border-radius:5px}
html.preschool-games .zombie.live-target .zombie-picture{inset:auto;left:26.5%;top:42%;width:39%;height:27%;z-index:10}
html.preschool-games #boxingApp #monster.hit-left{animation:monster-recoil-left .4s ease-out!important}
html.preschool-games #boxingApp #monster.hit-right{animation:monster-recoil-right .4s ease-out!important}
html.preschool-games #boxingApp #monster:is(.hit-left,.hit-right) img{animation:monster-red-impact .38s ease-out!important}
@keyframes monster-recoil-left{0%,100%{transform:translateX(-50%) rotate(0)}30%{transform:translateX(-44%) translateY(10px) rotate(9deg) scale(.96)}}
@keyframes monster-recoil-right{0%,100%{transform:translateX(-50%) rotate(0)}30%{transform:translateX(-56%) translateY(10px) rotate(-9deg) scale(.96)}}
@keyframes monster-red-impact{0%,100%{filter:none}25%,50%{filter:sepia(.7) saturate(4) hue-rotate(315deg) drop-shadow(0 0 14px #ff455d)}}
@media(max-width:650px){html.preschool-games #clawApp .word-capsule{width:clamp(95px,24vw,140px)!important}}
@media(prefers-reduced-motion:reduce){html.preschool-games #boxingApp #monster:is(.hit-left,.hit-right){animation-duration:.1s!important}}

html.preschool-games #clawApp .word-capsule.aimed::after{display:none!important}
html.preschool-games #clawApp .word-capsule.aimed{outline:0!important;filter:drop-shadow(0 0 6px #5bdddf)!important}

/* Natural space specimens, with the article picture on the rock face. */
html.preschool-games .picture-surface{inset:23% 23% 25% 23%!important;z-index:4!important;background:transparent!important;border-radius:27%!important;mix-blend-mode:multiply}
html.preschool-games .word-capsule.round-dismissed{visibility:hidden!important;pointer-events:none!important}

/* Distinct arcade prizes, picture printed on the object rather than a screen. */
html.preschool-games .toy-picture-window{z-index:4;background:transparent;border-radius:18%;mix-blend-mode:multiply}
html.preschool-games [data-prize-type=plush] .toy-picture-window{left:32%;top:46%;width:37%;height:32%;border-radius:40%}
html.preschool-games [data-prize-type=gift] .toy-picture-window{left:24%;top:50%;width:47%;height:38%}
html.preschool-games [data-prize-type=chest] .toy-picture-window{left:19%;top:50%;width:54%;height:24%}
/* Arcade control deck: physical bevel, raised cap, pressed travel. */
html.preschool-games .preschool-toolbar{background:linear-gradient(180deg,#d7e8ef 0%,#f5fbff 20%,#e9f2f8 100%)!important;border-top:5px solid #8baab9!important;box-shadow:inset 0 2px 0 #fff,inset 0 -3px 0 #c1d4e0!important;padding-top:17px!important}
html.preschool-games body .preschool-toolbar button.preschool-action{position:relative!important;min-height:62px!important;border:3px solid #9ee8f5!important;border-radius:22px!important;background:linear-gradient(180deg,#70c5ff 0%,#347adf 12%,#2058b9 65%,#123f90 100%)!important;box-shadow:inset 0 3px 2px #ffffffaa,inset 0 -4px 4px #072e6d,0 7px 0 #12335d,0 10px 0 #7e9eae,0 13px 9px #102f4344!important;text-shadow:0 2px 1px #123f87!important;transform:translateY(-3px);transition:transform .08s,box-shadow .08s!important;margin-bottom:7px!important}
html.preschool-games #clawApp .preschool-actions .primary-button{background:linear-gradient(180deg,#ffb2ad,#f36b75 15%,#c72f58 75%,#981638)!important;border-color:#ffd1d7!important;box-shadow:inset 0 3px 2px #ffe9ee,inset 0 -4px 4px #8b1235,0 7px 0 #741c40,0 10px 0 #9cabb8,0 13px 9px #102f4344!important;text-shadow:0 2px 1px #731331!important}
html.preschool-games body .preschool-toolbar button.preschool-action:active{transform:translateY(3px)!important;box-shadow:inset 0 2px 4px #12396288,0 1px 0 #12335d,0 4px 0 #7e9eae!important}
html.preschool-games .preschool-toolbar .preschool-tools button{border:2px solid #a7c4d8!important;background:linear-gradient(#fff,#dfedf6 80%,#c2d7e7)!important;box-shadow:inset 0 2px 1px #fff,0 4px 0 #93aebf,0 6px 4px #234b6422!important;border-radius:17px!important;transition:transform .08s!important}
html.preschool-games .preschool-toolbar .preschool-tools button:active{transform:translateY(3px);box-shadow:inset 0 2px 4px #93aebf!important}
html.preschool-games .preschool-toolbar .preschool-speeds{background:#9eb6c9;box-shadow:inset 0 2px 5px #12334844,0 1px 0 #fff;padding:5px;border:1px solid #aac7da}
html.preschool-games .preschool-toolbar .preschool-speeds button{background:linear-gradient(#fff,#dae7f2)!important;box-shadow:inset 0 1px #fff,0 3px 0 #6b879e!important;border:1px solid #a0b9cd!important}
html.preschool-games .preschool-toolbar .preschool-speeds button[aria-pressed=true]{background:linear-gradient(#1850a3,#357cdb)!important;box-shadow:inset 0 2px 5px #092748aa!important;color:#fff!important}
html.preschool-games .preschool-toolbar button:focus-visible{outline:3px solid #0c97b7!important;outline-offset:5px}
html.preschool-games [data-prize-type=bunny] .toy-picture-window{left:32%;top:49%;width:37%;height:31%;border-radius:40%}
html.preschool-games [data-prize-type=penguin] .toy-picture-window{left:28%;top:40%;width:44%;height:37%;border-radius:40%}
html.preschool-games [data-prize-type=car] .toy-picture-window{left:27%;top:39%;width:46%;height:31%}
html.preschool-games [data-prize-type=bag] .toy-picture-window{left:25%;top:42%;width:50%;height:37%;border-radius:30%}
html.preschool-games [data-prize-type=ball] .toy-picture-window{left:25%;top:25%;width:50%;height:50%;border-radius:50%}
html.preschool-games .prize-chute{right:1.5%!important;bottom:0!important;width:27%!important;height:25%!important;border:0!important;background:transparent url('../assets/learning-objects-20260925/prize-hatch.png') center bottom/contain no-repeat!important;border-radius:0!important;box-shadow:none!important;display:flex;align-items:flex-end;justify-content:center;padding:0 0 5%!important;color:white;font-size:clamp(10px,1.1vw,14px)!important;text-shadow:0 1px 3px #001a26;pointer-events:none;z-index:19!important}
html.preschool-games .prize-delivered .prize-chute{filter:drop-shadow(0 0 10px #67eadb);transition:filter .3s}
html.preschool-games .prize-effect.word-prize.show{animation:arcade-prize-delivery 2s both}
@keyframes arcade-prize-delivery{0%{opacity:1;top:40%;transform:translate(-50%,-50%) scale(.85)}35%{opacity:1;left:85%;top:40%;transform:translate(-50%,-50%) rotate(-8deg) scale(.85)}65%{opacity:1;left:85%;top:81%;transform:translate(-50%,-50%) rotate(5deg) scale(.57)}80%{opacity:1;left:85%;top:77%;transform:translate(-50%,-50%) scale(.53)}100%{opacity:0;left:85%;top:85%;transform:translate(-50%,-50%) scale(.38)}}
@media(max-width:650px){html.preschool-games body .preschool-toolbar button.preschool-action{min-height:54px!important;border-radius:17px!important;border-width:2px!important}.preschool-games .prize-chute{width:30%!important}}

html.preschool-games [data-prize-type=penguin] .toy-picture-window{top:43%;height:36%}
html.preschool-games [data-prize-type=bunny] .toy-picture-window{top:50%;height:32%}
html.preschool-games [data-prize-type=bag] .toy-picture-window{top:48%;height:36%}
html.preschool-games .prize-chute{padding-bottom:1.2%!important}

/* Coming out toward the player, then landing in the receiving tray. */
@keyframes arcade-prize-delivery{0%{opacity:1;top:40%;transform:translate(-50%,-50%) scale(.8)}25%{opacity:1;left:65%;top:44%;transform:translate(-50%,-50%) rotate(-6deg) scale(1.12)}50%{opacity:1;left:85%;top:55%;transform:translate(-50%,-50%) rotate(4deg) scale(.9)}75%{opacity:1;left:85%;top:82%;transform:translate(-50%,-50%) scale(.6)}88%{opacity:1;left:85%;top:78%;transform:translate(-50%,-50%) scale(.56)}100%{opacity:0;left:85%;top:85%;transform:translate(-50%,-50%) scale(.42)}}

html.preschool-games body .preschool-toolbar{position:relative;border-bottom:11px solid #708c9f!important;border-left:5px solid #a1bbc9!important;border-right:5px solid #a1bbc9!important;border-radius:0 0 22px 22px!important;background:linear-gradient(180deg,#bdd3e0 0,#f3faff 10%,#d9e9f4 86%,#a5bdce 100%)!important;box-shadow:inset 0 4px 1px #f5fdff,inset 5px 0 4px #ffffff88,inset -5px 0 4px #55758d22,0 6px 0 #3e596d,0 10px 12px #18324733!important;margin-bottom:10px!important}
html.preschool-games body .preschool-toolbar:before{content:'';position:absolute;inset:8px 10px;pointer-events:none;background:radial-gradient(circle at 5px 5px,#536f83 0 2px,#e5f3fa 3px 5px,transparent 6px),radial-gradient(circle at calc(100% - 5px) 5px,#536f83 0 2px,#e5f3fa 3px 5px,transparent 6px);}
html.preschool-games #clawApp .preschool-actions .primary-button:active{transform:translateY(3px)!important;box-shadow:inset 0 3px 5px #7b153d88,0 1px 0 #741c40,0 3px 0 #9cabb8!important}

/* Fit the printed picture to each rock's actual front face. */
html.preschool-games [data-rock-type=asteroid-wedge] .picture-surface{inset:43% 23% 22% 31%!important}
html.preschool-games [data-rock-type=asteroid-long] .picture-surface{inset:35% 27% 35% 31%!important}
html.preschool-games [data-rock-type=asteroid-angular] .picture-surface{inset:32% 30% 31% 27%!important}
html.preschool-games [data-rock-type=asteroid-cluster] .picture-surface{inset:32% 27% 29% 29%!important}

/* Readable picture faces and a smaller physical footprint. */
html.preschool-games .falling-capsule .picture-surface{inset:23% 20% 23% 20%!important;background:#fff!important;mix-blend-mode:normal!important;border:2px solid #e5f4ff!important;border-radius:22%!important;box-shadow:0 2px 5px #09192966!important}
html.preschool-games .falling-capsule .capsule-frame{filter:brightness(1.18)}
html.preschool-games .falling-capsule.answer-cue{position:absolute!important;left:50%!important;top:34%!important;width:156px!important;height:156px!important;transform:translate(-50%,-20%)!important;pointer-events:none!important;z-index:40!important}
html.preschool-games #clawApp .word-capsule{width:clamp(100px,13vw,147px)!important}
html.preschool-games #clawApp .prize-chute{width:23%!important}
html.preschool-games body #clawApp .preschool-toolbar{padding:10px!important;gap:8px!important}
html.preschool-games body #clawApp .preschool-toolbar button.preschool-action{min-height:50px!important;height:50px!important;font-size:21px!important}
html.preschool-games body #clawApp .preschool-tools button{height:44px!important;min-height:44px!important;padding:6px 12px!important}
@media(max-width:650px){html.preschool-games #clawApp .word-capsule{width:clamp(85px,20vw,112px)!important}html.preschool-games body #clawApp .preschool-toolbar button.preschool-action{font-size:16px!important}}

/* Keep the listening prompt above the play field, never across a falling picture. */
html.preschool-games #wordCatchApp #shipWord{position:absolute!important;top:14px!important;left:50%!important;transform:translateX(-50%)!important;z-index:32!important;width:auto!important;max-width:42%;padding:8px 20px;border-radius:14px;background:#12344ef2;color:white;font-size:clamp(16px,2vw,22px);text-align:center;pointer-events:none}
html.preschool-games #wordCatchApp .collector{width:clamp(100px,12vw,132px)!important}

/* Gameplay cues are visible in the playfield, without covering the target. */
html.preschool-games #jegiKick[data-ready=true],html.preschool-games #shootButton[data-ready=true]{outline:4px solid #65efdb!important;outline-offset:3px;filter:brightness(1.12)}
html.preschool-games .answer-target{filter:drop-shadow(0 0 12px #56e7df)!important;outline:3px solid #56e7df!important}
html.preschool-games .beat-ready{filter:drop-shadow(0 0 13px #59e6ff)!important;outline:3px solid #77e8ff;outline-offset:-5px}
html.preschool-games #basketTiming{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:min(280px,65%);padding:9px 14px;background:#123b54ed;color:white;border-radius:14px;z-index:35;text-align:center;font-size:16px;font-weight:800;pointer-events:none}
html.preschool-games #basketTiming[hidden]{display:none!important}
#basketTiming>div{position:relative;height:14px;background:#94afc3;border-radius:8px;margin-top:7px;overflow:hidden}#basketTiming i{position:absolute;left:27%;width:46%;height:100%;background:#42c4f4}#basketTiming b{position:absolute;top:0;width:5px;height:100%;background:white;box-shadow:0 0 4px #173c58}
html.preschool-games .preschool-result .learning-summary{display:block!important;width:100%;font-size:19px;color:#173b51;max-height:220px;overflow:auto}
html.preschool-games .preschool-result .learning-summary p{display:block!important;font-size:14px;line-height:1.5;margin:8px 0}
html.preschool-games .preschool-result .review-words{display:flex!important;flex-wrap:wrap;gap:6px;justify-content:center}
html.preschool-games .preschool-result .review-words button{min-height:34px!important;height:auto!important;padding:6px 10px!important;font-size:14px!important;color:#174969;background:#eaf5ff;border:1px solid #94bdd5;border-radius:10px}
html.preschool-games .word-pair-flash{background:transparent!important;border:0!important;box-shadow:none!important;font-size:20px!important}

html.preschool-games #pairFlash{background:transparent!important;border:0!important;box-shadow:none!important;padding:4px!important;font-size:19px!important;max-width:75%;text-shadow:0 1px 2px white}
html.preschool-games .chosen-course .capsule-art{filter:drop-shadow(0 0 9px #74ecff)!important}
html.preschool-games .preschool-result .boxing-result-message{font-size:15px;color:#244f6d}
html.preschool-games .preschool-result .learning-summary{flex:0 1 auto}
html.preschool-games #jegiPlayer{height:84%!important;width:auto!important;aspect-ratio:33/43;bottom:1%!important;max-height:410px}
/* Bright, readable vocabulary patches on the smaller prizes. */
html.preschool-games .toy-picture-window{background:#fff;mix-blend-mode:normal;box-shadow:0 1px 3px #17384744}
html.preschool-games [data-prize-type=chest] .toy-picture-window{left:20%;top:47%;width:60%;height:36%;border-radius:14%}
html.preschool-games [data-prize-type=plush] .toy-picture-window,html.preschool-games [data-prize-type=bunny] .toy-picture-window{left:27%;top:47%;width:47%;height:36%}
html.preschool-games [data-prize-type=gift] .toy-picture-window{left:22%;top:45%;width:53%;height:44%}
html.preschool-games [data-prize-type=car] .toy-picture-window{left:24%;top:35%;width:52%;height:40%}
html.preschool-games #clawApp .preschool-action:disabled{opacity:.55;filter:saturate(.5);cursor:wait}
/* Keep small screens focused on the picture and playable controls. */
html.preschool-games #fw-annotation-panel-toggle{display:none!important}
html.preschool-games #clawStoryBanner{display:none!important}
html.preschool-games #catchCallout[data-kind="NEW SHIP WORD"]{display:none!important}
@media(max-width:650px){
 html.preschool-games #catchCallout{top:62px!important;left:12px!important;max-width:calc(100% - 24px)!important;width:auto!important;font-size:12px!important}
 html.preschool-games #wordCatchApp .preschool-scene-hint{display:none!important}
}
