.phrase-screen{display:flex;flex:1;min-height:0;flex-direction:column;align-items:center;width:100%;gap:10px;overflow:auto;padding-bottom:12px}.phrase-board{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;width:100%;padding:10px 8px 16px;gap:68px;flex-shrink:0}.phrase-arrows{position:absolute;inset:0;width:100%;height:100%;color:#69736b;z-index:-1;pointer-events:none}.phrase-boxes{display:flex;justify-content:center;align-items:flex-start;flex-wrap:wrap;gap:12px;width:100%}.phrase-box-wrap{width:clamp(100px,12vw,150px);text-align:center}.phrase-box{position:relative;width:100%;height:64px;background:#fff;border:1.5px solid #b9c1b6;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:3px}.phrase-box .phrase-label{width:100%;height:100%;font-size:clamp(12px,1.4vw,18px);border-radius:6px;line-height:1.15;padding:3px 11px 3px 3px}.phrase-box.right{border:3px solid #629273}.phrase-box.wrong{border:3px solid #ca7975}.phrase-remove{position:absolute;right:-6px;top:-9px;border:1px solid #c9cfc8;border-radius:50%;height:24px;width:24px;min-height:0;padding:0;background:#fff;color:#5e5e58;line-height:1}.phrase-delete-box{font-size:11px;padding:3px;border:0;background:none;color:#765e5a;min-height:26px}.phrase-before{font-family:Baton,sans-serif;font-size:13px;display:block;color:#885b53}.phrase-sentence{position:relative;z-index:1;white-space:pre-wrap;text-align:center;font-family:Baton,sans-serif;font-size:clamp(22px,3vw,38px);line-height:1.8;max-width:100%;overflow-wrap:anywhere}.phrase-word{display:inline-block;position:relative;border-radius:5px}.phrase-editor .phrase-word[role=button]{cursor:pointer}.phrase-word.chosen{background:#eee3ba;box-shadow:0 0 0 2px #b09e61}.phrase-pool{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%}.phrase-label{font-family:Baton,sans-serif;color:#344b40;font-size:clamp(14px,1.6vw,21px);border:1px solid #c5c9c3;border-radius:8px;padding:8px 13px;min-height:44px;max-width:190px;touch-action:none;user-select:none;cursor:grab;box-shadow:none;line-height:1.2}.label-determiner{background:#d0e8ec}.label-noun{background:#dcdeec}.label-proper{background:#f6e5c3}.label-adjective{background:#f5dada}.label-verb{background:#d4e6dc}.label-pronoun{background:#ecd9ec}.label-preposition{background:#f8d7b5}.label-conjunction{background:#d0dffc}.label-adverb{background:#dbd1fb}.phrase-drag{position:fixed;z-index:10000;pointer-events:none;transform:translate(-50%,-50%);opacity:.9}.phrase-memo{min-width:min(430px,70vw)}.phrase-memo-content{min-height:200px}.phrase-editor textarea{width:100%;font-family:Baton,sans-serif;font-size:25px}.phrase-models{margin:18px 0;flex-wrap:wrap}.phrase-assign{display:flex;flex-wrap:wrap;gap:12px}.phrase-assign label{display:flex;flex-direction:row;align-items:center;gap:6px}.phrase-assign input{width:auto}.phrase-bottom{display:flex;justify-content:center;gap:14px;align-items:center}.phrase-projection{padding:20px;overflow:auto}.phrase-projection #projection{max-width:1500px;margin:auto}.phrase-projection-toolbar{display:flex;align-items:center;gap:16px;justify-content:space-between}.phrase-projection .phrase-board{gap:110px;margin:35px 0}.phrase-projection .phrase-sentence{font-size:clamp(24px,3.5vw,52px)}.phrase-projection .button-row{justify-content:center}.phrase-projection #projection-notice{text-align:center;color:#98594f}@media(max-height:700px){.phrase-screen{gap:5px}.phrase-board{gap:40px;padding-top:5px}.phrase-box{height:52px}.phrase-label{padding:5px 10px;font-size:16px}.phrase-sentence{font-size:26px;line-height:1.5}}@media(max-width:700px){.phrase-box-wrap{width:105px}.phrase-board{gap:45px}.phrase-sentence{font-size:24px}.phrase-pool{gap:5px}.phrase-label{font-size:14px}.phrase-box .phrase-label{font-size:13px}}
/* Leave room for the ascenders and descenders of the classroom fonts. */
body:has(.phrase-screen),body.phrase-projection{background:var(--yellow)}
.phrase-screen .calc-toolbar{height:auto;min-height:68px;line-height:2.1;padding:6px 0;flex-wrap:wrap}
.phrase-screen .calc-toolbar .btn{line-height:2.1;padding:2px 14px}
.phrase-box-wrap{width:clamp(135px,14vw,180px)}
.phrase-box{height:96px;padding:6px}
.phrase-box .phrase-label{font-size:clamp(13px,1.3vw,17px);line-height:1.55;padding:7px 12px 7px 5px;overflow-wrap:normal}
.phrase-label{line-height:1.6;padding:10px 14px}
.phrase-before{line-height:1.8;padding:4px 0}
.phrase-bottom:empty{display:none}
/* Each line carries its own alternating top/bottom answer boxes. */
.phrase-board{display:block;gap:0;padding:0;margin:0!important;flex:none}
.phrase-boxes,.phrase-sentence{position:static;display:block;white-space:normal}
.phrase-box-wrap{position:absolute;width:128px}
.phrase-box{height:58px;padding:3px}
.phrase-box .phrase-label{font-family:Crusoe,sans-serif;font-size:13px;line-height:1.3;padding:4px 10px 4px 4px}
.phrase-sentence{font-size:24px!important;line-height:2!important}
.phrase-word{white-space:nowrap}
.phrase-before{font-family:Crusoe,sans-serif;font-size:10px;line-height:1.2;padding:2px 0}
.phrase-delete-box{font-size:10px;min-height:16px;line-height:1;padding:0}
.phrase-screen{overflow:visible;gap:6px;padding:0}
.phrase-screen .calc-toolbar{font-family:Crusoe,sans-serif;font-size:18px;min-height:36px;line-height:1.5;padding:0}
.phrase-screen .calc-toolbar .btn{min-height:34px;line-height:1.5;padding:2px 10px}
.phrase-screen .phrase-pool{margin-top:auto;flex:none;gap:5px}
.phrase-pool .phrase-label{font-family:Crusoe,sans-serif;font-size:15px;line-height:1.3;min-height:40px;padding:6px 9px;max-width:165px}
.phrase-bottom{flex:none}.phrase-bottom .btn{padding:5px 20px;min-height:38px}
body:has(.phrase-screen) .name-pill{min-height:56px;font-size:23px;padding:0 22px}
body:has(.phrase-screen) #app.pupil-session .footer{min-height:24px;flex-basis:24px}
.phrase-number-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:12px;margin-top:18px}
.phrase-number{background:var(--yellow);border:1px solid #c9bb83;border-radius:18px;min-height:70px;font-size:25px;position:relative}
.phrase-number.ready{background:#e4eccf}.phrase-number.next{outline:3px solid #8b75a5}
.phrase-number small{display:block;font-size:11px}
body:has(.calculation-screen),body:has(.correction-screen){background:var(--lilac)}
body:has(.nombre-screen){background:var(--blue)}
body:has([data-activity-theme="numeration"]){background:var(--rose)}
body:has([data-activity-theme="conjugaison"]){background:#e4eccf}
body:has([data-activity-theme="transposition"]){background:var(--peach)}
.phrase-word.phrase-speaking{background:#fff3a5;box-shadow:0 0 0 2px #c39d38;border-radius:5px}
.phrase-tile{position:relative;padding-left:14px}.phrase-tile .phrase-number{width:100%;touch-action:none;user-select:none;cursor:grab}
.phrase-insert{position:absolute;left:-5px;top:22px;border:1px solid #d3cfbb;background:#fffefa;border-radius:50%;min-height:26px;width:26px;padding:0;font-size:19px;z-index:1}
.phrase-bank-ghost{position:fixed;z-index:10000;pointer-events:none;width:74px;transform:translate(-50%,-50%);opacity:.85;text-align:center;padding:12px}

.phrase-screen>.phrase-board{margin-top:auto!important;margin-bottom:auto!important}
.phrase-screen>.phrase-pool{margin-top:0}
.phrase-arrows{color:#4b6053}

.label-negation{background:#ead4bf}

/* Determiner memo: readable cards, with the same color on frame and examples. */
dialog.determiner-dialog{width:min(850px,calc(100vw - 28px));max-width:850px;max-height:calc(100dvh - 24px);overflow-y:auto;padding:20px 24px}
.determiner-dialog .phrase-memo{min-width:0}.determiner-dialog .phrase-memo-content{min-height:0}
.determiner-dialog .toolbar h2{font-size:28px;margin:0}.determiner-dialog .toolbar{margin-bottom:10px}
.memo-definition-line{display:flex;align-items:center;gap:10px}.memo-definition-line p{flex:1;color:var(--ink);font-size:18px;margin:0;line-height:1.5}
.memo-examples{display:flex;flex-wrap:wrap;justify-content:center;gap:18px 45px;padding:12px 0 16px;font-size:24px;line-height:1.6}
.memo-det{color:#a13e70}.memo-adjective{color:#7761a2}.memo-examples u{text-underline-offset:5px;text-decoration-thickness:2px}
.determiner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.determiner-card{background:#fff;border:2px solid var(--memo-color);border-radius:14px;padding:12px;--memo-color:#865b3e;min-width:0}
.memo-defined{--memo-color:#a13e70}.memo-indefinite{--memo-color:#306d9c}.memo-possessive{--memo-color:#7951a0}.memo-demonstrative{--memo-color:#3b7853}.memo-numeral{--memo-color:#a55b17}.memo-other{--memo-color:#865b3e}
.memo-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:5px}.memo-card-heading h3{font-size:16px;line-height:1.35;margin:0;flex:1;color:var(--ink)}
.memo-speaker{background:#fff;border:1px solid #d5d7ce;border-radius:50%;width:38px;min-width:38px;height:38px;min-height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:19px;color:var(--ink)}
.memo-words{margin-top:10px}.memo-words p{color:var(--memo-color);font-size:19px;line-height:1.5;margin:0;font-weight:600}
.memo-audio-status{font-size:14px;margin:6px 0!important}.memo-audio-status:empty{display:none}.determiner-dialog [data-close-phrase-memo]{display:block;margin:14px auto 0;padding:7px 22px;min-height:40px}
@media(max-width:650px){.determiner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}dialog.determiner-dialog{padding:16px}.memo-words p{font-size:17px}}
@media(max-width:380px){.determiner-grid{grid-template-columns:1fr}}
.memo-pronoun-subject{--memo-color:#7951a0}.memo-pronoun-cod{--memo-color:#306d9c}.memo-pronoun-coi{--memo-color:#3b7853}
.memo-pronoun-lina{color:#7951a0}.memo-pronoun-children{color:#306d9c}
.pronoun-examples{flex-direction:column;align-items:center;gap:6px;font-size:22px}
.pronoun-grid .memo-words p{font-size:18px;line-height:1.7}
@media(max-width:650px){.pronoun-grid{grid-template-columns:1fr}.pronoun-examples{font-size:19px;align-items:flex-start}}
.memo-negation-mark{color:#a13e70}.memo-verb-frame{display:inline-block;border:2px solid #71887a;border-radius:5px;padding:0 5px;line-height:1.4}
.negation-grid .memo-card-heading{align-items:center}.negation-grid h3{color:var(--memo-color);font-size:20px;font-weight:600}
.memo-negation-pas{--memo-color:#a13e70}.memo-negation-plus{--memo-color:#306d9c}.memo-negation-jamais{--memo-color:#7951a0}
.memo-negation-rien{--memo-color:#3b7853}.memo-negation-personne{--memo-color:#a55b17}.memo-negation-point{--memo-color:#865b3e}
.memo-negation-guere{--memo-color:#3a7b80}.memo-negation-aucun{--memo-color:#925a81}.memo-negation-ni{--memo-color:#626c9f}
.memo-negation-note{display:flex;justify-content:center;align-items:center;gap:10px;margin:12px 0 0}.memo-negation-note p{margin:0;color:var(--ink);font-size:17px}/* Noun, adjective and verb memos share the same quiet, colored paper cards. */
.memo-noun-living,.memo-verb-first{--memo-color:#a13e70}
.memo-noun-objects,.memo-verb-second{--memo-color:#306d9c}
.memo-noun-ideas,.memo-verb-third,.memo-adjective-list{--memo-color:#7951a0}
.memo-aux-etre,.memo-aux-avoir{--memo-color:#3b7853}
.memo-definition-line+.memo-definition-line{margin-top:10px}
.adjective-example{align-items:center;font-size:22px;gap:10px}
.verb-memo-layout{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:16px;align-items:start}
.verb-memo-cards{display:grid;gap:10px}.verb-memo-cards .determiner-card{padding:10px 12px}
.verb-memo-cards .memo-words{margin-top:4px}.memo-words small{display:block;font-size:15px;line-height:1.5;font-weight:400;color:var(--ink)}
.memo-auxiliaries{display:grid;grid-template-columns:1fr 1fr;gap:10px}.memo-auxiliaries .memo-card-heading h3{font-size:19px;color:var(--memo-color)}
.memo-verb-word{display:inline-block;border:1px solid transparent;background:transparent;color:var(--memo-color);font:inherit;font-size:17px;line-height:1.5;min-height:40px;padding:4px 5px;border-radius:8px;cursor:pointer}
.memo-verb-word:hover,.memo-verb-word:focus-visible,.memo-verb-word.is-playing{background:#f5f0df;border-color:currentColor}
.memo-verb-word:focus-visible{outline:2px solid currentColor;outline-offset:2px}.memo-verb-word span{font-size:14px}
.memo-ending{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.memo-character-panel{position:sticky;top:0;background:#faf8f1;border-radius:20px;padding:8px;align-self:start}
.memo-character{width:100%;height:auto;display:block;stroke:#36564a;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none}
.memo-action-caption{text-align:center;font-size:19px;margin:0 0 10px;min-height:30px;color:#36564a}
.memo-character .scene-prop,.memo-character .closed-eyes{display:none}
.memo-character[data-action="grow"] .prop-grow,.memo-character[data-action="write"] .prop-write,.memo-character[data-action="choose"] .prop-choose,.memo-character[data-action="want"] .prop-want,.memo-character[data-action="eat"] .prop-eat,.memo-character[data-action="love"] .prop-love,.memo-character[data-action="think"] .prop-think,.memo-character[data-action="look"] .prop-look,.memo-character[data-action="sleep"] .prop-sleep{display:inline}
.memo-character .character-body{transform-origin:120px 190px}.memo-character .character-head{transform-origin:120px 94px}
.memo-character .arm-left{transform-origin:101px 108px}.memo-character .arm-right{transform-origin:139px 108px}
.memo-character .leg-left{transform-origin:111px 147px}.memo-character .leg-right{transform-origin:130px 147px}
.memo-character[data-action="dance"] .character-body{animation:memo-sway .7s ease-in-out infinite}
.memo-character[data-action="dance"] .arm-left{animation:memo-arm .7s ease-in-out infinite}.memo-character[data-action="dance"] .arm-right{animation:memo-arm .7s ease-in-out infinite reverse}
.memo-character[data-action="dance"] .leg-left{animation:memo-step .7s ease-in-out infinite}.memo-character[data-action="dance"] .leg-right{animation:memo-step .7s ease-in-out infinite reverse}
.memo-character[data-action="jump"] .character-body{animation:memo-jump 1.4s ease-in-out infinite}
.memo-character[data-action="jump"] .arm-left{animation:memo-arm 1.4s ease-in-out infinite}.memo-character[data-action="jump"] .arm-right{animation:memo-arm 1.4s ease-in-out infinite reverse}
.memo-character[data-action="look"] .character-head{animation:memo-look 2.1s ease-in-out infinite}.memo-character[data-action="look"] .eye{animation:memo-eyes 2.1s ease-in-out infinite}
.memo-character[data-action="look"] .butterfly{animation:memo-butterfly 2.1s ease-in-out infinite}
.memo-character[data-action="sleep"] .open-eyes{display:none}.memo-character[data-action="sleep"] .closed-eyes{display:inline}
.memo-character[data-action="sleep"] .character-head{transform:rotate(12deg)}.memo-character[data-action="sleep"] .character-shirt{transform-origin:120px 145px;animation:memo-breathe 2.1s ease-in-out infinite}
.memo-character[data-action="sleep"] .prop-sleep{animation:memo-dream 2.1s ease-in-out infinite}
.memo-character[data-action="think"] .thinking-gear{transform-origin:206px 22px;animation:memo-gear 3s linear infinite}
.memo-character[data-action="think"] .arm-right{transform:rotate(-125deg)}
.memo-character[data-action="love"] .prop-love{transform-origin:120px 122px;animation:memo-heart .8s ease-in-out infinite}
.memo-character[data-action="love"] .arm-left{transform:rotate(-50deg)}.memo-character[data-action="love"] .arm-right{transform:rotate(50deg)}
.memo-character[data-action="walk"] .character-body{animation:memo-travel 4.2s linear infinite}
.memo-character[data-action="walk"] .leg-left,.memo-character[data-action="walk"] .arm-right{animation:memo-step .7s ease-in-out infinite}.memo-character[data-action="walk"] .leg-right,.memo-character[data-action="walk"] .arm-left{animation:memo-step .7s ease-in-out infinite reverse}
.memo-character[data-action="eat"] .arm-right,.memo-character[data-action="eat"] .character-mouth{display:none}
.memo-character .eating-forearm{transform-origin:151px 117px}
.memo-character[data-action="eat"] .eating-forearm{animation:memo-eat 4.2s ease-in-out forwards}
.memo-character[data-action="eat"] .apple-whole{animation:memo-apple-whole 4.2s steps(1) forwards}
.memo-character .apple-bitten{opacity:0}
.memo-character[data-action="eat"] .apple-bitten{animation:memo-apple-bitten 4.2s steps(1) forwards}
.memo-character .eating-mouth{transform-origin:120px 84px}
.memo-character[data-action="eat"] .eating-mouth{animation:memo-chew 4.2s ease-in-out forwards}
.memo-character[data-action="write"] .arm-right{animation:memo-write .5s ease-in-out infinite}.memo-character[data-action="write"] .character-head{transform:rotate(15deg)}
.memo-character[data-action="grow"] .character-body{animation:memo-grow 4.2s ease-in-out forwards}
.memo-character[data-action="choose"] .arm-right{animation:memo-reach 2.1s ease-in-out infinite}.memo-character[data-action="choose"] .character-head{animation:memo-look 2.1s ease-in-out infinite}.memo-character[data-action="choose"] .choice-check{animation:memo-choice 2.1s steps(1) infinite}
.memo-character[data-action="want"] .arm-right{animation:memo-reach 2.1s ease-in-out infinite}.memo-character[data-action="want"] .prop-want{animation:memo-wish 2.1s ease-in-out infinite}
@keyframes memo-sway{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
@keyframes memo-arm{0%,100%{transform:rotate(-65deg)}50%{transform:rotate(65deg)}}
@keyframes memo-step{0%,100%{transform:rotate(-22deg)}50%{transform:rotate(22deg)}}
@keyframes memo-jump{0%,100%{transform:translateY(0) scaleY(1)}15%,85%{transform:translateY(0) scaleY(.88)}45%,55%{transform:translateY(-30px)}}
@keyframes memo-look{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}
@keyframes memo-eyes{0%,100%{transform:translateX(-3px)}50%{transform:translateX(3px)}}
@keyframes memo-butterfly{0%,100%{transform:translate(-35px,-20px)}50%{transform:translate(10px,5px)}}
@keyframes memo-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes memo-dream{0%{opacity:.2;transform:translateY(5px)}70%{opacity:1}100%{opacity:.2;transform:translateY(-6px)}}
@keyframes memo-gear{to{transform:rotate(360deg)}}
@keyframes memo-heart{0%,100%{transform:scale(1)}40%{transform:scale(1.18)}}
@keyframes memo-travel{0%{transform:translateX(-24px)}100%{transform:translateX(24px)}}
@keyframes memo-eat{0%,10%,70%,100%{transform:rotate(0)}35%,48%{transform:rotate(-106deg)}}
@keyframes memo-apple-whole{0%{opacity:1}43%,100%{opacity:0}}
@keyframes memo-apple-bitten{0%{opacity:0}43%,100%{opacity:1}}
@keyframes memo-chew{0%,15%,60%,72%,84%,96%,100%{transform:scaleY(.25)}30%,48%{transform:scaleY(1.3)}66%,78%,90%{transform:scaleY(.8)}}
@keyframes memo-write{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(4deg)}}
@keyframes memo-grow{0%{transform:scale(.7)}75%,100%{transform:scale(1.08)}}
@keyframes memo-reach{0%,100%{transform:rotate(0)}50%,75%{transform:rotate(-55deg)}}
@keyframes memo-choice{0%{opacity:0}60%,100%{opacity:1}}
@keyframes memo-wish{0%,100%{opacity:.5}50%{opacity:1}}
@media(max-width:650px){.verb-memo-layout{grid-template-columns:minmax(0,1fr) 145px;gap:8px}.memo-character-panel{padding:2px}.memo-action-caption{font-size:15px}.memo-verb-word{font-size:16px}.memo-auxiliaries{grid-template-columns:1fr}}
@media(max-width:420px){.verb-memo-layout{display:flex;flex-direction:column}.memo-character-panel{position:relative;order:-1;width:160px;align-self:center}.memo-character{max-height:130px}.verb-memo-cards{width:100%}}
@media(prefers-reduced-motion:reduce){.memo-character *{animation:none!important}.memo-character[data-action="jump"] .character-body{transform:translateY(-20px)}.memo-character[data-action="eat"] .eating-forearm{transform:rotate(-106deg)}.memo-character[data-action="eat"] .apple-whole{opacity:0}.memo-character[data-action="eat"] .apple-bitten{opacity:1}.memo-character[data-action="grow"] .character-body{transform:scale(1.08)}.memo-character[data-action="dance"] .arm-left{transform:rotate(65deg)}.memo-character[data-action="choose"] .arm-right,.memo-character[data-action="want"] .arm-right{transform:rotate(-55deg)}}
.memo-character[data-action="love"] .character-arm{display:none}
/* Proper nouns: uppercase initials stand out within each colored category. */
.memo-proper-people{--memo-color:#a13e70}.memo-proper-animals{--memo-color:#306d9c}.memo-proper-cities{--memo-color:#7951a0}
.memo-proper-countries{--memo-color:#3b7853}.memo-proper-monuments{--memo-color:#a55b17}.memo-proper-rivers{--memo-color:#3a7b80}
.memo-capital{background:#fff0b3;border-radius:3px;text-decoration:underline;text-underline-offset:3px;padding:0 1px;font-weight:700}
.proper-examples{align-items:center;gap:10px 24px}.proper-grid .memo-words p{line-height:1.8}
.memo-formula{--memo-color:#a55b17;background:white;border:2px solid var(--memo-color);border-radius:14px;padding:20px;display:flex;align-items:center;gap:14px}
.memo-conjunction-list{--memo-color:#426e9a}.memo-formula-words{flex:1;text-align:center;color:var(--memo-color);font-size:25px;line-height:1.9}.memo-formula-words>span{white-space:nowrap}.memo-formula-dot{opacity:.6}
.memo-adverb-examples{margin:12px 0}.memo-adverb-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-left:3px solid var(--memo-color);margin:6px 0;background:#fff;border-radius:0 10px 10px 0}
.memo-adverb-verb{--memo-color:#3b7853}.memo-adverb-adjective{--memo-color:#a13e70}.memo-adverb-adverb{--memo-color:#7951a0}.memo-adverb-sentence{--memo-color:#306d9c}
.memo-adverb-line h3{font-size:16px;margin:0 0 3px;color:var(--ink)}.memo-adverb-line p{font-size:20px;line-height:1.5;margin:0;color:var(--ink)}.memo-adverb-line strong{color:var(--memo-color)}
.memo-adverb-list{--memo-color:#7951a0;margin-top:14px}.memo-adverb-list .memo-words p{font-size:18px;line-height:1.8}
@media(max-width:650px){.memo-formula{padding:14px}.memo-formula-words{font-size:21px}.memo-adverb-line p{font-size:18px}}
/* Formula lists can wrap inside even the narrowest memo without horizontal scrolling. */
.memo-formula{min-width:0;width:100%;padding:14px;gap:10px;align-items:flex-start}
.memo-formula-words{min-width:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 8px;font-size:clamp(18px,2.2vw,22px);line-height:1.65}
.memo-formula-words>.memo-formula-dot{display:none}
.memo-formula-words>span:not(.memo-formula-dot):not(:last-child)::after{content:' ·';opacity:.6;margin-left:8px}
.memo-formula>.memo-speaker{flex:0 0 38px}
@media(max-width:420px){.memo-formula{padding:10px;gap:7px}.memo-formula-words{gap:4px 5px;font-size:18px}.memo-formula-words>span:not(.memo-formula-dot):not(:last-child)::after{margin-left:5px}}

/* Freehand subject answers, shared with teacher supervision. */
.subject-screen{justify-content:flex-start;gap:18px}.subject-prompt{display:flex;align-items:center;justify-content:center;gap:16px}.subject-prompt p{margin:6px 0}.subject-pen{color:#2369bd;font-size:42px}.subject-sheet{width:100%;background:#fffdf7;border-radius:18px;overflow:hidden;touch-action:none;user-select:none;cursor:crosshair}.subject-layout{padding:45px 30px;min-height:180px;font-size:clamp(22px,2.5vw,34px);line-height:2.8}.subject-layout span{display:inline-block;white-space:pre}.subject-picture{display:block;width:100%;height:auto;font-family:inherit;fill:#304b42}.subject-ink{fill:none;stroke:#2369bd;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.subject-readonly{cursor:default}.subject-editor{border-top:1px solid #ccc;margin-top:24px;padding-top:16px}.subject-picks{margin:16px 0;font-size:24px}.subject-chosen{background:#dbeccc!important;border-radius:6px}.subject-verb{background:#ffedac}.subject-report{border-top:1px solid #ddd;padding:16px 0}.subject-report .subject-picture{max-width:950px;background:#fffdf7}.subject-projection{font-size:clamp(26px,3vw,48px);line-height:2.8;padding:40px}.subject-screen .phrase-bottom{margin-top:12px;display:flex;gap:15px;justify-content:center}

.subject-layout span{line-height:1.35}
