/* Fast voice/action layer shared by every active adventure. */
.teaching-feedback[hidden]{display:none!important;visibility:hidden!important}
.challenge-progress{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.challenge-item{display:grid;grid-template-columns:1fr auto;gap:3px 10px;padding:10px 13px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#ff8c3c,#f052a7);box-shadow:0 6px 0 rgba(139,45,102,.35),0 10px 20px rgba(24,63,120,.14),inset 0 0 0 2px rgba(255,255,255,.3);font-weight:900}.challenge-item.weekly{background:linear-gradient(135deg,#7958ef,#318bea);box-shadow:0 6px 0 rgba(48,64,171,.42),0 10px 20px rgba(24,63,120,.14),inset 0 0 0 2px rgba(255,255,255,.3)}.challenge-item>i{grid-column:1/-1;height:8px;border-radius:99px;background:rgba(13,47,90,.25);overflow:hidden}.challenge-item>i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#fff36c,#fff);box-shadow:0 0 12px #fff}.challenge-item small{grid-column:1/-1;font-weight:700;opacity:.95}.stage-unlock-card{display:grid;place-items:center;gap:10px;padding:clamp(22px,4vw,50px);text-align:center;color:#fff}.unlock-burst{font-size:clamp(70px,9vw,120px);filter:drop-shadow(0 12px 15px rgba(14,65,125,.3));animation:unlockPop .7s cubic-bezier(.2,1.5,.35,1)}.stage-unlock-card small{font-size:18px;font-weight:900;color:#fff4a7}.stage-unlock-card h2{margin:0;font-size:clamp(32px,5vw,58px);text-shadow:0 4px 0 rgba(20,72,134,.35)}.stage-unlock-card p,.stage-unlock-card b{font-size:clamp(17px,2vw,24px)}.unlock-progress{width:min(520px,90%);height:17px;padding:3px;border-radius:99px;background:rgba(10,50,101,.25);box-shadow:inset 0 2px 5px rgba(0,0,0,.18)}.unlock-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#58edc1,#fff16b);box-shadow:0 0 16px #77f2dd}.next-adventure-unlocked{display:flex;flex-direction:column;gap:3px;padding:12px 20px;border-radius:18px;color:#164d78;background:linear-gradient(145deg,#f6ffbd,#bff8df);box-shadow:0 7px 0 #65c9a6,0 13px 24px rgba(18,75,126,.18);font-size:18px}.next-adventure-unlocked b{font-size:24px}@keyframes unlockPop{from{opacity:0;transform:scale(.2) rotate(-20deg)}to{opacity:1;transform:none}}@media(max-width:760px){.challenge-progress{grid-template-columns:1fr}.challenge-item{font-size:12px;padding:8px 10px}.challenge-item small{font-size:11px}}
.mission-card>.challenge-progress{order:-1;margin:0 0 10px}.mission-card.showing-stage-unlock .challenge-item{padding:7px 11px;gap:1px 8px;font-size:13px}.mission-card.showing-stage-unlock .challenge-item small{font-size:11px}.mission-card.showing-stage-unlock .challenge-item>i{height:6px}.mission-card.showing-stage-unlock .mission-heading h1{margin-block:6px;font-size:clamp(34px,4vw,52px)}.mission-card.showing-stage-unlock .mission-heading p{margin-block:4px}.mission-card.showing-stage-unlock .stage-unlock-card{padding:12px;gap:6px}.mission-card.showing-stage-unlock .unlock-burst{font-size:64px}
.stage-path{display:none!important}.station-rail{overflow:hidden!important}.station-rail ol{gap:3px!important}.station-rail ol button{min-height:34px!important;height:34px;padding:3px 7px!important;border-radius:11px!important;font-size:12px}.station-rail ol button b{width:24px!important;height:24px!important;min-width:24px;font-size:12px}.rail-nav{margin-bottom:7px!important}.rail-nav a{min-height:54px!important}.rail-title{margin-bottom:7px!important;padding:8px 10px!important}.mission-card{overflow:hidden!important;padding-block:18px!important}.mission-heading h1{margin-block:5px!important}.mission-heading p{margin-bottom:8px!important}.mission-content{overflow:visible!important;min-height:0!important;padding:10px!important}.word-grid,.choice-grid{gap:9px!important}.word-card,.choice{min-height:54px!important;padding:10px!important}.word-card strong{font-size:22px!important}.picture,.question-picture{font-size:38px!important}.mission-actions{padding-top:10px!important}
#sentenceResult [data-selected-index]{display:inline-flex;align-items:center;gap:9px;background:linear-gradient(145deg,#fff,#dff2ff)!important;color:#153c61!important;box-shadow:0 6px 0 #9fc9e2,0 10px 16px rgba(23,82,126,.15)!important;cursor:pointer}
#sentenceResult [data-selected-index] span{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#ff6d7e;color:#fff;font-size:20px;line-height:1}
#sentenceResult [data-selected-index]:hover{transform:translateY(-2px);filter:brightness(1.03)}
.sentence-bank [data-token]:disabled{opacity:.28;transform:scale(.94);cursor:default}
#listenButton{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:155px;background:linear-gradient(145deg,#e9fbff,#cbeeff);color:#075f98;box-shadow:0 6px 0 #91cde5,0 10px 18px rgba(15,91,139,.17)}
#listenButton:not([hidden]){animation:listenReady .38s ease-out}
.guide-panel.is-flying{animation-duration:3s!important}
.astro.celebrate{animation-duration:.32s!important}.astro.oops{animation-duration:.28s!important}
.choice,.word-card,.sentence-bank button,.primary-action,.secondary-action{transition-duration:.12s!important}
@keyframes listenReady{from{opacity:0;transform:translateY(8px) scale(.94)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#listenButton:not([hidden]){animation:none}}
.mastery-match{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:900px;margin:8px auto;direction:ltr}.mastery-match>div{display:grid;gap:10px}.mastery-match button{min-height:58px;border:2px solid rgba(255,255,255,.72);border-radius:17px;background:linear-gradient(145deg,#fff,#dfeeff);color:#123a70;font-size:clamp(17px,1.35vw,23px);font-weight:900;box-shadow:0 6px 0 rgba(24,78,150,.25);cursor:pointer}.mastery-match button.selected{outline:4px solid #ffd94f;transform:translateY(-2px)}.mastery-match button.matched{background:linear-gradient(145deg,#d8fff0,#5cdbad);color:#075c47;box-shadow:0 4px 0 #23966f;opacity:.82}.mastery-match button.wrong-pair{animation:match-shake .28s ease}.match-help{display:block;text-align:center;font-size:16px;font-weight:800;color:#eaffff;margin-top:10px}@keyframes match-shake{25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}@media(max-width:700px){.mastery-match{gap:8px}.mastery-match button{min-height:50px;font-size:16px}}
.mission-card:has(.mastery-match) .mission-heading h1{font-size:clamp(27px,3vw,44px)!important;line-height:1.08;margin-block:2px!important}.mission-card:has(.mastery-match) .mission-heading p{font-size:clamp(15px,1.45vw,20px);line-height:1.35;margin-bottom:4px!important}.mission-card:has(.mastery-match) .mission-content{align-content:center;padding:8px 14px!important;overflow:hidden!important}.mission-card:has(.mastery-match) .mastery-match{width:min(100%,720px);gap:12px;margin:2px auto}.mission-card:has(.mastery-match) .mastery-match>div{gap:6px}.mission-card:has(.mastery-match) .mastery-match button{min-height:42px;height:42px;padding:4px 12px;border-radius:13px;font-size:clamp(16px,1.25vw,21px);box-shadow:0 4px 0 rgba(24,78,150,.25)}.mission-card:has(.mastery-match) .match-help{font-size:13px;line-height:1.2;margin-top:3px}.mission-card:has(.mastery-match) .mission-actions{padding-top:6px!important}
.session-journey{display:flex;align-items:center;gap:10px;margin:1px 0 6px;padding:6px 10px;border-radius:16px;background:rgba(12,60,123,.18);box-shadow:inset 0 0 0 2px rgba(255,255,255,.24);direction:rtl}.session-journey strong{flex:0 0 auto;color:#fff;font-size:13px;text-shadow:0 2px 3px rgba(10,48,94,.35)}#sessionTrack{display:grid;grid-template-columns:repeat(15,minmax(22px,1fr));gap:4px;direction:ltr;flex:1}#sessionTrack span{height:24px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.34);color:#eaf7ff;font-size:11px;font-weight:900}#sessionTrack span.done{background:#46d4aa;color:#073f35}#sessionTrack span.current{background:#ffe267;color:#634700;box-shadow:0 0 0 3px #fff,0 0 14px #ffe267;transform:scale(1.08)}.mission-card.showing-stage-unlock .session-journey,.mission-card:has(.reward-screen) .session-journey{display:none}@media(max-width:700px){.session-journey{align-items:stretch;flex-direction:column;gap:4px}.session-journey strong{text-align:center}#sessionTrack{gap:2px}#sessionTrack span{height:20px;font-size:9px}}
.mission-heading h1{font-size:clamp(28px,3vw,46px)!important;line-height:1.08}.mission-heading p{font-size:clamp(15px,1.55vw,21px)!important;line-height:1.35}.mission-content>.choice-grid:not(.visual-question-grid) .choice{min-height:112px!important;max-height:158px;padding:10px 12px!important;gap:7px}.mission-content>.choice-grid:not(.visual-question-grid) .question-picture{width:46px;height:46px;font-size:38px}.mission-content>.choice-grid:not(.visual-question-grid) .choice strong{font-size:clamp(18px,1.65vw,27px);line-height:1.22}.teaching-feedback{flex:0 0 auto;display:grid!important;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);align-items:center;gap:5px 12px;margin-top:6px!important;padding:8px 14px!important;line-height:1.3}.teaching-feedback>strong{font-size:17px}.teaching-feedback>span{display:block!important;margin:0!important;font-size:15px;overflow-wrap:anywhere}.teaching-feedback .correction-en{direction:ltr;text-align:left}.teaching-feedback .correction-ar{direction:rtl;text-align:right}.teaching-feedback>small{grid-column:1/-1;text-align:center;font-size:12px}.teaching-feedback .streak-message{grid-column:1/-1}@media(max-width:700px){.teaching-feedback{grid-template-columns:1fr}.teaching-feedback>small,.teaching-feedback .streak-message{grid-column:1}.mission-content>.choice-grid:not(.visual-question-grid) .choice{min-height:92px!important}.mission-content>.choice-grid:not(.visual-question-grid) .question-picture{width:36px;height:36px;font-size:31px}}
.writing-word-card{display:grid;justify-items:center;gap:7px;padding:14px!important}.writing-word-card .question-picture{font-size:48px!important;line-height:1}.writing-word-card .writing-arabic-clue{font-size:clamp(24px,2.4vw,36px)!important;color:#173d70!important;text-shadow:none!important}.writing-word-card small{color:#496982!important;font-size:15px;font-weight:800}.writing-word-card .text-answer{margin-top:4px;max-width:900px}
/* One bounded flex layout for every activity: prompt, task, correction, actions. */
.mission-card{min-height:0!important}.mission-heading,.session-journey,.teaching-feedback,.mission-actions,.challenge-progress{flex-shrink:0}.mission-content{flex:1 1 120px!important;min-height:0!important;overflow:auto!important;overscroll-behavior:contain;scrollbar-width:thin;position:relative}.teaching-feedback{position:relative;z-index:3;max-width:100%;overflow:hidden}.mission-actions{position:relative;z-index:4}.word-card,.choice,.sentence-bank,.speech-focus,.speech-write-fallback,.text-answer{max-width:100%;min-width:0}.speech-focus{align-content:center;gap:7px!important;padding:9px 14px!important;overflow:auto}.speech-focus>.question-picture{font-size:34px!important;line-height:1}.speech-focus>strong{font-size:clamp(17px,1.6vw,24px)!important;line-height:1.22}.speech-focus .microphone-instruction{font-size:14px}.speech-focus .write-instead{min-height:42px;padding:8px 15px;font-size:15px}.speech-write-fallback{gap:5px!important;width:min(720px,100%);margin:auto}.speech-write-fallback strong{font-size:clamp(17px,1.6vw,23px)!important}.speech-write-fallback span{font-size:13px;line-height:1.3}.speech-write-fallback input{min-height:48px!important;height:48px;padding:8px 14px!important;font-size:clamp(16px,1.5vw,22px)!important}.mission-card:has(.speech-focus) .mission-heading h1{font-size:clamp(27px,2.7vw,42px)!important;margin-block:1px!important}.mission-card:has(.speech-focus) .mission-heading p{margin-bottom:3px!important}.mission-card:has(.speech-focus) .session-journey{margin-bottom:3px;padding-block:4px}.mission-card:has(.speech-focus) .mission-content{padding:7px 12px!important}.mission-card:has(.speech-focus) .teaching-feedback{margin-top:4px!important}
@media(max-width:900px){body{overflow:auto!important}.market-app{height:auto!important;min-height:100dvh}.mission-card{overflow:visible!important;min-height:calc(100dvh - 175px)!important}.mission-content{flex:0 1 auto!important;overflow:visible!important;min-height:180px!important}.teaching-feedback{overflow:visible}.mission-actions{position:sticky!important;bottom:0;background:rgba(83,157,241,.94);border-radius:18px;padding:8px!important;backdrop-filter:blur(10px)}}
@media(max-width:520px){.mission-heading h1{font-size:26px!important}.mission-heading p{font-size:15px!important}.speech-focus{padding:8px!important}.speech-write-fallback input{height:46px}.teaching-feedback{padding:8px 10px!important}.mission-actions{flex-wrap:wrap}.mission-actions button{min-height:46px;padding:9px 12px;font-size:14px}}
@media(max-width:520px){.mission-card{padding-bottom:14px!important}.mission-content{overflow:visible!important;max-height:none!important}.mission-actions{position:static!important;bottom:auto!important;margin-top:8px;background:rgba(83,157,241,.72)}.session-journey{padding:5px 4px!important}.session-journey strong{font-size:10px!important}#sessionTrack{width:100%;grid-template-columns:repeat(15,minmax(16px,1fr));gap:1px!important}#sessionTrack span{height:19px!important;min-width:0;font-size:8px!important}.choice-grid{grid-template-columns:1fr!important}.mission-content>.choice-grid:not(.visual-question-grid) .choice{min-height:86px!important;max-height:none!important}.mission-content>.choice-grid:not(.visual-question-grid) .choice strong{font-size:19px!important}}
.speech-focus{display:grid!important;gap:14px;justify-items:center}.microphone-instruction{display:block;font-size:17px;font-weight:900;color:#eaffff}.write-instead{background:linear-gradient(145deg,#fff4c8,#ffd364)!important;color:#704500!important}.speech-write-fallback{display:grid;gap:10px;width:min(760px,100%);text-align:center}.speech-write-fallback strong{font-size:clamp(20px,2vw,29px)}.speech-write-fallback span{font-weight:800}.speech-write-fallback input{width:100%;min-height:70px;border:3px solid #fff;border-radius:18px;padding:14px 18px;font-size:clamp(18px,2vw,26px);font-weight:800;direction:ltr;box-shadow:0 8px 22px rgba(16,65,137,.22)}.transfer-badge{margin:12px auto 0;width:max-content;max-width:100%;padding:9px 16px;border-radius:999px;background:rgba(8,48,126,.42);color:#fff;font-weight:900}
.translation-target{width:min(760px,calc(100% - 24px));margin:0 auto 18px;padding:13px 20px 15px;border-radius:20px;direction:rtl;text-align:center;background:linear-gradient(135deg,#fff8d9,#ffe68f);color:#123f72;box-shadow:0 7px 0 #d9aa27,0 14px 28px rgba(16,66,120,.2),inset 0 0 0 3px rgba(255,255,255,.82)}
.translation-target small{display:block;margin-bottom:3px;color:#75601e;font-size:clamp(13px,1.35vw,17px);font-weight:800}
.translation-target strong{display:block;font-size:clamp(24px,2.6vw,38px);line-height:1.35;font-weight:1000;text-shadow:0 2px 0 #fff}
@media(max-width:720px){.translation-target{width:calc(100% - 12px);margin-bottom:13px;padding:10px 12px 12px;border-radius:16px}.translation-target strong{font-size:clamp(21px,6vw,30px)}}
