/* Unit-specific components kept from the latest unit build. */
.finitechoices{margin:8px 0;align-items:stretch}
.finitechoices button{max-width:100%;white-space:normal;text-align:left}
.finitechoices:not(.compactchoices){display:flex;flex-wrap:wrap}
.compactchoices button{min-width:44px;text-align:center;padding:10px}
.choicelegend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 16px;margin:16px 0 24px;padding:16px;border:1px solid var(--line);background:#eff3e9;border-radius:10px}
.choicelegend p{margin:0;font-size:14px}
.choicelegend strong{display:inline-block;min-width:20px}
.matchtable .finitechoices{gap:6px}
.matchtable .finitechoices button{font-size:13px}
.matchtable .responseLabel{margin:10px 0 4px}
.slotquestion{display:block;padding:18px}
.questionline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;line-height:2.5}
.drop-slot,.filledslot{min-width:104px;min-height:47px;border-radius:8px;padding:8px 12px;display:inline-flex;justify-content:center;align-items:center;font-size:15px;line-height:1.4}
.drop-slot{background:#f5f7ef;border:2px dashed #b5c4b3;color:#81917f}
.drop-slot>span{font-size:11px;opacity:.7}
.drop-slot:hover,.drop-slot:focus-visible{background:#e7eedf;border-color:#46755c}
.filledslot{border:1px solid #7b9b7f;background:#e1ebd7;cursor:grab}
.tilebank{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:15px;padding:12px 0 2px;border-top:1px solid #e2e7db;min-height:58px}
.wordtile{min-height:44px;background:#e9efe3;border:1px solid #b5c7b6;cursor:grab;user-select:none;padding:9px 13px}
.wordtile[aria-pressed=true]{outline:3px solid #9b7545;outline-offset:2px;background:#f4e9cd}
.wordtile.dragging{opacity:.4}
.slotrowtools{display:flex;align-items:center;gap:12px;margin-top:8px}
.slotrowtools>button{font-size:11px;min-height:36px;padding:6px 11px;background:transparent}
.slotstatus{font-size:12px;color:var(--muted)}
.tilebank .subtle{font-size:12px}
.pronunciationtools{position:sticky;top:0;z-index:2;background:#f2f5ed;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:16px 0 22px}
.pronunciationtools p{font-size:13px;margin:0 0 8px}
.pronunciationtools .actions{margin:0;align-items:center}
.pronunciationtools button{font-size:12px;padding:8px 12px}
.pronunciationtools [role=status]{font-size:12px;flex:1;min-width:150px}
.vocabpronunciation{display:block;margin-top:8px}
.vocabpronunciation button{font-size:11px;min-height:40px;padding:7px 10px;white-space:nowrap;background:#e9efe2;color:#224d3d}
.vocabpronunciation button[aria-pressed=true]{background:#d3e5ca;border-color:#53885b}
.vocabwordlist{display:flex;flex-direction:column;gap:8px}
.vocabword{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:4px 0}
.vocabword .vocabpronunciation{margin:0;flex-shrink:0}
.prefixpronunciation{display:grid;gap:12px}
.prefixpronunciation>span{display:block}
.teacher-key-tabs{position:sticky;top:0;background:var(--paper);z-index:2;padding:8px 0}
#teacherMarkScheme{border-color:#5b8269;color:#1c4532;font-weight:600}
@media(max-width:700px){.questionline{gap:7px;line-height:1.8}}
@media(max-width:700px){.drop-slot,.filledslot{min-width:69px;padding:9px 8px;min-height:44px;font-size:13px;max-width:100%}}
@media(max-width:700px){.slotquestion{padding:13px}}
@media(max-width:700px){.wordtile{font-size:13px;padding:9px 11px;max-width:100%;overflow-wrap:anywhere}}
@media(max-width:700px){.tilebank{margin-top:12px;padding-top:10px}}
@media(max-width:700px){.slotrowtools{align-items:start;gap:8px}}
@media(max-width:700px){.slotstatus{font-size:11px}}
@media(max-width:700px){.finitechoices button{font-size:13px;padding:10px;flex:0 1 auto}}
@media(max-width:700px){.choicelegend{grid-template-columns:1fr;padding:12px}}
@media(max-width:700px){.compactchoices{display:flex;flex-wrap:wrap}}
@media(max-width:700px){.compactchoices button{min-width:44px;flex:0 0 44px}}
@media(max-width:700px){.matchtable .finitechoices button{font-size:12px}}
@media(max-width:700px){.pronunciationtools{position:static;padding:12px}}
@media(max-width:700px){.vocabpronunciation button{min-height:44px}}
@media(max-width:700px){.vocabword{align-items:start}}
@media(max-width:700px){.teacher-key-tabs{position:static}}
@media(max-width:700px){.teacher-key-tabs button{font-size:12px}}
.bank-scope{container-type:inline-size;min-width:0}
.bankedquestions{min-width:0}
.stickywordbank{position:sticky;top:96px;align-self:start;max-height:calc(100dvh - 120px);background:#edf2e7;border:1px solid #cbd8c5;border-radius:14px;padding:18px;min-width:0;display:flex;flex-direction:column}
.stickywordbank h4{font-size:12px;letter-spacing:.07em;margin:0 0 14px;color:#294a3b}
.wordbankcontents{overflow:auto;min-height:0;overscroll-behavior:auto;scrollbar-width:thin}
.bankentries{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.bankentries li{display:flex;align-items:baseline;gap:10px;padding:8px 9px;border-radius:8px;background:#f8faf4;font-size:14px;line-height:1.65;word-break:normal;overflow-wrap:normal}
.bankentries li strong{min-width:13px;color:#28513d}
.bankentries li span{min-width:0}
.bankentries .wordonly{justify-content:center;text-align:center;font-size:15px;font-weight:500}
.stickywordbank:has(.wordonly) .bankentries{grid-template-columns:repeat(2,minmax(0,1fr))}
.bankedquestions .matchtable{margin:0;width:100%;table-layout:fixed}
.bankedquestions .matchtable th:first-child{width:34%}
.bankedquestions .matchtable th,.bankedquestions .matchtable td{overflow-wrap:normal}
.bankedquestions .compactchoices button{font-size:13px;min-width:42px;padding:10px 8px}
.bankedquestions .inline-response:first-child{margin-top:0}
#main .withbank{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,32%);gap:24px;align-items:start}
#main .withbank .bank{position:sticky;top:96px;align-self:start;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;padding:20px;max-height:calc(100dvh - 120px);overflow:auto;overscroll-behavior:auto;background:#edf2e7;border-color:#cbd8c5}
#main .withbank .bank h4{grid-column:1/-1;margin:0 0 4px;font-size:12px}
#main .withbank .bank span{font-size:14px;font-weight:500;line-height:1.65;padding:7px 9px;border-radius:8px;background:#f8faf4;overflow-wrap:normal;word-break:normal;white-space:normal}
.reference,.sidebar,textarea,dialog,.tablewrap{overscroll-behavior:auto}
.lesson-shortcuts{margin:0 0 28px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:#f0f3e9;scroll-margin-top:96px}
.lesson-shortcuts summary{cursor:pointer;display:flex;gap:16px;align-items:baseline;justify-content:space-between;list-style:none}
.lesson-shortcuts summary:after{content:'⌄';font-size:18px}
.lesson-shortcuts summary span{font-size:12px;color:#53675b;margin-left:auto}
.lesson-shortcuts details[open] summary{margin-bottom:14px}
.shortcutlinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.shortcutlinks button{display:flex;align-items:start;gap:10px;text-align:left;padding:10px 12px;background:#fafbf7;font-size:13px}
.shortcutlinks button strong{color:#315f49;min-width:36px}
.shortcutlinks button span{line-height:1.5}
.reference-switch{display:none}
.imagecaption,.intextphoto figcaption,.lessonPhoto figcaption{font-size:11px!important;line-height:1.55}
@container(max-width:520px){.bankedgroup{grid-template-columns:1fr;gap:16px}
.stickywordbank{grid-row:1;top:96px;max-height:32dvh;z-index:3;padding:14px}
.bankentries{grid-template-columns:repeat(2,minmax(0,1fr))}
.bankentries li{font-size:13px;padding:7px}
.stickywordbank h4{margin-bottom:8px}
@media(max-width:820px){.reference-switch{display:flex;gap:7px;grid-column:1/-1;position:sticky;top:78px;z-index:5;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:8px;margin-bottom:0}}
@media(max-width:820px){.reference-switch button{font-size:12px;flex:1;padding:9px 6px;min-height:42px}}
@media(max-width:820px){.reference-switch button[aria-pressed=true]{background:#dce8d5;border-color:#638a64;box-shadow:inset 0 0 0 1px #638a64}}
@media(max-width:820px){.switchable-reference{gap:12px}}
@media(max-width:820px){.switchable-reference[data-reference-view=questions]>.reading-view-text{display:none}}
@media(max-width:820px){.switchable-reference[data-reference-view=read]>.reading-view-questions{display:none}}
@media(max-width:820px){.switchable-reference[data-reference-view=read]>.reference{max-height:none;overflow:visible;position:static}}
@media(max-width:820px){.switchable-reference[data-reference-view=both]>.reference{max-height:42dvh}}
@media(max-width:820px){.switchable-reference[data-reference-view=both]>.reference .readingplayer{margin-top:8px}}
@media(max-width:820px){.lesson-shortcuts{scroll-margin-top:82px}}
@media(max-width:820px){.lesson-shortcuts summary{gap:8px;flex-wrap:wrap}}
@media(max-width:820px){.lesson-shortcuts summary span{font-size:11px}}
@media(max-width:820px){.shortcutlinks{grid-template-columns:1fr}}
@media(max-width:820px){.stickywordbank{top:78px}}
@media(max-width:820px){#exam .reference-switch{top:0}}
@media(max-width:820px){#exam .stickywordbank{top:60px}}
@media(max-width:700px){#main .withbank{display:flex;flex-direction:column;gap:18px}}
@media(max-width:700px){#main .withbank .bank{order:-1;top:78px;max-height:30dvh;z-index:4;width:100%;padding:14px;gap:8px 12px}}
@media(max-width:700px){#main .withbank .bank span{font-size:14px;padding:6px 8px}}
@media(max-width:700px){.stickywordbank{max-height:30dvh}}
@media(max-width:700px){.bankentries li{font-size:13px;line-height:1.55}}
@media(max-width:700px){.lesson-shortcuts{padding:12px;margin-bottom:22px}}
@media(max-width:700px){.lesson-shortcuts summary>strong{font-size:14px}}
@media(max-width:700px){.lesson-shortcuts summary span{max-width:180px}}
@media(max-width:700px){.shortcutlinks button{font-size:12px}}
@media(max-width:700px){.reference-switch{top:76px}}
@media(max-width:820px){.switchable-reference .stickywordbank{top:138px;max-height:27dvh}}
@media(max-width:820px){#exam .switchable-reference .stickywordbank{top:62px}}
.bankedquestions .compactchoices{display:grid;grid-template-columns:repeat(4,minmax(40px,1fr));gap:6px}
.inline-response.short-response input{width:100%;height:48px;min-height:48px;padding:9px 12px;border:1px solid #cbd6cc;background:#fafcf7;border-radius:10px;font:inherit;line-height:1.4}
@media(max-width:380px){.bankedquestions .compactchoices{grid-template-columns:repeat(3,minmax(38px,1fr))}}
.instructiongroup{margin:0 0 22px}
.instructiongroup h4,.inlinegroup{font-size:16px;margin:18px 0 10px}
.instructiongroup ul{padding-left:22px;margin:8px 0}
.instructiongroup li{padding:5px 0}
.instructions>p{margin:0 0 14px}
.ruleexamples{display:block;margin:6px 0 4px;padding-left:12px;border-left:2px solid #c4d1c3}
.questionprompt{display:block;font-weight:400;margin:0 0 10px;line-height:1.65}
.inline-response{margin:18px 0 26px}
.inline-response textarea{min-height:82px;height:82px;width:100%;resize:vertical}
.inline-response.short-response textarea{min-height:48px;height:48px}
.inline-response .responsemeta{margin-top:4px}
.inline-response textarea:focus{min-height:90px}
.short-response textarea:focus{min-height:48px}
.inline-response+.inlinegroup{margin-top:28px}
.earlier-response{margin:22px 0;padding:15px;border:1px solid var(--line);border-radius:8px}
.earlier-response textarea{min-height:100px}
.workedexample,.passiveexamples>p{background:#eef2e8;border:1px solid var(--line);padding:16px;border-radius:10px}
.workedexample p{margin:6px 0}
.passiveexamples{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.passiveexamples>p{margin:4px 0 16px}
.examplelist li{padding:6px 0}
.sentencechoices{list-style:none;padding:0;margin:20px 0}
.sentencechoices li{display:flex;gap:16px;padding:12px 14px;margin:7px 0;border:1px solid var(--line);border-radius:9px}
.sentencechoices li strong{color:var(--green);min-width:18px}
.sentencechoices li span{flex:1}
.forumreference{background:#fff7cc;padding:16px;max-height:76vh}
.forumheading{display:flow-root;background:#ffe7a3;border-radius:8px;padding:15px;margin-bottom:15px}
.forumheading>img{width:100px;height:112px;object-fit:cover;float:right;margin:0 0 8px 12px;border-radius:6px}
.forumheading h3{font-family:var(--body);font-size:23px;line-height:1.3;margin:6px 0}
.forumheading .eyebrow{color:#5e4b26}
.forumquestion{clear:both;padding:6px 8px 14px}
.forumquestion p{margin:4px 0;font-weight:600}
.forumpost{display:grid;grid-template-columns:44px 1fr;gap:11px;align-items:start;background:#fffef8;border-radius:14px;padding:12px;margin:7px 0}
.forumpost .profileicon{width:44px;height:46px;object-fit:contain;display:block;border-radius:4px;margin:0;float:none}
.forumpost strong{font-size:14px}
.forumpost p{margin:2px 0;font-size:14px;line-height:1.6}
.forumpost>div{min-width:0}
.undergroundreference{max-height:76vh}
.readingsection{clear:both;border-top:1px solid var(--line);margin-top:24px;padding-top:16px}
.readingsection>h4{font-family:var(--display);font-size:26px;margin:0 0 12px}
.sectionplayer{padding:9px 0;margin:10px 0 17px}
.sectionplayer .eyebrow{font-size:9px}
.sectionplayer .readercontrols{margin:6px 0}
.readingsection .readingcopy{display:flow-root}
.readingsection .intextphoto{max-width:48%}
.adjectiveexercise{display:grid;gap:14px}
.orderquestion{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fafbf7;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.orderquestion>p{margin:0}
.orderquestion>p:first-child{flex-basis:100%}
.adjectivechips{display:flex;gap:8px;flex-wrap:wrap;min-height:44px;padding:5px 0}
.adjectivechip{cursor:grab;user-select:none;background:#e9efe3;min-height:44px;padding:10px 14px;border-color:#b8cbbd}
.adjectivechip:active{cursor:grabbing}
.adjectivechip[aria-pressed=true]{outline:3px solid #8e6944;outline-offset:2px;background:#f4e7c7}
.adjectivechip.dragging{opacity:.4}
.ordernoun{font-size:17px}
.itemresult{flex-basis:100%;font-size:13px;margin:8px 0 0}
.buttonquestion{padding:18px 0;border-bottom:1px solid var(--line)}
.answerbuttons{display:flex;gap:10px;flex-wrap:wrap}
.answerbuttons button{background:#f0f3eb;border:1px solid #bacabf}
.answerbuttons button.selected{background:#e1e9db;border-color:#386655;box-shadow:inset 0 0 0 1px #386655}
.answerbuttons button.marked-correct,.orderquestion.marked-correct{color:#173d24;background:#e1f1df;border-color:#4e8850}
.answerbuttons button.marked-wrong,.orderquestion.marked-wrong{color:#742a24;background:#fbe5df;border-color:#b75d50}
.activityscore{padding:12px 16px;background:var(--sage);border-radius:10px}
.task[id^="task-E"] .withbank{grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);gap:24px}
.task[id^="task-E"] .bank{width:auto;grid-template-columns:1fr;min-width:0;gap:10px;padding:22px}
.task[id^="task-E"] .bank span{font-size:15px;padding:4px 0;white-space:normal;overflow-wrap:normal;word-break:normal}
.task[id^="task-E"] .fillitem input{height:46px;min-height:46px;padding:8px 12px}
.task[id^="task-E"] .fillitem{margin-bottom:18px}
#exam .examdownloads{border-top:1px solid var(--line);padding-top:22px;margin-top:30px}
#exam .media{padding-top:0}
#exam .media h4{margin-top:0}
#task-PASS .questionprompt{font-weight:600}
@media(min-width:1100px){.task[id^="task-E"] .withbank>div{min-width:0}}
@media(min-width:1100px){.task[id^="task-E"] .bank{max-width:none}}
@media(max-width:700px){.forumreference,.undergroundreference{max-height:48vh}}
@media(max-width:700px){.forumreference{padding:12px}}
@media(max-width:700px){.forumheading{padding:12px}}
@media(max-width:700px){.forumheading>img{width:72px;height:88px}}
@media(max-width:700px){.forumheading h3{font-size:21px}}
@media(max-width:700px){.forumpost{grid-template-columns:34px 1fr;padding:10px;gap:8px}}
@media(max-width:700px){.forumpost .profileicon{width:34px;height:36px}}
@media(max-width:700px){.forumpost p{font-size:13px}}
@media(max-width:700px){.passiveexamples{grid-template-columns:1fr;gap:0}}
@media(max-width:700px){.readingsection>h4{font-size:24px}}
@media(max-width:700px){.readingsection .intextphoto{max-width:100%;width:100%;float:none;margin:0 0 12px}}
@media(max-width:700px){.orderquestion{padding:13px}}
@media(max-width:700px){.adjectivechips{gap:7px}}
@media(max-width:700px){.adjectivechip{padding:9px 11px}}
@media(max-width:700px){.answerbuttons button{flex:1}}
@media(max-width:700px){.task[id^="task-E"] .withbank{display:flex;gap:16px}}
@media(max-width:700px){.task[id^="task-E"] .bank{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;padding:16px}}
@media(max-width:700px){.task[id^="task-E"] .bank span{font-size:14px}}
@media(max-width:700px){.inline-response textarea{min-height:82px}}
@media(max-width:700px){.instructiongroup li{padding:5px 0}}
@media(max-width:700px){.undergroundreference .sectionplayer audio{height:44px}}
@media(max-width:700px){.sectionplayer .eyebrow{letter-spacing:.08em}}
@media(max-width:700px){.sectionplayer .readercontrols button{min-height:38px;padding:7px 12px}}
