:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#193d3a;background:#f5f2e9;line-height:1.55;font-size:17px;--ink:#193d3a;--teal:#195d53;--paper:#fffdf6;--line:#cbd9d0;--gold:#f2c56b}
*{box-sizing:border-box}body{margin:0}a{color:#185c53;text-underline-offset:.2em}button,input,select,textarea{font:inherit}button,a,summary,input,select,textarea{touch-action:manipulation}button{border:2px solid var(--teal);background:var(--teal);color:white;padding:.65rem 1rem;border-radius:12px;font-weight:750;cursor:pointer;min-height:46px}button:hover{background:#103f38}button:disabled{opacity:.55;cursor:wait}button.secondary{background:var(--paper);color:var(--teal)}button.secondary:hover{background:#e6f0e7}input[type=checkbox],input[type=radio]{width:22px;height:22px;flex:0 0 22px;accent-color:var(--teal)}textarea,select,input[type=text]{border:2px solid #91aaa1;border-radius:9px;background:white;padding:.65rem;min-height:46px;max-width:100%;color:#193d3a}textarea{width:100%;resize:vertical}label{font-weight:650}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.1rem,6vw,4rem);line-height:1.08;margin-bottom:1rem}h2{font-size:1.4rem;line-height:1.25}h3{font-size:1.06rem}.site-head{max-width:1200px;margin:auto;padding:1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{display:grid;text-decoration:none}.brand span,.eyebrow{font-size:.73rem;font-weight:850;letter-spacing:.12em}.brand strong{font-size:1.2rem}.site-head nav{display:flex;gap:1rem;flex-wrap:wrap}.site-head nav a{padding:.5rem 0;min-height:44px}main{max-width:1080px;margin:auto;padding:0 1.2rem 2rem}.hero{padding:2rem 0 .8rem}.hero>p{max-width:750px}.notice{border-left:5px solid var(--gold);padding:.6rem 1rem;background:#fff6d9}.chooser{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin:1rem 0}.chooser label{display:grid;gap:.3rem}.panel{background:var(--paper);padding:clamp(1rem,3vw,1.6rem);border:1px solid var(--line);border-radius:20px;margin:1rem 0;box-shadow:0 4px 12px #173c3710}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-heading h2{margin:0}.small{font-size:.87rem;color:#4b645c;margin:1rem 0 0}.role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.role{border:2px solid #c9d8d1;padding:.8rem;border-radius:12px;background:#f0f4ed}.role strong,.role span{display:block}.role strong{font-size:1.2rem}.role.active{border-color:#195d53;background:#d3eddd}.role .tag{font-size:.8rem;font-weight:800;text-transform:uppercase}.role p{font-size:.88rem;margin:0}.path{display:flex;flex-wrap:wrap;gap:.7rem}.path a{padding:.55rem .75rem;border:1px solid var(--line);border-radius:10px;min-height:44px}.path a.done{background:#d3eddd}summary{font-weight:800;cursor:pointer;min-height:44px;padding:.5rem 0}.word-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1rem 0}.word{display:flex;justify-content:space-between;align-items:center;gap:.4rem;border:1px solid var(--line);padding:.65rem;border-radius:12px;min-width:0}.word strong,.word span{display:block}.word strong{font-size:1.03rem}.word span{font-size:.87rem;color:#516b61}.word button{padding:.45rem;min-width:46px;font-size:.82rem}.model{border-left:4px solid var(--gold);padding:.4rem .8rem;margin:.7rem 0}.model p{margin:.2rem 0}.model .fr{font-weight:800}.activity{scroll-margin-top:1rem}.activity .eyebrow{color:#617169}.builder{background:#edf4ea;padding:1rem;border-radius:12px;margin:1rem 0}.builder-controls{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.builder-controls label{display:grid;gap:.25rem}.builder-preview{font-weight:800;margin-top:1rem}.draft-label{display:block;margin:1rem 0 .4rem}.checklist{margin:1rem 0;display:grid;gap:.7rem}.checklist label,.checkline{display:flex;align-items:flex-start;gap:.65rem;padding:.6rem;border:1px solid var(--line);border-radius:10px;min-height:46px;font-size:.95rem}.contributions article{border-top:1px solid var(--line);padding-top:.7rem;margin-top:1rem}.contributions p{margin:.3rem 0}.movement{padding:1rem;background:#fff3d4;border-radius:12px;margin:1rem 0}.movement h3{margin-bottom:.4rem}.dictee-item,.quiz-item{border:1px solid var(--line);padding:1rem;margin:1rem 0;border-radius:14px;min-width:0}.dictee-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin:.7rem 0}.dictee-answer label{display:block}.dictee-answer input{width:100%;margin:.5rem 0}.answer-reveal{background:#fff3d4;padding:.5rem;border-radius:8px}.feedback{margin:.6rem 0 0;padding:.7rem;border-left:4px solid #759d85;background:#eef4e9}.quiz-item legend{font-weight:800;max-width:100%;padding:0 .25rem}.quiz-option{display:flex;align-items:flex-start;gap:.65rem;padding:.6rem;border:1px solid var(--line);border-radius:9px;margin:.5rem 0;cursor:pointer;min-height:46px}.quiz-item button{margin-top:.5rem}.day-nav{display:flex;justify-content:space-between;gap:1rem;margin:2rem 0}.day-nav a{padding:.7rem 1rem;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.day-nav [aria-disabled=true]{color:#52655d;pointer-events:none;background:#e8ede6}footer{text-align:center;padding:1.5rem;font-size:.85rem}#printArea{display:none}:focus-visible{outline:3px solid #b14b23;outline-offset:4px}.skip{position:absolute;left:1rem;top:-100px;padding:.8rem;background:white;z-index:3}.skip:focus{top:1rem}[hidden]{display:none!important}
@media(max-width:720px){.site-head{align-items:flex-start;flex-direction:column}.chooser{grid-template-columns:repeat(2,1fr)}.word-grid{grid-template-columns:repeat(2,1fr)}.role-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){main,.site-head{padding-left:.8rem;padding-right:.8rem}.word-grid{grid-template-columns:1fr}.panel-heading{align-items:flex-start;flex-direction:column}.builder-controls{display:grid}.builder-controls select{width:100%}.hero{padding-top:1rem}.day-nav a{font-size:.9rem;padding:.6rem}.role{padding:.65rem}.role strong{font-size:1rem}}
@media print{body>*{display:none!important}#printArea{display:block!important;background:white;color:black;font-size:12pt;padding:12mm}#printArea h1{font-size:22pt}#printArea h2{font-size:16pt;margin-top:1.3rem}#printArea article{break-inside:avoid;border-bottom:1px solid #999;margin:1rem 0;padding:.5rem 0}#printArea p{margin:.4rem 0}#printArea .writing-lines{line-height:2.5}#printArea footer{display:block}}
/* Compact diagrams and hands-on sentence puzzles. */
.word{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end}.word-caption{display:flex;justify-content:space-between;align-items:center;gap:.6rem;min-width:0}.word-caption>div{min-width:0;overflow-wrap:anywhere}.word-caption button{flex:0 0 auto}.word-visual{display:block;width:100%;height:90px;max-height:16vh;margin:0 auto .5rem}.word-visual svg{display:block;height:100%;width:100%;object-fit:contain}.learner-turn{display:block;width:100%;text-align:left;background:transparent;color:var(--ink);border:0;padding:.15rem 0;margin:.3rem 0}.learner-turn:hover{background:#d6e8db}.learner-turn span{font-size:.75rem;font-weight:500}.role.active .learner-turn{color:#104d2e}.chunk-zone{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;min-height:64px;border:2px dashed #afc8bb;border-radius:12px;padding:.65rem;margin:.7rem 0}.chunk-zone .small{margin:0}.chunk{min-height:46px;padding:.55rem .8rem}.builder>label{display:grid;gap:.4rem}.builder>label select{width:100%;min-width:0;white-space:normal;font-size:.94rem}.builder-actions,.submit-actions,.game-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin:.8rem 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#submitStatus:not(:empty){padding:.8rem;border-left:4px solid var(--teal);background:#e8f4e8}.chooser label{min-width:0}.chooser select{width:100%;min-width:0}#courseSession input{max-width:100%}.role{overflow-wrap:anywhere}.role-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.word-grid{align-items:stretch}#builderFeedback:not(:empty){font-weight:650;background:#fff7d9;padding:.7rem;border-radius:8px}.dictee-controls button{flex-grow:1}.reader-note{font-size:.85rem}.game-actions{padding-top:.5rem}
@media(max-width:540px){.word-visual{height:80px;max-height:14vh}.role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-actions button,.submit-actions button{width:100%}.builder{padding:.8rem}.chunk{font-size:.93rem}#courseSession input{width:100%}.dictee-controls{display:grid;grid-template-columns:1fr}.dictee-controls button{width:100%;text-align:center}.hero .notice{font-size:.95rem}}
@media(max-height:650px){.word-visual{height:72px;max-height:13vh}}
/* Student job cards keep each task, quantity and finish check together. */
.instruction-list{padding-left:1.4rem;margin:1rem 0}.instruction-list li{padding:.35rem 0}.game-mode{font-weight:750;color:#195d53}.activity:focus,#jobs:focus{outline:3px solid #b14b23;outline-offset:3px}.builder-preview{overflow-wrap:anywhere}
/* One task and one checked answer at a time, with all tasks reachable. */
main{max-width:920px}.hero{padding:1rem 0 .2rem}.hero h1{font-size:clamp(1.8rem,5vw,2.6rem);margin-bottom:.6rem}.hero p{margin-bottom:.5rem}.working .hero{display:none}#classSettings{margin:.4rem 0}#classSettings>summary{font-size:.94rem}.panel{padding:1.1rem 1.25rem}.partners{padding:.8rem 1rem}.partners .panel-heading{margin-bottom:.5rem}.partners h2{font-size:1.07rem}.partners details summary{font-size:.85rem;min-height:36px}.role-grid{gap:.45rem;grid-template-columns:repeat(4,minmax(0,1fr))}.role{padding:.4rem .6rem;border-radius:9px}.role .tag{font-size:.65rem}.role strong{font-size:.98rem}.role .role-action{font-size:.76rem}.learner-turn{min-height:44px;margin:0}.role-grid:has(.role:only-child){grid-template-columns:1fr}.role-grid:has(.role:nth-child(2):last-child){grid-template-columns:1fr 1fr}.task-checklist{position:sticky;top:0;z-index:2;background:#fffdf6f7;backdrop-filter:blur(8px);padding:.65rem .9rem;border-radius:12px;box-shadow:0 4px 10px #193d3a14}.task-heading{display:flex;justify-content:space-between;gap:.6rem;align-items:center;margin-bottom:.35rem}.task-heading h2{font-size:1rem;margin:0}.task-heading p{font-size:.82rem;margin:0}.path{gap:.35rem;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.path a{font-size:.82rem;padding:.5rem .3rem;text-align:center;display:flex;align-items:center;justify-content:center;text-decoration:none;border-width:2px;line-height:1.2;min-height:44px}.path a[aria-current=step]{border-color:#195d53;background:#195d53;color:white;font-weight:800}.path a.done:not([aria-current]){background:#d3eddd}#progressStatus{font-size:.78rem;margin:.3rem 0 0;color:#4b645c}.activity{scroll-margin-top:145px}.activity h2{font-size:1.35rem;margin-bottom:.8rem}.activity .model{margin:.5rem 0 1rem}.task-instruction{font-weight:650;max-width:65ch}.task-help{margin-top:.7rem}.task-help>summary{font-size:.92rem}.builder{padding:.45rem .85rem;margin:.6rem 0;border:1px solid #b6cdbd}.builder>summary{color:#195d53}.builder:not([open]){background:#e5f0de}.draft-label{margin-top:.7rem}.checklist{margin:.7rem 0;gap:.45rem}.checklist label,.checkline{font-size:.9rem;padding:.45rem .55rem}.contributions:empty{display:none}.contributions p{font-size:.9rem;border-left:3px solid #759d85;padding:.5rem .65rem;background:#eef4e9}.task-navigation{display:flex;justify-content:space-between;gap:.7rem;margin:1rem 0 1.7rem}.task-navigation button{font-size:.95rem}.task-navigation button:disabled{visibility:hidden}.item-picker{display:flex;gap:.5rem;margin:.5rem 0}.item-picker button{width:48px;padding:.35rem;min-height:44px}.item-picker button[aria-current=step]{background:#195d53;color:white}.dictee-item,.quiz-item{margin:.7rem 0;padding:.85rem}.item-next{display:flex;justify-content:flex-end}.spelling-help>summary{font-size:.87rem}.spelling-help p{margin:.3rem 0 .7rem}.dictation .feedback{font-size:.92rem}.audio-notice:empty{display:none}.audio-notice:not(:empty){font-size:.9rem;padding:.6rem;border-left:3px solid #b14b23;background:#fff4dd}.submission-checklist{padding-left:1.3rem}.submission-checklist li{padding:.3rem 0}#wordBank{padding:.4rem 1rem;margin:.7rem 0}#wordBank>summary{font-size:.94rem}.movement-help{margin:.7rem 0}.movement-help>summary{font-size:.93rem}#drawLabels{font-size:.95rem;background:#eef4e9;padding:.6rem .75rem;border-radius:8px}
@media(max-width:540px){main{padding-left:.7rem;padding-right:.7rem}.panel{padding:.9rem}.task-checklist{padding:.6rem .55rem}.path a{font-size:.76rem;min-height:48px;overflow-wrap:anywhere}.task-heading p{font-size:.75rem}.task-heading h2{font-size:.92rem}.partners .panel-heading{flex-direction:row;align-items:center}.role-grid{grid-template-columns:1fr 1fr}.task-navigation button{font-size:.85rem;padding:.6rem .7rem}.activity{scroll-margin-top:152px}.checklist label{font-size:.88rem}.activity h2{font-size:1.25rem}.builder-actions button{font-size:.9rem}.dictee-controls{display:flex}.dictee-controls button{width:auto}.item-picker{gap:.45rem}.task-instruction{font-size:.97rem}}

/* Small pictures explain vocabulary without replacing the text or controls. */
.course-picture-cards{display:flex;gap:.55rem;margin:.65rem 0;align-items:stretch}.course-picture-card{flex:1;min-width:0;max-width:180px;margin:0;padding:.45rem .5rem;background:#f7fafc;border:1px solid #d6e3e9;border-radius:14px;text-align:center}.course-picture-card .word-visual{height:64px;max-height:12vh;margin:0 auto .2rem;width:100%}.word-visual img,.word-visual svg{display:block;width:100%;height:100%;object-fit:contain}.course-picture-card figcaption strong,.course-picture-card figcaption span{display:block;overflow-wrap:anywhere}.course-picture-card figcaption strong{font-size:.86rem;color:#203f57}.course-picture-card figcaption span{font-size:.74rem;color:#536877;line-height:1.3;margin-top:.1rem}
@media(max-width:540px){.course-picture-cards{gap:.35rem}.course-picture-card{padding:.35rem}.course-picture-card .word-visual{height:52px;max-height:10vh}.course-picture-card figcaption strong{font-size:.78rem}.course-picture-card figcaption span{font-size:.7rem}}
@media(max-height:650px){.course-picture-card .word-visual{height:48px;max-height:9vh}}

/* Familiar picture cards, five clear jobs and a visible turn for every learner. */
:root{--paper:#fff;--ink:#203c50;--teal:#226355;background:#eff6fa;color:var(--ink)}.site-head{border-bottom:2px solid #dae7ed}.brand strong{color:#224f71}.panel{border-color:#d5e3ea;box-shadow:0 3px 0 #d9e6ec}.task-checklist{background:#fffffff7;border:2px solid #d5e3ea}.progress-track{height:7px;background:#e6edf2;border-radius:99px;margin-top:.55rem;overflow:hidden}.progress-track span{display:block;height:100%;width:0;background:#3a8b6f;border-radius:inherit}.activity{border-top:6px solid var(--task-colour,#266586)}#talk{--task-colour:#286b9a}#draw{--task-colour:#946016}#dictee{--task-colour:#735399}#practice{--task-colour:#2c7962}#share{--task-colour:#ae4d64}.activity h2{display:flex;gap:.5rem;align-items:center;color:var(--task-colour)}.task-symbol{display:inline-grid;place-items:center;width:35px;height:35px;flex:0 0 35px;background:var(--task-colour);color:white;border-radius:11px;font-size:1.3rem}.path a{border-bottom-width:4px;background:white}.path a[href="#talk"]{border-bottom-color:#286b9a}.path a[href="#draw"]{border-bottom-color:#946016}.path a[href="#dictee"]{border-bottom-color:#735399}.path a[href="#practice"]{border-bottom-color:#2c7962}.path a[href="#share"]{border-bottom-color:#ae4d64}.path a[aria-current=step]{box-shadow:0 2px 0 #b5cbd5}.role{--seat:#286b9a;--seat-tint:#e7f2fa;background:#f5f8fa;border-color:#d4e0e7}.role[data-seat=B]{--seat:#8052a1;--seat-tint:#f1eafa}.role[data-seat=C]{--seat:#9a5e19;--seat-tint:#fff2d9}.role[data-seat=D]{--seat:#a34369;--seat-tint:#fcebf1}.role.active{border-color:var(--seat);background:var(--seat-tint);box-shadow:0 0 0 1px var(--seat)}.role .learner-turn{display:flex;gap:.4rem;align-items:center}.role .learner-badge{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:var(--seat);color:white;font-weight:850;font-size:1rem}.role .tag{color:#516474}.role.active .tag{color:var(--seat);font-weight:900}.role.active .tag::before{content:'● ';font-size:.8em}.role .role-action{color:#334c5c}.picture-help:empty{display:none}.word{background:#fff;border-color:#d4e2e8}.model{border-radius:0 10px 10px 0;background:#f6f9fc}.intro #start{min-width:190px;box-shadow:0 3px 0 #124036}.task-navigation button{box-shadow:0 2px 0 #c3d7ce}
@media(max-width:540px){.role .learner-badge{width:26px;height:26px;flex-basis:26px;font-size:.88rem}.role .learner-turn strong{font-size:.87rem}.activity{scroll-margin-top:163px}.task-symbol{width:30px;height:30px;flex-basis:30px}.course-picture-card{max-width:none}}

.picture-label{font-size:.76rem;font-weight:750;color:#536877;margin:.45rem 0 -.3rem}.picture-help:not(:has(.course-picture-card)){display:none}

/* Three optional rehearsal rounds, isolated from submitted work and marks. */
.mission-practice{margin:1rem 0;padding:1rem;border:2px solid #d6c6e8;border-top:5px solid #775499;border-radius:16px;background:#faf8fd}.mission-heading{display:flex;gap:.6rem;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.mission-heading h3{font-size:1.05rem;color:#654487;margin:0}.practice-tag{font-size:.75rem;font-weight:750;background:#eae1f3;color:#5b4176;padding:.2rem .5rem;border-radius:20px}#missionIntro{font-size:.9rem;margin:.6rem 0}.mission-learner{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:.8rem 0;font-size:.9rem}.mission-learner>span:last-child{margin-left:auto;font-size:.73rem;color:#665975}.mission-seat{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#775499;color:#fff;font-weight:850}.mission-count{font-size:.8rem;font-weight:800;color:#654487;margin:.5rem 0}.mission-prompt{border-left:4px solid #9475b2;padding:.35rem .7rem;background:white;border-radius:0 9px 9px 0;margin:.6rem 0}.mission-prompt p{margin:.2rem 0}.mission-prompt [lang=fr]{font-weight:750}.mission-prompt p:last-child{font-size:.92rem}.mission-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.7rem 0}.mission-option{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;min-width:0;overflow-wrap:anywhere;padding:.65rem;font-size:.93rem;border-color:#b7a2cb!important;color:#4d3564!important}.mission-option[aria-pressed=true]{background:#e9ddf5!important;border-color:#70518e!important;box-shadow:0 0 0 1px #70518e}.mission-option:disabled,.mission-tiles button:disabled,.mission-order button:disabled{cursor:default;opacity:.9}.mission-option>span:not(.mission-picture){font-size:.87rem}.mission-picture{display:block;width:100%;height:62px;max-height:11vh}.mission-picture:empty{display:none}.mission-picture .word-visual{height:100%;width:100%;max-height:100%;margin:0}.mission-listener{border-left:3px solid #c6b2d9;padding:.4rem .6rem;font-size:.85rem;background:#f0ebf6;margin:.65rem 0}.mission-feedback:empty{display:none}.mission-feedback{font-size:.93rem;padding:.65rem;margin:.6rem 0;border-radius:9px}.mission-feedback.correct{background:#e0f1de;border:1px solid #8db988}.mission-feedback.retry{background:#fff1d5;border:1px solid #d4ae64}.mission-order,.mission-tiles{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;min-height:60px;margin:.6rem 0}.mission-order{border:2px dashed #b6a0cb;background:white;padding:.6rem;border-radius:12px}.mission-order>span{font-size:.85rem;color:#6a5a78}.mission-tiles button,.mission-order button{font-size:.95rem;padding:.45rem .65rem;min-height:46px}.mission-tiles button{background:#71528d;border-color:#71528d}.mission-links{display:flex;gap:.6rem;flex-wrap:wrap}.mission-links a{display:flex;align-items:center;min-height:46px;border:2px solid #195d53;border-radius:12px;padding:.55rem .8rem;font-weight:750;text-decoration:none;background:white}.mission-practice h4{font-size:1.15rem;margin:.8rem 0}.mission-practice .game-actions{margin:.4rem 0 0}.mission-practice .game-actions button{min-width:160px}#missionAudioStatus{font-size:.83rem;margin:.3rem 0}#missionAudioStatus:empty{display:none}#missionChallenge,#missionFinished,#drawPrompt{scroll-margin-top:168px}#missionChallenge:focus,#missionFinished:focus{outline:0}#missionChallenge:focus-visible,#missionFinished:focus-visible{outline:3px solid #b14b23;outline-offset:4px}
.mission-scene{position:relative;height:210px;max-width:430px;margin:.6rem auto;border:2px solid #d5dfe5;border-radius:14px;background:linear-gradient(#f2f8fc 70%,#e8eee6 70%);overflow:hidden}.mission-object{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;text-align:center;padding:4px;border-radius:10px;border:2px solid #72909f;background:#fff;font-size:.8rem;line-height:1.2;max-width:44%}.mission-object strong{font-size:.8rem;overflow-wrap:anywhere}.mission-object small{font-size:.68rem;overflow-wrap:anywhere}.mission-object>span{display:block;height:38px;width:66px;max-width:100%}.mission-object>span:empty{display:none}.mission-object .word-visual{height:38px;max-height:38px;margin:0}.mission-reference{left:50%;top:51%;transform:translate(-50%,-50%);width:140px;height:100px;z-index:2;background:#f8fbfd}.mission-subject{width:112px;min-height:65px;z-index:3;border-color:#81609f;background:#f4eafc}.mission-scene[data-position=above] .mission-reference{top:69%}.mission-scene[data-position=above] .mission-subject{left:50%;bottom:54%;transform:translateX(-50%)}.mission-scene[data-position=below] .mission-reference{top:32%}.mission-scene[data-position=below] .mission-subject{left:50%;top:60%;transform:translateX(-50%)}.mission-scene[data-position=inside] .mission-reference{width:210px;height:175px;justify-content:flex-start;background:#edf4f8;border:3px dashed #5f7e8b}.mission-scene[data-position=inside] .mission-reference>span{display:none}.mission-scene[data-position=inside] .mission-subject{left:50%;top:56%;transform:translate(-50%,-50%)}.mission-scene[data-position=front] .mission-subject{left:42%;top:51%}.mission-scene[data-position=behind] .mission-subject{left:25%;top:13%;z-index:1}.mission-scene[data-position=behind] .mission-reference{top:63%}.mission-scene[data-position=beside] .mission-reference{left:28%}.mission-scene[data-position=beside] .mission-subject{right:5%;top:51%;transform:translateY(-50%)}.mission-place-hint{position:absolute;left:0;right:0;bottom:8px;text-align:center;font-size:.82rem;color:#546b79}
@media(max-width:540px){.mission-practice{padding:.75rem}.mission-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.mission-options:has(.mission-option:nth-child(3):last-child) .mission-option:last-child{grid-column:1/-1}.mission-option{font-size:.88rem;min-height:58px}.mission-picture{height:48px;max-height:9vh}.mission-scene{height:194px}.mission-object>span{height:30px;width:54px}.mission-object .word-visual{height:30px;max-height:30px}.mission-reference{width:116px;height:86px}.mission-subject{width:95px}.mission-scene[data-position=inside] .mission-reference{height:160px}.mission-links>a,.mission-links>button{width:100%;justify-content:center;font-size:.9rem}.mission-learner>span:last-child{display:none}}

/* Daily prepositions are rehearsal, separate from saved marks. */
.preposition-practice{background:#f2f8ee;border:1px solid #aac299;border-radius:14px;padding:16px;margin:16px 0}
.preposition-practice h3{margin-top:0}.preposition-practice .prep-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0}.prep-controls button{min-height:44px}
.prep-example>strong{display:block;font-size:1.35rem}.prep-example>span{display:block}.prep-example .model{padding:10px;margin:10px 0}.prep-example p{overflow-wrap:anywhere}.prep-example #studentPrepAudio{font-size:.9rem;min-height:1.2em}

/* Short actions and the same class identity as the teacher lesson. */
.current-class{font-size:.92rem;font-weight:750;color:#28546a;margin:.6rem 0}
.model-label{font-weight:750;font-size:.9rem;margin:.4rem 0}
.simple-steps{padding-left:1.5rem;margin:.6rem 0;line-height:1.5}
.simple-steps li{padding:.2rem .1rem}
.drawing-meaning{background:#f7f2e7;border-left:3px solid #946016;padding:.6rem .75rem;border-radius:0 8px 8px 0}

/* An optional physical game uses the same instructions as the teacher plan. */
.classroom-game{margin:1rem 0;padding:1rem;border:2px solid #b7cdae;border-radius:14px;background:#f4f8ee}
.classroom-game h3{font-size:1.1rem;margin:.3rem 0 .8rem}.classroom-game summary{font-weight:700;cursor:pointer;padding:.5rem 0;min-height:44px}
.classroom-game .small{font-size:.9rem}.classroom-game .model{font-size:.9rem}
