@font-face{font-family:NoorArabic;src:url('assets/noto-naskh.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:light;--ink:#24483e;--muted:#546b65;--green:#27644e;--green-dark:#173d2f;--yellow:#ffd359;--blue:#eaf5fa;--line:#dce9e9;--white:#fff;--soft:#f4f8fb;--shadow:0 6px 0 #d9e5e8;--font:system-ui,-apple-system,'Segoe UI',Tahoma,sans-serif}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--blue);color:var(--ink);font-family:var(--font);line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #2d75c0;outline-offset:5px}button{touch-action:manipulation}svg{width:1.5rem;height:1.5rem;display:block;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}button span[data-icon]{display:flex}a{color:#246343}.app-shell{max-width:1200px;margin:auto;padding:0 40px}.skip{position:fixed;top:-100px;right:20px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:25px 0;gap:20px;border-bottom:1px solid #cddfe5}.brand{display:flex;align-items:center;gap:13px}.brand-icon{font-size:2.8rem;width:55px;height:55px;display:grid;place-content:center;background:var(--ink);color:var(--yellow);border-radius:19px;line-height:1}.brand-name{display:block;font-size:1.65rem;font-weight:800;line-height:1.4}.brand-sub{font-size:.85rem;display:block;color:var(--muted)}.header-actions{display:flex;gap:8px}.quiet-button{display:flex;align-items:center;gap:9px;border:1px solid transparent;border-radius:14px;padding:7px 12px;background:transparent;font-size:.88rem;font-weight:600}.quiet-button:hover{background:#ffffff94;border-color:var(--line)}.quiet-button span[lang]{display:block;font-size:.75rem;font-weight:500;color:var(--muted);line-height:1.4}.lesson-bar{display:flex;align-items:center;gap:14px;padding:24px 0 20px}.lesson-tag{border:1px solid #bcd8de;border-radius:8px;padding:4px 10px;font-size:.85rem;font-weight:700}.lesson-bar p{margin:0;font-weight:650;font-size:1rem}.lesson-bar p span{color:var(--muted);font-size:.85rem;margin-inline-start:9px;font-weight:400}.star-total{margin-inline-start:auto;background:#fff6d9;border:1px solid #eed686;border-radius:999px;display:flex;align-items:center;gap:8px;padding:5px 16px;direction:ltr;font-size:1rem;white-space:nowrap}.star-total>span:first-child{color:#ae7410;font-size:1.4rem}.star-limit{font-size:.8rem;color:#786d4e}.journey{list-style:none;display:flex;max-width:560px;padding:0;margin:8px auto 28px;position:relative;justify-content:space-between;gap:16px}.journey:before{content:'';height:2px;background:#c6dbdf;position:absolute;top:23px;right:38px;left:38px;z-index:-1}.journey li{display:flex;gap:10px;align-items:center;background:var(--blue);padding:0 8px;font-size:.85rem;color:#566d6a;font-weight:650}.journey li>span:last-child{background:var(--blue)}.journey li span[lang]{display:block;font-size:.75rem;font-weight:450}.step-symbol{width:46px;height:46px;border:2px solid #d2e2e5;border-radius:50%;background:var(--blue);display:grid;place-items:center}.current .step-symbol{background:var(--green);color:white;border-color:var(--green);box-shadow:0 0 0 5px #d9e9e5}.journey .done .step-symbol{background:#d0e8d9;border-color:#a9d1b9;color:var(--green)}.game-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:40px;align-items:center}.companion{text-align:center;align-self:center;min-width:0}.hello .tiny-label{font-size:.75rem;font-weight:750;letter-spacing:.12em;color:#59766e}.hello h2{font-size:2.3rem;margin:6px 0 0;line-height:1.4}.hello p{font-size:.94rem;color:var(--muted);margin:3px 0}.mascot-wrap{position:relative;margin:5px -12px 0}.mascot-wrap img{width:100%;height:auto;display:block;mix-blend-mode:multiply;transform:rotate(-3deg)}.mascot-badge{position:absolute;bottom:13px;left:24px;width:65px;height:65px;border-radius:50%;background:var(--yellow);border:4px solid white;box-shadow:0 5px 0 #ddbf65;display:grid;place-items:center;transform:rotate(-12deg)}.mascot-badge svg{width:36px;height:36px}.mascot-badge[hidden]{display:none}.buddy-note{background:#fff9;display:block;padding:14px 10px;border-radius:17px;position:relative;border:1px solid white}.note-icon{display:inline-block;color:#498066;margin-bottom:3px}.note-icon svg{width:20px;height:20px}.buddy-note p{margin:0;font-weight:600;font-size:.96rem}.buddy-note p[lang]{font-weight:450;font-size:.83rem;color:var(--muted);margin-top:2px}.activity{background:white;border:1px solid #d5e5e9;border-radius:30px;padding:30px 32px 25px;box-shadow:0 8px 0 #d6e5e8;min-height:488px;position:relative;min-width:0}.activity:focus{outline:none}.activity-header{text-align:center}.eyebrow{font-size:.75rem;font-weight:750;letter-spacing:.08em;color:var(--muted);margin:0 0 5px;text-transform:uppercase}.activity h1{font-size:clamp(1.7rem,3vw,2.25rem);margin:0;line-height:1.6;font-weight:800;letter-spacing:-.02em}.subtitle{font-size:1.05rem;margin:1px 0 0;color:var(--muted)}.instruction{font-size:.87rem;color:var(--muted);margin:10px 0 0}.letter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;direction:rtl;margin:29px 0 26px}.letter-card{min-height:156px;border:2px solid var(--line);border-radius:21px;background:#fff;padding:6px;box-shadow:0 5px 0 #e3ecee;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;transition:transform .16s,border-color .16s,background .16s;color:var(--ink)}.letter-card:hover:not(:disabled){border-color:#9bbeb0;transform:translateY(-3px)}.letter-card:active:not(:disabled){transform:translateY(4px);box-shadow:none}.glyph{font-family:NoorArabic,'Noto Naskh Arabic','Traditional Arabic',serif;font-size:5.5rem;line-height:1.35;font-weight:550;display:block}.letter-hint{display:flex;align-items:center;gap:5px;font-family:var(--font);font-size:.75rem;color:var(--muted);min-height:25px}.letter-hint svg{width:16px;height:16px}.letter-card.heard{background:#f1f8f2;border-color:#aed0b7}.letter-card.playing{background:#fff8da;border-color:#e5bf53;box-shadow:0 5px 0 #e4c463}.letter-card.correct{background:#ecf7ed;border-color:#6faa7d;box-shadow:0 5px 0 #b4d4b7}.letter-card.try-again{background:#fff9e9;border-color:#e2c367}.letter-card:disabled:not(.correct):not(.try-again){color:#5d7770;background:#f7faf9;opacity:.7}.tile-tick{position:absolute;top:9px;left:9px;width:21px;height:21px;border-radius:50%;background:var(--green);color:white;display:grid;place-items:center}.tile-tick svg{width:14px;height:14px}.game-actions{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center}.primary-button{border:1px solid var(--green-dark);border-radius:16px;background:var(--green);color:white;padding:12px 28px;min-height:60px;min-width:245px;box-shadow:0 4px 0 var(--green-dark);display:flex;align-items:center;justify-content:center;gap:12px;font-weight:700;font-size:1.08rem;line-height:1.35}.primary-button .en{font-size:.8rem;font-weight:500;display:block;margin-top:2px;color:#e2eee7}.primary-button:hover{background:#205b46}.primary-button:active{transform:translateY(3px);box-shadow:0 1px 0 var(--green-dark)}.primary-button:disabled{background:#dce7e1;border-color:#d1ddd6;box-shadow:0 4px 0 #cad9d0;color:#60786b}.primary-button:disabled .en{color:#60786b}.action-note{margin:4px 0 0;color:var(--muted);font-size:.8rem;min-height:22px}.round-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px;gap:12px}.level-pill{padding:4px 10px;border-radius:8px;background:#edf3ff;color:#3b5790;font-size:.82rem;font-weight:650}.round-count{color:var(--muted);font-size:.82rem}.round-stars{display:flex;gap:6px;direction:ltr;align-items:center}.round-stars span{font-size:1.1rem;line-height:1;color:#c7d5d5}.round-stars .earned{color:#af7912}.quiz-prompt{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:17px}.listen-button{display:grid;place-items:center;background:var(--yellow);color:#493c15;border:2px solid #f0c445;border-radius:50%;width:76px;height:76px;box-shadow:0 4px 0 #d9b547;flex-shrink:0}.listen-button svg{width:31px;height:31px}.listen-button:active{transform:translateY(3px);box-shadow:none}.listen-button.playing{animation:pulse .9s ease-in-out infinite}.listen-label{text-align:start;font-size:1rem;font-weight:650;line-height:1.55}.listen-label span{display:block;font-size:.82rem;color:var(--muted);font-weight:450}.quiz-grid{max-width:470px;margin:22px auto 18px}.quiz-grid.two{max-width:300px;grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-grid .letter-card{min-height:130px}.quiz-grid .glyph{font-size:4.7rem}.feedback{min-height:67px;text-align:center;padding:8px;border-radius:12px;line-height:1.55;font-size:1rem;display:flex;flex-direction:column;justify-content:center}.feedback p{margin:0}.feedback [lang]{font-size:.83rem;color:var(--muted)}.feedback.success{background:#eff8ef;color:#28623c}.feedback.retry{background:#fff7df;color:#795a1d}.quiz-bottom{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:13px;min-height:64px}.say-prompt{font-size:.8rem;color:var(--muted);text-align:center;margin:5px 0 0}.reward{text-align:center;padding:12px 0}.reward-symbol{width:100px;height:100px;border-radius:30px;background:#fff2bc;color:#927013;display:grid;place-items:center;margin:4px auto 18px;transform:rotate(-8deg);box-shadow:0 6px 0 #e9d68e}.reward-symbol svg{width:57px;height:57px}.reward h1{font-size:2.1rem}.reward .subtitle{margin-top:5px}.reward-description{font-size:.95rem;color:var(--muted);max-width:370px;margin:15px auto 23px}.reward-description span{display:block;margin-top:5px;font-size:.87rem}.collected-letters{display:flex;justify-content:center;gap:10px;direction:rtl;margin:20px 0}.collected-letters span{font-family:NoorArabic,serif;font-size:2.7rem;line-height:1.4;background:#f1f7f4;border:1px solid #d8e7dd;border-radius:13px;min-width:57px;padding:0 12px}.reward-stars{color:#a77b19;font-size:1.8rem;letter-spacing:.16em;direction:ltr;line-height:1.5;margin:10px 0}.text-button{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;font-size:.85rem;min-height:44px;padding:5px 12px;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:12px;padding:28px 0 24px;font-size:.8rem;color:#536f69}footer span[lang]{margin-inline-end:auto;padding-inline-start:8px}.prototype-label{color:#637774}.audio-error{padding:12px;background:#fff4df;border:1px solid #e8cc8c;border-radius:12px;font-size:.9rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}dialog{border:1px solid var(--line);border-radius:24px;padding:28px;max-width:570px;width:calc(100% - 32px);max-height:85vh;color:var(--ink);background:#fff;line-height:1.8}dialog::backdrop{background:#153e3766;backdrop-filter:blur(5px)}dialog p{font-size:1rem}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-header h2{margin:0;font-size:1.6rem}.icon-button{width:44px;height:44px;border:0;border-radius:50%;background:var(--soft);font-size:2rem;line-height:1}dialog ul{padding-inline-start:22px;font-size:.95rem}dialog li{margin:8px 0}.parent-note{background:#f3f7ed;border-radius:13px;padding:15px}.parent-note p{font-size:.92rem;margin:5px 0 0}.small-copy,dialog details p{font-size:.85rem}details{border-top:1px solid var(--line);padding-top:13px;font-size:.87rem}summary{cursor:pointer}.noscript{padding:30px;text-align:center}.celebrate .mascot-wrap img{animation:hop .75s ease-in-out 2}.celebrate .reward-symbol{animation:pop .5s ease-out}.new-star{animation:pop .4s ease-out}@keyframes pulse{50%{box-shadow:0 0 0 8px #ffe89380,0 4px 0 #d9b547}}@keyframes hop{50%{transform:translateY(-12px) rotate(4deg)}}@keyframes pop{0%{transform:scale(.6) rotate(-8deg)}65%{transform:scale(1.13) rotate(4deg)}100%{transform:scale(1) rotate(-8deg)}}
@media(min-width:1250px){.app-shell{padding-top:10px}.game-layout{gap:55px}.activity{min-height:510px;padding-top:35px}.letter-grid{margin-top:34px;margin-bottom:30px}.companion{padding-bottom:10px}}
@media(max-width:950px){.app-shell{padding:0 24px}.game-layout{grid-template-columns:205px minmax(0,1fr);gap:24px}.activity{padding:25px 22px}.letter-grid{gap:9px}.glyph{font-size:4.9rem}.letter-card{min-height:146px}.hello .tiny-label{font-size:.75rem}.hello h2{font-size:2rem}.journey{margin-bottom:25px}.buddy-note p{font-size:.87rem}.buddy-note p[lang]{font-size:.77rem}footer span[lang]{display:none}}
@media(max-width:720px){.app-shell{padding:0 18px}.topbar{padding:17px 0}.brand-icon{width:46px;height:46px;border-radius:15px;font-size:2.3rem}.brand-name{font-size:1.35rem}.brand-sub{font-size:.77rem}.brand{gap:9px}.quiet-button{padding:6px 8px;gap:5px;font-size:.76rem}.quiet-button svg{width:21px;height:21px}.quiet-button span[lang]{font-size:.75rem}.parent-button>span:last-child{display:none}.lesson-bar{padding:17px 0 14px;gap:9px}.lesson-bar p{font-size:.88rem}.lesson-bar p span{display:none}.lesson-tag{font-size:.76rem;padding:3px 8px}.star-total{padding:3px 11px;gap:5px}.journey{margin:4px auto 19px;max-width:440px}.journey li{gap:7px;font-size:.79rem;padding:0 5px}.journey li span[lang]{font-size:.75rem}.step-symbol{width:39px;height:39px}.step-symbol svg{width:19px;height:19px}.journey:before{top:19px}.game-layout{display:flex;flex-direction:column;gap:0;align-items:stretch}.companion{display:flex;align-items:center;justify-content:center;position:relative;align-self:stretch;padding:0 10px;margin:0 0 -2px;min-height:84px;z-index:1}.hello{display:none}.mascot-wrap{width:100px;flex-shrink:0;margin:0;order:0}.mascot-wrap img{transform:rotate(5deg)}.buddy-note{border:0;background:transparent;text-align:start;padding:6px 8px;order:1;max-width:270px}.buddy-note .note-icon{display:none}.buddy-note p{font-size:.95rem}.buddy-note p[lang]{font-size:.81rem}.mascot-badge{width:36px;height:36px;left:0;bottom:7px;border-width:2px;box-shadow:0 2px 0 #ddbf65}.mascot-badge svg{width:21px;height:21px}.activity{padding:24px 20px;border-radius:24px;min-height:460px}.activity h1{font-size:1.8rem}.subtitle{font-size:.98rem}.letter-grid{margin:24px 0 24px;gap:10px}.letter-card{min-height:138px;border-radius:16px}.glyph{font-size:4.8rem}.letter-hint{font-size:.75rem}.letter-hint svg{width:14px;height:14px}.quiz-grid .glyph{font-size:4.3rem}.quiz-grid .letter-card{min-height:116px}.quiz-prompt{margin-top:15px}.listen-button{width:67px;height:67px}.quiz-grid.two{max-width:275px}.feedback{font-size:.96rem}.primary-button{min-height:58px;padding:10px 25px;font-size:1rem}.reward-symbol{width:88px;height:88px}.reward h1{font-size:1.8rem}.reward-description{font-size:.88rem}.reward-description span{font-size:.8rem}footer{padding:23px 4px;flex-wrap:wrap;font-size:.75rem}.prototype-label{font-size:.75rem}.header-actions{gap:1px}.action-note{font-size:.77rem}}
@media(max-width:390px){.app-shell{padding:0 12px}.activity{padding:23px 15px}.letter-grid{gap:7px}.letter-card{min-height:126px}.glyph{font-size:4.3rem}.quiz-grid .glyph{font-size:3.9rem}.quiet-button{padding:5px}.quiet-button>span[data-icon]{display:none}.parent-button>span[data-icon]{display:flex}.brand-icon{width:42px;height:42px}.brand-name{font-size:1.23rem}.star-limit{display:none}.journey li{gap:5px}.step-symbol{width:34px;height:34px}.journey:before{top:16px}.buddy-note p{font-size:.88rem}.buddy-note p[lang]{font-size:.76rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Character selection, collections and the three-game adventure. */
[hidden]{display:none!important}
.game-layout.choosing{display:block}.choosing .companion{display:none}.choosing .activity{max-width:900px;margin:auto;min-height:0;padding:27px 34px}.choosing .activity h1{font-size:2.2rem}
.character-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:24px 0}.character-card{background:#eaf5fa;border:2px solid #dce9e9;border-radius:22px;padding:8px 10px 11px;position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;box-shadow:0 4px 0 #dce8eb;transition:transform .15s,border-color .15s}.character-card:hover{transform:translateY(-3px);border-color:#aacaba}.character-card img{display:block;width:139px;max-width:100%;height:139px;object-fit:contain;mix-blend-mode:multiply;pointer-events:none}.character-card.selected{border-color:var(--green);box-shadow:0 4px 0 var(--green);background:#e2f0ea}.character-card.selected img{transform:rotate(-4deg)}.character-label{display:flex;align-items:center;justify-content:center;gap:8px;font-size:1rem;line-height:1.4;flex-wrap:wrap}.character-label>span{font-size:.88rem;color:#526a60}.character-check{position:absolute;right:9px;top:9px;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;background:var(--green);color:white}.character-check svg{width:18px;height:18px}.character-stars{position:absolute;left:8px;top:10px;font-size:.75rem;font-weight:700;direction:ltr;color:#8a650e;background:#fff4c6;border-radius:7px;padding:1px 5px}.change-character{margin-top:10px;font-size:.78rem}.mascot-wrap{border:5px solid transparent;border-radius:32px;transition:border-color .2s,box-shadow .2s}.mascot-wrap[data-frame=sunshine]{border-color:#edbf44;box-shadow:0 5px 0 #d6a826}.mascot-wrap[data-frame=sky]{border-color:#5c9bd4;box-shadow:0 5px 0 #3e7bac}.mascot-wrap[data-frame=berry]{border-color:#a87bc4;box-shadow:0 5px 0 #8b60a5}.mascot-wrap img{border-radius:25px}.mascot-badge{left:6px;bottom:6px}.journey{max-width:635px}.journey li{font-size:.83rem}.journey:before{top:23px}.reward-hint{font-size:.78rem;text-align:center;color:#596f66;margin:13px 0 0}.slow-toggle{border:1px solid #d5e2dd;border-radius:11px;background:#f4f8f6;display:flex;align-items:center;justify-content:center;gap:7px;font-size:.8rem;padding:6px 10px;min-height:42px}.slow-toggle svg{width:19px;height:19px}.slow-toggle span[lang]{display:block;line-height:1.2;font-size:.75rem;color:var(--muted)}.slow-toggle.on{border-color:var(--green);background:#dfefe6;box-shadow:inset 0 0 0 1px var(--green)}.game-actions .slow-toggle{margin-top:-10px;margin-bottom:3px;min-height:39px}.game-actions .slow-toggle span[lang]{display:inline;margin-inline-start:4px}.quiz-prompt{gap:15px}.quiz-prompt .slow-toggle{margin-inline-start:10px}.quiz-grid{margin-bottom:13px}.gate-keys{display:flex;align-items:center;justify-content:center;gap:11px;margin:18px 0 8px;direction:ltr}.gate-key{display:grid;place-items:center;background:#f0f4f5;color:#819995;border:2px solid #dce7e7;border-radius:13px;width:43px;height:43px;transition:background .2s,transform .2s}.gate-key svg{width:22px;height:22px}.gate-key.lit{background:#fff0b4;color:#8a620b;border-color:#e8c054;transform:rotate(-5deg)}.pair-section-label{display:flex;align-items:center;gap:10px;margin-top:20px;font-size:.88rem}.pair-section-label>span{font-size:.82rem;color:var(--muted)}.pair-section-label .slow-toggle{margin-inline-start:auto}.sound-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:12px;direction:rtl}.sound-tile{background:#fff4c6;color:#725619;border:2px solid #e7cc79;border-radius:15px;box-shadow:0 4px 0 #e3ce8a;min-height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.85rem;font-weight:750}.sound-tile>svg{width:24px;height:24px}.sound-tile.active{background:#ffdf71;border-color:#a98315;box-shadow:0 4px 0 #b58e21}.sound-tile.matched{background:#e4f2e6;border-color:#afcdb8;color:#2e6541;box-shadow:0 4px 0 #cfdfd2}.sound-tile.matched span{font-family:NoorArabic,serif;font-size:1.4rem;line-height:1}.sound-tile:hover:not(:disabled){transform:translateY(-2px)}.sound-tile.playing>svg{animation:pulse-icon .8s ease-in-out infinite}.pair-letters{margin:12px 0 15px}.pair-letters .letter-card{min-height:106px}.pair-letters .glyph{font-size:4.1rem}.reward-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:400px;margin:24px auto}.reward-option{border:2px solid #d9e5e1;border-radius:16px;background:#f7faf8;min-height:105px;padding:12px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;position:relative}.reward-option>svg{width:33px;height:33px;color:#4c735d;margin-bottom:6px}.reward-option b{font-size:.95rem}.reward-option>span[lang]{font-size:.8rem;color:var(--muted)}.reward-option.selected{background:#e4f1e7;border-color:var(--green);box-shadow:0 3px 0 var(--green)}.reward-option:disabled{opacity:.58}.reward-option small{font-size:.75rem;color:#675d40}.frame-options{grid-template-columns:repeat(3,minmax(0,1fr));max-width:440px}.frame-swatch{display:grid;place-items:center;border:4px solid #d3e1e0;border-radius:13px;background:#eaf5fa;width:46px;height:46px;margin-bottom:4px}.frame-swatch svg{width:18px;height:18px;color:#547265}.frame-sunshine{border-color:#edbf44}.frame-sky{border-color:#5c9bd4}.frame-berry{border-color:#a87bc4}.reward-description{margin-top:16px;margin-bottom:18px}.collection-summary{display:flex;align-items:center;justify-content:space-between;background:#fff5cf;padding:12px 15px;border-radius:12px;gap:10px}.collection-summary>b{direction:ltr;color:#836012}.collection-summary>span{font-size:.84rem}.collection-summary+h3{margin-top:20px}#collection-view h3{font-size:1rem;margin:16px 0 0}#collection-view .reward-options{max-width:none;grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0}#collection-view .reward-option{padding:9px 5px;min-height:112px}#collection-view .reward-option b{font-size:.82rem}#collection-view .reward-option>span[lang]{font-size:.75rem}.voice-samples{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:15px}.voice-samples>div{display:grid;grid-template-columns:1fr 1fr;gap:5px;text-align:center}.voice-samples>div>span{grid-column:span 2;font-size:.95rem;font-weight:650}.voice-samples button{background:white;border:1px solid #b8ccc0;border-radius:8px;min-height:40px;display:grid;place-items:center;padding:7px}.voice-samples svg{width:20px;height:20px}.parent-note p[lang]{font-size:.85rem}.game-layout.celebrate .mascot-wrap img{animation:hop .75s ease-in-out 2}
@keyframes pulse-icon{50%{transform:scale(1.2)}}
@media(max-width:950px){.game-layout{grid-template-columns:195px minmax(0,1fr);gap:23px}.mascot-wrap{margin:5px -5px 0}.journey{max-width:590px}.change-character{font-size:.75rem}.sound-grid{gap:9px}.quiz-prompt{gap:10px}.quiz-prompt .slow-toggle{margin-inline-start:0}.listen-label{font-size:.92rem}.pair-letters .glyph{font-size:3.6rem}.reward-option b{font-size:.86rem}.reward h1{font-size:1.9rem}}
@media(max-width:720px){.game-layout{display:flex}.game-layout.choosing{display:block}.choosing .activity{padding:24px 19px}.choosing .activity h1{font-size:1.85rem}.character-grid{gap:10px;margin:22px 0}.character-card{padding:8px 5px 10px;border-radius:15px}.character-card img{width:105px;height:105px}.character-label{gap:1px;flex-direction:column;font-size:.93rem}.character-label>span{font-size:.8rem}.character-check{width:21px;height:21px;right:5px;top:5px}.character-check svg{width:14px;height:14px}.character-stars{font-size:.75rem;top:5px;left:4px}.companion{padding:2px 5px 12px;flex-wrap:wrap;column-gap:2px;row-gap:0}.mascot-wrap{width:87px;margin:0;border-width:3px;border-radius:21px}.mascot-wrap img{border-radius:17px}.buddy-note{max-width:calc(100% - 97px);padding-inline:9px}.change-character{margin-top:0;flex-basis:100%;min-height:32px;padding:0;font-size:.75rem;order:2}.mascot-badge{width:30px;height:30px;bottom:-5px;left:-4px}.mascot-badge svg{width:17px;height:17px}.journey{gap:7px;margin-bottom:13px}.journey li{font-size:.77rem;gap:6px;padding:0 4px}.journey li span[lang]{font-size:.75rem}.journey:before{top:19px}.step-symbol{width:37px;height:37px}.header-actions #collection-open{width:39px;height:42px;justify-content:center;padding:7px}.header-actions #collection-open>span:last-child{display:none}.topbar{gap:9px}.game-layout .activity{padding-top:22px}.gate-keys{margin-top:14px;gap:9px}.gate-key{width:37px;height:37px;border-radius:11px}.gate-key svg{width:19px;height:19px}.quiz-prompt{gap:12px}.quiz-prompt .slow-toggle{padding:5px 8px}.slow-toggle{font-size:.75rem;gap:4px}.slow-toggle svg{width:17px;height:17px}.sound-grid{gap:10px}.sound-tile{min-height:71px;border-radius:13px}.pair-section-label{margin-top:16px;gap:7px;font-size:.8rem}.pair-section-label>span{font-size:.75rem}.pair-letters .letter-card{min-height:104px}.pair-letters .glyph{font-size:3.7rem}.reward-options{margin:20px auto}.reward-option{min-height:102px}.reward-option>span[lang]{font-size:.75rem}.reward-option b{font-size:.85rem}.reward-hint{font-size:.75rem;margin-top:8px}.frame-options{gap:8px}.frame-swatch{width:40px;height:40px}.reward .subtitle{font-size:.9rem}.reward h1{font-size:1.7rem}.voice-samples{gap:5px}.voice-samples button{padding:5px}.voice-samples>div>span{font-size:.86rem}#collection-view .reward-options{gap:7px}#collection-view .reward-option b{font-size:.8rem}#collection-view .reward-option>svg{width:27px;height:27px}.collection-summary{font-size:.88rem;flex-wrap:wrap}.collection-summary>span{font-size:.8rem}}
@media(max-width:390px){.character-card img{width:85px;height:85px}.character-grid{gap:8px}.character-label{font-size:.86rem}.character-label>span{font-size:.75rem}.choosing .activity{padding:22px 14px}.header-actions .quiet-button{padding:5px}.journey li{font-size:.75rem;gap:4px;padding:0 2px}.step-symbol{width:31px;height:31px}.step-symbol svg{width:16px;height:16px}.journey:before{top:15px}.sound-grid{gap:8px}.sound-tile{min-height:66px}.pair-letters .glyph{font-size:3.3rem}.quiz-prompt{gap:9px}.listen-label{font-size:.84rem}.listen-label span{font-size:.75rem}.listen-button{width:59px;height:59px}.listen-button svg{width:25px;height:25px}.pair-section-label{flex-wrap:wrap}.pair-section-label .slow-toggle{margin-inline-start:auto}.collection-summary{padding:10px}.frame-options .reward-option{min-width:0;padding-inline:4px}.frame-options .reward-option b{font-size:.81rem}.brand-sub{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* A home, a chosen gift, and a boat earned through the three learning activities. */
.world-peek{width:100%;border:1px solid #c3dce1;border-radius:19px;background:#f1faff;padding:10px;display:flex;align-items:center;gap:10px;text-align:start;margin-top:17px;font-size:1rem;font-weight:700}.world-peek:hover{border-color:var(--green);background:#e3f3f6}.world-peek-art{display:flex;align-items:center;direction:ltr;flex-shrink:0}.world-peek-art img{width:49px;height:49px;object-fit:cover;border-radius:12px;border:2px solid white}.world-peek-art img+img{margin-left:-16px;transform:rotate(8deg)}.world-peek>span:last-child>span{display:block;font-size:.875rem;font-weight:500}.world-peek small{display:block;font-size:.875rem;direction:ltr;color:#4f7065;text-align:start}.build-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;direction:ltr;aspect-ratio:1;max-width:286px;width:100%;margin:22px auto 0;border:5px solid #d7e9e9;background:#d7e9e9;border-radius:21px;overflow:hidden}.build-board.built{gap:0;border-color:#a5cdb9;box-shadow:0 5px 0 #c5ddd1}.build-piece{position:relative;aspect-ratio:1;padding:0;border:0;overflow:hidden;display:block;background:#eaf5fa;min-width:0}.build-piece img{position:absolute;display:block;width:200%;height:200%;max-width:none;pointer-events:none}.build-piece.available img{opacity:.34}.build-piece.available:hover img{opacity:.65}.build-piece.available{box-shadow:inset 0 0 0 3px #f3c33d}.build-piece.locked img{opacity:.06;filter:grayscale(1)}.piece-marker{position:absolute;inset:0;display:grid;place-items:center}.piece-marker svg{width:38px;height:38px;padding:7px;border-radius:50%;background:#ffe190;color:#725821;box-shadow:0 2px 0 #d8b74f}.locked .piece-marker svg{background:#dde9e9;color:#738d8b;box-shadow:none}.build-piece.placed img{opacity:1;animation:piece-in .28s ease-out}.build-status{text-align:center;font-size:.875rem;color:#426856;margin:12px 0 18px}.gift-heading{text-align:center;margin-top:18px}.gift-heading h2{margin:0;font-size:1.35rem}.gift-heading p{margin:0;color:var(--muted);font-size:1rem}.gift-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:17px auto;max-width:450px}.gift-choice{min-width:0;position:relative;background:#eaf5fa;border:2px solid #d4e6e8;border-radius:17px;padding:7px 7px 12px;display:flex;align-items:center;flex-direction:column;line-height:1.4}.gift-choice:hover:not(:disabled){border-color:#8ebba6;transform:translateY(-2px)}.gift-choice.selected{border-color:var(--green);box-shadow:0 3px 0 var(--green);background:#e1f1e8}.gift-choice b{font-size:1rem;white-space:normal}.gift-choice>span[lang]{font-size:.875rem;color:#496356}.gift-choice:disabled{opacity:.45}.gift-art{display:block;width:100%;aspect-ratio:1;background-image:url('assets/world/gifts.webp');background-size:300% 100%;background-repeat:no-repeat;mix-blend-mode:multiply;pointer-events:none}.gift-check{position:absolute;right:6px;top:6px;background:var(--green);color:white;border-radius:50%;padding:3px}.gift-check svg{width:17px;height:17px}.toy-play{display:flex;align-items:center;justify-content:center;gap:16px;min-height:112px;margin:8px auto 12px;padding:8px 15px;background:#f2f9f7;border-radius:17px;max-width:365px}.toy-button{width:89px;height:89px;flex-shrink:0;padding:0;border:0;background:transparent;border-radius:16px}.toy-button:hover{background:#e1f0eb}.toy-play p{margin:0;font-size:1rem}.toy-play p span{display:block;font-size:.875rem;color:#506d5c}.gift-ball.toy-moving{animation:toy-bounce .9s ease-out}.gift-kite.toy-moving{animation:toy-fly 1.5s ease-in-out}.gift-flower.toy-moving{animation:toy-bloom 1.1s ease-out}.world-buildings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:12px}.world-buildings section{min-width:0}.world-buildings h3{text-align:center}.world-buildings .build-board{margin-top:10px;border-width:4px;border-radius:16px}.world-buildings p{text-align:center;color:#58746b;font-size:.875rem;margin:10px 0}.wardrobe{margin-top:24px}.wardrobe summary{font-size:1rem;font-weight:650}.voyage{position:relative;isolation:isolate;height:268px;background:#e2f3fb;border:1px solid #c9e3ea;border-radius:25px;overflow:hidden;margin:24px 0 18px;direction:ltr}.voyage-home{position:absolute;left:-25px;top:42px;width:185px;transition:transform 1s}.voyage-home img{display:block;width:100%;border-radius:25px}.voyage-vessel{position:absolute;left:34%;top:24px;width:224px;height:224px}.vessel-image{display:block;width:100%;mix-blend-mode:multiply}.voyage-explorer{position:absolute;width:24%;left:6%;bottom:29%;mix-blend-mode:multiply}.voyage-label{position:absolute;left:0;right:0;bottom:10px;text-align:center;color:#3c6570;font-size:.875rem;font-weight:650}.voyage.sailing .voyage-vessel{animation:little-voyage 4.5s ease-in-out forwards}.voyage.sailing .voyage-home{transform:translateX(-30px)}.voyage.arrived .voyage-vessel{left:39%;transform:rotate(-3deg)}.voice-select{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:17px 0}.voice-select button{border:2px solid #c6dacf;background:white;border-radius:13px;padding:10px;min-height:67px}.voice-select button b,.voice-select button span{display:block}.voice-select button b{font-size:1rem}.voice-select button span{font-size:.875rem;color:#4f6b5d}.voice-select .selected{border-color:var(--green);background:#dfefe5;box-shadow:0 3px 0 var(--green)}
@keyframes piece-in{from{opacity:.35;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
@keyframes toy-bounce{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-36px) rotate(35deg)}60%{transform:translateY(0) rotate(60deg)}78%{transform:translateY(-15px) rotate(85deg)}}
@keyframes toy-fly{0%,100%{transform:translate(0,0) rotate(0)}35%{transform:translate(-20px,-25px) rotate(-15deg)}70%{transform:translate(12px,-35px) rotate(8deg)}}
@keyframes toy-bloom{0%,100%{transform:scale(1)}30%{transform:scale(.72)}65%{transform:scale(1.2) rotate(6deg)}85%{transform:scale(1.04) rotate(-5deg)}}
@keyframes little-voyage{0%{transform:translate(0,0) rotate(0)}22%{transform:translate(22px,-5px) rotate(-3deg)}48%{transform:translate(65px,2px) rotate(2deg)}72%{transform:translate(122px,-5px) rotate(-2deg)}100%{transform:translate(230px,0) rotate(1deg)}}
@media(max-width:950px){.world-peek{font-size:.875rem;padding:9px;gap:6px}.world-peek-art img{width:41px;height:41px}.world-peek>span:last-child>span{font-size:.875rem}.voyage-vessel{left:29%;width:205px;height:205px;top:38px}.voyage-home{width:170px}}
@media(max-width:720px){.companion .world-peek{order:3;flex-basis:100%;max-width:340px;margin:8px auto 0}.world-peek-art img{width:45px;height:45px}.build-board{max-width:260px}.gift-choices{gap:8px}.gift-choice{padding:5px 5px 10px}.gift-choice b{font-size:.95rem}.gift-choice>span[lang]{font-size:.875rem}.world-buildings{gap:12px}.voyage{height:250px}.voyage-vessel{top:37px;left:28%;width:200px;height:200px}.voyage-home{width:160px;top:45px}.gift-heading h2{font-size:1.25rem}}
@media(max-width:390px){.world-buildings{gap:8px}.world-buildings p{font-size:.875rem}.piece-marker svg{width:32px;height:32px}.gift-choices{gap:6px}.gift-choice b{font-size:.875rem}.gift-choice>span[lang]{font-size:.875rem}.voyage-vessel{left:24%;width:187px;height:187px}.toy-play{gap:10px;padding:6px 10px}}
@media(prefers-reduced-motion:reduce){.build-piece.placed img,.toy-moving,.voyage.sailing .voyage-vessel{animation:none!important}.voyage.sailing .voyage-vessel{transform:translateX(45px)}.voyage-home{transition:none}}

/* Garden Island continues the same letter journey. */
.area-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:680px;margin:0 auto 24px}.area-nav button{display:flex;align-items:center;gap:12px;min-width:0;padding:9px 13px;background:#f9fdff;border:2px solid #ccdee4;border-radius:19px;text-align:start;line-height:1.45}.area-nav button[aria-current=page]{background:#e3f2e9;border-color:var(--green);box-shadow:0 3px 0 #bdd9c9}.area-nav button:disabled{background:#e4edf0;color:#526d70}.area-nav button:disabled img{filter:grayscale(.8);opacity:.6}.area-nav img{width:64px;height:64px;object-fit:cover;border-radius:13px;flex-shrink:0}.area-nav b{font-size:1rem}.area-nav span>span,.area-nav small{display:block;font-size:.875rem;font-weight:450}.area-nav small{color:#526b63;margin-top:2px}.island-letter-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:450px;margin-inline:auto}.dot-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;text-align:center;margin:-13px auto 28px;max-width:450px}.dot-guide b{display:block;font-size:.95rem}.dot-guide span{display:block;font-size:.875rem;color:var(--muted)}.garden-scene{position:relative;isolation:isolate;max-width:415px;aspect-ratio:1;margin:18px auto;border:2px solid #94d8de;border-radius:24px;overflow:hidden;direction:ltr;background:#71d8ea}.garden-background{display:block;width:100%;height:100%;object-fit:cover}.garden-explorer{position:absolute;left:9%;top:41%;width:17%;height:auto;mix-blend-mode:multiply;pointer-events:none}.garden-slot{position:absolute;top:39%;width:19%;height:25%;padding:0;transform:translateX(-50%);border:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;border-radius:15px}.garden-slot .gift-art{width:100%;flex-shrink:0;transform:scale(.58);transform-origin:50% 100%;transition:transform .4s}.garden-slot.grown .gift-art{transform:scale(1)}.garden-slot.grown:hover .gift-art{transform:scale(1.08)}.garden-slot .gift-art.toy-moving{animation:toy-bloom 1.1s ease-out}.plant-marker{display:grid;place-items:center;width:46px;height:46px;border:3px solid #fff2b8;border-radius:50%;background:#ffd45e;box-shadow:0 4px 0 #94713f;color:#72531e}.plant-marker svg{width:25px;height:25px}.garden-slot:disabled:not(.planted) .plant-marker{background:#e9dec5;box-shadow:none;color:#817a67}.garden-letter{font-family:NoorArabic,serif;font-size:1.55rem;line-height:1.25;background:#fff9e2;border:1px solid #dfd2ae;border-radius:8px;padding:0 9px;margin-top:3px;color:#24483e}.garden-collection{text-align:center;border-top:1px solid var(--line);margin-top:25px;padding-top:8px}.garden-collection .garden-scene{max-width:320px}.garden-collection p,.garden-locked p{font-size:.875rem;color:var(--muted)}.garden-collection .primary-button{margin:12px auto}.garden-locked{border:1px solid #d5e4e1;background:#f0f7f5;border-radius:16px;margin-top:23px;padding:0 16px 8px}.island-key-count{display:flex;align-items:center;justify-content:center;gap:10px;margin:14px auto;color:#366542;font-size:1rem}.island-collected{flex-wrap:wrap;gap:7px}.island-collected span{font-size:2.1rem;min-width:43px;padding:0 10px}.dot-target{display:grid;place-items:center;width:115px;height:125px;border:2px solid #b7d8d6;background:#f2f9f6;border-radius:22px;margin:19px auto 0}.dot-target .glyph{font-size:6rem}.dot-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 16px;direction:ltr}.dot-choice{min-width:0;border:2px solid #cee0dc;background:#f7fbf9;border-radius:16px;padding:12px 7px;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 4px 0 #d8e6df}.dot-choice b{font-size:1rem;direction:rtl}.dot-choice>span[lang]{font-size:.875rem}.dot-choice.correct{background:#e2f3e6;border-color:#5b996e}.dot-choice.try-again{background:#fff5d8;border-color:#dabc65}.dot-choice:disabled:not(.correct):not(.try-again){opacity:.55}.dot-diagram{position:relative;display:block;width:56px;height:52px;color:#326451}.dot-diagram:before{content:'';position:absolute;top:25px;left:8px;right:8px;height:3px;background:currentColor;border-radius:2px}.dot-diagram i{position:absolute;width:11px;height:11px;background:currentColor;border-radius:50%;left:23px;top:7px}.dot-below i{top:36px}.dot-none i{display:none}.island-keys{gap:8px;flex-wrap:wrap}.island-keys .gate-key{width:36px;height:36px}.island-keys .gate-key svg{width:19px;height:19px}
@media(max-width:720px){.area-nav{gap:10px;margin-bottom:18px}.area-nav button{gap:8px;padding:8px}.area-nav img{width:46px;height:46px;border-radius:10px}.area-nav b{font-size:.875rem}.area-nav span>span,.area-nav small{font-size:.875rem}.garden-scene{max-width:360px}.dot-choices{gap:8px}.dot-choice{padding:10px 5px}.dot-choice b{font-size:.9rem}.dot-guide{gap:7px}.dot-guide b{font-size:.875rem}.island-letter-grid .glyph{font-size:5rem}}
@media(max-width:390px){.area-nav button{flex-direction:column;text-align:center;gap:5px}.area-nav img{width:49px;height:49px}.area-nav small{font-size:.875rem}.dot-choices{gap:6px}.dot-choice b{font-size:.875rem}.dot-choice>span[lang]{font-size:.875rem}.plant-marker{width:39px;height:39px}.garden-letter{font-size:1.3rem}.island-keys{gap:6px}.island-keys .gate-key{width:31px;height:33px}.island-collected span{font-size:1.9rem;min-width:36px;padding:0 8px}}
@media(prefers-reduced-motion:reduce){.garden-slot .gift-art{transition:none}.garden-slot .gift-art.toy-moving{animation:none!important}}

/* The lighthouse uses earned pieces and a dot-building game. */
.primary-button{max-width:100%;min-width:min(245px,100%)}.area-nav{grid-template-columns:repeat(3,minmax(0,1fr));max-width:870px}.twin-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;max-width:450px;margin:-12px auto 28px;text-align:center}.twin-guide>span{padding:8px;border-radius:14px;background:#edf7f6;border:1px solid #d4e6df}.twin-guide b{display:block;font-family:NoorArabic,serif;font-size:2rem;line-height:1.4}.twin-guide span[lang=en]{font-size:.875rem;display:block;line-height:1.45;color:#536d63}.switch-workbench{display:flex;flex-direction:column;align-items:center;gap:16px;margin:21px 0 15px}.switch-display{display:grid;place-items:center;min-width:130px;min-height:135px;background:#edf7f5;border:2px solid #a9ccc3;border-radius:24px;box-shadow:0 5px 0 #d3e6df}.switch-display .glyph{font-size:6.5rem;line-height:1.35}.switch-display.correct{background:#e1f3de;border-color:#79b177}.switch-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;width:100%;max-width:350px;direction:rtl}.switch-option{border:2px solid #d0dfd9;box-shadow:0 4px 0 #d7e4dd;border-radius:16px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 10px 12px;background:#fafdfb;min-width:0;min-height:105px}.switch-option.selected{border-color:var(--green);background:#e3f0e8;box-shadow:0 4px 0 var(--green)}.switch-option:disabled:not(.selected){opacity:.5}.switch-option b{font-size:1rem}.switch-option>span[lang]{font-size:.875rem;color:#4d685d}.lighthouse-keys{display:grid;grid-template-columns:repeat(6,32px);justify-content:center;gap:7px;max-width:280px;margin:18px auto 7px}.lighthouse-keys .gate-key{width:32px;height:34px;border-radius:10px}.lighthouse-keys .gate-key svg{width:18px;height:18px}.lighthouse-break{text-align:center;font-size:.875rem;max-width:370px;margin:16px auto 0}.lighthouse-scene{position:relative;isolation:isolate;aspect-ratio:1;max-width:410px;overflow:hidden;margin:18px auto;border-radius:25px;border:2px solid #91cdd2;background:#276572;direction:ltr}.lighthouse-art{display:block;width:100%;height:100%;filter:brightness(.56) saturate(.72);transition:filter 1.2s}.lighthouse-scene.lit .lighthouse-art{filter:brightness(1) saturate(1)}.beacon-glow{position:absolute;left:56.6%;top:16.6%;width:8%;height:8%;transform:translate(-50%,-50%);border-radius:50%;box-shadow:0 0 18px 9px #ffe583;opacity:0;pointer-events:none}.lit .beacon-glow{opacity:.65}.guiding .beacon-glow{animation:beacon-breathe 2.8s ease-in-out 2}.keeper-vessel{position:absolute;left:71%;top:70%;width:26%;height:26%;filter:brightness(.8)}.keeper-boat{width:100%;height:auto;display:block;mix-blend-mode:multiply;transform:scaleX(-1)}.keeper-character{position:absolute;right:6%;bottom:29%;width:24%;mix-blend-mode:multiply}.lit .keeper-vessel{left:8%;top:73%;filter:none}.guiding .keeper-vessel{animation:keeper-dock 5.6s ease-in-out forwards}.garden-collection .lighthouse-scene{max-width:320px}.garden-collection .lighthouse-scene .beacon-glow{animation:none}.lighthouse-letters{margin-bottom:25px}
@keyframes beacon-breathe{0%,100%{opacity:.5;box-shadow:0 0 16px 8px #ffe583}50%{opacity:.9;box-shadow:0 0 29px 17px #ffe583}}
@keyframes keeper-dock{0%{left:71%;top:70%}35%{left:52%;top:74%}65%{left:30%;top:75%}100%{left:8%;top:73%}}
@media(max-width:950px){.area-nav button{gap:8px}.area-nav img{width:48px;height:48px}.area-nav b{font-size:.875rem}}
@media(max-width:720px){.area-nav{gap:8px}.area-nav button{flex-direction:column;text-align:center;gap:5px;padding:8px 5px}.area-nav img{width:51px;height:51px}.area-nav span>span{font-size:.875rem}.area-nav small{font-size:.875rem;overflow-wrap:anywhere}.twin-guide{gap:10px}.twin-guide span[lang=en]{font-size:.875rem}.switch-display{min-height:125px;min-width:120px}.switch-display .glyph{font-size:6rem}.lighthouse-scene{max-width:360px}.lighthouse-letters .glyph{font-size:4.8rem}}
@media(max-width:390px){.area-nav{gap:6px}.area-nav button{padding:7px 4px}.area-nav b{font-size:.875rem}.switch-options{gap:10px}.lighthouse-letters .glyph{font-size:4.3rem}.twin-guide span[lang=en]{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.lighthouse-art{transition:none}.guiding .beacon-glow,.guiding .keeper-vessel{animation:none!important}.guiding .keeper-vessel{left:8%;top:73%}}

/* Sky Island: shape families, earned balloon ribbons, and a short flight. */
.area-nav{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1080px}.area-nav button{padding:9px;gap:8px}.area-nav img{width:49px;height:49px}.area-nav b{font-size:.9rem}.sky-letters{margin-bottom:25px}.sky-board{background:#edf8fb}.sky-board .build-piece{background:#edf8fb}.shape-source{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:205px;min-height:138px;margin:18px auto 24px;padding:8px 18px;background:#edf8fb;border:2px solid #b2dae3;border-radius:34px;box-shadow:0 5px 0 #d7eaf0}.shape-source .glyph{font-size:6rem;line-height:1.25}.shape-source>span[lang=en]{font-size:.875rem;color:#3a646f}.shape-choices{max-width:340px;margin-inline:auto}.shape-pair-replay{display:flex;align-items:center;justify-content:center;gap:13px;max-width:100%;min-height:64px;margin:12px auto 0;padding:7px 16px;border:2px solid #b6d9cb;border-radius:16px;background:#eef8f1}.shape-pair-replay>span:last-child{font-size:1rem}.shape-pair-replay>span>span{display:block;font-size:.875rem}.shape-pair-glyphs{font-family:NoorArabic,serif;font-size:2.5rem;white-space:nowrap}.ribbon-progress{display:flex;justify-content:center;gap:10px;direction:ltr;margin:16px auto 0}.ribbon-progress>span{display:grid;place-items:center;width:37px;height:44px;border-radius:9px 9px 3px 3px;background:#e7edf0;color:#829596;border:1px solid #c9d9dc}.ribbon-progress>span.earned{background:#ffdf75;color:#765517;border-color:#e7be49}.ribbon-progress>span:nth-child(2).earned{background:#a0dfd6;color:#215b54;border-color:#67bbae}.ribbon-progress>span:nth-child(3).earned{background:#ffc9bb;color:#824938;border-color:#e7a28e}.ribbon-progress>span:nth-child(4).earned{background:#d0c4f0;color:#5d4879;border-color:#ac98d8}.ribbon-progress svg{width:21px;height:21px}.sky-keys{display:grid;grid-template-columns:repeat(5,32px);justify-content:center;gap:7px;max-width:250px;margin:18px auto 7px}.sky-keys .gate-key{width:32px;height:32px;border-radius:10px}.sky-keys .gate-key svg{width:18px;height:18px}.sky-scene{position:relative;isolation:isolate;aspect-ratio:1;max-width:410px;overflow:hidden;margin:18px auto;border-radius:25px;border:2px solid #9ad0e1;background:#c9ebfb;direction:ltr}.sky-art{display:block;width:100%;height:100%;object-fit:cover}.sky-vessel{position:absolute;left:21%;top:16%;width:58%;aspect-ratio:1;transform-origin:50% 45%}.balloon-art{display:block;width:100%;height:100%;object-fit:contain}.sky-character{position:absolute;left:39%;top:64%;width:22%;height:22%;object-fit:contain;mix-blend-mode:multiply;clip-path:inset(0 0 29% 0)}.balloon-ribbons{position:absolute;left:37%;top:83%;width:26%;height:9%;display:flex;gap:5%;justify-content:center}.balloon-ribbons>span{width:20%;height:100%;background:#ffdc69;opacity:0;clip-path:polygon(0 0,100% 0,100% 100%,50% 76%,0 100%)}.balloon-ribbons>span:nth-child(2){background:#6edbd2}.balloon-ribbons>span:nth-child(3){background:#ffb6a3}.balloon-ribbons>span:nth-child(4){background:#bea9eb}.balloon-ribbons>span.earned{opacity:1}.flown .sky-vessel{transform:translate(8%,-26%) rotate(2deg)}.flying .sky-vessel{animation:balloon-flight 6s ease-in-out forwards}.garden-collection .sky-scene{max-width:320px}
@keyframes balloon-flight{0%{transform:translate(0,0) rotate(0)}30%{transform:translate(-8%,-10%) rotate(-3deg)}65%{transform:translate(1%,-23%) rotate(1deg)}100%{transform:translate(8%,-26%) rotate(2deg)}}
@media(max-width:950px){.area-nav{grid-template-columns:repeat(2,minmax(0,1fr));max-width:680px}.area-nav button{flex-direction:row;text-align:start;padding:9px 12px}.area-nav img{width:53px;height:53px}}
@media(max-width:720px){.area-nav{gap:9px}.area-nav button{padding:8px;gap:8px}.area-nav img{width:43px;height:43px}.area-nav b{font-size:.875rem}.sky-letters .glyph{font-size:4.8rem}.sky-scene{max-width:360px}.shape-source{min-height:125px;margin:14px auto 20px}.shape-source .glyph{font-size:5.5rem}.shape-choices .glyph{font-size:5rem}}
@media(max-width:390px){.area-nav button{flex-direction:column;text-align:center}.area-nav img{width:47px;height:47px}.sky-letters .glyph{font-size:4.3rem}.shape-pair-replay{gap:9px;padding-inline:11px}}
@media(prefers-reduced-motion:reduce){.flying .sky-vessel{animation:none!important;transform:translate(8%,-26%) rotate(2deg)}}

/* Moon Island and clearer full letter names. */
.letter-name{display:block;font-family:NoorArabic,serif;font-size:1.3rem;line-height:1.5;color:#365747;margin-top:-7px;margin-bottom:2px}.area-nav{grid-template-columns:repeat(5,minmax(0,1fr));max-width:1180px}.area-nav button{flex-direction:column;text-align:center}.area-nav img{width:52px;height:52px}.voice-recheck{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 20px}.voice-recheck button{padding:10px 7px;background:#fff7d8;border:2px solid #dfc56c;border-radius:14px;min-height:73px;font-family:NoorArabic,serif;font-size:1.6rem}.voice-recheck button span{display:block;font-family:inherit;font-size:.95rem;line-height:1.5}.moon-letters{margin-bottom:25px}.moon-board{background:#1e2a50}.sound-trail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:340px;margin:18px auto 24px;direction:ltr}.trail-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:133px;background:#eff4fc;border:2px dashed #b7c7df;border-radius:22px;padding:9px;transition:background .2s,border-color .2s}.trail-slot.hearing{background:#fff5cc;border-style:solid;border-color:#d8b64c}.trail-slot.correct{background:#e5f4e8;border-style:solid;border-color:#80b493}.trail-number{font-size:.95rem;color:#506785;font-weight:650}.trail-slot .glyph{font-size:5.1rem;line-height:1.25;direction:rtl}.trail-actions{display:flex;flex-direction:column;align-items:center;gap:10px;margin:21px 0 14px}.moon-keys{display:grid;grid-template-columns:repeat(5,32px);justify-content:center;gap:7px;max-width:250px;margin:18px auto 7px}.moon-keys .gate-key{width:32px;height:32px;border-radius:10px}.moon-keys .gate-key svg{width:18px;height:18px}.moon-scene{position:relative;isolation:isolate;aspect-ratio:1;max-width:410px;overflow:hidden;margin:18px auto;border-radius:25px;border:2px solid #9faedb;background:#142449;direction:ltr}.moon-art{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.73);transition:filter .9s}.opened .moon-art{filter:brightness(1.08)}.moon-character{position:absolute;width:13%;height:13%;left:32%;top:66%;object-fit:contain;mix-blend-mode:multiply}.discovery-star{position:absolute;display:grid;place-items:center;transform:translate(-50%,-50%);width:48px;height:48px;min-width:44px;min-height:44px;padding:4px;border:2px solid #efcd6a;border-radius:50%;background:#263666;color:#ffdf7a;box-shadow:0 0 16px #f8da6740;opacity:0;visibility:hidden}.opened .discovery-star{opacity:1;visibility:visible}.discovery-star svg{width:29px;height:29px;fill:#ffdf7a}.discovery-star.found{background:#fff4cb;color:#273a5d;box-shadow:0 0 20px #f6d66670}.discovery-star>span{font-family:NoorArabic,serif;font-size:2.25rem;line-height:1}.discovery-star:hover{box-shadow:0 0 25px #f6d66690}.discovery-star:focus-visible{outline:3px solid white;outline-offset:4px}.garden-collection .moon-scene{max-width:340px}
@media(max-width:950px){.area-nav{grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px}.area-nav button{flex-direction:column;text-align:center}.area-nav img{width:48px;height:48px}}
@media(max-width:720px){.area-nav{grid-template-columns:repeat(2,minmax(0,1fr));max-width:680px}.area-nav button{flex-direction:row;text-align:start;padding:8px}.area-nav img{width:43px;height:43px}.moon-letters .glyph{font-size:4.8rem}.moon-scene{max-width:360px}.sound-trail{gap:12px}.trail-slot{min-height:122px}.letter-name{font-size:1.2rem}}
@media(max-width:390px){.area-nav button{flex-direction:column;text-align:center}.moon-letters .glyph{font-size:4.3rem}.discovery-star{width:44px;height:44px}.discovery-star>span{font-size:2rem}.voice-recheck button{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){.moon-art,.trail-slot{transition:none}}

/* Optional Star Rescue: stable controls, large targets, and collectible island flags. */
.bonus-score{display:flex;align-items:center;justify-content:space-between;gap:18px;direction:ltr;margin:20px auto 12px;max-width:500px;font-size:1.1rem}.bonus-score>span{display:flex;align-items:center;gap:8px;background:#fff5d1;padding:5px 14px;border-radius:15px}.bonus-score svg{color:#96600b;fill:#ffd359}.bonus-score b{font-size:1.6rem;font-variant-numeric:tabular-nums}.bonus-score .bonus-clock{background:#eaf5fa;color:#24483e}.bonus-clock small{font-size:.8rem}.bonus-arena{position:relative;isolation:isolate;overflow:hidden;height:340px;max-width:500px;margin:0 auto;border:2px solid #b6d5cf;border-radius:24px;background-color:#e9f4ee;background-image:var(--bonus-art);background-position:center 60%;background-size:cover;direction:ltr;user-select:none}.bonus-shade{position:absolute;inset:0;background:#122e4878;pointer-events:none}.bonus-companion{position:absolute;right:9px;bottom:-14px;width:100px;height:100px;object-fit:contain;pointer-events:none;transform-origin:50% 100%}.bonus-hop{animation:bonus-hop .4s ease-out}#bonus-target{position:absolute;left:50%;top:30%;transform:translate(-50%,-50%);width:78px;height:78px;border:3px solid #fff4b8;border-radius:24px;background:#ffd359;color:#694209;box-shadow:0 4px 0 #9f702e,0 0 22px #ffdc8470;display:grid;place-items:center;padding:10px;touch-action:manipulation;transition:opacity .12s}#bonus-target svg{width:53px;height:53px;fill:#fff5b5;stroke-width:1.8}#bonus-target:focus-visible{outline:4px solid white;outline-offset:5px}#bonus-target.waiting{opacity:0;pointer-events:none}.bonus-scene-message{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:white;text-align:center;padding:15px}.bonus-scene-message strong{font-size:1.1rem;background:#203d4bde;padding:5px 13px;border-radius:12px}.bonus-hero-star{display:grid;place-items:center;width:108px;height:108px;border-radius:32px;background:#fff4cd;color:#865513;transform:rotate(-8deg);box-shadow:0 7px 0 #ad9e6670}.bonus-hero-star svg{width:66px;height:66px;fill:#ffdb73}.bonus-instructions{text-align:center;margin:0;max-width:420px;font-weight:650}.bonus-instructions span{display:block;font-size:.9rem;color:var(--muted);font-weight:450;margin-top:4px}.bonus-actions{margin-top:18px;gap:13px}.bonus-pause{display:flex;align-items:center;gap:9px;min-height:48px;background:#edf5f3;border:1px solid #bcd1c8;border-radius:14px;padding:8px 22px;font-weight:650}.bonus-launcher{width:100%;margin-top:23px;display:flex;align-items:center;gap:12px;border:1px solid #e4cc85;background:#fff8df;border-radius:17px;padding:12px 15px;text-align:start;min-height:64px}.bonus-launcher>svg{fill:#ffdd78;color:#a37517;width:30px;height:30px}.bonus-launcher>span{font-weight:750}.bonus-launcher span[lang]{display:block;font-size:.8rem;font-weight:450}.bonus-launcher>b{margin-inline-start:auto;direction:ltr;font-size:.9rem;white-space:nowrap}.bonus-collection{margin:30px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.bonus-collection-count{color:#725913;font-weight:750}.bonus-flags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.bonus-flag-card{min-width:0;background:#f4f8f6;border:1px solid #d4e2dc;border-radius:20px;padding:18px 12px}.adventure-flag{--flag-color:#34735d;background:var(--flag-color);color:white;position:relative;width:150px;min-height:155px;margin:0 auto;padding:15px 10px 30px;clip-path:polygon(0 0,100% 0,100% 100%,50% 87%,0 100%);border-top:6px solid #e1b956;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center}.flag-garden{--flag-color:#386c49}.flag-lighthouse{--flag-color:#296878}.flag-sky{--flag-color:#446d96}.flag-moon{--flag-color:#514479}.adventure-flag>b{font-size:1.15rem}.adventure-flag>span[lang]{font-size:.8rem;color:#f8f1d9}.flag-stars{display:flex;gap:7px;direction:ltr;margin-bottom:5px}.flag-stars>span{color:#c1cecc66}.flag-stars svg{width:30px;height:30px}.flag-stars>span.earned{color:#ffd870}.flag-stars>span.earned svg{fill:#ffd870}.flag-complete{border-top:9px solid #ffdc7b;background-image:linear-gradient(130deg,#ffd3592b,transparent 55%,#ffd3592b)}.flag-complete .flag-stars{filter:drop-shadow(0 0 5px #f5d35c99)}.bonus-stamps{display:flex;flex-direction:column;gap:7px;margin-top:15px}.bonus-stamps button{display:grid;grid-template-columns:24px minmax(0,1fr);gap:2px 8px;align-items:center;text-align:start;direction:ltr;min-height:50px;padding:9px;border:1px solid #b4ccc0;border-radius:12px;background:white;font-size:.8rem}.bonus-stamps button:disabled{border-color:#d7e0da;background:transparent;color:#6b7871}.bonus-stamps small{grid-column:2;color:#657363}.bonus-stamps svg{width:21px;height:21px}.bonus-stamps button:has(small) svg{fill:#ffd359;color:#9d741f}.bonus-won .adventure-flag{animation:bonus-prize .7s ease-out}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes bonus-hop{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-21px) rotate(-8deg)}75%{transform:translateY(-6px) rotate(5deg)}}
@keyframes bonus-prize{0%{transform:translateY(12px) scale(.85)}65%{transform:translateY(-5px) scale(1.05)}100%{transform:translateY(0) scale(1)}}
@media(max-width:720px){.bonus-arena{height:310px}#bonus-target{width:70px;height:70px;border-radius:22px}#bonus-target svg{width:46px;height:46px}.bonus-score{margin-top:15px}.bonus-score b{font-size:1.35rem}.bonus-flags{gap:10px}.bonus-flag-card{padding:14px 8px}.adventure-flag{width:130px;min-height:145px}.flag-stars{gap:5px}.flag-stars svg{width:27px;height:27px}.bonus-launcher{padding:10px;gap:9px}.bonus-launcher>b{font-size:.8rem}}
@media(max-width:390px){.bonus-flags{grid-template-columns:1fr}.bonus-arena{height:290px}.bonus-score>span{padding:4px 10px}.bonus-launcher>svg{width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){.bonus-hop,.bonus-won .adventure-flag{animation:none!important}#bonus-target{transition:none}}

/* Three bonus games: reaction, a four-pad memory surface, and silly portrait reveals. */
.bonus-game-order{display:flex;gap:8px;justify-content:center;margin:15px 0 20px;direction:ltr}.bonus-game-order>span{display:flex;align-items:center;gap:5px;padding:6px 9px;border-radius:12px;color:#647a70;background:#f0f5f2;font-size:.75rem;line-height:1.3}.bonus-game-order svg{width:18px;height:18px}.bonus-game-order>span.active{background:#fff2bd;color:#664a12;border:1px solid #e4c45c;font-weight:750}.bonus-score small{font-size:.8rem}.memory-board{padding:18px;background:#eef3fc;border:2px solid #b9cbe5;border-radius:24px;max-width:470px;margin:auto}.memory-message{text-align:center;min-height:54px;margin-bottom:8px}.memory-message b{display:block;font-size:1.2rem;color:#29436a}.memory-message span{display:block;color:#465c7c;font-size:.9rem}.memory-slots{display:flex;justify-content:center;gap:8px;direction:ltr;min-height:42px;margin:9px 0 17px}.memory-slot{width:39px;height:39px;border:2px dashed #b3c2da;border-radius:12px;display:grid;place-items:center;color:#69829f;background:#fff}.memory-slot.filled{border-style:solid;border-color:#6caa87;background:#e5f5e9;color:#285e3a}.memory-slot svg{width:22px;height:22px}.memory-pads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;direction:ltr}.memory-pad{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:111px;padding:12px;border:3px solid #fff8;border-radius:22px;box-shadow:0 5px 0 #25365626;color:#fff;transition:transform .12s,box-shadow .12s,filter .12s}.memory-pad svg{width:46px;height:46px;stroke-width:2.4}.memory-pad span{font-size:.9rem;font-weight:700}.pad-gold{background:#9c660d}.pad-pink{background:#b93b6c}.pad-blue{background:#356bac}.pad-green{background:#22785a}.memory-pad:disabled{opacity:1;cursor:default}.memory-pad.lit{filter:brightness(1.32);transform:scale(1.035);box-shadow:0 0 0 5px #ffe889,0 7px 0 #25365626;border-color:white}.memory-pad.lit svg{fill:#fff9;filter:drop-shadow(0 0 5px #fff)}.memory-pad:active:not(:disabled){transform:scale(.96)}.memory-replay{min-height:48px;margin:20px auto 0;padding:8px 13px;border:1px solid #9bb0cd;border-radius:13px;background:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.9rem}.memory-replay:disabled{opacity:.5}.peek-board{background:#eaf5ff;border:2px solid #b5d1df;border-radius:24px;max-width:520px;margin:auto;padding:14px 12px}.peek-hint{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:13px}.peek-hint img{height:60px;width:60px;object-fit:contain;mix-blend-mode:multiply}.peek-hint span{font-weight:650}.peek-hint b{display:block;font-size:.9rem;color:#446175}.peek-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;direction:ltr}.peek-card{position:relative;min-height:216px;min-width:0;padding:8px 3px;border:2px solid #bfcbeb;border-radius:21px;box-shadow:0 5px 0 #c4d8e6;background:#e4f5fe;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.peek-card.revealed{border-color:#80b9c2;background:#e4f5fe}.peek-card.friend-found{border-color:#bb9743;box-shadow:0 0 0 3px #ffde76,0 5px 0 #c4d8e6}.peek-cover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:#566ea5;color:white}.peek-card:nth-child(2) .peek-cover{background:#a35187}.peek-card:nth-child(3) .peek-cover{background:#267d74}.peek-cover b{font-size:3.2rem;line-height:1.3}.peek-cover span{font-weight:650;font-size:.875rem}.peek-cover svg{width:27px;height:27px;fill:#fff3}.peek-portrait{position:relative;display:block;width:100%;aspect-ratio:1;margin:38px 0 3px;isolation:isolate;transform-origin:50% 90%}.peek-portrait>img{width:100%;height:100%;object-fit:contain;display:block;mix-blend-mode:multiply}.giggle-hat{position:absolute;width:65%;aspect-ratio:1;left:17.5%;top:-38%;background-image:url('assets/world/giggle-hats.webp');background-repeat:no-repeat;background-size:300% 100%;pointer-events:none}.hat-0{background-position:0 50%;transform:rotate(-8deg)}.hat-1{background-position:50% 50%;top:-30%}.hat-2{background-position:100% 50%;transform:rotate(10deg)}.portrait-bird .giggle-hat{top:-16%;left:21%}.peek-caption{display:block;min-height:39px;padding:2px 5px;font-size:.875rem;font-weight:750;line-height:1.3;color:#37566a;text-align:center}.peek-status{text-align:center;min-height:26px;font-size:.875rem;color:#446175;margin:15px 2px 0}.peek-dance{animation:peek-dance 1.15s ease-in-out}.peek-intro-friend{width:150px;padding-top:35px}.peek-intro-friend .peek-portrait{margin:0}.peek-intro-friend .peek-portrait>img{border-radius:22px}.bonus-kind-peekaboo .bonus-scene-message{padding-top:30px}.bonus-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:17px 0 28px}.bonus-game-card{display:flex;flex-direction:column;align-items:center;gap:7px;padding:17px 10px;border:2px solid #dec06e;border-radius:20px;background:#fff6d8;text-align:center;min-width:0}.bonus-game-card>svg{height:35px;width:35px;color:#997220;fill:#ffdc7580}.bonus-game-card>b{font-size:1rem}.bonus-game-card>span{font-size:.875rem;line-height:1.3}.bonus-game-card>small{font-size:.75rem;color:#6c6757;line-height:1.4}.bonus-game-card.game-memory{background:#edf1fe;border-color:#abbcde}.game-memory>svg{color:#566d9f}.bonus-game-card.game-peekaboo{background:#fbeef5;border-color:#dda8c4}.game-peekaboo>svg{color:#a5517e}.bonus-game-card:disabled{opacity:.65}.bonus-stamps small{font-size:.75rem}.bonus-stamps>button{font-size:.875rem}
@keyframes peek-dance{0%,100%{transform:rotate(0) translateY(0)}18%{transform:rotate(-12deg) translateY(-10px)}36%{transform:rotate(12deg) translateY(-2px)}54%{transform:rotate(-10deg) translateY(-13px)}72%{transform:rotate(9deg) translateY(-3px)}88%{transform:rotate(-4deg) translateY(-6px)}}
@media(max-width:720px){.memory-board{padding:14px}.memory-pads{gap:13px}.memory-pad{min-height:102px;padding:10px}.memory-pad svg{width:38px;height:38px}.peek-board{padding:12px 8px}.peek-cards{gap:7px}.peek-card{min-height:188px;border-radius:17px}.peek-caption{font-size:.875rem;padding-inline:1px}.bonus-game-order{gap:5px}.bonus-game-order>span{padding:6px;flex-direction:column;text-align:center}.bonus-catalog{grid-template-columns:1fr}.bonus-game-card{display:grid;grid-template-columns:40px minmax(0,1fr);gap:2px 12px;text-align:start}.bonus-game-card>svg{grid-row:1/4}.bonus-game-card>small{grid-column:2}.peek-intro-friend{width:137px}}
@media(prefers-reduced-motion:reduce){.peek-dance{animation:none!important}.memory-pad{transition:none}.memory-pad.lit{transform:none}}

/* Sixth island and a fourth rotating bonus: planets, a rocket, and a friendly alien. */
.area-nav{grid-template-columns:repeat(6,minmax(0,1fr))}
.planet-board,.planet-board .build-piece{background:#172b4d}
.planet-board .build-piece img{object-fit:contain}
.planet-letters{margin-bottom:25px}
.planet-keys{display:grid;grid-template-columns:repeat(6,30px);justify-content:center;gap:7px;max-width:260px;margin:18px auto 7px}
.planet-keys .gate-key{width:30px;height:30px;border-radius:9px}.planet-keys .gate-key svg{width:17px;height:17px}
.radar-found{display:flex;justify-content:center;gap:12px;margin:12px auto 20px;direction:ltr}
.radar-found>span{display:grid;place-items:center;width:39px;height:39px;border:2px dashed #b2c8dc;border-radius:50%;background:#edf4fd;color:#6985a2}
.radar-found>span.lit{background:#ddf5e9;border-style:solid;border-color:#6fac8e;color:#286d4b}
.radar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;max-width:470px;margin:0 auto;direction:ltr}
.radar-tile{min-height:125px;padding:8px;border-radius:23px;background:#f1f6ff;border-color:#b8cce5}.radar-tile .glyph{font-size:5rem;line-height:1.4}
.planet-scene{position:relative;isolation:isolate;aspect-ratio:1;max-width:410px;overflow:hidden;margin:18px auto;border-radius:25px;border:2px solid #9caad4;background:#15284b;direction:ltr}
.planet-backdrop{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.43) blur(2px)}
.planet-sprite{display:block;background-image:url('assets/world/planets.webp');background-repeat:no-repeat;background-size:300% 100%;aspect-ratio:1}
.orbit-planets{position:absolute;top:4%;left:5%;width:90%;display:flex;gap:10%}.orbit-planets>span{width:27%;filter:drop-shadow(0 4px 8px #08173466)}
.orbit-planets>span:nth-child(2){margin-top:6%}.orbit-planets>span:nth-child(3){margin-top:1%}
.rocket-vessel{position:absolute;width:60%;height:60%;object-fit:contain;left:20%;top:32%;transform-origin:50% 60%;filter:drop-shadow(0 8px 8px #0004)}
.rocket-explorer{position:absolute;width:22%;height:22%;object-fit:contain;left:8%;bottom:8%;background:#f8f4e5;border:2px solid #fff2bf;border-radius:50%}
.rocket-caption{position:absolute;bottom:3%;left:7%;right:7%;border-radius:12px;background:#102540ed;color:#fff3c4;text-align:center;padding:6px 8px;font-size:.875rem}
.launched .rocket-vessel{transform:translateY(-43%) scale(.75)}.launching .rocket-vessel{animation:rocket-launch 5s ease-in-out forwards}
.garden-collection .planet-scene{max-width:340px}
.alien-invite{display:flex;align-items:center;gap:14px;background:#e9f6ee;border:2px solid #aad8be;border-radius:19px;min-height:88px;padding:8px 18px;text-align:start}
.alien-invite img{width:65px;height:65px;object-fit:contain}.alien-invite span{font-weight:750}.alien-invite b{display:block;font-weight:500;font-size:.875rem}
.bonus-game-order{flex-wrap:wrap}.bonus-game-order>span{max-width:170px}
.bonus-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.bonus-game-card.game-alien{background:#e8f6ee;border-color:#9dceb3}
.bonus-card-alien{width:55px;height:55px;object-fit:contain}.flag-planet{--flag-color:#286767}
.alien-board{background:linear-gradient(145deg,#152b4b,#294572);border:2px solid #8cafd3;border-radius:24px;max-width:500px;margin:auto;padding:12px;overflow:hidden}
.alien-hint{display:flex;align-items:center;justify-content:center;gap:11px;margin:0 0 12px;color:#fff4c9}.alien-hint img{width:58px;height:58px;object-fit:contain}.alien-hint span{font-weight:750}.alien-hint b{display:block;font-size:.875rem;font-weight:450;color:#e2edf9}
.alien-planets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;direction:ltr}
.alien-planet{position:relative;isolation:isolate;overflow:hidden;min-width:0;min-height:148px;border:2px solid #7698b8;border-radius:23px;background:#ffffff0b;padding:0;touch-action:manipulation;transition:border-color .15s,background .15s}
.alien-planet:disabled{opacity:1;cursor:default}.alien-planet:focus-visible{outline:3px solid #fff2a6;outline-offset:3px}
.alien-planet .planet-sprite{position:absolute;width:100%;left:0;bottom:-46%;pointer-events:none}
.alien-friend{position:absolute;left:12%;top:-3%;width:76%;height:80%;object-fit:contain;pointer-events:none;transform-origin:50% 80%}
.alien-found{background:#2c6751;border-color:#ffe48e;box-shadow:inset 0 0 0 2px #ffda8880}.alien-found .planet-sprite{bottom:-58%}.alien-found .alien-friend{top:-5%}
.alien-wave{animation:alien-wave .7s ease-in-out}.alien-empty{border-style:dashed;background:#ffffff05}
.alien-hello,.alien-empty-note{position:absolute;bottom:8px;left:4px;right:4px;z-index:2;text-align:center;background:#203a51ed;color:white;padding:4px;border-radius:9px;font-size:.75rem;line-height:1.4}
.alien-hello{display:flex;align-items:center;justify-content:center;gap:4px;background:#17543bea;color:#fff2bd}.alien-hello svg{width:16px;height:16px;fill:#ffd076;color:#ffd076}
.alien-status{min-height:32px;text-align:center;color:#e2edf9;font-size:.85rem;line-height:1.6;margin:13px 0 0}
.alien-intro-art{width:180px;height:200px;object-fit:contain;filter:drop-shadow(0 5px 12px #0d2745aa)}
@keyframes alien-wave{0%,100%{transform:rotate(0)}25%{transform:rotate(-10deg) translateY(-5px)}60%{transform:rotate(9deg) translateY(-8px)}}
@keyframes rocket-launch{0%,12%{transform:translateY(0)}22%{transform:translateY(-3%) rotate(-3deg)}35%{transform:translateY(-8%) rotate(3deg)}70%{transform:translateY(-47%) scale(.75)}100%{transform:translateY(-43%) scale(.75)}}
@media(max-width:950px){.area-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.area-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.planet-letters .glyph{font-size:4.8rem}.radar-grid{gap:11px}.radar-tile{min-height:112px;border-radius:20px}.radar-tile .glyph{font-size:4.7rem}.planet-scene{max-width:360px}.alien-board{padding:11px 8px}.alien-planets{gap:8px}.alien-planet{min-height:130px;border-radius:18px}.alien-intro-art{height:185px}.bonus-catalog{grid-template-columns:1fr}.bonus-card-alien{grid-row:1/4;width:40px;height:46px}.bonus-game-order>span{flex:1 1 40%;max-width:none;flex-direction:row;justify-content:center}.alien-hint b{font-size:.8rem}}
@media(max-width:390px){.planet-letters .glyph{font-size:4.3rem}.radar-grid{gap:9px}.radar-tile{min-height:101px;padding:5px}.radar-tile .glyph{font-size:4.1rem}.alien-planet{min-height:116px}.alien-hint img{width:48px;height:48px}.alien-status{font-size:.8rem}.alien-hello,.alien-empty-note{font-size:.7rem}.alien-hello svg{display:none}}
@media(prefers-reduced-motion:reduce){.launching .rocket-vessel{animation:none;transform:translateY(-43%) scale(.75)}.alien-wave{animation:none}.alien-planet{transition:none}}

/* Oasis Island and the toy slingshot bonus. */
.area-nav{grid-template-columns:repeat(7,minmax(0,1fr));max-width:1240px}.area-nav b{font-size:.875rem}
.oasis-board{aspect-ratio:16/9;max-width:500px;background:#94cfed}.oasis-board .build-piece{background:#c2eaff}
.oasis-letters{margin-bottom:25px}.oasis-keys{display:grid;grid-template-columns:repeat(7,29px);justify-content:center;gap:7px;max-width:285px;margin:18px auto 7px}
.oasis-keys .gate-key{width:29px;height:29px;border-radius:8px}.oasis-keys .gate-key svg{width:17px;height:17px}
.delivery-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:430px;margin-inline:auto;gap:16px}.delivery-card{position:relative;background:#eef8ff;border-color:#9fc8dc;min-height:167px;padding:12px}.delivery-card:nth-child(2){background:#fff5d9;border-color:#e4ce87}.delivery-card:nth-child(3){background:#f2edfd;border-color:#c4b6e4}.delivery-card:nth-child(4){background:#e9f7eb;border-color:#a9cdb2}.delivery-card>span[lang=en]{font-size:.875rem;line-height:1.4;color:#3c625c}.delivery-card .glyph{font-size:5rem;line-height:1.25}.delivery-symbol{display:block;color:#5b8186;line-height:1}.delivery-symbol svg{width:29px;height:29px}.delivery-card.correct .delivery-symbol{color:#257847;animation:delivery-hop .45s ease-out}
.delivery-progress{display:flex;justify-content:center;gap:10px;margin:12px 0 20px;direction:ltr}.delivery-progress>span{display:grid;place-items:center;width:37px;height:37px;border:1px solid #b9ccd4;border-radius:11px;background:#eef4f7;color:#6d8795}.delivery-progress>span.delivered{background:#e6f5e8;color:#2a7750;border-color:#7fb593}
.oasis-scene{position:relative;isolation:isolate;aspect-ratio:16/9;max-width:520px;overflow:hidden;margin:18px auto;border-radius:24px;border:2px solid #9bcedd;background:#91d0eb;direction:ltr}.oasis-art{display:block;width:100%;height:100%;object-fit:cover}.oasis-explorer{position:absolute;left:23%;top:52%;width:16%;aspect-ratio:1;object-fit:contain;background:#fff7db;border:2px solid #ffe6a4;border-radius:50%}.oasis-letter-flags{position:absolute;left:43%;top:48%;width:49%;display:flex;gap:7%;justify-content:center;direction:rtl}.oasis-letter-flags>span{width:22%;aspect-ratio:1;display:grid;place-items:center;border:2px solid #ffffffe0;border-radius:12px;background:#eff8ffd9;color:#638693;font-family:NoorArabic,serif;font-size:1.9rem;opacity:.5}.oasis-letter-flags>span.delivered{background:#fff4c5;color:#375c51;opacity:1;box-shadow:0 3px 0 #58644040}.oasis-celebration{position:absolute;bottom:3%;left:30%;right:8%;display:flex;align-items:center;justify-content:center;gap:8px;background:#fff5d2ed;color:#315a45;padding:6px 10px;border:2px solid #e3c369;border-radius:13px;font-size:1rem}.oasis-celebration svg{width:29px;height:29px;color:#9e730f}.oasis-celebration b{display:block;font-size:.875rem;font-weight:450}.fort-ready .oasis-celebration{animation:delivery-hop .5s ease-out}
.zombie-portrait{display:block;flex:none;width:76px;aspect-ratio:1;background-image:url('assets/world/zombies.webp');background-repeat:no-repeat;background-size:300% 100%}
.zombie-invite{display:flex;align-items:center;gap:12px;width:100%;margin-top:16px;padding:9px 15px;border:2px solid #8ec5b5;border-radius:21px;background:#e3f7ed;text-align:start}.zombie-invite>span:not(.zombie-portrait){font-weight:750}.zombie-invite b{display:block;font-size:.875rem;font-weight:450}.zombie-invite>svg{margin-inline-start:auto;flex:none}
.bonus-game-card.game-zombie{grid-column:1/-1;display:grid;grid-template-columns:75px minmax(0,1fr);gap:3px 16px;align-items:center;text-align:start;background:#e4f6ed;border-color:#85bca6}.game-zombie>.zombie-portrait{grid-row:1/4;width:75px}.game-zombie>small{grid-column:2}
.flag-oasis{--flag-color:#247362}.zombie-intro-art .zombie-portrait{width:210px}.bonus-kind-zombie .bonus-shade{background:#174c5e55}
.sling-instructions{text-align:center;margin:2px 0 12px;line-height:1.5}.sling-instructions b{display:block;font-size:1.25rem;color:#245a49}.sling-instructions>span{display:block;font-size:1rem;color:#4d7166}
.zombie-arena{position:relative;isolation:isolate;max-width:620px;aspect-ratio:900/520;margin:auto;border:3px solid #72bdaa;border-radius:23px;overflow:hidden;background:#80cbf2;touch-action:none;user-select:none;direction:ltr;cursor:grab}
.zombie-arena:active{cursor:grabbing}.sling-background{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}
.sling-guide{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}.sling-guide circle{fill:#fff6b5;stroke:#916123;stroke-width:2;opacity:.92}.sling-guide line{stroke:#c89a39;stroke-width:8;stroke-linecap:round}
.sling-art{position:absolute;left:7.7778%;top:43.4615%;width:17.7778%;aspect-ratio:1;background-image:url('assets/world/sling-kit.webp');background-repeat:no-repeat;background-size:400% 100%;background-position:0 50%;pointer-events:none;z-index:3}
.sling-zombie{position:absolute;width:13.7778%;aspect-ratio:1;background-image:url('assets/world/zombies.webp');background-repeat:no-repeat;background-size:300% 100%;transform:translate(-50%,-50%);transform-origin:50% 50%;pointer-events:none;z-index:3;will-change:transform,left,top}
.sling-ball{position:absolute;width:8.8889%;aspect-ratio:1;background-image:url('assets/world/sling-kit.webp');background-repeat:no-repeat;background-size:400% 100%;transform:translate(-50%,-50%);pointer-events:none;z-index:4;will-change:left,top}
.sling-cheer{position:absolute;right:10%;top:9%;background:#fff1ab;color:#315443;font-size:clamp(1rem,2.7vw,1.7rem);font-weight:800;border:2px solid #c9a442;border-radius:18px;padding:4px 15px;transform:rotate(-6deg);z-index:5;pointer-events:none}.sling-cheer:empty{display:none}
.sling-pull-label{position:absolute;left:3%;top:75%;padding:3px 10px;background:#fff9dfed;color:#395b43;border:1px solid #b2b079;border-radius:11px;font-size:.875rem;font-weight:750;pointer-events:none}
.sling-controls{display:flex;align-items:stretch;justify-content:center;gap:13px;margin:15px auto 0;max-width:620px;direction:ltr}.sling-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;flex:1;min-width:0}.sling-presets button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:62px;min-width:0;padding:7px 9px;border:2px solid #aacabe;border-radius:14px;background:#f0f9f3;color:#2c5945}.sling-presets b{font-size:1rem}.sling-presets span{font-size:.875rem}.sling-presets button[aria-pressed=true]{border-color:#b59537;background:#fff2c4;box-shadow:0 3px 0 #d2b65e55}.sling-presets button:disabled{opacity:.6}.sling-controls>.primary-button{min-width:125px;padding:9px 15px;gap:8px;direction:rtl}.sling-status{max-width:610px;min-height:48px;margin:13px auto 0;text-align:center;font-size:1rem;line-height:1.5;color:#476554}
.sling-zombie[hidden],.sling-ball[hidden],.sling-pull-label[hidden]{display:none!important}
@keyframes delivery-hop{0%{transform:translateY(8px) scale(.88)}65%{transform:translateY(-6px) scale(1.05)}100%{transform:translateY(0) scale(1)}}
@media(max-width:1100px){.area-nav{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:950px){.area-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.area-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.oasis-letters .glyph{font-size:4.8rem}.delivery-grid{gap:12px}.delivery-card{min-height:148px}.delivery-card .glyph{font-size:4.7rem}.oasis-letter-flags>span{border-radius:8px;font-size:1.5rem}.oasis-celebration{left:27%;right:3%;padding:3px 6px;font-size:.875rem}.oasis-celebration b{font-size:.8rem}.zombie-invite .zombie-portrait{width:65px}.zombie-arena{border-width:2px;border-radius:17px}.sling-controls{gap:9px}.sling-presets{gap:6px}.sling-presets button{min-height:58px;padding:5px}.sling-controls>.primary-button{min-width:103px;padding:7px 11px}.sling-controls>.primary-button svg{display:none}.sling-cheer{padding:3px 10px}.sling-status{font-size:.875rem}.sling-pull-label{font-size:.8rem;padding:2px 7px}}
@media(max-width:390px){.oasis-letters .glyph{font-size:4.3rem}.oasis-keys{grid-template-columns:repeat(7,26px);gap:5px}.oasis-keys .gate-key{width:26px;height:26px}.sling-controls{flex-direction:column}.sling-controls>.primary-button{min-height:54px}.sling-presets button{min-height:56px}.sling-controls>.primary-button .en{display:inline;margin-inline-start:8px}.oasis-celebration svg{display:none}.oasis-letter-flags{gap:4%}.oasis-letter-flags>span{width:24%}.zombie-invite{gap:8px;padding-inline:9px}}
@media(prefers-reduced-motion:reduce){.delivery-card.correct .delivery-symbol,.fort-ready .oasis-celebration{animation:none}.sling-zombie{will-change:auto}}

.sling-presets button.cleared{background:#dcf3e3;border-color:#88bea0;color:#286548}.sling-presets button.cleared b::after{content:' ✓'}

/* Bridge Island: real Arabic shaping, generous choices, and an earned crossing. */
.area-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
.bridge-scene{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:22px;border:2px solid #b2dee7;isolation:isolate;margin:18px auto 22px;max-width:580px;background:#6cd1eb}
.bridge-island-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bridge-span-art{position:absolute;width:87%;height:auto;left:6.5%;top:14%;filter:drop-shadow(0 9px 4px #24555b33)}
.bridge-traveler{position:absolute;width:14%;height:auto;right:4%;top:41%;filter:drop-shadow(0 4px 3px #24483e33);z-index:2}
.bridge-scene.crossed .bridge-traveler{right:82%;top:41%}
.bridge-scene.crossing .bridge-traveler{animation:bridge-cross 4s ease-in-out both}
.bridge-finish-chip{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);border-radius:99px;padding:4px 14px;background:#fff5cb;color:#40563f;font-weight:750;font-size:.9rem;white-space:nowrap}
@keyframes bridge-cross{0%{right:4%;top:41%;transform:rotate(0)}25%{right:25%;top:21%;transform:rotate(-5deg)}50%{right:45%;top:13%;transform:rotate(5deg)}75%{right:65%;top:23%;transform:rotate(-5deg)}100%{right:82%;top:41%;transform:rotate(0)}}
.bridge-board{max-width:510px!important;aspect-ratio:2/1!important;background:#e2f4f6;margin:24px auto}
.bridge-board .build-piece{aspect-ratio:2/1!important}
.bridge-board .build-piece img{object-fit:fill}
.bridge-tip{text-align:center;background:#f0f7ff;border:1px solid #d6e6f2;padding:12px 14px;border-radius:14px;font-size:1rem;margin:16px 0;line-height:1.65}
.bridge-tip span[lang]{display:block;font-size:.9rem;color:#486474;margin-top:4px}
.curriculum-ribbon{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:15px 0;font-size:.9rem}
.curriculum-ribbon>span{display:flex;align-items:center;gap:6px;border:1px solid #cbdfe3;border-radius:99px;padding:5px 13px;background:#f0f7f4}.curriculum-ribbon .current{background:#fff0af;border-color:#d4b75d}.curriculum-ribbon svg{width:18px;height:18px}
.bridge-examples{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:15px 0}.bridge-examples>span{background:#edf7f4;border:1px solid #c7ded5;border-radius:15px;text-align:center;padding:4px 3px 9px;min-width:0}.bridge-examples b{display:block;font-family:NoorArabic,serif;font-size:3.5rem;line-height:1.5;font-weight:500}.bridge-examples small{display:block;font-size:.875rem;line-height:1.5}
.hamza-seats{background:#fff6d4;border:1px solid #ead793;border-radius:16px;padding:8px;text-align:center;margin-bottom:18px}.hamza-seats>b{font-family:NoorArabic,serif;font-size:2.8rem;font-weight:500}.hamza-seats p{margin:0;font-size:1rem}
.shape-focus{margin:20px auto 12px;max-width:300px;background:#e9f7f4;border:2px solid #9dc8bb;border-radius:23px;text-align:center;padding:8px 18px;box-shadow:0 5px 0 #c8e5dc}.shape-location{display:block;font-size:.9rem;color:#3d665a}.joined-glyph{font-family:NoorArabic,'Noto Naskh Arabic',serif;font-size:5.2rem;line-height:1.65;font-weight:500;display:block;letter-spacing:0;white-space:nowrap;font-variant-ligatures:normal;unicode-bidi:isolate}
.joining-parts,.bridge-draft{display:flex;justify-content:center;gap:12px;margin:17px 0;direction:rtl}.joining-parts>span,.bridge-draft>span{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;min-width:80px;min-height:100px;border:2px solid #bfdcd9;border-radius:17px;background:#f0f8f7}.joining-parts b,.bridge-draft b{font-family:NoorArabic,serif;font-size:3.6rem;line-height:1.4;font-weight:500}.joining-parts small,.bridge-draft small{font-size:.875rem;line-height:1.3;color:#4a7065}.bridge-draft>span{background:#f7f9fb;border-style:dashed}.bridge-draft .filled{border-style:solid;background:#fff6cf;border-color:#debf60}
.bridge-live-group{display:flex;align-items:center;justify-content:center;gap:20px;min-height:90px;background:#eef5fe;border-radius:15px;margin:12px 0}.bridge-live-group>span{font-size:.9rem;color:#49627a}.bridge-live-group>b{font-family:NoorArabic,serif;font-size:3.9rem;line-height:1.6;letter-spacing:0;font-weight:500}
.bridge-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.bridge-choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.bridge-choice-grid .letter-card{min-height:122px;padding:4px}.bridge-choice-grid .glyph{font-size:4.1rem}.bridge-choice-grid .joined-glyph{font-size:clamp(2.1rem,7vw,3.8rem)}.bridge-build-actions{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}.bridge-build-actions .primary-button{min-width:190px}
@media(max-width:720px){.area-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.bridge-examples{gap:5px}.bridge-examples b{font-size:2.8rem}.bridge-examples small{font-size:.875rem}.bridge-choice-grid{gap:8px}.bridge-choice-grid .letter-card{min-height:96px}.bridge-choice-grid .glyph{font-size:3.4rem}.joining-parts>span,.bridge-draft>span{min-width:63px;min-height:88px}.bridge-draft{gap:9px}.bridge-finish-chip{font-size:.875rem}.bridge-examples>span{padding-inline:0}.bridge-board{width:100%}}
@media(prefers-reduced-motion:reduce){.bridge-scene.crossing .bridge-traveler{animation:none;right:82%;top:41%}}

/* Eight bonus games, with full timers and different kinds of challenge. */
.bonus-game-order{flex-wrap:wrap;max-width:600px;margin-inline:auto;gap:5px}.bonus-game-order>span{padding:5px 8px;font-size:.7rem}.bonus-game-order>span:not(.active){background:transparent}.bonus-game-order>span.active{box-shadow:0 2px 0 #d6b84d40}.bonus-catalog{grid-template-columns:repeat(4,minmax(0,1fr))}.bonus-game-card.game-trail{background:#e8f6e8;border-color:#94c6a0}.bonus-game-card.game-freeze{background:#f7edfc;border-color:#c1a5d7}.bonus-game-card.game-sort{background:#fff1df;border-color:#dab07a}.bonus-game-card>.picnic-item{width:55px;flex:none}.bonus-decoy{position:absolute;transform:translate(-50%,-50%);width:72px;height:72px;border:3px solid #d5e9ff;border-radius:24px;background:#6d98bc;color:#fff;box-shadow:0 4px 0 #314c70;display:grid;place-items:center;touch-action:manipulation;padding:12px;transition:opacity .12s}.bonus-decoy svg{width:42px;height:42px;fill:#edf4ff}.bonus-decoy.waiting{opacity:.4;pointer-events:none}.bonus-decoy:focus-visible{outline:4px solid #fff;outline-offset:4px}.reaction-hint{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);max-width:70%;padding:3px 10px;border-radius:10px;background:#183847ed;color:#fff;font-size:.85rem;pointer-events:none;text-align:center}.alien-badge{position:absolute;left:35%;top:48%;width:30%;aspect-ratio:1;z-index:2;background:#fff1b1;border:2px solid #bd841d;border-radius:50%;display:grid;place-items:center;pointer-events:none}.alien-badge svg{width:70%;height:70%;fill:#f5c740;color:#78541b}.alien-badge.badge-heart{background:#ffe4ef;border-color:#ba5080}.alien-badge.badge-heart svg{fill:#dc6e9d;color:#922f5b}.alien-badge.badge-moon{background:#e0eefa;border-color:#5388b6}.alien-badge.badge-moon svg{fill:#75a4d3;color:#3a648c}
.extra-message{text-align:center;min-height:61px;line-height:1.5}.extra-message>b{display:block;font-size:1.4rem;color:#285746}.extra-message>span{display:block;font-size:.95rem;color:#416558}.extra-tip{min-height:35px;line-height:1.5;font-size:.9rem;text-align:center;margin:14px 0 0}.trail-board,.freeze-board,.sort-board{max-width:500px;margin:auto;padding:20px;border:2px solid #b0cfbb;border-radius:26px;background:#edf7ec}.trail-progress{text-align:center;font-size:.85rem;color:#476d59;margin:2px 0 14px}.trail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;direction:ltr;padding:14px;border-radius:22px;background:linear-gradient(#1c6c7cdd,#3b8a92dd),url('assets/world/garden-island.webp') center/cover}.trail-tile{position:relative;min-width:0;height:74px;display:flex;gap:6px;align-items:center;justify-content:center;background:#e9f4ed;border:2px solid #b2d5ba;border-radius:16px;box-shadow:0 4px 0 #234f6260;color:#376955;font-size:2rem;touch-action:manipulation}.trail-tile:disabled{opacity:1}.trail-tile.trail-lit{background:#ffdf84;border-color:#fff5c7;color:#765414;box-shadow:0 0 0 2px #e8b846,0 4px 0 #234f6260}.trail-tile.trail-visited{background:#b4ddbe;border-color:#3d8558;color:#256140}.trail-tile svg{width:28px;height:28px}.trail-friend{height:70px;width:70px;object-fit:contain;pointer-events:none}.trail-tile:focus-visible,.sort-bin:focus-visible,.freeze-button:focus-visible{outline:4px solid #8047a3;outline-offset:3px}.trail-tile:active:not(:disabled){transform:translateY(3px);box-shadow:none}.trail-board .memory-replay{margin-top:15px}
.freeze-board{background:#f3eefa;border-color:#c6aedb}.freeze-stage{position:relative;width:200px;height:200px;margin:30px auto 0}.freeze-stage>.peek-portrait{margin:0;width:190px}.freeze-stage .giggle-hat{width:62%;left:19%}.phase-dance .freeze-stage>.peek-portrait{animation:freeze-groove .72s ease-in-out infinite}.phase-freeze .freeze-stage>.peek-portrait{transform:rotate(-9deg);filter:drop-shadow(0 0 12px #d493ff)}.phase-oops .freeze-stage>.peek-portrait{animation:peek-dance .8s ease-in-out}.freeze-board.phase-freeze{background:#fff1ec;border-color:#d7886d}.freeze-board.phase-freeze .extra-message>b{color:#9f3c24}.dance-beats{display:flex;justify-content:center;gap:9px;direction:ltr;margin:0 0 15px}.dance-beats>span{color:#baa8d0}.dance-beats svg{height:28px;width:28px}.dance-beats .done{color:#9a690f}.dance-beats .done svg{fill:#ffd663}.freeze-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:79px;width:min(100%,330px);margin:auto;padding:11px 18px;border:3px solid #c0e8ca;border-radius:22px;background:#236e47;color:white;box-shadow:0 5px 0 #154c31;touch-action:manipulation;font-weight:750;font-size:1.2rem}.freeze-button>svg{width:36px;height:36px}.freeze-button b{display:block;font-size:.95rem}.phase-freeze .freeze-button{background:#a7432c;border-color:#ffbe95;box-shadow:0 5px 0 #6e2d22}.freeze-button:disabled{opacity:.65}.freeze-button:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 #154c31}.freeze-board .extra-message>span{font-weight:800;letter-spacing:.03em;font-size:1.25rem}
.sort-board{background:#fff7e6;border-color:#dfc187}.sort-rule{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;border:2px solid #cbb581;border-radius:17px;background:#fffdf5;line-height:1.4;text-align:center}.sort-rule>b{font-size:1.3rem;color:#715327}.sort-rule>span{font-size:1rem;font-weight:700}.sort-rule small{color:#73613e;font-size:.8rem;letter-spacing:.03em}.sort-rule.rule-changed{border-color:#aa7153;background:#ffe8ca}.sort-rule.rule-changed small{font-weight:800;color:#934319}.sort-stage{position:relative;display:flex;align-items:center;justify-content:space-around;min-height:190px;direction:ltr;gap:14px;margin:12px 0}.sort-object{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.picnic-item{display:block;width:135px;aspect-ratio:1;background-image:url('assets/world/picnic-toys.webp');background-size:600% 100%;background-repeat:no-repeat;pointer-events:none}.sort-object>b{font-size:.95rem}.sort-helper{width:120px;align-self:flex-end}.sort-helper>.peek-portrait{margin:34px 0 0}.sort-bins{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;direction:ltr}.sort-bin{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 5px;min-width:0;min-height:102px;border:3px solid #bd9a67;border-radius:20px;box-shadow:0 5px 0 #aa814b55;background:#fffdf6;color:#715129;touch-action:manipulation}.sort-bin .picnic-item{width:65px;flex-shrink:0}.sort-bin>span>b,.sort-bin>span>span[lang]{display:block}.sort-bin>span>span[lang]{font-size:.9rem}.sort-bin.chosen{border-color:#328254;background:#dbf3da}.phase-oops .sort-bin.chosen{border-color:#b05c37;background:#ffe5cd}.sort-bin:disabled{opacity:1}.color-swatch{width:45px;height:45px;flex:none;border-radius:50%;display:grid;place-items:center;border:2px solid #754e2844}.bin-red .color-swatch{background:#dc554a;color:#fff}.bin-yellow .color-swatch{background:#ffd45e;color:#87671e}.color-swatch svg{width:26px;height:26px}.sort-hop{animation:sort-hop .6s ease-out}.sort-wobble{animation:sort-wobble .6s ease-in-out}.sling-shield{position:absolute;width:15%;aspect-ratio:1;border:3px solid #a6e4ff;border-radius:50%;background:#c8f3ff22;box-shadow:inset 0 0 14px #dcf9ff90;transform:translate(-50%,-50%);pointer-events:none;z-index:4}.sling-shield>span{position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);padding:2px 7px;border-radius:7px;background:#e0f5fc;color:#2a546a;white-space:nowrap;font-size:clamp(.65rem,1.7vw,.8rem);font-weight:750}.sling-shield[hidden]{display:none!important}
@keyframes freeze-groove{0%,100%{transform:rotate(-7deg) translateY(0)}50%{transform:rotate(8deg) translateY(-12px)}}@keyframes sort-hop{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-25px) rotate(-12deg)}}@keyframes sort-wobble{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg)}70%{transform:rotate(12deg)}}
@media(max-width:720px){.bonus-game-order>span{flex:0 1 auto;max-width:none;font-size:.67rem;padding:4px 6px;flex-direction:row}.bonus-game-order svg{width:15px;height:15px}.bonus-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.bonus-game-card{display:flex;text-align:center;padding:14px 9px;gap:6px}.bonus-game-card>.picnic-item{width:47px}.bonus-game-card>.bonus-card-alien{width:45px;height:46px}.bonus-game-card>.zombie-portrait{width:47px}.bonus-decoy{width:62px;height:62px;padding:9px;border-radius:20px}.bonus-decoy svg{width:37px;height:37px}.trail-board,.freeze-board,.sort-board{padding:14px 12px}.trail-grid{padding:11px;gap:8px}.trail-tile{height:66px;border-radius:13px}.trail-friend{height:60px;width:60px}.sort-helper{width:94px}.sort-object .picnic-item{width:116px}.sort-bin{flex-direction:column;gap:3px;padding:9px}.sort-bin .picnic-item{width:53px}.sort-bin>span{line-height:1.35}.extra-message>span,.extra-tip{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){.freeze-stage>.peek-portrait,.sort-hop,.sort-wobble{animation:none!important}.phase-freeze .freeze-stage>.peek-portrait{transform:none}.bonus-decoy{transition:none}}

/* Letter Train: the next step in Noorani lesson-two letter groups. */
.area-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.flag-train{--flag-color:#267d84}.train-scene{position:relative;isolation:isolate;max-width:610px;aspect-ratio:16/9;overflow:hidden;border:2px solid #9acdbf;border-radius:25px;margin:20px auto}.train-station-art{width:100%;height:100%;display:block;object-fit:cover}.train-vessel{position:absolute;left:3%;bottom:18%;width:94%;aspect-ratio:3;isolation:isolate}.toy-train-art{position:relative;z-index:2;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.train-passenger{position:absolute;z-index:1;width:12%;height:45%;left:32%;bottom:42%;object-fit:contain;mix-blend-mode:multiply;pointer-events:none}.train-waiting-friend{position:absolute;width:20%;height:40%;right:25%;bottom:32%;object-fit:contain;mix-blend-mode:multiply}.train-arrival-chip{position:absolute;right:14px;top:13px;padding:5px 13px;background:#fff3b8;border:1px solid #cdad42;border-radius:13px;color:#315e4f;font-weight:750;font-size:1rem}.train-departing .train-vessel{animation:train-ride 4.3s ease-in-out both}.train-missions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;max-width:600px;margin:18px auto;text-align:center}.train-missions>span{padding:14px 7px;min-width:0;background:#eaf6f4;border:1px solid #a8cdc3;border-radius:18px;display:flex;flex-direction:column;align-items:center;gap:5px}.train-missions svg{color:#27725c;width:30px;height:30px}.train-missions b{font-size:1rem}.train-missions small{font-size:.875rem;line-height:1.4;color:#466b5e}.train-build-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));direction:ltr;max-width:610px;aspect-ratio:3;margin:32px auto 22px;background:#e7f7f7;border:2px solid #8cbab6;border-radius:23px;overflow:hidden}.train-piece{position:relative;min-width:0;min-height:70px;background:#edf8f6;border:0;border-right:2px dashed #9abfba;padding:0}.train-piece:last-child{border:0}.train-piece-art{display:block;position:absolute;inset:0;background:url('assets/world/toy-train.webp') var(--piece-position) 50%/400% 100% no-repeat;opacity:.2}.train-piece.placed{background:#fff}.train-piece.placed .train-piece-art{opacity:1}.train-piece .piece-marker{inset:0;position:absolute;display:grid;place-items:center;color:#9f701a;background:transparent}.train-piece .piece-marker svg{width:42px;height:42px;fill:#ffdc68;filter:drop-shadow(0 2px 1px #9d712744)}.train-piece:focus-visible{outline:4px solid #8655b6;outline-offset:-6px}.train-piece:disabled{opacity:1}.train-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;direction:rtl;max-width:610px;margin:23px auto}.train-group-card{min-width:0;min-height:128px;background:#fff;border:2px solid #a9c4b9;border-radius:23px;box-shadow:0 5px 0 #305e4420;padding:8px 5px;touch-action:manipulation}.train-group-card .joined-glyph{display:block;font-size:4rem;line-height:1.6;letter-spacing:normal;white-space:nowrap}.train-group-card.correct{border-color:#3d9060;background:#e0f5e5}.train-group-card.try-again{border-style:dashed;background:#fff5e5}.train-group-card:disabled{opacity:.55}.train-group-card.correct:disabled{opacity:1}.train-group-card:focus-visible{outline:4px solid #d6ac38;outline-offset:4px}.train-direction{text-align:center;color:#386c58;font-weight:750;margin:7px 0 14px}.train-direction span{display:block;font-size:.875rem;font-weight:450}.train-letter-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:440px;margin:0 auto 16px;position:relative}.train-letter-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:111px;background:#eef8f6;border:2px solid #92bdb1;border-radius:17px;border-bottom:6px solid #629685;padding:7px 3px}.train-letter-slot small{font:600 .875rem/1.2 system-ui;color:#597b6b}.train-letter-slot b{font-family:NoorArabic,'Noto Naskh Arabic',serif;font-size:3.3rem;font-weight:600;line-height:1.45}.train-letter-slot.empty{background:#fff6d8;border:2px dashed #bf9849;border-bottom-width:6px;color:#937324}.train-letter-slot.missing{box-shadow:0 0 0 3px #f0d57c66}.train-letter-choices{grid-template-columns:repeat(auto-fit,minmax(75px,1fr));max-width:510px;gap:12px;margin:20px auto}.train-letter-choices .letter-card{min-height:104px;padding:9px}.train-letter-choices .glyph{font-size:3.5rem}.train-model .joined-glyph{font-size:4.5rem}.train-letter-slot.filled{color:#255844}.train-scene+.island-key-count{margin-top:16px}
@keyframes train-ride{0%,10%{transform:translateX(0)}75%,100%{transform:translateX(125%)}}
@media(max-width:720px){.area-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.train-missions{gap:7px}.train-missions>span{padding:10px 5px}.train-missions b{font-size:.9rem}.train-missions small{font-size:.875rem}.train-groups{gap:10px}.train-group-card{min-height:110px;border-radius:19px}.train-group-card .joined-glyph{font-size:3.3rem}.train-letter-slots{gap:8px}.train-letter-slot{min-height:99px;border-radius:14px}.train-letter-slot b{font-size:3rem}.train-letter-choices{gap:10px;grid-template-columns:repeat(auto-fit,minmax(65px,1fr))}.train-letter-choices .letter-card{min-height:96px;padding:7px}.train-letter-choices .glyph{font-size:3.2rem}.train-arrival-chip{font-size:.875rem;right:9px;top:9px;padding:3px 10px}.train-build-board{border-radius:17px}.train-piece .piece-marker svg{width:32px;height:32px}}
@media(max-width:390px){.train-group-card .joined-glyph{font-size:2.9rem}.train-group-card{min-height:100px}.train-missions{grid-template-columns:1fr}.train-missions>span{display:grid;grid-template-columns:30px minmax(0,1fr);text-align:start;gap:1px 10px;padding:9px 13px}.train-missions svg{grid-row:1/3}.train-missions small{grid-column:2}.train-letter-slot b{font-size:2.7rem}}
@media(prefers-reduced-motion:reduce){.train-departing .train-vessel{animation:none;transform:none}}
/* Lantern Park: lesson-three discovery and a child-controlled toy corner. */
.lantern-scene{position:relative;aspect-ratio:16/9;border-radius:24px;overflow:hidden;isolation:isolate;margin:18px 0;background:#163a61}.lantern-park-art{width:100%;height:100%;display:block;object-fit:cover}.lantern-friend{position:absolute;bottom:7%;left:17%;width:25%;height:46%;object-fit:contain;filter:drop-shadow(0 8px 6px #10294d55)}.park-toy-art{display:inline-block;width:130px;aspect-ratio:1;background-image:url('assets/world/playroom-toys.webp');background-size:300% 100%;background-repeat:no-repeat;flex-shrink:0}.scene-robot{position:absolute;bottom:7%;right:18%;width:26%}.lantern-key-lights{position:absolute;top:10%;left:18%;right:18%;display:flex;justify-content:space-around;direction:ltr;font-size:clamp(22px,5vw,40px);color:#c5d3e777;text-shadow:0 2px 4px #051d3c}.lantern-key-lights .lit{color:#ffe066;text-shadow:0 0 15px #ffe066}.park-lit .lantern-key-lights .lit{filter:drop-shadow(0 0 8px #ffc95d)}.park-party-label{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);white-space:nowrap;border-radius:999px;padding:8px 16px;background:#fff7d8;color:#234364;font-size:1rem}.lantern-learn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.lantern-learn-card{border:2px solid #c4dce8;border-radius:20px;background:#fff;padding:12px;min-height:122px;cursor:pointer;color:#163b60}.lantern-learn-card>b{display:block;font-family:NoorArabic,'Noto Naskh Arabic',serif;font-size:3rem;line-height:1.5}.lantern-learn-card>span{display:flex;align-items:center;justify-content:center;gap:7px}.lantern-learn-card svg{width:20px;height:20px}.lantern-learn-card small{font-size:.875rem}.lantern-learn-card.heard{background:#e3fbf4;border-color:#2fb5a4}.lantern-slots{grid-template-columns:repeat(var(--letter-count),minmax(0,1fr));max-width:420px;margin-inline:auto}.robot-build-board{display:grid;grid-template-columns:1fr 1fr;width:min(100%,370px);aspect-ratio:1;margin:24px auto;gap:4px;direction:ltr;background:#dceff3;border:5px solid #92cbd2;border-radius:24px;overflow:hidden}.robot-piece{position:relative;min-width:0;min-height:0;border:0;background:#eef9fc;cursor:pointer;overflow:hidden}.robot-piece-art{position:absolute;inset:0;background-image:url('assets/world/playroom-toys.webp');background-size:600% 200%;background-position:var(--robot-x) var(--robot-y);background-repeat:no-repeat;opacity:.16}.robot-piece.placed .robot-piece-art{opacity:1}.robot-piece:disabled{opacity:1}.robot-piece .piece-marker{position:absolute;inset:30%;color:#e8a01b}.robot-piece .piece-marker svg{width:100%;height:100%}
.park-playroom{margin:18px 0 28px;padding:20px;border-radius:24px;background:#e5f6fc;border:2px solid #b2dcec;color:#183b60}.park-playroom>p{font-size:1rem;line-height:1.6}.park-toy-shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.park-toy-card{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 7px;min-width:0;border:2px solid #bddde7;border-radius:20px;background:#fff;color:#183b60;cursor:pointer}.park-toy-card .park-toy-art{width:min(100%,150px)}.park-toy-card b,.park-toy-card>span:not(.park-toy-art){font-size:1rem}.park-toy-card small{font-size:.875rem;line-height:1.4}.park-toy-card:disabled{opacity:.55;cursor:default}.park-toy-card.selected{border-color:#138f93;box-shadow:0 0 0 2px #138f9322}.toy-play-panel{padding:16px;margin-top:16px;text-align:center;background:#fff;border-radius:20px;overflow:hidden}.toy-play-panel h4{font-size:1.15rem;margin:0 0 10px}.toy-play-stage{height:210px;display:flex;align-items:center;justify-content:center;overflow:hidden}.toy-play-stage .park-toy-art{width:210px}.toy-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.toy-controls button,.toy-blow{border:2px solid #148e95;border-radius:16px;min-height:52px;background:#e5fbf8;color:#135b66;padding:9px 18px;font-size:1rem;cursor:pointer}.toy-controls button span{display:block;font-size:.875rem}.robot-wiggle{animation:robot-wiggle 1.4s ease}.robot-spin{animation:robot-spin 1.4s ease}.robot-peek{animation:robot-peek 1.4s ease}.bubble-play-area{display:flex;align-items:center;justify-content:center;gap:12px;direction:ltr}.bubble-play-area>.park-toy-art{width:30%;max-width:150px}.pop-grid{display:grid;grid-template-columns:repeat(3,minmax(44px,1fr));gap:12px;width:60%;max-width:300px;padding:15px 0}.pop-bubble{width:100%;aspect-ratio:1;border:2px solid #49b4d1;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff 6%,#d0f7ff 32%,#a5dcf4 80%);color:#267493;padding:19%;cursor:pointer}.pop-bubble svg{width:100%;height:100%}.pop-bubble.popped{background:transparent;border-style:dashed;opacity:.28}.pop-bubble:disabled:not(.popped){opacity:.35}.drum-stage{height:170px}.drum-stage .park-toy-art{width:180px}.drum-pads{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;direction:ltr}.drum-pad{border:3px solid #18456733;min-height:72px;border-radius:20px;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer;color:#19405c;font-size:1rem;touch-action:manipulation}.drum-pad svg{width:26px;height:26px}.drum-pad.pad-0{background:#ffe495}.drum-pad.pad-1{background:#ffc6df}.drum-pad.pad-2{background:#bee2ff}.drum-pad.pad-3{background:#b4f0d4}.drum-pad.beat{transform:scale(.9);box-shadow:inset 0 4px 5px #12395533}.flag-lantern{background:#305e96;color:#fff}.flag-lantern .flag-stars{color:#ffdb78}
/* Toy Catch has a moving catcher and two visible toy paths. */
.toy-catch{margin:16px 0}.catch-target-label{display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 14px;background:#fff4c9;border:2px solid #efcf69;border-radius:18px;color:#173d5e}.catch-target-label>span:first-child{font-size:1.1rem;font-weight:800}.catch-target-label>span:first-child>span{display:block;font-size:.875rem;font-weight:500}.catch-target-label .picnic-item{width:58px;height:58px}.catch-target-label>b{font-size:1rem}.catch-arena{position:relative;aspect-ratio:1.7;max-height:400px;border-radius:22px;margin:12px 0;overflow:hidden;border:3px solid #84bed1;background:linear-gradient(#d5f0ff,#eefcff 75%,#b8e9d6 75%);direction:ltr}.catch-lane-lines{position:absolute;inset:0;background:linear-gradient(90deg,transparent 32.8%,#82b5c74d 33%,#82b5c74d 33.4%,transparent 33.6%,transparent 65.8%,#82b5c74d 66%,#82b5c74d 66.4%,transparent 66.6%)}.catch-object{position:absolute;width:18%;aspect-ratio:1;transform:translate(-50%,-50%);z-index:2;pointer-events:none}.catch-object .picnic-item{width:100%;height:100%}.catch-basket{position:absolute;left:50%;top:78%;width:27%;height:20%;transform:translateX(-50%);z-index:3;transition:left .1s ease}.catch-friend{position:absolute;width:90%;height:170%;object-fit:contain;bottom:4%;left:5%}.catch-tray{position:absolute;left:4%;right:4%;bottom:0;height:54%;border:3px solid #cd972d;background:#ffe09a;border-radius:999px;display:flex;gap:6px;align-items:center;justify-content:center;color:#87590d;font-size:1rem}.catch-tray svg{width:28px;height:28px}.catch-feedback{position:absolute;top:0;left:3%;right:3%;font-size:.875rem;font-weight:800;text-align:center;color:#244d6b;margin:8px 0;z-index:4;pointer-events:none}.catch-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;direction:ltr}.catch-controls button{min-height:60px;border:2px solid #99c8d6;background:#fff;border-radius:17px;color:#174661;font-size:1rem;font-weight:800;cursor:pointer}.catch-controls button span{display:block;font-size:.875rem;font-weight:500}.catch-controls button[aria-pressed=true]{background:#ffe69f;border-color:#d8a51e;box-shadow:0 3px 0 #c28e20}.catch-controls button:disabled{cursor:default}.catch-oops .catch-friend{animation:robot-wiggle .7s ease}.catch-celebrate .catch-friend{animation:catch-hop .65s ease}.catch-floor{position:absolute;left:0;right:0;bottom:0;height:3%;background:#69bea8}.game-catch>.picnic-item{width:74px;height:74px}
@keyframes robot-wiggle{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(-12deg)}40%,80%{transform:rotate(12deg)}}@keyframes robot-spin{0%{transform:rotateY(0)}70%,100%{transform:rotateY(360deg)}}@keyframes robot-peek{0%,100%{transform:translateY(0)}35%,65%{transform:translateY(95%)}}@keyframes catch-hop{0%,100%{transform:translateY(0)}50%{transform:translateY(-25%)}}
@media(max-width:640px){.park-playroom{padding:13px}.park-toy-shelf{gap:7px}.park-toy-card{padding:8px 4px}.park-toy-card .park-toy-art{width:100%}.lantern-learn-grid{gap:9px}.lantern-learn-card{padding:9px;min-height:110px}.lantern-learn-card>b{font-size:2.7rem}.lantern-learn-card>span{gap:4px}.catch-arena{aspect-ratio:1.25}.catch-target-label{gap:8px}.pop-grid{gap:7px}.toy-controls button{flex:1;padding:8px 10px}.drum-pads{gap:7px}.drum-pad{min-height:62px;flex-direction:column;gap:2px}.drum-pad svg{width:23px;height:23px}}
@media(max-width:390px){.lantern-learn-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.park-toy-shelf{grid-template-columns:1fr}.park-toy-card{display:grid;grid-template-columns:74px 1fr;gap:4px;text-align:start;align-items:center}.park-toy-card .park-toy-art{width:74px;grid-row:span 3}.park-toy-card small{grid-column:2}.bubble-play-area{gap:4px}.catch-target-label>b{display:none}}
@media(prefers-reduced-motion:reduce){.robot-wiggle,.robot-spin,.robot-peek,.catch-oops .catch-friend,.catch-celebrate .catch-friend{animation:none}.catch-basket{transition:none}.drum-pad.beat{transform:none;outline:3px solid #148e95}}
/* Noor V16: learning trail, keepsake profile and six new playgrounds. */
.course-map-summary{display:flex;align-items:center;gap:18px;background:#ecf8f6;border:1px solid #bcded5;border-radius:24px;margin:20px 0;padding:12px 16px;text-align:start}
.course-map-summary .profile-portrait{width:105px;flex:0 0 105px}.course-map-summary strong,.course-map-summary span{display:block}.course-map-summary p{margin:5px 0;font-size:.9rem}.course-continue{margin:16px auto;width:100%;min-width:0}
.course-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.course-stop{position:relative;display:flex;flex-direction:column;align-items:stretch;text-align:start;border:2px solid #d5e8e8;border-radius:20px;overflow:hidden;background:#fff;padding:0 0 12px;box-shadow:0 4px 0 #e1ecec;min-width:0}.course-stop img{width:100%;height:100px;object-fit:cover}.course-stop>b,.course-stop>span:not(.course-stop-number),.course-stop>small{margin:5px 12px 0}.course-stop>b{font-size:1.05rem}.course-stop small{font-size:.875rem}.course-stop.done{border-color:#45967f}.course-stop.locked{opacity:.62}.course-stop-number{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;background:#fff8d8;color:#54420b;display:grid;place-items:center;font-weight:800}.course-stop:hover:not(:disabled){transform:translateY(-2px);border-color:#2a897d}.course-tip{background:#f0f7ff;border-inline-start:4px solid #4193bb;padding:14px 18px;border-radius:14px;font-size:1.05rem;text-align:start}.course-tip span{display:block;font-size:1rem;margin-top:7px;direction:ltr}.course-example-grid,.course-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.course-example,.course-choice{border:2px solid #d5e5e7;border-radius:22px;background:#fff;padding:10px 8px 15px;min-height:130px;box-shadow:0 5px 0 #dfe9eb;min-width:0}.course-example.heard{background:#effbf2;border-color:#8bc49e}.course-example.playing{background:#fff4ca;border-color:#d4a93c}.course-example>span{display:flex;align-items:center;justify-content:center;gap:8px}.course-example small{font-size:.875rem}.course-example svg{width:21px;height:21px}.course-glyph{font-family:NoorArabic,'Noto Naskh Arabic',serif;font-size:clamp(2.7rem,4.5vw,4rem);font-weight:400;line-height:1.9;display:block;color:#24483e;overflow-wrap:normal;letter-spacing:0}.course-choice.correct{background:#e5f7e9;border-color:#31936b}.course-choice:disabled:not(.correct){opacity:.64}.course-choice:hover:not(:disabled),.course-example:hover{border-color:#398978}.course-progress{text-align:center;color:#4c7068;font-size:.9rem}.course-build-target{background:#fff6d4;border-radius:18px;padding:0 12px;text-align:center}.course-build-target .course-glyph{font-size:3.2rem}.course-slots{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin:18px 0}.course-slots>span{min-width:42px;min-height:70px;border:2px dashed #afcbd0;border-radius:12px;display:grid;place-items:center;font-size:2rem;background:#f5fafb;padding:0 5px}.course-slots .course-glyph{font-size:2.8rem}.course-slots .filled{border-style:solid;border-color:#78b49f;background:#ecf8f0}.course-palette{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:16px 0}.course-palette button{border:2px solid #c8dfe3;background:white;border-radius:15px;min-width:65px;padding:0 8px;box-shadow:0 3px 0 #dbe9e9}.course-palette .course-glyph{font-size:3rem}.course-palette button:disabled{opacity:.65}.course-together{background:#f4f3ff;border-radius:13px;padding:12px 15px;color:#504273;text-align:center;font-size:.94rem}.course-win{min-height:280px;border-radius:24px;background-size:cover;background-position:center;position:relative;display:flex;align-items:center;justify-content:center;margin:20px 0;overflow:hidden}.course-win .profile-portrait{width:200px}.course-win>strong{position:absolute;bottom:10px;padding:7px 22px;border-radius:999px;background:#fff3bf;color:#593c08;font-size:1.2rem}.course-finale{padding:20px;border:2px solid #d5b243;border-radius:24px;background:#fff9dd;text-align:center}.course-finale .primary-button{margin:auto}.teacher-chapter{border-top:1px solid #d9e6e7;padding:14px 0}.teacher-chapter button{min-height:48px;padding:8px 14px;border-radius:12px;background:#edf6ef;border:1px solid #9ac5a7}.teacher-examples{font-family:NoorArabic,serif;font-size:1.9rem;line-height:2;margin:10px 0}.teacher-chapter button:disabled{opacity:.7}
.profile-studio{border:1px solid #c7e0e6;background:#f5fbfc;padding:20px;border-radius:25px;margin:15px 0 24px;text-align:center}.profile-studio h3{margin-top:0}.profile-studio h4{font-size:1.1rem;margin:24px 0 12px}.profile-banner,.banner-swatch{background-image:url('assets/world/profile-banners.webp');background-size:100% 300%;background-repeat:no-repeat}.profile-banner{position:relative;min-height:265px;border-radius:20px;overflow:hidden;display:flex;align-items:center;justify-content:center}.profile-portrait{position:relative;width:190px;aspect-ratio:1;isolation:isolate;flex-shrink:0}.profile-portrait>img{width:100%;height:100%;object-fit:contain;display:block}.profile-banner .profile-portrait{width:190px;margin-top:-15px}.profile-sprite{display:block;aspect-ratio:1;background-size:300% 200%;background-repeat:no-repeat}.profile-hats{background-image:url('assets/world/profile-hats.webp')}.profile-stickers{background-image:url('assets/world/profile-stickers.webp')}.worn-hat{position:absolute;width:54%;top:-12%;left:25%;z-index:2;pointer-events:none;transform:rotate(-8deg)}.character-bunny .worn-hat{top:3%;left:32%;width:46%;transform:rotate(12deg)}.character-bird .worn-hat{top:-4%;left:24%}.worn-sticker{position:absolute;width:32%;z-index:3;pointer-events:none}.corner-0{left:-14%;top:8%;transform:rotate(-15deg)}.corner-1{right:-14%;top:8%;transform:rotate(15deg)}.corner-2{left:-13%;bottom:-1%;transform:rotate(12deg)}.corner-3{right:-13%;bottom:-1%;transform:rotate(-12deg)}.profile-rank{position:absolute;left:12px;right:12px;bottom:10px;border-radius:12px;background:#fffdf5ed;padding:5px;color:#3d4862;font-weight:750}.profile-rank b{display:block;font-size:.875rem}.profile-level{display:flex;flex-direction:column;gap:5px;margin:14px 0}.profile-level>span{font-size:.9rem}.profile-level progress{width:100%;height:14px;accent-color:#338987}.profile-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.profile-option{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:8px 6px;border:2px solid #d2e3e8;border-radius:17px;background:#fff;box-shadow:0 3px 0 #d9e7e9}.profile-option.selected{border-color:#338a72;background:#eff9f2}.profile-option:disabled{background:#f1f3f5;opacity:.66}.profile-option b{font-size:1rem}.profile-option>span[lang],.profile-option small{font-size:.875rem}.profile-option small{color:#50665e;margin-top:4px}.profile-option .profile-sprite{width:84px;max-width:100%}.no-hat{font-size:3rem;height:84px;display:grid;place-items:center}.banner-swatch{width:100%;height:58px;border-radius:10px;margin-bottom:7px}.sticker-corners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.sticker-corners button{padding:8px;min-height:45px;border:2px solid #d2e4e7;border-radius:12px;background:white;font-size:.9rem}.sticker-corners .selected{background:#fff1bb;border-color:#cda73a}.pose-preview{display:block;font-size:3rem;color:#be8220}.dancing.pose-wave{animation:profile-wiggle .45s ease-in-out 3}.dancing.pose-bounce{animation:profile-bounce .55s ease-in-out 3}.dancing.pose-spin{animation:profile-spin 1.4s ease-in-out 1}.profile-options .pose-preview{animation:none}#profile-accessories{position:absolute;inset:0;pointer-events:none}#profile-accessories .profile-portrait{width:100%;height:100%;aspect-ratio:auto}#profile-accessories .profile-portrait>img{visibility:hidden}.mascot-wrap #profile-accessories .worn-sticker{width:25%}.mascot-wrap #profile-accessories .corner-0,.mascot-wrap #profile-accessories .corner-2{left:0}.mascot-wrap #profile-accessories .corner-1,.mascot-wrap #profile-accessories .corner-3{right:0}.mascot-wrap #profile-accessories .worn-hat{top:0}.mascot-wrap #profile-accessories .character-bunny .worn-hat{top:13%}
@keyframes profile-wiggle{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}@keyframes profile-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-25px) rotate(-5deg)}}@keyframes profile-spin{0%{transform:rotate(0)}60%{transform:rotate(375deg)}100%{transform:rotate(360deg)}}
.mega-board{margin:14px auto;background:#eff8fc;border:2px solid #c4dfe9;border-radius:25px;padding:18px;overflow:hidden;direction:ltr}.mega-instruction{font-weight:650;text-align:center;margin:0 0 15px;font-size:1rem;min-height:28px}.mega-button{border:2px solid #b6d3de;background:#fff;border-radius:16px;box-shadow:0 4px 0 #c9dde4;min-height:56px;font-size:1rem;font-weight:650;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px}.mega-button:hover:not(:disabled){background:#fff7d7;border-color:#bf9d31}.mega-button:active:not(:disabled){transform:translateY(3px);box-shadow:none}.mega-button:disabled{opacity:.72}.mega-button svg{width:35px;height:35px;color:#b48927}.mega-button .picnic-item{width:100%;max-width:90px}.toy-pair-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.toy-pair-grid .mega-button{height:110px;padding:6px}.toy-pair-grid .mega-button:disabled{opacity:1;background:#e4f3ee}.dress-stage,.rhythm-stage{position:relative;width:205px;max-width:70%;height:205px;margin:0 auto 12px}.dress-stage>img,.rhythm-stage>img{width:100%;height:100%;object-fit:contain}.dress-stage>svg{position:absolute;top:0;left:50%;color:#c74777;width:55px;height:55px}.dress-hat{position:absolute;top:-10%;left:27%;width:55%;transform:rotate(-10deg)}.dress-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.dress-choices .profile-sprite{width:100%;max-width:110px}.dress-choices .mega-button{padding:4px;min-height:82px}.dress-giggle{animation:profile-bounce .5s ease-in-out 1}.dress-wobble,.splash-wobble{animation:profile-wiggle .3s ease-in-out 2}.spotter-target{display:flex;justify-content:center;align-items:center;gap:14px;font-weight:750;margin:-5px auto 10px}.spotter-target .picnic-item{width:65px}.spotter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.spotter-grid .mega-button{height:90px}.spotter-grid .picnic-item{width:75px}.timing-track{height:40px;margin:18px 12px 24px;border:2px solid #a6c7d9;border-radius:999px;background:white;position:relative;direction:ltr}.timing-zone{position:absolute;top:0;bottom:0;background:#ffd45a;border-radius:10px}.timing-marker{position:absolute;top:50%;transform:translate(-50%,-50%);color:#7545b7;font-size:2.5rem;line-height:1;filter:drop-shadow(0 2px 1px #fff)}.mega-rhythm>.mega-button{width:100%;background:#ffe295;border-color:#bb952e}.mega-hint{text-align:center;font-size:.9rem;margin:12px 0 0}.dodge-field{height:240px;border-radius:19px;background:linear-gradient(#d9f1ff,#bce5ec);position:relative;overflow:hidden;margin-bottom:15px}.dodge-lanes{display:grid;grid-template-columns:repeat(3,1fr);height:100%;direction:ltr}.dodge-lanes>span{position:relative;border-right:2px dashed #8bbbc8}.dodge-lanes>span:last-child{border:0}.dodge-bubble{position:absolute;left:50%;top:10%;transform:translate(-50%,-50%);border:3px solid #55aacf;background:#b7ecffdc;border-radius:50%;width:70px;height:70px;display:grid;place-items:center;box-shadow:inset 6px 6px 0 #ffffff70}.dodge-bubble svg{width:28px;height:28px;color:#30699c}.dodge-friend{position:absolute;bottom:-4px;transform:translateX(-50%);width:105px;height:110px;object-fit:contain;transition:left .12s ease-out}.dodge-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.dodge-controls .mega-button{font-size:.9rem;padding:7px 4px}.balance-stage{height:220px;position:relative;border-bottom:6px solid #a1cad5;background:#e1f2f8;border-radius:15px;overflow:hidden}.balance-stage>img{position:absolute;width:130px;height:145px;object-fit:contain;right:0;bottom:0}.toy-tower{position:absolute;left:35%;bottom:0;width:95px;height:200px;transform-origin:50% 100%;transition:transform .08s linear}.tower-toy{position:absolute;left:0;width:95px;height:75px}.tower-toy .picnic-item{width:100%;height:100%}.balance-track .timing-zone{background:#9bdfae}.balance-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mega-balance progress{display:block;width:80%;height:15px;margin:0 auto 16px;accent-color:#338e73}.bonus-flags .flag-stars{flex-wrap:wrap}.bonus-game-order{max-height:100px;overflow:auto}.bonus-game-card>svg{width:40px;height:40px}.course-map-summary .profile-sprite{max-width:none}
@media(max-width:640px){.course-map-grid{gap:10px}.course-stop img{height:85px}.course-map-summary{padding:10px;gap:12px}.course-map-summary .profile-portrait{width:75px;flex-basis:75px}.course-map-summary strong{font-size:.92rem}.course-example-grid,.course-choices{gap:10px}.course-glyph{font-size:2.9rem}.course-palette .course-glyph{font-size:2.6rem}.profile-studio{padding:12px}.profile-options{gap:7px}.profile-option .profile-sprite{width:70px}.profile-option b{font-size:.9rem}.profile-banner{min-height:240px}.profile-options .profile-option>span[lang],.profile-option small{font-size:.875rem}.mega-board{padding:12px}.toy-pair-grid{gap:7px}.toy-pair-grid .mega-button{height:80px}.spotter-grid .mega-button{height:76px}.dress-choices{gap:6px}.dress-choices .mega-button{min-height:65px}.mega-button{font-size:.94rem}.course-together{font-size:.9rem}.course-continue{font-size:1rem;padding:12px}.course-slots{gap:5px}.course-slots>span{min-width:35px;padding:0 3px}.course-slots .course-glyph{font-size:2.35rem}}
@media(prefers-reduced-motion:reduce){.profile-portrait,.dress-stage,.rhythm-stage,.dodge-friend,.toy-tower{animation:none!important;transition:none!important}.course-win .profile-portrait{animation:none!important}}
.collection-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;position:sticky;top:0;background:white;padding:8px 0;z-index:5}.collection-tabs button{border:2px solid #c7e1e6;background:#f1f8fb;border-radius:15px;padding:10px 4px;min-height:60px;font-weight:700}.collection-tabs button span{display:block;font-size:.875rem;font-weight:500}.collection-tabs .selected{background:#276f64;color:white;border-color:#21594f}.profile-reward-hint{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;margin:15px auto 0;padding:12px 15px;border:2px solid #e7d295;border-radius:17px;background:#fff9e0;color:#645123;text-align:start;font-size:.98rem}.profile-reward-hint svg{width:30px;height:30px}.profile-reward-hint b{display:block;font-size:.9rem;font-weight:500}.collection-tabs button:focus-visible{outline-offset:2px}
/* Keep hats above eyes and make existing full-body character art a clear profile picture. */
.profile-portrait>img{border-radius:50%;border:3px solid #fffffff0;background:#e5f5fc}.profile-banner .profile-portrait{width:170px;margin-top:36px}.worn-hat{top:-29%;left:23%;width:49%}.character-bunny .worn-hat{top:-12%;left:31%;width:45%}.character-cat .worn-hat{top:-23%;left:28%;width:48%}.character-dog .worn-hat{top:-28%;left:25%;width:48%}.character-bird .worn-hat{top:-20%;left:25%;width:48%}.course-win .profile-portrait{margin-top:45px}.mascot-wrap #profile-accessories .worn-hat{top:-29%}.mascot-wrap #profile-accessories .character-bunny .worn-hat{top:-12%}.mascot-wrap #profile-accessories .character-cat .worn-hat{top:-23%}.mascot-wrap #profile-accessories .character-dog .worn-hat{top:-28%}.mascot-wrap #profile-accessories .character-bird .worn-hat{top:-20%}.mascot-wrap{margin-top:35px}.dress-hat{top:-26%;width:47%;left:25%}.dress-stage{margin-top:42px}.dress-stage>img{border-radius:50%;border:3px solid white}
.profile-banner,.banner-swatch{background-size:auto 300%}

/* The four-letter family recording trial. */
.voice-select [data-voice="family"]{grid-column:1/-1}
