/* Phonics Forest — reference-driven live dashboard and three game mechanics. */
.phonics-dashboard,.phonics-game-screen{--pf-navy:#13266c;--pf-cream:#fff8e9;--pf-green:#4cac3b;--pf-gold:#ffbd21;color:#1c2a64;font-family:var(--font-b)}
.phonics-dashboard{position:relative;isolation:isolate;width:100%;max-width:none;box-sizing:border-box;background:linear-gradient(90deg,rgba(237,255,207,.84),rgba(255,248,218,.9) 28%,rgba(255,248,218,.9) 72%,rgba(237,255,207,.84)),url('../assets/img/phonics-forest/hear-sound/forest-background.webp') center/cover no-repeat;overflow-x:clip}
.phonics-dashboard::after{content:'';position:absolute;z-index:-1;inset:0;background:url('../assets/img/phonics-forest/dashboard/leafy-edge.webp') left center/230px 100% no-repeat;transform:scaleX(-1);opacity:.3;pointer-events:none}
html body #s-phonics-dashboard.phonics-dashboard.active{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:clamp(8px,1.25vh,13px);width:100%;max-width:1720px;height:100vh!important;height:100dvh!important;min-height:100vh!important;min-height:100dvh!important;max-height:100vh!important;max-height:100dvh!important;margin:0 auto;padding:clamp(10px,1.4vw,20px)!important;overflow:hidden!important}
.phonics-dashboard button,.phonics-game-screen button{font:inherit;color:inherit}
.phonics-dash-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;width:min(1580px,100%);margin:0 auto}
.phonics-back,.phonics-dash-tools>button,.phonics-star-pill{min-height:clamp(52px,7vh,66px);border:3px solid #fff;border-radius:20px;background:#fffdf6;box-shadow:0 6px 0 #d9c79f,0 10px 22px #3f552440;font-family:var(--font-d);font-size:1.15rem;font-weight:900}
.phonics-back{min-width:clamp(108px,9vw,140px);padding:0 20px}.phonics-back:active,.phonics-dash-tools>button:active,.phonics-pick-card footer button:active{transform:translateY(4px);box-shadow:0 2px 0 #c9a66f}
.phonics-dash-title{display:flex;align-items:center;justify-content:center;gap:18px;min-width:0}.phonics-dash-title h1{margin:0;font-family:var(--font-d);font-size:clamp(2.35rem,4vw,4.4rem);line-height:1;color:var(--pf-navy);text-shadow:0 4px #fff;white-space:nowrap}.phonics-dash-title>span{font-size:clamp(1.35rem,2.4vw,2.25rem)}
.phonics-dash-tools{display:flex;gap:12px;align-items:center}.phonics-star-pill{display:flex;align-items:center;gap:8px;min-width:88px;padding:0 18px}.phonics-dash-tools>button{width:clamp(52px,5vw,66px);font-size:1.8rem}
.phonics-dash-hero{position:relative;display:block;width:min(1370px,90%);min-height:clamp(82px,12vh,112px);margin:0 auto;padding:clamp(13px,1.7vw,22px) clamp(24px,3vw,46px);border:6px solid #fff;border-radius:34px;background:linear-gradient(90deg,rgba(216,246,173,.95),rgba(237,255,215,.96) 45%,rgba(255,247,207,.96));box-shadow:0 7px 0 #d9bd83,0 13px 28px #4254232f;overflow:hidden}
.phonics-dash-hero::before{content:'♪  ✦  ♫  ✦  ♪';position:absolute;inset:auto 3% 5px auto;color:#ffd22e;font-size:1.45rem;letter-spacing:.7rem;opacity:.7}.phonics-dash-hero>img{display:none}.phonics-dash-hero>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,45%);align-items:center;gap:30px;height:100%;text-align:left}.phonics-dash-hero h2{margin:0;font-family:var(--font-d);font-size:clamp(1.35rem,2.5vw,2.25rem);line-height:1.08;color:var(--pf-navy)}
.phonics-total-progress{display:grid;grid-template-columns:auto minmax(130px,1fr);align-items:center;gap:14px}.phonics-total-progress span{font-size:1.15rem;font-weight:900;white-space:nowrap}.phonics-total-progress i{display:block;width:100%;height:22px;border:3px solid #f0d9a6;border-radius:999px;background:#fff8e5;overflow:hidden}.phonics-total-progress b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffb313,#ff7918);transition:width .4s}
.phonics-game-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.5vw,24px);width:min(1500px,94%);height:100%;min-height:0;margin:0 auto}
.phonics-pick-card{display:grid;grid-template-rows:auto minmax(120px,1fr) auto;min-width:0;min-height:0;padding:clamp(10px,1vw,15px);border:5px solid #fff;border-radius:34px;background:rgba(255,251,236,.97);box-shadow:0 8px 0 #d9bd83,0 14px 27px #3e55232e;overflow:hidden;transition:transform .2s,filter .2s}.phonics-pick-card:hover{transform:translateY(-4px)}
.phonics-pick-card header{text-align:center}.phonics-pick-card h2{margin:0;font-family:var(--font-d);font-size:clamp(1.28rem,2vw,2rem);line-height:1.05;color:var(--pf-navy)}.phonics-pick-card p{margin:2px 0 7px;font-size:clamp(.88rem,1.15vw,1.05rem);font-weight:900}.phonics-pick-card>img{display:block;width:100%;height:100%;min-height:120px;object-fit:contain;object-position:center;border-radius:24px;background:linear-gradient(180deg,#e9f7d2,#fff3c8)}.phonics-pick-card footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;margin-top:8px}.phonics-pick-card footer span{font-weight:1000}.phonics-pick-card footer small{grid-column:1;color:#6f5b97}.phonics-pick-card footer button{grid-column:2;grid-row:1/3;min-width:clamp(116px,10vw,154px);min-height:clamp(48px,6.5vh,60px);border:3px solid #fff;border-radius:999px;color:#fff;font-family:var(--font-d);font-size:clamp(1.15rem,1.8vw,1.45rem);box-shadow:0 6px 0 #7041aa;background:linear-gradient(#b25ce7,#7e3bc5)}.phonics-pick-card.safari footer button{background:linear-gradient(#39aaff,#1977e7);box-shadow:0 6px 0 #1359b7}.phonics-pick-card.blend footer button{background:linear-gradient(#ff9f28,#ff6e0a);box-shadow:0 6px 0 #c64c00}
.phonics-pick-card[data-state="current"]{outline:6px solid #ffd74d;outline-offset:-6px}.phonics-pick-card[data-state="completed"]{filter:saturate(.9)}.phonics-pick-card[data-state="completed"] footer>span{color:#27833c}
.phonics-progress-panel{display:grid;grid-template-columns:clamp(170px,15vw,225px) 1fr;align-items:center;gap:clamp(12px,2vw,24px);width:min(1430px,92%);min-height:clamp(76px,10vh,104px);margin:0 auto;padding:clamp(10px,1.2vw,16px) clamp(16px,2vw,28px);border:5px solid #fff;border-radius:28px;background:#fffaf0f5;box-shadow:0 7px 0 #d9bd83}.phonics-progress-panel h2{margin:0;text-align:center;font-family:var(--font-d);font-size:clamp(1.12rem,1.7vw,1.45rem);line-height:1.05}.phonics-progress-panel>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.5vw,22px)}.phonics-progress-row{display:grid;grid-template-columns:auto auto minmax(45px,1fr) auto;align-items:center;gap:clamp(5px,.7vw,10px);min-width:0}.phonics-progress-row>span{display:grid;place-items:center;width:clamp(42px,3.7vw,52px);height:clamp(42px,3.7vw,52px);border-radius:16px;background:#8554d8;color:#fff;font-size:1.5rem}.phonics-progress-row.blue>span{background:#238ce9}.phonics-progress-row.orange>span{background:#f18b20}.phonics-progress-row>b{font-size:clamp(.78rem,.9vw,1rem);line-height:1.05}.phonics-progress-row i{display:block;height:15px;border-radius:999px;background:#eee1ca;overflow:hidden}.phonics-progress-row em{display:block;height:100%;border-radius:inherit;background:#9460dd}.phonics-progress-row.blue em{background:#2b9cf1}.phonics-progress-row.orange em{background:#fa8b19}

/* Shared Phonics game shell */
.phonics-game-screen{max-width:none;min-height:100dvh;padding:clamp(10px,2vw,24px);background:radial-gradient(circle at 50% 0,#fffdf3,#fff1cc 70%,#e9d89f)}
.phonics-game-shell{width:min(1560px,100%);min-height:calc(100dvh - 48px);margin:auto;display:grid;grid-template-rows:auto auto minmax(420px,1fr) auto;gap:12px}
.phonics-game-top{display:grid;grid-template-columns:1fr minmax(300px,720px) 1fr;align-items:center;gap:14px}.phonics-game-top>div:nth-child(2){text-align:center}.phonics-game-top h1{margin:0;font-family:var(--font-d);font-size:clamp(1.65rem,3.5vw,2.8rem);line-height:1;color:var(--pf-navy);text-shadow:0 3px #fff}.phonics-game-tools{display:flex;justify-content:flex-end;gap:12px}
.phonics-hud-btn,.phonics-instruction>button,.phonics-mascot-strip button{display:grid;place-items:center;width:62px;height:58px;padding:8px;border:3px solid #fff;border-radius:20px;background:#fffdf5;box-shadow:0 6px 0 #dfcda7}.phonics-hud-btn img,.phonics-instruction img,.phonics-mascot-strip button img{width:100%;height:100%;object-fit:contain}.phonics-round-progress{width:min(380px,90%);height:44px;margin:6px auto 0;padding:5px 12px;display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:9px;border:3px solid #fff;border-radius:999px;background:#fff8e8;box-shadow:0 4px 0 #dfc89c}.phonics-round-progress strong{font-family:var(--font-d)}.phonics-round-progress i{height:14px;border-radius:999px;background:#e9dfca;overflow:hidden}.phonics-round-progress b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8ac93f,#34b660)}
.phonics-instruction{width:min(1080px,80%);min-height:84px;margin:auto;padding:12px 24px;display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:16px;text-align:center;border:4px solid #fff;border-radius:30px;background:#ffffffee;box-shadow:0 6px 0 #ddc99f}.phonics-instruction small{color:#6c50b0;font-weight:1000;letter-spacing:.08em}.phonics-instruction h2{margin:0;font-family:var(--font-d);font-size:clamp(1.2rem,2.7vw,2rem);color:var(--pf-navy)}.phonics-sound-target{display:grid;place-items:center;min-width:72px;height:58px;padding:0 16px;border:3px solid #fff;border-radius:18px;background:#9a65dd;color:#fff;font-family:var(--font-d);font-size:1.7rem;box-shadow:0 5px 0 #6538a4}.phonics-instruction img.phonics-word-picture{display:block;width:72px;height:58px;object-fit:contain;border-radius:14px;pointer-events:none}
.phonics-game-stage{position:relative;min-width:0;display:grid;place-items:center;padding:0 0 4px}.phonics-forest-scene{position:relative;width:100%;height:clamp(430px,62vh,680px);overflow:hidden;border:7px solid #fff;border-radius:42px;background:linear-gradient(#86dcff22,#5fb34224),url('../assets/img/abc-games/letter-hunt/playground-malaysia-background.png') center/cover;box-shadow:0 10px 0 #cdb779,0 20px 36px #3a572b33}
.phonics-forest-scene::after{content:'';position:absolute;z-index:0;inset:0;background:radial-gradient(circle at 50% 70%,rgba(255,244,101,calc(var(--forest-growth)*.035)),transparent 38%);pointer-events:none}.phonics-forest-life{position:absolute;z-index:3;inset:0;pointer-events:none}.phonics-forest-life i{position:absolute;font-style:normal;opacity:0;transform:scale(.4);transition:.5s}.phonics-forest-life .flower.one{left:30%;bottom:8%;font-size:2rem}.phonics-forest-life .flower.two{right:27%;bottom:9%;font-size:2.2rem}.phonics-forest-life .firefly.one{left:48%;top:25%;color:#ffe241;text-shadow:0 0 10px #fff000}.phonics-forest-life .firefly.two{right:18%;top:36%;color:#ffe241;text-shadow:0 0 10px #fff000}.phonics-forest-life .animal{right:12%;bottom:18%;font-size:2.4rem}.phonics-forest-life .animal img{display:block;width:62px;height:54px;object-fit:contain}
#s-phonics-game[data-growth="1"] .phonics-forest-life .flower.one,#s-phonics-game[data-growth="2"] .phonics-forest-life .flower,#s-phonics-game[data-growth="3"] .phonics-forest-life .flower,#s-phonics-game[data-growth="3"] .phonics-forest-life .firefly,#s-phonics-game[data-growth="4"] .phonics-forest-life i{opacity:1;transform:scale(1)}
.phonics-guide{position:absolute;z-index:6;left:2%;bottom:0;width:clamp(150px,20vw,270px)}.phonics-guide>img{display:block;width:100%;max-height:310px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 8px 4px #30501f33)}.phonics-guide>span{position:absolute;left:68%;top:4%;width:170px;padding:10px;border:4px solid #fff;border-radius:22px;background:#fffaf0;font-weight:1000;text-align:center;box-shadow:0 5px 0 #d6bd89}.phonics-guide.safari>span,.phonics-guide.blend>span{left:62%}
.phonics-scene-hint{position:absolute;z-index:15;right:18px;bottom:18px;min-width:125px;min-height:58px;border:4px solid #fff;border-radius:22px;background:#fff9e9;box-shadow:0 6px 0 #d6bd89;font-weight:1000}.phonics-correct-burst{position:absolute;z-index:25;left:50%;top:25%;transform:translate(-50%,-50%);font-size:3rem;animation:phonicsPop .5s both}.phonics-correct-burst.authored img{display:block;width:118px;height:112px;object-fit:contain}
.gentle-wrong{animation:phonicsWiggle .45s}.hint{outline:7px solid #ffd738!important;animation:phonicsGlow .7s infinite alternate!important}

/* Hear the Sound */
.phonics-big-speaker{position:absolute;z-index:7;left:50%;top:20%;transform:translate(-50%,-50%);display:grid;grid-template-columns:72px auto;align-items:center;gap:10px;padding:10px 18px;border:4px solid #fff;border-radius:26px;background:#fff9e9;box-shadow:0 7px 0 #d6bd89}.phonics-big-speaker img{width:68px;height:68px;object-fit:contain}.phonics-big-speaker b{font-family:var(--font-d)}.phonics-letter-choices{position:absolute;z-index:7;left:31%;right:13%;top:39%;bottom:18%;display:flex;align-items:center;justify-content:center;gap:clamp(18px,5vw,70px)}.phonics-letter-choice{display:grid;place-items:center;width:clamp(112px,15vw,190px);aspect-ratio:1;border:7px solid #fff;border-radius:50%;background:linear-gradient(#b77af0,#7c42ca);color:#fff!important;font-family:var(--font-d)!important;font-size:clamp(3.6rem,8vw,7rem)!important;box-shadow:0 11px 0 #5e2b9e,0 18px 30px #26372435;text-shadow:0 4px #4f298d}.phonics-letter-choice:nth-child(2){background:linear-gradient(#59d36c,#2b9e50);box-shadow:0 11px 0 #20753b}.phonics-letter-choice:nth-child(3){background:linear-gradient(#ff8aac,#ee477b);box-shadow:0 11px 0 #ba2c5a}.phonics-letter-choice.correct{background:linear-gradient(#d4f86b,#66c545);transform:scale(1.12)}

/* First Sound Safari */
.phonics-safari-choices{position:absolute;z-index:7;left:31%;right:16%;top:14%;bottom:12%;display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:18px;align-content:center}
.phonics-object-choice{position:relative;display:grid;place-items:center;min-width:0;min-height:150px;padding:8px;overflow:hidden;border:6px solid #fff;border-radius:30px;background:#fbf8ef;box-shadow:0 9px 0 #cab889;transition:.2s}
.phonics-object-image{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;object-position:center;border-radius:20px;pointer-events:none;user-select:none;-webkit-user-drag:none}
.phonics-object-choice>b{position:absolute;z-index:2;left:50%;bottom:7px;transform:translateX(-50%);max-width:calc(100% - 18px);padding:3px 12px;border-radius:999px;background:#fffdf3e8;box-shadow:0 2px 7px #15275e30;font-family:var(--font-d);font-size:clamp(.82rem,1.5vw,1.15rem);text-transform:capitalize;white-space:nowrap}
.phonics-object-choice>b[hidden]{display:none}.phonics-object-choice.correct{background:#efffc5;transform:scale(1.05);outline:7px solid #9bd343}.phonics-collection-book{position:absolute;z-index:12;right:10px;top:16px;display:grid;grid-template-columns:auto 1fr;gap:5px 7px;align-items:center;width:145px;padding:7px;border:4px solid #fff;border-radius:20px;background:#fff8d7e8;box-shadow:0 6px 0 #caa96f;font-size:.78rem}.phonics-collection-icon{grid-row:1/3;width:34px;height:34px;object-fit:contain;pointer-events:none}.phonics-collection-book div{display:flex;align-items:center;gap:3px;min-height:26px}.phonics-collection-book div img{width:24px;height:24px;object-fit:contain;border-radius:7px;pointer-events:none}.phonics-collection-book div.found{animation:phonicsBookDrop .48s both}.phonics-safari-scene .phonics-scene-hint{display:flex;align-items:center;justify-content:center;gap:4px}.phonics-safari-scene .phonics-scene-hint img{width:34px;height:34px;object-fit:contain;pointer-events:none}

/* Blend the Word */
.phonics-blend-runner{position:absolute;z-index:10;left:42%;top:25%;width:clamp(54px,6vw,78px);height:clamp(54px,6vw,78px);object-fit:contain;opacity:0;transform:translateX(-50%);transition:left .24s ease,opacity .16s;filter:drop-shadow(0 5px 3px #25451c55);pointer-events:none}.phonics-blend-runner.visible{opacity:1}.phonics-blend-runner.hopping{animation:phonicsTigerHop .32s ease-out}
.phonics-sound-track{position:absolute;z-index:8;left:31%;right:13%;top:39%;display:flex;justify-content:center;align-items:center;gap:clamp(12px,2.5vw,34px);padding:24px 16px;border-radius:40px;background:#fff7d5c9;box-shadow:0 8px 0 #d4b66d;touch-action:pan-y}.phonics-sound-stone{display:grid;place-items:center;width:clamp(100px,13vw,165px);aspect-ratio:1.2;border:6px solid #fff;border-radius:46% 54% 48% 52%;background:linear-gradient(#fffdf3,#e2d5bd);box-shadow:0 9px 0 #a28e6b;font-family:var(--font-d)!important;font-size:clamp(2.8rem,6vw,5rem)!important;transition:.2s}.phonics-sound-stone small{font-size:1.1rem;line-height:1.1;padding:2px 8px;border-radius:999px;background:#fffdf3;color:#263769;font-weight:900}.phonics-sound-stone.active{background:linear-gradient(#d9ff88,#70cf4c);transform:translateY(-9px);box-shadow:0 14px 0 #3e9636}.phonics-sound-stone.locked{filter:grayscale(1);opacity:.9}.phonics-sound-track.returning{animation:phonicsWiggle .4s}.phonics-sound-track.blended{background:#eaffaa}.phonics-blend-arrow{position:absolute;z-index:9;left:57%;top:82%;transform:translateX(-50%);padding:5px 14px;border-radius:999px;background:#fff9dfd9;font-family:var(--font-d);font-size:1.35rem;color:#f28a18;letter-spacing:.08em}.phonics-word-reveal{position:absolute;z-index:12;right:15%;top:11%;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;width:160px;height:155px;padding:7px;border:5px solid #fff;border-radius:28px;background:#fff9dc;box-shadow:0 8px 0 #d3b46a;animation:phonicsReveal .45s both}.phonics-word-reveal>.blend-word-image{display:block;width:100%;height:100%;min-height:0;object-fit:contain;border-radius:18px;pointer-events:none}.phonics-word-reveal strong{font-family:var(--font-d);font-size:1.35rem;text-transform:uppercase}.phonics-letter-bank{position:absolute;z-index:12;left:33%;right:14%;top:12%;display:flex;justify-content:center;gap:12px}.phonics-letter-bank button{display:grid;place-items:center;width:58px;height:58px;border:4px solid #fff;border-radius:18px;background:#fff7df;box-shadow:0 6px 0 #c9a86b;font-family:var(--font-d);font-size:1.8rem}.phonics-letter-bank button.correct{background:#bbef79}.phonics-letter-bank button:disabled{opacity:.4}
.phonics-mascot-strip{display:none}

/* Pause + reward */
.phonics-pause-layer,.phonics-reward-layer{position:fixed;z-index:150;inset:0;display:grid;place-items:center;padding:20px;background:#14234db8;backdrop-filter:blur(7px)}.phonics-pause-layer[hidden],.phonics-reward-layer[hidden]{display:none}.phonics-pause-layer>div,.phonics-reward-card{width:min(540px,94vw);padding:30px;text-align:center;border:7px solid #fff;border-radius:38px;background:linear-gradient(#fffdec,#eaffc1);box-shadow:0 15px 0 #b79d63}.phonics-pause-layer span,.phonics-reward-tree{font-size:5rem}.phonics-pause-layer h2,.phonics-reward-card h2{font-family:var(--font-d);font-size:2.2rem}.phonics-pause-layer button,.phonics-reward-actions button{display:block;width:100%;min-height:58px;margin:10px 0;border:4px solid #fff;border-radius:22px;background:#8355d9;color:#fff;font-weight:1000;box-shadow:0 6px 0 #5c359d}.phonics-reward-stars{font-size:2.8rem}.phonics-reward-item{display:flex;justify-content:center;align-items:center;gap:14px;margin:18px;padding:14px;border-radius:22px;background:#fff}.phonics-reward-item>b{font-size:4rem}.phonics-reward-item span{display:grid;text-align:left}.phonics-reward-item small{color:#678345;font-weight:1000}.phonics-reward-item strong{font-family:var(--font-d);font-size:1.4rem}.phonics-reward-actions button:nth-child(2){background:#2a9ee9;box-shadow:0 6px 0 #1470b3}.phonics-reward-actions button:nth-child(3){background:#f28a1c;box-shadow:0 6px 0 #b95a09}

@keyframes phonicsPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}70%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes phonicsReveal{0%{opacity:0;transform:scale(.65)}70%{opacity:1;transform:scale(1.08)}100%{opacity:1;transform:scale(1)}}
@keyframes phonicsTigerHop{0%,100%{transform:translateX(-50%) translateY(0) rotate(0)}50%{transform:translateX(-50%) translateY(-24px) rotate(-5deg)}}
@keyframes phonicsWiggle{25%{transform:translateX(-9px)}50%{transform:translateX(8px)}75%{transform:translateX(-5px)}}
@keyframes phonicsGlow{to{filter:drop-shadow(0 0 18px #ffe43d)}}
@keyframes phonicsBookDrop{0%{opacity:.2;transform:translateY(-20px) scale(.5)}75%{opacity:1;transform:translateY(3px) scale(1.18)}100%{opacity:1;transform:none}}

@media(max-width:900px){
 .phonics-dashboard{padding:12px}.phonics-dash-top{grid-template-columns:auto 1fr auto}.phonics-dash-title>span{display:none}.phonics-dash-title h1{font-size:clamp(1.6rem,6vw,2.7rem)}.phonics-back{min-width:54px;padding:0}.phonics-back span{display:none}.phonics-dash-tools>button{display:none}.phonics-star-pill{min-height:52px;padding:0 10px}.phonics-dash-hero{width:96%;grid-template-columns:100px 1fr;min-height:130px;padding:10px 16px}.phonics-dash-hero>img{width:100px;height:105px}.phonics-game-picker{grid-template-columns:1fr;width:min(620px,96%)}.phonics-pick-card{display:grid;grid-template-columns:1fr 1.15fr;grid-template-rows:auto 1fr}.phonics-pick-card header{align-self:center}.phonics-pick-card>img{grid-column:2;grid-row:1/3;height:220px}.phonics-pick-card footer{grid-column:1}.phonics-pick-card footer button{grid-column:1;grid-row:auto;width:100%;min-width:0}.phonics-progress-panel{grid-template-columns:1fr;width:96%;margin-bottom:100px}.phonics-progress-panel>div{grid-template-columns:1fr}
 .phonics-game-shell{grid-template-rows:auto auto minmax(380px,1fr);gap:7px}.phonics-game-top{grid-template-columns:auto minmax(150px,1fr) auto}.phonics-hud-btn{width:48px;height:46px;padding:5px;border-radius:15px}.phonics-game-tools{gap:5px}.phonics-game-top h1{font-size:1.25rem}.phonics-round-progress{height:34px;margin-top:3px}.phonics-instruction{width:96%;min-height:68px;padding:7px 10px;grid-template-columns:48px 1fr auto}.phonics-instruction>button{width:46px;height:44px;padding:6px;border-radius:15px}.phonics-instruction h2{font-size:1.05rem}.phonics-sound-target{min-width:55px;height:44px;font-size:1.2rem}.phonics-word-picture{font-size:2.3rem}.phonics-forest-scene{height:clamp(430px,65vh,600px);border-width:5px;border-radius:28px}.phonics-guide{width:145px}.phonics-guide>span{display:none}.phonics-scene-hint{right:8px;top:8px;bottom:auto;min-width:95px;min-height:48px}.phonics-big-speaker{top:19%;grid-template-columns:48px auto;padding:6px 10px}.phonics-big-speaker img{width:46px;height:46px}.phonics-letter-choices{left:8%;right:8%;top:30%;bottom:20%;gap:15px}.phonics-letter-choice{width:clamp(84px,25vw,130px);font-size:3.5rem!important}.phonics-safari-choices{left:7%;right:7%;top:17%;bottom:24%;grid-template-columns:repeat(2,1fr);gap:10px}.phonics-object-choice{min-height:110px}.phonics-object-choice>span{font-size:3.8rem}.phonics-collection-book{left:auto;right:8px;top:auto;bottom:8px;width:145px}.phonics-sound-track{left:6%;right:6%;top:38%;gap:9px;padding:18px 8px}.phonics-sound-stone{width:clamp(78px,24vw,120px);font-size:2.6rem!important}.phonics-letter-bank{left:7%;right:7%;top:19%;flex-wrap:wrap}.phonics-blend-arrow{left:34%;top:64%}.phonics-word-reveal{right:9%;top:14%;width:100px;height:100px}.phonics-word-reveal>span{font-size:2.7rem}.phonics-word-reveal strong{font-size:1.1rem}.phonics-guide.blend,.phonics-guide.safari{width:120px}.phonics-guide.blend>img,.phonics-guide.safari>img{max-height:180px}
}
@media(max-width:520px){
 .phonics-dash-top{gap:7px}.phonics-dash-title h1{font-size:1.42rem}.phonics-back,.phonics-star-pill{min-height:46px;border-radius:15px}.phonics-star-pill{font-size:.85rem}.phonics-dash-hero{grid-template-columns:70px 1fr;min-height:108px;margin:12px auto}.phonics-dash-hero>img{width:72px;height:78px}.phonics-dash-hero h2{font-size:1.15rem}.phonics-total-progress{display:grid;gap:4px}.phonics-total-progress i{width:100%}.phonics-pick-card{grid-template-columns:1fr;padding:10px;border-radius:26px}.phonics-pick-card header{grid-column:1}.phonics-pick-card>img{grid-column:1;grid-row:auto;height:190px}.phonics-pick-card footer{grid-column:1}.phonics-progress-panel{padding:12px}.phonics-progress-row{grid-template-columns:auto 1fr auto}.phonics-progress-row i{grid-column:2/4;width:100%}
 .phonics-game-screen{padding:6px}.phonics-game-tools .phonics-hud-btn:nth-child(2){display:none}.phonics-game-top{gap:4px}.phonics-game-top h1{font-size:1rem}.phonics-round-progress{width:96%;padding:3px 7px}.phonics-instruction{grid-template-columns:42px 1fr auto}.phonics-instruction small{font-size:.62rem}.phonics-instruction h2{font-size:.9rem}.phonics-forest-scene{height:520px}.phonics-guide{width:110px}.phonics-letter-choice{width:88px}.phonics-letter-choices[data-count="3"]{gap:8px}.phonics-object-choice{min-height:100px}.phonics-object-choice>span{font-size:3.1rem}.phonics-collection-book{font-size:.78rem;width:145px}.phonics-sound-stone{width:82px}.phonics-sound-stone small{font-size:.65rem}.phonics-letter-bank button{width:48px;height:48px}.phonics-mascot-strip{display:flex;align-items:center;gap:8px;padding:7px 14px}.phonics-mascot-strip>img{width:48px;height:48px;object-fit:contain}.phonics-mascot-strip>div{display:grid}.phonics-mascot-strip small{font-size:.62rem;color:#7053ab}.phonics-mascot-strip button{margin-left:auto;width:44px;height:44px}
}
@media(orientation:landscape) and (max-height:700px) and (min-width:761px){
 .phonics-game-screen{padding:8px}.phonics-game-shell{min-height:calc(100dvh - 16px);grid-template-rows:auto auto minmax(300px,1fr);gap:6px}.phonics-game-top h1{font-size:1.5rem}.phonics-hud-btn{width:52px;height:48px}.phonics-round-progress{height:34px}.phonics-instruction{min-height:65px;padding:7px 18px}.phonics-forest-scene{height:min(61vh,410px)}.phonics-guide{width:150px}.phonics-letter-choices{left:25%;top:35%;bottom:12%}.phonics-letter-choice{width:clamp(90px,13vw,145px)}.phonics-safari-choices{left:25%;top:12%;bottom:8%;grid-template-columns:repeat(2,minmax(110px,1fr))}.phonics-object-choice{min-height:100px}.phonics-object-choice>span{font-size:3.7rem}.phonics-sound-track{left:25%;top:38%;padding:12px}.phonics-sound-stone{width:clamp(80px,11vw,120px)}.phonics-word-reveal{top:6%;right:10%;width:112px;height:112px}.phonics-word-reveal>span{font-size:2.8rem}.phonics-word-reveal strong{font-size:1rem}.phonics-letter-bank{left:26%;top:12%}.phonics-blend-arrow{top:83%;left:58%}.phonics-guide.safari>span,.phonics-guide.blend>span{display:none}.phonics-mascot-strip{display:none}
}
@media(min-width:761px){html.desktop-screen-scroll body #s-phonics-dashboard.screen.active>*,html.desktop-screen-scroll body #s-phonics-game.screen.active>*{flex:none;flex-shrink:0}html.desktop-screen-scroll body #s-phonics-dashboard.screen.active,html.desktop-screen-scroll body #s-phonics-game.screen.active{align-content:start}}

/* Stacked dashboard compositions use one deterministic viewport scroll owner. */
@media(max-width:900px){
 html body #s-phonics-dashboard.phonics-dashboard.active{display:flex;flex-direction:column;gap:12px;height:100vh!important;height:100dvh!important;min-height:0!important;max-height:100vh!important;max-height:100dvh!important;padding:12px 12px max(68px,calc(48px + env(safe-area-inset-bottom)))!important;overflow-x:clip!important;overflow-y:auto!important;overscroll-behavior-y:contain}
 html body #s-phonics-dashboard.phonics-dashboard.active>*{flex:none;flex-shrink:0}
 #s-phonics-dashboard .phonics-dash-top{width:100%;margin:0}
 #s-phonics-dashboard .phonics-dash-hero{display:block;width:min(720px,96%);min-height:112px;margin:0 auto;padding:14px 20px}
 #s-phonics-dashboard .phonics-dash-hero>div{display:grid;grid-template-columns:1fr;gap:8px;text-align:center}
 #s-phonics-dashboard .phonics-total-progress{width:min(470px,100%);margin:auto}
 #s-phonics-dashboard .phonics-game-picker{display:grid;grid-template-columns:1fr;width:min(680px,96%);height:auto;min-height:0;margin:0 auto;gap:16px}
 #s-phonics-dashboard .phonics-pick-card{display:grid;grid-template-columns:minmax(190px,.9fr) minmax(250px,1.1fr);grid-template-rows:auto 1fr;min-height:240px}
 #s-phonics-dashboard .phonics-pick-card header{grid-column:1;grid-row:1;align-self:center}
 #s-phonics-dashboard .phonics-pick-card>img{grid-column:2;grid-row:1/3;width:100%;height:220px;min-height:0}
 #s-phonics-dashboard .phonics-pick-card footer{grid-column:1;grid-row:2;align-self:end}
 #s-phonics-dashboard .phonics-progress-panel{grid-template-columns:1fr;width:min(680px,96%);min-height:0;margin:0 auto;padding:14px 18px}
 #s-phonics-dashboard .phonics-progress-panel>div{grid-template-columns:1fr;gap:10px}
 #s-phonics-dashboard .phonics-progress-row{grid-template-columns:50px minmax(125px,auto) 1fr auto}
}
@media(max-width:520px){
 html body #s-phonics-dashboard.phonics-dashboard.active{padding:10px 14px max(64px,calc(44px + env(safe-area-inset-bottom)))!important;background:radial-gradient(circle at 8% 8%,rgba(122,184,72,.35),transparent 25%),radial-gradient(circle at 92% 20%,rgba(66,151,70,.3),transparent 28%),linear-gradient(180deg,#dff2b8,#fff1bd 75%,#f4d99b)}
 html body #s-phonics-dashboard.phonics-dashboard.active::after{display:none}
 #s-phonics-dashboard .phonics-dash-top{grid-template-columns:54px minmax(0,1fr) auto;gap:6px}
 #s-phonics-dashboard .phonics-back{min-width:54px;min-height:48px;padding:0}
 #s-phonics-dashboard .phonics-dash-title h1{font-size:clamp(1.18rem,6.2vw,1.55rem);line-height:1;letter-spacing:-.02em;white-space:nowrap}
 #s-phonics-dashboard .phonics-star-pill{min-width:66px;min-height:48px;padding:0 7px;font-size:.82rem}
 #s-phonics-dashboard .phonics-dash-hero{width:100%;min-height:126px;padding:14px 12px;border-width:5px;border-radius:26px}
 #s-phonics-dashboard .phonics-dash-hero h2{font-size:1.1rem}
 #s-phonics-dashboard .phonics-total-progress{grid-template-columns:1fr;gap:5px;text-align:center}
 #s-phonics-dashboard .phonics-total-progress i{height:18px}
 #s-phonics-dashboard .phonics-game-picker{width:100%;gap:14px}
 #s-phonics-dashboard .phonics-pick-card{grid-template-columns:1fr;grid-template-rows:auto 190px auto;min-height:0;padding:10px;border-radius:26px}
 #s-phonics-dashboard .phonics-pick-card header{grid-column:1;grid-row:1}
 #s-phonics-dashboard .phonics-pick-card>img{grid-column:1;grid-row:2;width:100%;height:190px;border-radius:20px}
 #s-phonics-dashboard .phonics-pick-card footer{grid-column:1;grid-row:3}
 #s-phonics-dashboard .phonics-pick-card footer button{min-width:118px;min-height:50px}
 #s-phonics-dashboard .phonics-progress-panel{width:100%;padding:12px 10px;border-radius:24px}
 #s-phonics-dashboard .phonics-progress-panel>div{gap:12px}
 #s-phonics-dashboard .phonics-progress-row{grid-template-columns:46px minmax(0,1fr) auto}
 #s-phonics-dashboard .phonics-progress-row i{grid-column:2/4;width:100%}
}
@media(max-width:340px){
 #s-phonics-dashboard .phonics-dash-title h1{font-size:1.14rem}
 #s-phonics-dashboard .phonics-dash-hero{min-height:112px;padding-block:10px}
 #s-phonics-dashboard .phonics-pick-card{grid-template-rows:auto 150px auto}
 #s-phonics-dashboard .phonics-pick-card>img{height:150px}
}

/* Authored Hear the Sound production treatment */
#s-phonics-game[data-game="hear-sound"]{background:url('../assets/img/phonics-forest/hear-sound/forest-background.webp') center/cover no-repeat fixed}
#s-phonics-game[data-game="hear-sound"] .phonics-game-shell{position:relative;z-index:1}
#s-phonics-game[data-game="hear-sound"] .phonics-game-top h1::before,#s-phonics-game[data-game="hear-sound"] .phonics-game-top h1::after{content:'';display:inline-block;width:1.05em;height:1.05em;margin:0 .25em;vertical-align:-.13em;background:url('../assets/img/phonics-forest/hear-sound/decoration-music-note.png') center/contain no-repeat}
#s-phonics-game[data-game="hear-sound"] .phonics-game-top h1::after{transform:scaleX(-1)}
#s-phonics-game[data-game="hear-sound"] .phonics-hud-btn{width:70px;height:70px;padding:0;border:0;background:transparent;box-shadow:none}
#s-phonics-game[data-game="hear-sound"] #phonicsGameBack{width:132px;grid-template-columns:62px auto;gap:0;padding:2px 14px 2px 3px;border:3px solid #fff;border-radius:25px;background:#fffdf8;box-shadow:0 6px 0 #d5bc8a,0 10px 20px #25441d30}
#s-phonics-game[data-game="hear-sound"] #phonicsGameBack::after{content:'Back';font-family:var(--font-d);font-size:1.05rem;font-weight:1000;margin-left:-4px}
#s-phonics-game[data-game="hear-sound"] .phonics-round-progress{height:48px;background:#fff9edee;border-color:#fff;box-shadow:0 5px 0 #d8ba85,0 9px 18px #35531d32}
#s-phonics-game[data-game="hear-sound"] .phonics-round-progress>span{width:29px;height:29px}
#s-phonics-game[data-game="hear-sound"] .phonics-round-progress>span img{display:block;width:100%;height:100%;object-fit:contain}
#s-phonics-game[data-game="hear-sound"] .phonics-round-progress b{background:linear-gradient(90deg,#ffbc17,#ff780f)}
#s-phonics-game[data-game="hear-sound"] .phonics-instruction{width:min(1050px,78%);min-height:92px;padding:12px 8%;grid-template-columns:62px 1fr;border:0;border-radius:0;background:url('../assets/img/phonics-forest/hear-sound/instruction-panel.png') center/100% 100% no-repeat;box-shadow:none}
#s-phonics-game[data-game="hear-sound"] .phonics-instruction>button{width:58px;height:58px;padding:0;border:0;background:transparent;box-shadow:none}
#s-phonics-game[data-game="hear-sound"] .phonics-instruction small,#s-phonics-game[data-game="hear-sound"] .phonics-instruction #phonicsGameTarget{display:none}
#s-phonics-game[data-game="hear-sound"] .phonics-instruction h2{font-size:clamp(1.3rem,2.4vw,2rem)}
#s-phonics-game[data-game="hear-sound"] .phonics-game-stage{min-height:0;padding:0;overflow:visible}
#s-phonics-game[data-game="hear-sound"] .phonics-mascot-strip{display:none}
.phonics-hear-authored{position:relative;width:100%;height:clamp(480px,64vh,650px);min-width:0;overflow:visible}
.phonics-hear-authored>.phonics-forest-life{z-index:2}
#s-phonics-game[data-game="hear-sound"] .phonics-forest-life .flower{width:64px;height:64px;font-size:0;background:url('../assets/img/phonics-forest/hear-sound/feedback-sparkles.png') center/contain no-repeat;filter:drop-shadow(0 0 10px #ffe953)}
#s-phonics-game[data-game="hear-sound"] .phonics-forest-life .firefly{width:12px;height:12px;font-size:0;border-radius:50%;background:#fff46a;box-shadow:0 0 9px 4px #ffe539}
.phonics-hear-board{position:absolute;z-index:4;left:22%;right:15%;top:2%;bottom:5%;border:7px solid rgba(255,255,255,.92);border-radius:54px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,247,223,.96));box-shadow:0 9px 0 #d8b878,0 19px 35px #294b2338}
.phonics-hear-guide{position:absolute;z-index:7;left:0;bottom:0;width:clamp(190px,21vw,310px);pointer-events:none}
.phonics-hear-guide>img{display:block;width:100%;filter:drop-shadow(0 9px 5px #23441f45)}
.phonics-hear-bubble{position:absolute;left:3%;top:-28%;width:76%;aspect-ratio:315/222}
.phonics-hear-bubble img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.phonics-hear-bubble strong{position:absolute;inset:18% 9% 24%;display:grid;place-items:center;text-align:center;font-family:var(--font-d);font-size:clamp(.95rem,1.8vw,1.45rem);line-height:1.08;color:var(--pf-navy)}
.phonics-hear-speaker{position:absolute;z-index:4;left:50%;top:4%;transform:translateX(-50%);width:clamp(120px,13vw,180px);aspect-ratio:1;border:0;background:transparent;padding:0}
.phonics-hear-speaker img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.phonics-hear-speaker .ring{transform:scale(1.18);opacity:.38;filter:blur(.7px);animation:hearRing 1.25s ease-in-out infinite alternate}
.phonics-hear-speaker .sparkles{transform:scale(1.35);animation:hearSparkle 1.15s ease-in-out infinite alternate}
.phonics-hear-speaker .speaker{z-index:2}
.phonics-hear-speaker .waves{z-index:3;transform:scale(1.22);opacity:.42}
.phonics-hear-speaker:active .speaker{transform:translateY(5px) scale(.96)}
.phonics-hear-phoneme{position:absolute;z-index:5;left:50%;top:34%;transform:translateX(-50%);width:clamp(94px,10vw,145px);aspect-ratio:309/111}
.phonics-hear-phoneme img{position:absolute;inset:0;width:100%;height:100%}
.phonics-hear-phoneme strong{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-family:var(--font-d);font-size:clamp(1.35rem,3vw,2.35rem);text-shadow:0 3px #07164e}
.phonics-hear-choices{position:absolute;z-index:5;left:5%;right:5%;top:46%;bottom:4%;display:flex;justify-content:center;align-items:center;gap:clamp(12px,3vw,50px)}
.phonics-hear-choice{position:relative;width:clamp(128px,15vw,205px);aspect-ratio:284/309;padding:0;border:0;background:transparent;transition:transform .22s}
.phonics-hear-choice .tile{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.phonics-hear-choice strong{position:absolute;z-index:3;inset:7% 5% 9%;display:grid;place-items:center;font-family:var(--font-d);font-size:clamp(4.1rem,7vw,7rem);line-height:1;color:#168cf0;text-shadow:0 3px #0870ce}
.phonics-hear-choice:nth-child(2) strong{color:#ff5917;text-shadow:0 3px #d43a00}.phonics-hear-choice:nth-child(3) strong{color:#36a51f;text-shadow:0 3px #1d7a0d}
.phonics-hear-choice .choice-glow{position:absolute;z-index:4;inset:-5%;width:110%;height:110%;object-fit:contain;opacity:0;filter:blur(.7px);pointer-events:none}.phonics-hear-choice .choice-check{position:absolute;z-index:5;right:-7%;top:-7%;width:34%;height:34%;object-fit:contain;opacity:0;transform:scale(.4);pointer-events:none}
.phonics-hear-choice.hint{outline:0!important;animation:hearHint .75s ease-in-out infinite alternate!important}.phonics-hear-choice.hint .choice-glow{opacity:1}
.phonics-hear-choice.correct{transform:scale(1.1)}.phonics-hear-choice.correct .choice-glow,.phonics-hear-choice.correct .choice-check{opacity:1}.phonics-hear-choice.correct .choice-check{transform:scale(1);transition:.28s cubic-bezier(.2,1.7,.4,1)}
.phonics-hear-hint{position:absolute;z-index:12;right:0;bottom:0;display:flex;align-items:center;min-width:155px;height:76px;padding:0 24px 0 6px;border:5px solid #fff;border-radius:27px;background:#fff8e8;box-shadow:0 7px 0 #d4af70,0 12px 20px #25431f38;font-family:var(--font-d)!important;font-size:1.35rem!important;font-weight:1000!important}
.phonics-hear-hint img{width:66px;height:66px;object-fit:contain;margin-right:3px}.phonics-hear-hint:active{transform:translateY(4px);box-shadow:0 3px 0 #d4af70}
@keyframes hearRing{to{transform:scale(1.29);filter:brightness(1.1)}}
@keyframes hearSparkle{to{transform:scale(1.5) rotate(6deg);opacity:.72}}
@keyframes hearHint{to{filter:drop-shadow(0 0 17px #efff56)}}

@media(max-width:760px){
 #s-phonics-game[data-game="hear-sound"]{background-attachment:scroll;background-position:center top}
 #s-phonics-game[data-game="hear-sound"] .phonics-hud-btn{width:43px;height:43px}
 #s-phonics-game[data-game="hear-sound"] #phonicsGameBack{width:43px;display:grid;padding:0;border:0;background:transparent;box-shadow:none}
 #s-phonics-game[data-game="hear-sound"] #phonicsGameBack::after{display:none}
 #s-phonics-game[data-game="hear-sound"] .phonics-game-top h1::before,#s-phonics-game[data-game="hear-sound"] .phonics-game-top h1::after{display:none}
 #s-phonics-game[data-game="hear-sound"] .phonics-round-progress{width:86%;height:36px}
 #s-phonics-game[data-game="hear-sound"] .phonics-round-progress>span{width:23px;height:23px}
 #s-phonics-game[data-game="hear-sound"] .phonics-instruction{width:100%;min-height:68px;padding:8px 7%;grid-template-columns:48px 1fr}
 #s-phonics-game[data-game="hear-sound"] .phonics-instruction>button{width:45px;height:45px}
 #s-phonics-game[data-game="hear-sound"] .phonics-instruction h2{font-size:clamp(.92rem,4vw,1.18rem)}
 .phonics-hear-authored{height:570px}
 .phonics-hear-board{left:1%;right:1%;top:0;height:420px;bottom:auto;border-width:5px;border-radius:32px}
 .phonics-hear-speaker{top:3%;width:110px}
 .phonics-hear-phoneme{top:31%;width:88px}
 .phonics-hear-choices{left:2%;right:2%;top:42%;bottom:auto;height:150px;gap:0}
 .phonics-hear-choice{width:min(31.5%,112px)}
 .phonics-hear-choice strong{font-size:clamp(3.7rem,18vw,5.2rem)}
 .phonics-hear-choices[data-count="2"]{gap:8%}.phonics-hear-choices[data-count="2"] .phonics-hear-choice{width:36%}
 .phonics-hear-guide{left:1%;bottom:0;width:155px}
 .phonics-hear-bubble{left:76%;top:3%;width:115px}
 .phonics-hear-bubble strong{font-size:.78rem}
 .phonics-hear-hint{right:2%;bottom:38px;min-width:126px;height:62px;padding-right:16px;border-width:4px;font-size:1.05rem!important}
 .phonics-hear-hint img{width:52px;height:52px}
}
@media(orientation:landscape) and (max-height:700px) and (min-width:761px){
 #s-phonics-game[data-game="hear-sound"] .phonics-hud-btn{width:52px;height:52px}
 #s-phonics-game[data-game="hear-sound"] #phonicsGameBack{width:105px;grid-template-columns:48px auto}
 #s-phonics-game[data-game="hear-sound"] .phonics-instruction{width:76%;min-height:62px;padding:5px 9%;grid-template-columns:48px 1fr}
 #s-phonics-game[data-game="hear-sound"] .phonics-instruction>button{width:44px;height:44px}
 #s-phonics-game[data-game="hear-sound"] .phonics-instruction h2{font-size:1.12rem}
 .phonics-hear-authored{height:min(49vh,345px);transform:translateY(-18px)}
 .phonics-hear-board{left:20%;right:11%;top:0;bottom:0;border-width:5px;border-radius:34px}
 .phonics-hear-guide{left:0;width:155px}
 .phonics-hear-bubble{display:none}
 .phonics-hear-speaker{top:1%;width:88px}
 .phonics-hear-phoneme{top:28%;width:76px}
 .phonics-hear-phoneme strong{font-size:1.3rem}
 .phonics-hear-choices{top:43%;bottom:2%;gap:clamp(8px,2vw,24px)}
 .phonics-hear-choice{width:clamp(82px,10vw,108px)}
 .phonics-hear-choice strong{font-size:3.65rem}
 .phonics-hear-hint{right:0;bottom:0;min-width:105px;height:54px;padding-right:12px;border-width:3px;font-size:.95rem!important}
 .phonics-hear-hint img{width:46px;height:46px}
}
@media(max-width:340px){
 .phonics-hear-guide{width:145px}
 .phonics-hear-bubble{left:55%;top:-4%;width:100px}
 .phonics-hear-bubble strong{font-size:.69rem}
 .phonics-hear-hint{right:1%;min-width:112px;height:58px;padding-right:12px;font-size:.95rem!important}
 .phonics-hear-hint img{width:48px;height:48px}
}
@media(min-width:761px) and (max-width:900px) and (orientation:portrait){
 #s-phonics-game[data-game="hear-sound"] .phonics-instruction{width:88%}
 .phonics-hear-authored{height:620px}
 .phonics-hear-board{left:18%;right:4%;top:0;height:500px;bottom:auto;border-radius:42px}
 .phonics-hear-speaker{top:2%;width:130px}
 .phonics-hear-phoneme{top:29%;width:102px}
 .phonics-hear-choices{left:4%;right:4%;top:43%;bottom:auto;height:190px;gap:14px}
 .phonics-hear-choice{width:150px}
 .phonics-hear-choice strong{font-size:4.8rem}
 .phonics-hear-guide{left:0;bottom:0;width:190px}
 .phonics-hear-bubble{left:0;top:-52%;width:78%}
 .phonics-hear-hint{right:1%;bottom:34px}
}

/* Age-adaptive Phonics routes */
.phonics-progress-panel>.phonics-progress-heading{display:grid;grid-template-columns:minmax(0,1fr);align-content:center;align-items:stretch;gap:5px;min-width:0}
.phonics-progress-heading h2{white-space:nowrap}
#phonicsOpenCollection{width:100%;min-width:0;min-height:44px;padding:7px 10px;border:3px solid #fff;border-radius:18px;background:#7356d8;color:#fff;font:900 .86rem var(--font-b);box-shadow:0 4px 0 #4932a3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#phonicsOpenCollection:active{transform:translateY(3px);box-shadow:0 1px 0 #4932a3}
.phonics-hear-choice-image{position:absolute;z-index:3;left:10%;top:8%;width:80%;height:67%;display:block;object-fit:contain;border-radius:18px;pointer-events:none;user-select:none;-webkit-user-drag:none}
.phonics-hear-choice>small{position:absolute;z-index:3;left:8%;right:8%;bottom:9%;color:var(--pf-navy);font:1000 clamp(.78rem,1.5vw,1.05rem) var(--font-b);line-height:1;text-transform:capitalize;text-shadow:none}
.phonics-safari-scene{position:relative}
.phonics-safari-lens{position:absolute;z-index:9;left:8%;top:20%;width:clamp(34px,4vw,58px);height:clamp(38px,4.5vw,64px);object-fit:contain;pointer-events:none;filter:drop-shadow(0 3px 2px #0a1b5c55);transition:left .38s cubic-bezier(.2,.8,.3,1),top .38s cubic-bezier(.2,.8,.3,1),transform .25s}
.phonics-safari-lens.moving{transform:rotate(-12deg) scale(1.08)}
.phonics-object-choice.inspected,.phonics-object-choice.correct{outline:5px solid #76dc68;outline-offset:-5px}
.phonics-blend-listen-scene{position:relative;display:grid;place-items:center;min-height:360px;padding:92px 16px 72px}
.phonics-blend-picture-choices{display:grid;grid-template-columns:repeat(2,minmax(110px,180px));justify-content:center;gap:clamp(16px,4vw,34px);width:min(520px,90%)}
.phonics-blend-picture-choice{position:relative;min-width:0;min-height:132px;overflow:hidden;border:5px solid #fff;border-radius:30px;background:#fbf0e1;box-shadow:0 8px 0 #9bc56d;color:var(--pf-navy);display:grid;place-items:center;padding:8px;font:1000 1rem var(--font-b)}
.phonics-blend-picture-choice>.blend-word-image{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;border-radius:21px;pointer-events:none;user-select:none;-webkit-user-drag:none}
.phonics-blend-picture-choice>b{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);padding:3px 12px;border-radius:999px;background:#fffdf3e8;box-shadow:0 2px 7px #15275e30;font-family:var(--font-d);text-transform:capitalize}
.phonics-blend-picture-choice.correct{outline:6px solid #70d35c;transform:scale(1.04)}
.phonics-word-reveal[hidden]{display:none!important}
.phonics-listen-blend-speaker{display:grid;place-items:center;width:64px;height:64px;padding:8px;border:4px solid #fff;border-radius:50%;background:#7857dd;color:#fff;box-shadow:0 5px 0 #4932a3}.phonics-listen-blend-speaker img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.phonics-collectible-word-image,.phonics-collectible-hear-image{display:block;width:70px;height:70px;object-fit:contain;border-radius:14px;pointer-events:none}
.phonics-sound-stone[data-part="sh"],.phonics-sound-stone[data-part="ch"],.phonics-sound-stone[data-part="at"],.phonics-sound-stone[data-part="an"],.phonics-sound-stone[data-part="it"],.phonics-sound-stone[data-part="op"]{min-width:76px}
.phonics-letter-bank button{min-width:52px;min-height:48px}
.phonics-collection-screen{width:100%;max-width:1500px;min-height:100vh;min-height:100dvh;margin:0 auto;padding:clamp(12px,2vw,26px);background:linear-gradient(180deg,#dff2b8,#fff2c1 65%,#e6c987);color:var(--pf-navy);overflow-x:clip}
html body #s-phonics-collection.phonics-collection-screen.active{display:grid;grid-template-rows:auto 1fr;height:100vh;height:100dvh;overflow-y:auto!important;overscroll-behavior-y:contain}
.phonics-collection-top{display:grid;grid-template-columns:minmax(92px,1fr) minmax(0,auto) minmax(92px,1fr);align-items:center;gap:12px;min-width:0;min-height:58px}
.phonics-collection-top>div{min-width:0;text-align:center}
.phonics-collection-top small{font:1000 .7rem var(--font-b);letter-spacing:.08em}
.phonics-collection-star{justify-self:end;display:flex;align-items:center;justify-content:center;min-width:78px;min-height:48px;border:3px solid #fff;border-radius:18px;background:#fff7d5;font:1000 1rem var(--font-b);box-shadow:0 4px 0 #c9a85e}
#phonicsCollectionBack{justify-self:start;min-width:96px;min-height:48px;padding:8px 14px;border:3px solid #fff;border-radius:18px;background:#fff7d5;color:var(--pf-navy);font:1000 1rem var(--font-b);box-shadow:0 4px 0 #c9a85e}
.phonics-collection-top h1{margin:0;font:1000 clamp(1.55rem,3.5vw,2.5rem) var(--font-d);white-space:nowrap}
.phonics-collection-screen>main{width:min(1160px,100%);min-width:0;margin:clamp(8px,2vh,20px) auto;padding:clamp(14px,2vw,24px);border:5px solid rgba(255,255,255,.9);border-radius:34px;background:rgba(255,253,235,.94);box-shadow:0 12px 0 #bd9b56,0 20px 38px #38572c35}
.phonics-collection-chest{margin-bottom:14px}
.phonics-treasure-chest{display:flex;align-items:center;justify-content:center;gap:12px;min-height:70px;padding:10px;border-radius:22px;background:linear-gradient(135deg,#fff1a7,#ffd76d);box-shadow:inset 0 0 0 3px #fff}
.phonics-treasure-chest>span{font-size:2.6rem}.phonics-treasure-chest>div{display:grid}.phonics-treasure-chest small{font:1000 .7rem var(--font-b);letter-spacing:.08em}.phonics-treasure-chest strong{font:1000 1.05rem var(--font-d)}
.phonics-collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}
.phonics-collection-group>header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.phonics-collection-group>header>span{font-size:1.5rem}.phonics-collection-group>header h2{margin:0}
.phonics-collection-group>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:48px;min-width:0}
.phonics-collectible{display:inline-grid;place-items:center;min-width:52px;min-height:52px;padding:7px 10px;border:3px solid #fff;border-radius:16px;background:#eee5ff;color:var(--pf-navy);font:1000 .94rem var(--font-b);box-shadow:0 3px 0 #baa8e7}
button.phonics-collectible{cursor:pointer}.phonics-collectible small{font-size:.72rem}.phonics-collectible>span{font-size:1.45rem}.letter-card{grid-template-columns:auto auto;column-gap:6px}.letter-card small{grid-column:1/-1}
.phonics-collection-empty{margin:0;color:#5f6480;font:800 .88rem var(--font-b)}
.phonics-collection-stage{width:min(1160px,100%);margin:clamp(8px,2vh,20px) auto;padding:clamp(14px,2vw,24px);border:5px solid rgba(255,255,255,.9);border-radius:34px;background:rgba(255,253,235,.94);box-shadow:0 12px 0 #bd9b56,0 20px 38px #38572c35}
.phonics-collection-intro{margin:0 0 16px;text-align:center;font:900 clamp(.96rem,2vw,1.2rem) var(--font-b)}
.phonics-collection-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.phonics-collection-group{min-width:0;padding:14px;border-radius:24px;background:#fff;border:3px solid #e3cb84}
.phonics-collection-group h2{margin:0 0 10px;font:1000 clamp(1rem,2vw,1.3rem) var(--font-d)}
.phonics-collection-items{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:48px}
.phonics-collection-items>span,.phonics-collection-items>button{display:inline-grid;place-items:center;min-width:48px;min-height:48px;padding:7px 10px;border:3px solid #fff;border-radius:16px;background:#eee5ff;color:var(--pf-navy);font:1000 .96rem var(--font-b);box-shadow:0 3px 0 #baa8e7}
.phonics-collection-items>button{cursor:pointer}
.phonics-treasure{display:flex;align-items:center;justify-content:center;gap:12px;min-height:74px;margin-top:16px;padding:10px;border-radius:24px;background:linear-gradient(135deg,#fff1a7,#ffd76d);font:1000 1rem var(--font-b);box-shadow:inset 0 0 0 3px #fff}
.phonics-treasure>span{font-size:2.8rem}
.phonics-treasure.empty{filter:saturate(.55);opacity:.78}

@media(max-width:520px){
 .phonics-progress-heading{align-items:flex-start}
 #phonicsOpenCollection{padding-inline:10px;font-size:.78rem}
 .phonics-choice-picture{font-size:3.4rem}
 .phonics-blend-listen-scene{min-height:330px;padding:82px 8px 68px}
 .phonics-blend-picture-choices{grid-template-columns:repeat(2,minmax(0,1fr));width:96%;gap:12px}
 .phonics-blend-picture-choice{min-height:112px;border-radius:23px}
 .phonics-collection-screen{padding:12px 14px 22px}
 .phonics-collection-top{grid-template-columns:72px minmax(0,1fr) 72px;gap:4px;width:100%}
 .phonics-collection-star{min-width:0;width:72px;min-height:48px}
 #phonicsCollectionBack{min-width:0;width:72px;min-height:48px;padding:6px;font-size:.88rem}
 .phonics-collection-top h1{text-align:center;font-size:1.08rem;line-height:1.05;white-space:normal}
 .phonics-collection-top small{font-size:.58rem}
 .phonics-collection-screen>main{width:100%;padding:12px;border-width:4px;border-radius:26px}
 .phonics-collection-grid{grid-template-columns:1fr;gap:10px}
 .phonics-treasure-chest{min-height:62px;padding:8px}.phonics-treasure-chest>span{font-size:2.1rem}.phonics-treasure-chest strong{font-size:.9rem}
 .phonics-collection-stage{padding:12px;border-width:4px;border-radius:26px}
 .phonics-collection-groups{grid-template-columns:1fr;gap:10px}
 .phonics-collection-group{padding:11px;border-radius:20px}
 .phonics-collection-items>span,.phonics-collection-items>button{min-width:48px;min-height:48px}
}
@media(orientation:landscape) and (max-height:700px) and (min-width:521px){
 html body #s-phonics-collection.phonics-collection-screen.active{grid-template-rows:52px 1fr}
 .phonics-collection-top{min-height:48px}
 .phonics-collection-stage{margin:4px auto;padding:10px 14px}
 .phonics-collection-groups{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
 .phonics-treasure{min-height:58px;margin-top:9px}
}
