@import url("https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@400;500;600;700;800&display=swap");
:root{--green:#385f4b;--dark:#284536;--sage:#dce9df;--light:#f4f8f5;--purple:#6f3f91;--orange:#d9872f;--yellow:#fff0b6;--ink:#17221c;--muted:#59665f;--line:#b9c4bd;--error:#9a2f2f;--body:19px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:"Lexend Deca",Arial,sans-serif;font-size:var(--body);line-height:1.58}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,.sentence:focus-visible,.vocab:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.overlay{position:fixed;inset:0;background:#fff;z-index:999;display:flex;align-items:center;justify-content:center}.overlay.hidden{display:none!important;pointer-events:none!important}.access-card{width:min(900px,94vw);border:3px solid var(--green);border-radius:16px;padding:28px 36px 36px;text-align:center}.access-card img{height:220px;display:block;margin:0 auto 8px}.access-card h1{margin:0;color:var(--ink);font-size:clamp(1.65rem,2.9vw,2.55rem);line-height:1.12;font-weight:800}.opening-prompt{font-size:1.25rem;font-weight:650;color:var(--muted)}.pathway-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:18px auto 0}.pathway-choice{min-height:86px;border:2px solid var(--green);background:#fff;color:var(--dark);border-radius:12px;font-weight:800;font-size:1.15rem}.pathway-choice:hover{background:var(--sage)}.access-form{max-width:640px;margin:18px auto 0;text-align:left}.access-form label{display:block;font-weight:700}.access-form input{width:100%;padding:12px;border:2px solid var(--green);border-radius:8px;margin:8px 0}.access-actions{display:grid;grid-template-columns:1fr 2fr;gap:10px}.access-actions button{border:2px solid var(--green);border-radius:8px;padding:11px;font-weight:700}#unlockBtn{background:var(--green);color:#fff}#accessError{color:var(--error);font-weight:700;min-height:1.5em}
.brand-header{padding:12px 18px}.brand-lockup{max-width:1160px;margin:auto;display:flex;align-items:center;gap:12px;color:var(--dark);font-size:clamp(1.8rem,3.4vw,2.65rem);font-weight:800}.brand-lockup img{height:58px}.sticky-controls{position:sticky;top:0;z-index:50;background:#fff;border-bottom:3px solid var(--green)}.controls{max-width:1160px;margin:auto;padding:8px 16px;display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap}.controls button,.support-actions button,.review-actions button,.bottom-nav button,.margin-help-button,.dictate-button,.dictation-actions button{border:2px solid var(--green);background:#fff;color:var(--dark);border-radius:8px;padding:8px 12px;font-weight:700}.size-btn.active,.page-btn.active{background:var(--sage)}
.lesson-title,main{max-width:1160px;margin:18px auto;padding:0 18px}.lesson-title h1{color:var(--dark);font-size:clamp(1.65rem,2.8vw,2.25rem)}.student-fields{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}.student-fields label{display:flex;flex-direction:column;font-weight:700}.student-fields input{border:2px solid var(--line);border-radius:7px;padding:8px}.screen-title{color:var(--dark);font-size:clamp(1.4rem,2.4vw,1.9rem);margin:1.1rem 0 .7rem}.block-heading{color:var(--dark);font-size:clamp(1.25rem,2.1vw,1.65rem);margin:1.2rem 0 .55rem}
.box{border:2px solid var(--line);border-radius:12px;padding:18px 20px;margin:0 0 18px;background:#fff}.reading-box{border-left:6px solid var(--green)}.reading-box p{margin:.55rem 0 1rem}.sentence{cursor:pointer;border-radius:5px;padding:2px 3px;user-select:text}.sentence:hover,.sentence.active{background:var(--yellow)}.vocab{color:var(--purple);font-weight:700;cursor:pointer;user-select:text}.question-box p:first-child{margin-top:0}.instructions-box{border-left:6px solid var(--orange)}
.response-shell{display:flex;align-items:flex-start;gap:8px;width:100%}.response-shell.inline{display:inline-flex;width:auto;vertical-align:middle}.response-input,.response-area,.gap-input,.table-input,.path-input,.chain-input,.sequence-input,.graph-input,.margin-note-textarea{background:#fff;border:2px solid var(--green);border-radius:7px;padding:8px;color:var(--ink);position:relative;z-index:1}.response-input{width:min(420px,100%)}.response-area{width:100%;resize:vertical}.dictate-button{display:none;flex:0 0 auto;white-space:nowrap}.dictate-button.listening{background:var(--yellow);border-color:var(--orange)}html[data-pathway="dictation"] .dictate-button{display:inline-block}html[data-pathway="paper"] .dictate-button{display:none!important}.choices{display:grid;gap:8px;margin-top:10px}.paper-table{border-collapse:collapse;width:100%}.paper-table th,.paper-table td{border:2px solid var(--line);padding:9px;vertical-align:top}.paper-table th{background:var(--light)}.table-input{width:100%}.image-box img{max-width:100%;height:auto;display:block;margin:auto}.pathway,.chain{display:flex;flex-direction:column;align-items:center;gap:8px}.path-step{width:min(780px,100%);border:2px solid var(--line);border-radius:10px;padding:12px;text-align:center}.arrow{font-size:1.5rem;color:var(--green);font-weight:800}
.margin-note-wrap{border:2px solid var(--green);border-left:6px solid var(--green);border-radius:12px;padding:14px 16px;margin:-4px 0 18px;background:var(--light)}.margin-note-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.margin-note-top strong{color:var(--dark)}
.support-panel{position:fixed;right:12px;top:88px;bottom:12px;width:min(430px,calc(100vw - 24px));background:#fff;border:3px solid var(--green);border-radius:12px;display:none;z-index:100;overflow:hidden}.support-panel.open{display:flex;flex-direction:column}.support-head,.review-head,.dictation-head{display:flex;justify-content:space-between;align-items:flex-start;padding:12px;border-bottom:2px solid var(--sage)}.support-head h2,.review-head h2,.dictation-head h2{margin:0;color:var(--dark)}.support-head button,.review-head button,.dictation-head button{border:0;background:#fff;font-size:1.7rem}.support-actions{display:flex;gap:8px;padding:12px;border-bottom:1px solid var(--line)}.support-content{padding:12px;overflow:auto;flex:1}.break-parts{display:flex;flex-direction:column;gap:10px}.break-part{background:var(--yellow);border:2px solid var(--orange);border-radius:999px;padding:8px 16px;font-weight:600}.coach-choice,.starter-button{display:block;width:100%;text-align:left;background:#fff;border:2px solid var(--green);border-radius:10px;padding:10px 12px;margin:8px 0;color:var(--ink)}
.review-modal,.dictation-modal{position:fixed;inset:0;background:#fff;z-index:150;display:none;overflow:auto}.review-modal.open,.dictation-modal.open{display:block}.review-inner,.dictation-inner{max-width:980px;margin:auto;padding:20px}.review-item{border:2px solid var(--line);border-radius:10px;padding:12px;margin:10px 0}.review-item.unanswered{border-color:var(--orange)}.review-actions{display:flex;gap:10px;position:sticky;bottom:0;background:#fff;padding:12px 0}.dictation-inner{max-width:680px}.dictation-actions{display:flex;gap:10px;flex-wrap:wrap}.dictation-status{border:2px solid var(--line);border-radius:8px;padding:10px}.dictation-status.error{border-color:var(--error);color:var(--error);font-weight:700}.dictation-status.listening{border-color:var(--orange);background:var(--yellow)}#turnstileContainer{min-height:65px}.bottom-nav{display:flex;justify-content:space-between;margin:24px 0 60px}
.paper-response,.paper-choices{display:none}html[data-pathway="paper"] .typed-response,html[data-pathway="paper"] .student-fields,html[data-pathway="paper"] #reviewBtn{display:none!important}html[data-pathway="paper"] .paper-response,html[data-pathway="paper"] .paper-choices{display:inline-block}html[data-pathway="paper"] .paper-response-lines{display:block;width:100%;min-height:calc(var(--paper-lines,3)*31px);margin-top:10px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 30px,#747d78 31px)}html[data-pathway="paper"] .paper-inline-blank{min-width:90px;height:1.25em;border-bottom:2px solid var(--ink);vertical-align:bottom;margin:0 6px}html[data-pathway="paper"] .paper-number-box{width:55px;height:42px;border:2px solid var(--ink)}.paper-choices{display:grid;gap:8px}.paper-choice{display:flex;gap:8px}.paper-check{width:21px;height:21px;border:2px solid var(--ink)}
.matching-box{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(360px,1.3fr);gap:28px}.matching-terms,.matching-definitions{display:grid;gap:14px}.matching-definition{display:grid;grid-template-columns:100px 1fr;gap:14px;align-items:center}.word-bank-items{display:flex;flex-wrap:wrap;gap:18px 42px;line-height:1.8}.venn-regions{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.venn-region{border:2px solid var(--line);border-radius:12px;padding:12px}.compact-response-row{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center;margin:12px 0}.follow-up-response{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:14px;align-items:start;margin:14px 0}
html[data-text-size="large"]{--body:21px}html[data-text-size="larger"]{--body:23px}html[data-text-size="largest"]{--body:25px}@media(max-width:760px){.pathway-choices{grid-template-columns:1fr}.support-panel{left:8px;right:8px;top:auto;bottom:8px;width:auto;max-height:72vh}.matching-box,.venn-regions,.follow-up-response{grid-template-columns:1fr}.response-shell{flex-wrap:wrap}.brand-lockup{font-size:1.4rem}.brand-lockup img{height:45px}}@media print{.brand-header,.sticky-controls,.support-panel,.review-actions,.overlay,.bottom-nav,.dictation-modal,.dictate-button{display:none!important}.review-modal{position:static;display:block}.review-inner{max-width:none}}

/* v0.10.1 — approved compact left-side Dictation panel. */
.dictation-modal{
  position:fixed;
  left:14px;
  right:auto;
  top:96px;
  bottom:auto;
  width:min(390px,calc(100vw - 28px));
  max-height:calc(100vh - 110px);
  background:transparent;
  z-index:150;
  display:none;
  overflow:visible;
}
.dictation-modal.open{display:block}
.dictation-inner{
  max-width:none;
  margin:0;
  padding:16px;
  background:#fff;
  border:3px solid var(--green);
  border-radius:12px;
  box-shadow:0 8px 24px rgba(23,34,28,.18);
  overflow:auto;
  max-height:calc(100vh - 110px);
}
@media(max-width:560px){
  .dictation-modal{
    left:8px;
    top:auto;
    bottom:8px;
    width:calc(100vw - 16px);
    max-height:72vh;
  }
  .dictation-inner{max-height:72vh}
}



/* Skeletal System approved task-layout corrections. */
.paper-choices{display:none}
html[data-pathway="paper"] .paper-choices{display:grid}
html[data-pathway="paper"] .response-shell{display:none!important}
html[data-pathway="paper"] .follow-up-response .paper-response-lines,
html[data-pathway="paper"] .question-box .paper-response-lines{width:100%}

.question-context p{margin:.35rem 0 1rem}
.combined-task-followup{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}

.morphology-rows{display:grid;gap:10px;margin-top:10px}
.morphology-row{display:grid;grid-template-columns:1fr;gap:3px;align-items:start;width:100%}
.morphology-part{font-weight:800;color:var(--dark);width:100%}
.morphology-meaning{min-width:0;width:100%}

.number-order-heading{margin-top:0}
.number-order-directions{font-weight:700;margin:.35rem 0 1rem}
.number-order-list{display:grid;gap:10px}
.number-order-row{display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;align-items:center}
.number-order-row .response-shell{width:56px}
.number-order-row .response-input{width:56px;min-width:56px;text-align:center}
.number-order-row .paper-number-box{width:42px;height:38px;margin-right:8px}

@media(max-width:760px){
 .morphology-row{grid-template-columns:1fr}
 .number-order-row{grid-template-columns:52px minmax(0,1fr);gap:10px}
}

/* Focus behavior repair — fade only the other sentences in the selected reading box. */
.reading-box.focus-active .sentence{
  opacity:0.24;
}
.reading-box.focus-active .sentence.focus-selected{
  opacity:1;
}
