/* Morphology is a compact course inside the existing word-study system. */
[hidden]{display:none!important}
.morphology-hub,.morphology-lesson{--morph-blue:#214f73;--morph-wash:#f2f7fa;--morph-green:#2d6554;--morph-green-wash:#eef7f3;--morph-gold:#85651c;max-width:calc(82rem + 15.25rem)}
.morphology-hero{max-width:72rem;padding:.35rem 0 1.25rem;border-bottom:1px solid var(--line)}
.morphology-hero h1,.lesson-hero h1{font-size:clamp(2.35rem,5vw,4.6rem);line-height:1.05;margin:.4rem 0 .9rem;max-width:17ch}
.morphology-hero>p:not(.eyebrow),.lesson-hero>p:not(.eyebrow){font-size:1.12rem;line-height:1.7;color:#40586a;max-width:68ch}
.morphology-facts{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.35rem}
.morphology-facts span{display:flex;align-items:baseline;gap:.45rem;padding:.55rem .75rem;border:1px solid var(--line);background:#fff;font-size:.875rem;color:#4b6071}
.morphology-facts strong{font:normal 1.35rem Georgia,serif;color:var(--ink)}
.morphology-nav{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;padding:.75rem 0;border-bottom:1px solid var(--line);margin-bottom:1.75rem}
.morphology-nav a{min-height:2.75rem;display:inline-flex;align-items:center;font-size:.94rem;text-decoration:none;color:#35556d;border-bottom:2px solid transparent}
.morphology-nav a:is(:hover,:focus-visible),.morphology-nav a[aria-current=page]{color:var(--brand-red);border-bottom-color:var(--brand-red)}
.morphology-method{display:grid;grid-template-columns:minmax(12rem,.65fr) minmax(0,1.6fr);gap:1.5rem 2.5rem;padding:1.4rem 1.5rem;background:var(--morph-wash);border:1px solid #cfdee8;margin:1.5rem 0 3rem}
.morphology-method h2{margin:.35rem 0}.morphology-method ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#c9d8e1;border:1px solid #c9d8e1;list-style:none;margin:0;padding:0}
.morphology-method li{background:white;padding:1rem}.morphology-method li strong,.morphology-method li span{display:block}.morphology-method li strong{color:var(--morph-blue);margin-bottom:.35rem}.morphology-method li span{font-size:.9rem;line-height:1.55;color:#4a5e6e}
.local-progress-note{font-size:.875rem!important;line-height:1.6!important;color:#52616e!important}.morphology-method>.local-progress-note{grid-column:1/-1;margin:0}
.morphology-lane{scroll-margin-top:5.5rem;margin:3rem 0}.lane-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;border-bottom:2px solid var(--ink);padding-bottom:1rem;margin-bottom:1rem}.lane-heading h2{font-size:2rem;margin:.3rem 0}.lane-heading p:not(.eyebrow){margin:0;max-width:65ch;color:#486071}.lane-progress{min-width:10rem;text-align:right}.lane-progress strong,.lane-progress span{display:block}.lane-progress strong{font-size:1rem}.lane-progress span{font-size:.75rem;color:#5b6d7b;margin:.15rem 0 .45rem}.progress-track{height:.45rem;width:100%;background:#dce5eb;overflow:hidden;border-radius:1rem}.progress-track>span{display:block;width:0;height:100%;background:var(--morph-green);transition:width .15s ease}
.morphology-lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}
.morphology-lesson-card{display:flex;flex-direction:column;min-height:15rem;padding:1.15rem;border:1px solid #cfdbe4;border-top:3px solid #6b8da6;background:#fff;text-decoration:none;color:var(--ink)}
.morphology-lesson-card:is(:hover,:focus-visible){border-color:var(--morph-blue);background:#f8fbfd}.morphology-lesson-card[data-progress=complete]{border-top-color:var(--morph-green)}.morphology-lesson-card h3{font:normal 1.35rem/1.35 Georgia,serif;margin:.55rem 0}.morphology-lesson-card p{font-size:.9rem;line-height:1.55;color:#4b6070;margin:0 0 .8rem}.lesson-card-meta{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;font-weight:700;color:#5a7182}.lesson-card-forms{font:normal .9rem/1.6 Georgia,serif;color:#355c77;margin-top:auto;padding-top:.7rem;border-top:1px solid #e0e7ec}.lesson-card-status{font-size:.78rem;font-weight:700;color:#536979;margin-top:.55rem}.morphology-lesson-card[data-progress=complete] .lesson-card-status{color:var(--morph-green)}
.morphology-tools{margin:3.5rem 0 2rem;padding-top:1.5rem;border-top:2px solid var(--ink)}.morphology-tools h2{margin:.35rem 0 1rem}.morphology-tools>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.morphology-tools a{padding:1rem;border:1px solid var(--line);text-decoration:none;color:var(--ink)}.morphology-tools a:is(:hover,:focus-visible){background:var(--morph-wash);border-color:#7d9bb0}.morphology-tools strong,.morphology-tools span{display:block}.morphology-tools strong{color:var(--blue);margin-bottom:.35rem}.morphology-tools span{font-size:.875rem;line-height:1.5;color:#516473}
.morphology-source{display:flex;gap:1.5rem;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:1.2rem}.morphology-source p{font-size:.8rem;color:#60717e;max-width:80ch}.morphology-source button,.restart-morphology-lesson{border:1px solid #bccbd5;background:#fff;padding:.7rem .85rem;min-height:2.75rem;color:#3f596d}
.morphology-breadcrumb{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.875rem;margin:.2rem 0 1.2rem}.morphology-breadcrumb span{color:#81909b}.lesson-hero{max-width:72rem;padding-bottom:1rem}.lesson-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;font-size:.8rem;font-weight:700;color:#526879;margin-top:1rem}.lesson-meta span{padding:.35rem 0;border-bottom:2px solid #b7c7d3}
.lesson-stage-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #c8d5df;margin:1rem 0 2.5rem}.lesson-stage-nav a{display:grid;grid-template-columns:2rem 1fr;align-items:center;gap:.45rem;min-height:4.25rem;padding:.7rem 1rem;text-decoration:none;color:var(--ink);border-right:1px solid #c8d5df}.lesson-stage-nav a:last-child{border-right:0}.lesson-stage-nav a:is(:hover,:focus-visible){background:var(--morph-wash);color:var(--brand-red)}.lesson-stage-nav span{font:normal 1.15rem Georgia,serif;color:#647d90}.lesson-stage-nav strong{font-size:.94rem}
.lesson-stage{scroll-margin-top:5.5rem;margin:3.5rem 0}.lesson-stage>header{max-width:72ch;margin-bottom:1.2rem}.lesson-stage>header h2{font-size:2rem;margin:.35rem 0}.lesson-stage>header>p:not(.eyebrow){color:#486071}
.morpheme-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.morpheme-card{border:1px solid #cedae3;border-top:3px solid #527c99;padding:1rem;min-width:0}.morpheme-card>header{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;gap:.7rem;align-items:start}.target-number{font:normal .85rem/1.6 Georgia,serif;color:#6c8191}.morpheme-card h3{font:normal 1.55rem/1.25 Georgia,serif;margin:0;color:#173e5c;overflow-wrap:anywhere}.morpheme-card header p{font-size:.9rem;color:#4c6374;margin:.2rem 0 0}.morpheme-job{font-size:.72rem;line-height:1.4;font-weight:700;color:#4b665e;background:#eef5f2;padding:.3rem .45rem;max-width:10rem;text-align:right}.morpheme-examples{grid-column:1/-1;list-style:none;margin:.9rem 0 0;padding:.8rem 0 0;border-top:1px solid #e0e7ec;display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.morpheme-examples li{min-width:0}.morpheme-examples strong,.morpheme-examples span{display:block}.morpheme-examples strong{font:normal 1.12rem/1.4 Georgia,serif;overflow-wrap:anywhere}.morpheme-examples span{font-size:.8rem;line-height:1.45;color:#526675;margin-top:.12rem}.morpheme-examples mark,.decode-example mark{background:#f4e4ae;color:inherit;padding:0 .05em}.morpheme-note{font-size:.8rem;line-height:1.55;color:#526675;background:#f6f8fa;padding:.55rem .65rem;margin:.75rem 0 0}
.decode-routine{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;list-style:none;counter-reset:decode;margin:1rem 0 1.4rem;padding:0}.decode-routine li{counter-increment:decode;border-top:3px solid #6e8ea5;background:var(--morph-wash);padding:1rem}.decode-routine li:before{content:counter(decode,decimal-leading-zero);display:block;font:normal 1rem Georgia,serif;color:#6a8090;margin-bottom:.5rem}.decode-routine strong,.decode-routine span{display:block}.decode-routine span{font-size:.9rem;line-height:1.55;color:#4a6070;margin-top:.25rem}.decode-examples{border-top:1px solid var(--line)}.decode-example{border-bottom:1px solid var(--line);padding:.25rem 0}.decode-example summary{min-height:3.25rem;padding:.8rem .35rem;font-size:1rem;color:#244f70}.decode-example p{padding:0 .35rem .8rem;margin:0;max-width:78ch}.decode-builder-link{margin-top:1.2rem;font-weight:700}
.morphology-quiz{max-width:54rem;border:1px solid #cbd8e1;padding:1.25rem;background:#fff}.quiz-progress{display:grid;grid-template-columns:auto minmax(8rem,1fr);align-items:center;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1.1rem}.quiz-progress>span{font-size:.875rem;font-weight:700}.morphology-question fieldset{border:0;padding:0;margin:0}.morphology-question legend{font:normal 1.35rem/1.5 Georgia,serif;margin:0 0 1rem;max-width:38ch}.morphology-question legend>span{display:block;font:700 .75rem/1.5 Arial,sans-serif;letter-spacing:.08em;color:#617585;text-transform:uppercase;margin-bottom:.35rem}.quiz-options{display:grid;gap:.55rem}.quiz-option{display:grid;grid-template-columns:1.3rem minmax(0,1fr);gap:.7rem;align-items:center;min-height:3.2rem;border:1px solid #c6d3dc;padding:.65rem .8rem;cursor:pointer}.quiz-option:is(:hover,:focus-within){border-color:#517a98;background:#f5f9fb}.quiz-option input{width:1.15rem;height:1.15rem}.quiz-option span{line-height:1.5}.quiz-option.is-correct{border-color:#467d66;background:var(--morph-green-wash)}.quiz-option.is-incorrect{border-color:#a85548;background:#faefed}.quiz-actions{display:flex;gap:.7rem;margin-top:1rem}.quiz-actions button{min-height:2.75rem;border:1px solid #244f70;background:#244f70;color:#fff;padding:.65rem .9rem;font-weight:700}.quiz-actions button:disabled{background:#e5eaee;color:#83909a;border-color:#d2dbe1;cursor:not-allowed}.quiz-actions .next-question{background:#2d6554;border-color:#2d6554}.quiz-feedback{padding:.75rem .85rem;margin:.8rem 0 0;font-size:.94rem;line-height:1.6}.quiz-feedback.is-correct{background:var(--morph-green-wash);border-left:3px solid #467d66}.quiz-feedback.is-incorrect{background:#faefed;border-left:3px solid #a85548}.quiz-summary{padding:.5rem}.quiz-summary h3{font:normal 1.7rem/1.3 Georgia,serif;margin:.35rem 0}.morphology-pager{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border-top:1px solid var(--line);padding-top:1.2rem;margin-top:3rem}.morphology-pager a:last-child{text-align:right}
@media(max-width:1050px){.morphology-lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.morphology-tools>div{grid-template-columns:repeat(2,minmax(0,1fr))}.morphology-method{grid-template-columns:1fr}.morphology-method>.local-progress-note{grid-column:auto}}
@media(max-width:700px){.morphology-hero h1,.lesson-hero h1{font-size:2.4rem}.morphology-method{padding:1rem}.morphology-method ol,.decode-routine{grid-template-columns:1fr}.lane-heading{align-items:start;flex-direction:column;gap:1rem}.lane-progress{text-align:left;width:100%}.morphology-lesson-grid,.morphology-tools>div,.morpheme-card-grid{grid-template-columns:1fr}.morphology-lesson-card{min-height:0}.morphology-source{align-items:flex-start;flex-direction:column}.lesson-stage-nav{grid-template-columns:1fr}.lesson-stage-nav a{border-right:0;border-bottom:1px solid #c8d5df;min-height:3.5rem}.lesson-stage-nav a:last-child{border-bottom:0}.morpheme-card>header{grid-template-columns:2rem minmax(0,1fr)}.morpheme-job{grid-column:2;text-align:left;max-width:none;justify-self:start}.morpheme-examples{grid-template-columns:1fr}.quiz-progress{grid-template-columns:1fr;gap:.5rem}.morphology-quiz{padding:1rem}.morphology-question legend{font-size:1.2rem}.morphology-pager{grid-template-columns:1fr}.morphology-pager a:last-child{text-align:left}}
@media(max-width:380px){.morphology-hub,.morphology-lesson{overflow-wrap:anywhere}.morphology-facts{display:grid}.quiz-actions{align-items:stretch;flex-direction:column}.quiz-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){.progress-track>span{transition:none}}
@media print{.morphology-nav,.lesson-stage-nav,.quiz-actions,.reset-morphology-progress,.morphology-pager{display:none}.morphology-question[hidden],.quiz-summary[hidden]{display:block!important}.morphology-lesson-card,.morpheme-card,.morphology-quiz{break-inside:avoid}}

/* Matrices are teaching workspaces inside every lesson. */
.lesson-card-features{font-size:.875rem;line-height:1.5;color:#355c77;margin-top:.6rem}
.lesson-stage-nav.with-spiral{grid-template-columns:repeat(4,minmax(0,1fr))}
.matrix-howto{max-width:68rem;border-left:4px solid var(--morph-blue);padding:.9rem 1.15rem;background:var(--morph-wash);margin-bottom:1.4rem}
.matrix-howto h3{font-size:1.2rem;margin:0 0 .5rem}.matrix-howto p{font-size:1rem;line-height:1.65;margin:.5rem 0}
.morpheme-card-grid.with-matrices{grid-template-columns:1fr;max-width:68rem;gap:1.25rem}
.with-matrices .morpheme-card{padding:1.25rem}.with-matrices .morpheme-examples span,.with-matrices .morpheme-note{font-size:.94rem;line-height:1.6}
.lesson-matrix{margin:1rem 0 0;min-width:0}.matrix-explorer{border-top:1px solid #c7d5df}
.matrix-explorer>summary{padding:.9rem .15rem;font-size:1.1rem;font-weight:700;line-height:1.5;color:#214f73;cursor:pointer}
.matrix-explorer>summary>span{font-size:.875rem;color:#526879;font-weight:400;margin-left:.6rem;white-space:nowrap}
.matrix-teaching-note{font-size:1rem;line-height:1.6;max-width:70ch;margin:.4rem 0 1rem}
.lesson-matrix-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:.5rem;border-block:1px solid #c4d3de;padding:.75rem 0;background:#fff}
.lesson-matrix-column{min-width:0}.lesson-matrix-column h4{font:700 .875rem/1.45 system-ui,sans-serif;color:#405c70;margin:0 0 .65rem;min-height:2.5rem}
.lesson-matrix-column>div{display:flex;flex-direction:column;gap:.4rem}.lesson-matrix-column button{min-height:2.85rem;width:100%;padding:.55rem .35rem;border:1px solid #a9bdcc;background:#f4f8fb;font:600 1rem/1.4 system-ui,sans-serif;color:#244f70;overflow-wrap:anywhere;cursor:pointer}
.lesson-matrix-column:nth-child(2) button{font:700 1.25rem/1.3 Georgia,serif;color:#862f27;background:#fff8ee;border-color:#c9b68c}
.lesson-matrix-column:nth-child(3) button{color:#295d4e;background:#f2f8f5;border-color:#a9c6bb}
.lesson-matrix-column button small{display:block;font:400 .875rem/1.3 system-ui,sans-serif}.lesson-matrix-column button small:empty{display:none}
.lesson-matrix-column button[aria-pressed=true]{border:2px solid #172f41;background:#e2edf5;box-shadow:inset 0 -3px #172f41}
.lesson-matrix-column button:disabled{opacity:.45;cursor:not-allowed}.lesson-matrix-column button:focus-visible,.lesson-matrix-words button:focus-visible,.matrix-build-check :is(input,button):focus-visible{outline:3px solid #a57922;outline-offset:3px}
.lesson-matrix-result{padding:1rem 1.1rem;background:#edf4f9;border-left:3px solid #214f73;margin:.9rem 0;min-width:0}
.lesson-matrix-result .lesson-word-sum{font:700 clamp(1.1rem,2.3vw,1.4rem)/1.5 Georgia,serif;overflow-wrap:anywhere;color:#173e5c;margin:0 0 .5rem}
.lesson-matrix-result p{font-size:1rem;line-height:1.6;margin:.35rem 0}.lesson-matrix-result p:empty{display:none}.lesson-matrix-result .matrix-word-job{font-size:.875rem;font-weight:700;color:#3e5e70}
.lesson-matrix-result .matrix-spelling-note{border-top:1px solid #c6d7e3;padding-top:.65rem;font-size:.94rem;color:#5d4318}
.lesson-matrix-words{display:flex;flex-wrap:wrap;gap:.4rem}.lesson-matrix-words button{min-height:2.75rem;font-size:1rem;line-height:1.4;padding:.4rem .6rem;border:1px solid #b3c5d2;background:#fff;color:#244f70;cursor:pointer;overflow-wrap:anywhere}
.lesson-matrix-words button[aria-pressed=true]{background:#214f73;color:white;border-color:#214f73}
.matrix-compare,.matrix-readable{border-bottom:1px solid #d5dfe6;margin-top:.7rem}.matrix-compare summary,.matrix-readable summary{padding:.6rem .15rem;min-height:2.75rem;font-size:1rem;color:#244f70;cursor:pointer}.matrix-compare p{font-size:1rem;line-height:1.7}
.matrix-table-wrap{overflow-x:auto;max-width:100%;margin-bottom:1rem}.matrix-table-wrap table{width:100%;border-collapse:collapse;font-size:1rem}.matrix-table-wrap th,.matrix-table-wrap td{padding:.6rem;text-align:left;border-bottom:1px solid #d5dfe6;vertical-align:top;line-height:1.5;overflow-wrap:anywhere}.matrix-table-wrap thead{background:#edf4f9}
.matrix-build-check{margin-top:1rem;border-top:1px dashed #a8bbc8;padding-top:1rem}.matrix-build-check label{display:grid;gap:.35rem;font-size:1rem;margin-bottom:.65rem}.matrix-build-check label>span{font:normal 1.15rem/1.5 Georgia,serif;overflow-wrap:anywhere}
.matrix-build-check>div{display:flex;flex-wrap:wrap;gap:.5rem}.matrix-build-check input{min-height:2.75rem;min-width:0;max-width:100%;flex:1 1 13rem;width:13rem;padding:.55rem .65rem;border:1px solid #7d96a8;font-size:1rem;border-radius:0;background:white;color:#172f41}
.matrix-build-check button{min-height:2.75rem;padding:.55rem .75rem;border:1px solid #214f73;background:#214f73;color:#fff;font-size:.94rem;cursor:pointer}.matrix-build-check [data-build-reveal]{background:#fff;color:#214f73}
.build-feedback{font-size:1rem;line-height:1.6;margin:.7rem 0 0}.build-feedback:empty{display:none}.build-feedback.is-correct{color:#245340;background:#eef7f3;padding:.6rem}.build-feedback.is-incorrect{color:#863a2d;background:#faefed;padding:.6rem}
.root-check-yourself{margin:1.15rem 0 0;border:2px solid #214f73;background:#f7fafc;padding:1rem}.root-check-yourself>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.25rem 1rem;align-items:end;border-bottom:1px solid #c7d5df;padding-bottom:.8rem}.root-check-yourself>header .eyebrow,.root-check-yourself>header h4,.root-check-yourself>header p{grid-column:1}.root-check-yourself>header .eyebrow{margin:0}.root-check-yourself>header h4{font:700 1.35rem/1.35 Georgia,serif;color:#173e5c;margin:.2rem 0}.root-check-yourself>header p{font-size:1rem;line-height:1.55;margin:0}.root-check-yourself>header>strong{grid-column:2;grid-row:1/4;align-self:center;padding:.55rem .7rem;background:#edf4f9;color:#214f73;font-size:.875rem;white-space:nowrap}.root-check-yourself[data-complete=true]>header>strong{background:#e5f3ed;color:#245340}
.root-matrix-question{padding:1rem 0;border-bottom:1px solid #d6e0e7}.root-matrix-question:last-child{border-bottom:0;padding-bottom:0}.root-matrix-question fieldset{border:0;padding:0;margin:0}.root-matrix-question legend{font:700 1.05rem/1.55 system-ui,sans-serif;max-width:52rem;margin-bottom:.75rem}.root-matrix-question legend>span{display:block;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:#607789;margin-bottom:.15rem}.root-check-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.root-check-options label{display:grid;grid-template-columns:1.2rem minmax(0,1fr);align-items:center;gap:.55rem;min-height:3rem;padding:.55rem .65rem;border:1px solid #b6c8d4;background:#fff;cursor:pointer}.root-check-options label:is(:hover,:focus-within){border-color:#517a98;background:#f1f6f9}.root-check-options label.is-correct{border-color:#467d66;background:#eaf5ef}.root-check-options label.is-incorrect{border-color:#a85548;background:#faefed}.root-check-options input{width:1.1rem;height:1.1rem}.root-check-options span{font-size:.94rem;line-height:1.4;overflow-wrap:anywhere}.root-matrix-question>button{min-height:2.75rem;margin-top:.7rem;padding:.55rem .8rem;border:1px solid #214f73;background:#214f73;color:#fff;font-weight:700}.root-matrix-question>button:disabled{background:#dfe7ec;border-color:#c8d4dc;color:#667985}.root-check-feedback{font-size:.94rem;line-height:1.6;margin:.65rem 0 0}.root-check-feedback:empty{display:none}.root-check-feedback.is-correct{border-left:3px solid #467d66;background:#eaf5ef;padding:.55rem .65rem}.root-check-feedback.is-incorrect{border-left:3px solid #a85548;background:#faefed;padding:.55rem .65rem}
.spiral-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;max-width:68rem}.spiral-root{border:1px solid #bdd0c8;border-top:3px solid #2d6554;padding:1.25rem;min-width:0}.spiral-root>header{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;align-items:center;justify-content:space-between}.spiral-root h3{font:700 1.6rem/1.3 Georgia,serif;margin:0}.spiral-root header a{font-size:.94rem}.root-recall{margin:.7rem 0}.root-recall summary{cursor:pointer;font-size:1rem;min-height:2.75rem;padding:.5rem 0}.root-recall p{margin:0 0 .6rem;font-size:1.15rem;color:#245340}.spiral-transfer{max-width:68rem;background:#eef7f3;padding:1rem;line-height:1.7}
@media(max-width:700px){.lesson-stage-nav.with-spiral{grid-template-columns:1fr}.with-matrices .morpheme-card,.spiral-root{padding:.9rem}.lesson-matrix-column h4{min-height:3.9rem}.lesson-matrix-column button{font-size:.94rem}.lesson-matrix-column:nth-child(2) button{font-size:1.12rem}.lesson-matrix-grid{gap:.35rem}.lesson-matrix-result{padding:.8rem}.matrix-explorer>summary>span{display:block;margin-left:0}.matrix-build-check input{flex-basis:100%;width:100%}.matrix-table-wrap table{min-width:32rem}.root-check-yourself{padding:.8rem}.root-check-yourself>header{grid-template-columns:1fr}.root-check-yourself>header>strong{grid-column:1;grid-row:auto;justify-self:start}.root-check-options{grid-template-columns:1fr}}
@media print{.matrix-build-check,.root-matrix-question>button{display:none!important}.matrix-explorer>*,.matrix-readable>*{display:block!important}.matrix-table-wrap{overflow:visible}.lesson-matrix-grid,.lesson-matrix-words{display:none!important}.with-matrices .morpheme-card{break-inside:auto}.root-check-yourself{break-inside:avoid}}

/* Explicit instruction: the course's red headings, blue word connections, and clear writing space. */
.teaching-stage-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#c8d5df}
.teaching-stage-nav a{background:#f2f7fa;border:0;min-height:3rem}
.teaching-model,.teaching-guided,.teaching-independent,.teaching-recall{max-width:68rem}
.model-sentence,.transfer-context{font:1.35rem/1.65 Georgia,serif;padding:1.1rem 1.3rem;border-left:4px solid #9b3e2d;background:#faf5f1;margin:1.2rem 0}
.model-steps{list-style:none;padding:0;margin:1rem 0;border-top:1px solid #bdceda}
.model-steps>li{padding:1rem 0;border-bottom:1px solid #bdceda;max-width:75ch}
.model-steps strong{font-size:1.05rem;color:#214f73}.model-steps p{font-size:1.05rem;line-height:1.65;margin:.45rem 0}
.model-sum{font-family:Georgia,serif}.model-controls,.family-map-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin:1rem 0}
.model-controls span,.family-map-controls span{font-size:.94rem;color:#40586a}
.teaching-model button,.family-map button,.teaching-guided button,.teaching-independent button,.teaching-recall button{font:600 1rem/1.4 system-ui,sans-serif;min-height:2.75rem;border:1px solid #214f73;padding:.6rem .85rem;background:#214f73;color:#fff;cursor:pointer;white-space:normal}
.teaching-model button:focus-visible,.family-map button:focus-visible,.teaching-guided button:focus-visible,.teaching-independent button:focus-visible,.teaching-recall button:focus-visible{outline:3px solid #9b3e2d;outline-offset:3px}
.teaching-recall button:disabled{background:#e3eaf0;color:#40586a;border-color:#a8bac8;cursor:default}
.teaching-caution{margin:1.25rem 0;padding:1rem 1.2rem;border-left:3px solid #a27a25;background:#fff9e9;line-height:1.65;font-size:1rem}
.teaching-caution h3{font:700 1.2rem/1.4 Georgia,serif;margin:0 0 .5rem}.teaching-caution p{margin:.3rem 0}
.target-jump-links{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.25rem}
.target-jump-links a{padding:.5rem .7rem;border:1px solid #b5c8d5;min-height:2.75rem;display:flex;align-items:center;font-size:1rem}
.morpheme-card,.lesson-stage{scroll-margin-top:5rem}
.family-map{margin-top:1.1rem;border-top:2px solid #214f73;min-width:0}
.family-map>summary{font:700 1.15rem/1.5 Georgia,serif;cursor:pointer;padding:1rem .15rem;color:#214f73;min-height:3rem}
.family-map>p{font-size:1rem;line-height:1.65;max-width:75ch}
.family-center{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:25rem;margin:1.5rem auto 0;padding:.9rem 1.25rem;background:#214f73;color:#fff;border:2px solid #214f73}
.family-center strong{font:700 1.8rem/1.3 Georgia,serif;overflow-wrap:anywhere}.family-center span{font-size:1.05rem;line-height:1.5;margin-top:.2rem}
.family-center:after{content:'';position:absolute;width:2px;height:1.5rem;top:100%;left:50%;background:#7594aa}
.family-branches{list-style:none;padding:0;margin:1.5rem 0 1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:1.4rem;row-gap:1rem;border-top:2px solid #7594aa}
.family-branch{position:relative;min-width:0;border-top:0;padding:1.4rem .35rem .5rem}
.family-branch:before{content:'';position:absolute;left:50%;top:0;width:2px;height:1rem;background:#7594aa}
.family-branch:nth-child(n+4){border-top:2px solid #7594aa}
.family-connection{display:block;font-size:.875rem;line-height:1.5;color:#526675;overflow-wrap:anywhere}
.family-word{display:block;font:700 1.25rem/1.4 Georgia,serif;color:#173e5c;overflow-wrap:anywhere;margin:.15rem 0}
.family-job{font-size:.875rem;color:#355c77}.family-meaning{font-size:1rem;line-height:1.6;margin:.4rem 0}
.family-context,.family-spelling{font-size:.94rem;line-height:1.6;color:#40586a;margin:.6rem 0}.family-spelling{border-left:2px solid #bf9b43;padding-left:.5rem}
.family-explain{padding:.8rem 1rem;background:#f2f7fa}
.family-recall-form label{display:block;font-size:.94rem;line-height:1.5;margin:.5rem 0}
.family-recall-form input,.teaching-guided input,.teaching-guided textarea,.teaching-independent textarea{font:1rem/1.6 system-ui,sans-serif;border:1px solid #839dac;border-radius:0;background:#fff;color:#173e5c;min-height:2.75rem;padding:.6rem .75rem;max-width:100%;width:100%;box-sizing:border-box}
.family-recall-form button{margin-top:.5rem}.teaching-guided textarea,.teaching-independent textarea{display:block;min-height:7rem;resize:vertical;max-width:60rem}
.teaching-response-label{display:block;font-size:1.05rem;line-height:1.6;font-weight:600;margin:1.2rem 0 .5rem;max-width:65ch}
.teaching-contrast{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.2rem 0}
.teaching-contrast>div{padding:1.2rem;border-top:3px solid #214f73;background:#f2f7fa}.teaching-contrast strong{font:700 1.4rem/1.45 Georgia,serif;color:#173e5c}.teaching-contrast p{font-size:1.05rem;line-height:1.6;margin:.5rem 0 0}
.teaching-answer{margin:.7rem 0 1.2rem;border-bottom:1px solid #c6d4de;padding-bottom:.65rem}.teaching-answer summary{font-size:1rem;padding:.7rem 0;min-height:2.75rem;cursor:pointer;color:#214f73}.teaching-answer p,.teaching-answer li{font-size:1rem;line-height:1.65}
.sentence-work{padding:1.25rem;border:1px solid #9db5c6;margin:1.5rem 0}.sentence-work h3{font:700 1.3rem/1.4 Georgia,serif;margin:0 0 .75rem}.sentence-work label{display:block;font-size:1.05rem;line-height:1.7}
.teaching-input-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.9rem}.teaching-input-row input{flex:1 1 12rem;width:12rem}.teaching-input-row [data-teaching-hint],.focus-toggle{background:#fff!important;color:#214f73!important}
.teaching-feedback{font-size:1rem;line-height:1.65;margin:.7rem 0 0}.teaching-feedback:empty{display:none}.teaching-feedback.is-correct{border-left:3px solid #467d66;background:#eef7f3;padding:.7rem;color:#245340}.teaching-feedback.is-incorrect{border-left:3px solid #a85548;background:#faefed;padding:.7rem;color:#75372b}
.transfer-question{border:1px solid #9db5c6;padding:1.2rem}.transfer-question fieldset{padding:0;margin:0;border:0;min-width:0}.transfer-question legend{font:700 1.2rem/1.5 Georgia,serif;margin-bottom:.9rem}.transfer-options{display:grid;gap:.6rem}.transfer-options label{display:flex;align-items:center;gap:.7rem;border:1px solid #b7cbd8;min-height:3rem;padding:.6rem .8rem;cursor:pointer}.transfer-options label:focus-within,.transfer-options label:hover{background:#f2f7fa}.transfer-options input{width:1.15rem;height:1.15rem;flex-shrink:0}.transfer-options span{font-size:1rem;line-height:1.5}.transfer-question>button{margin-top:1rem}
.is-independent #model,.is-independent #learn,.is-independent #decode,.is-independent #guided,.is-independent #spiral,.is-independent #check{display:none!important}
.teaching-recall,.morphology-review-queue{border-top:3px solid #2d6554;background:#f4f9f6;padding:1.3rem;margin-top:2rem}.teaching-recall p,.morphology-review-queue p{font-size:1rem;line-height:1.65}
.morphology-review-queue ul{list-style:none;padding:0;margin:0;display:grid;gap:.7rem;grid-template-columns:1fr 1fr}.morphology-review-queue li{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 0;border-top:1px solid #b5ccc0}.morphology-review-queue a{font-size:1.05rem;font-weight:600}.morphology-review-queue span{font-size:.94rem;color:#2d6554}
@media(max-width:850px){.family-branches{grid-template-columns:repeat(2,minmax(0,1fr))}.family-branch:nth-child(n+3){border-top:2px solid #7594aa}}
@media(max-width:600px){.teaching-stage-nav{grid-template-columns:1fr 1fr}.family-branches{grid-template-columns:1fr;border-top:0;border-left:2px solid #7594aa;gap:0;padding-left:1rem;margin-top:1rem}.family-center:after{display:none}.family-branch,.family-branch:nth-child(n+3){border-top:0;border-bottom:1px solid #cfdae2;padding:.9rem 0}.family-branch:before{left:-1rem;top:1.65rem;width:.75rem;height:2px}.family-center{margin-left:0;margin-right:0;max-width:none;text-align:left;align-items:flex-start}.teaching-contrast{grid-template-columns:1fr}.model-sentence,.transfer-context{font-size:1.2rem;padding:.9rem 1rem}.morphology-review-queue ul{grid-template-columns:1fr}.sentence-work,.transfer-question{padding:.9rem}.teaching-input-row input{flex-basis:100%;width:100%}.family-map-controls{align-items:flex-start;flex-direction:column}}
@media print{.model-steps>li[hidden],[data-family-answer][hidden]{display:block!important}.family-map>*,.teaching-answer>*{display:block!important}.family-map-controls,.family-recall-form,.model-controls,.focus-toggle,.review-save-controls{display:none!important}.family-branch{break-inside:avoid}.teaching-stage-nav{display:none}}

/* Independent study: short gist, optional depth, one word-part workspace at a time. */
.lesson-gist{max-width:68rem;border-left:4px solid #9b3e2d;padding:1rem 1.3rem;background:#faf5f1;margin:1.5rem 0 2rem}
.lesson-gist header h2{font:700 1.5rem/1.35 Georgia,serif;margin:.3rem 0 .75rem}
.lesson-gist-text{font:1.2rem/1.7 Georgia,serif;max-width:75ch;margin:.7rem 0}
.gist-expansion summary,.part-explanation summary,.target-workspace>summary,.matrix-howto>summary{cursor:pointer;min-height:2.75rem;padding:.65rem 0;line-height:1.5;font-size:1rem;color:#214f73}
.gist-expansion p,.part-explanation p{font-size:1rem;line-height:1.7;max-width:78ch}
.part-gist{font-size:1.05rem;line-height:1.7;max-width:78ch;margin:.9rem 0 .3rem}
.part-explanation{border-bottom:1px solid #d3dee6;margin-bottom:.55rem;padding-bottom:.2rem}
.target-workspace>summary{font-weight:700;padding:.9rem .7rem;background:#f2f7fa;border:1px solid #bdd0dc;margin:.7rem 0}
.target-workspace[open]>summary{border-left:4px solid #214f73}
.morpheme-card>.target-workspace>.morpheme-examples{margin-top:1rem}
.matrix-howto{font-size:1rem;padding:.4rem 1rem;margin:1rem 0}
.matrix-howto>summary{font-weight:700}.teaching-caution>summary{cursor:pointer;min-height:2.75rem;line-height:1.6;font-weight:700}
.family-map .family-word{display:block;text-align:left;width:100%;font:700 1.25rem/1.4 Georgia,serif;min-height:2.75rem;padding:.4rem .5rem;border:1px solid #a2bdce;background:#fff;color:#173e5c;overflow-wrap:anywhere;margin:.35rem 0}
.family-map .family-word:hover{background:#eaf3f8}.family-map .family-word[aria-pressed=true]{border:2px solid #214f73;background:#e6f0f6;box-shadow:inset 3px 0 #214f73}
.family-map .family-word:disabled{opacity:1;cursor:default}
.live-compare-controls{margin:1rem 0}.live-compare-controls button{background:#fff;color:#214f73;border:1px solid #214f73;min-height:2.75rem;font:600 1rem/1.5 system-ui,sans-serif;padding:.55rem .75rem;cursor:pointer}
.live-compare-controls p{font-size:.94rem;line-height:1.6;margin:.5rem 0}
.live-matrix-comparison{background:#f2f7fa;border-left:3px solid #214f73;padding:1rem;margin:.8rem 0}
.live-matrix-comparison h4{font:700 1.2rem/1.4 Georgia,serif;margin:0 0 .7rem}.live-matrix-comparison dl{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:0}.live-matrix-comparison dt{font-size:.875rem;font-weight:700;color:#40586a}.live-matrix-comparison dd{font-size:1rem;line-height:1.6;margin:.2rem 0 0}.live-matrix-comparison p{font-size:1rem;line-height:1.65;margin:.8rem 0 0}
.part-checks{margin:1.4rem 0 0;border-top:3px solid #214f73;padding-top:1rem}.part-checks>header{display:block}
.part-checks h4{font:700 1.3rem/1.4 Georgia,serif;color:#214f73;margin:0 0 .5rem}.part-checks>header p{font-size:1rem;line-height:1.6;margin:.3rem 0}.part-checks [data-part-check-count]{display:block;font-size:.94rem;color:#245340;margin:.7rem 0}
.direct-check{padding:1.15rem 0;border-bottom:1px solid #c3d3df}.direct-check fieldset{margin:0;padding:0;border:0;min-width:0}.direct-check legend{font:600 1.1rem/1.65 system-ui,sans-serif;max-width:70ch;margin-bottom:.8rem}
.direct-check-options{display:grid;gap:.55rem}.direct-check-options label{display:flex;align-items:center;gap:.7rem;min-height:3rem;padding:.65rem .8rem;border:1px solid #b6c8d4;background:#fff;cursor:pointer}.direct-check-options input{width:1.15rem;height:1.15rem;flex-shrink:0}.direct-check-options span{font-size:1rem;line-height:1.5;overflow-wrap:anywhere}.direct-check-options label:is(:hover,:focus-within){border-color:#214f73;background:#f2f7fa}.direct-check-options label.is-correct{border-color:#467d66;background:#eef7f3}.direct-check-options label.is-incorrect{border-color:#a85548;background:#faefed}
.direct-check-actions,.quiz-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.85rem}
.direct-check-actions button{font:600 1rem/1.4 system-ui,sans-serif;min-height:2.75rem;padding:.6rem .85rem;border:1px solid #214f73;background:#214f73;color:#fff;cursor:pointer;white-space:normal}
.direct-check-actions button:disabled{background:#e3eaf0;border-color:#bdcbd4;color:#526776;cursor:default}
.direct-check-actions [data-check-hint],.direct-check-actions [data-check-explain],.quiz-actions [data-quiz-hint],.quiz-actions [data-quiz-explain]{background:#fff;color:#214f73}
.direct-check-feedback{font-size:1rem;line-height:1.65;background:#f2f7fa;padding:.75rem .9rem;border-left:3px solid #214f73;margin:.8rem 0 0}.direct-check-feedback:empty{display:none}.direct-check-feedback.is-correct{background:#eef7f3;border-color:#467d66;color:#245340}.direct-check-feedback.is-incorrect{background:#fff8e8;border-color:#a57922;color:#59441f}
.morphology-lesson :is(button,summary,a,input,textarea):focus-visible{outline:3px solid #9b3e2d;outline-offset:3px}
@media(max-width:600px){.lesson-gist{padding:.85rem 1rem}.lesson-gist-text{font-size:1.12rem}.live-matrix-comparison dl{grid-template-columns:1fr}.direct-check-actions{align-items:stretch}.direct-check-actions button{flex:1 1 9rem}.target-workspace>summary{padding:.8rem .55rem}}
@media print{.target-workspace>*,.part-explanation>*,.gist-expansion>*{display:block!important}.live-compare-controls,.direct-check-actions{display:none!important}.direct-check{break-inside:avoid}}
