.diagnosis-page,.practice-page{display:grid;gap:1.5rem}.diagnosis-page{max-width:850px;margin:0 auto}.diagnosis-progress{height:6px;border-radius:999px;background:#dfdce9;overflow:hidden}.diagnosis-progress span{display:block;height:100%;background:#2e1476;transition:width .25s ease}.diagnosis-question,.diagnosis-result,.practice-section{padding:clamp(1.25rem,3vw,2rem)}.diagnosis-question h2,.diagnosis-result h2,.practice-section h2{margin:.25rem 0 .5rem;color:#201246}.diagnosis-result h2{font-size:clamp(2.25rem,7vw,4.25rem)}.diagnosis-options{display:grid;gap:.65rem;margin:1.25rem 0}.diagnosis-options label{display:flex;align-items:center;gap:.75rem;padding:.9rem 1rem;border:1px solid #cec9dc;border-radius:12px;background:#fcfbfd;cursor:pointer;transition:border-color .15s,background .15s}.diagnosis-options label.selected,.diagnosis-options label:hover{border-color:#2e1476;background:#f0edf7}.diagnosis-options input{accent-color:#2e1476}.diagnosis-options.compact{margin:.75rem 0}.diagnosis-oral{margin-top:1.25rem}.diagnosis-actions,.practice-recorder-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}.diagnosis-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.25rem 0}.diagnosis-summary div{padding:1rem;border-radius:12px;background:#f3f2f7}.diagnosis-summary dt{color:#5f5777;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.diagnosis-summary dd{margin:.25rem 0 0;font-weight:700;color:#241847}.practice-page{max-width:1020px;margin:0 auto}.practice-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.practice-steps a{display:flex;align-items:center;gap:.6rem;padding:.8rem 1rem;border:1px solid #d3cfe0;border-radius:12px;color:#40355e;text-decoration:none;background:#fff}.practice-steps span{display:grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:#e8e5ef;font-weight:700}.practice-steps a.done{color:#260f66;border-color:#a091c9;background:#f2eff9}.practice-steps a.done span{color:#fff;background:#2e1476}.practice-section{scroll-margin-top:1rem}.practice-section>p{color:#544c6b}.practice-audio{display:block;width:100%;margin:1rem 0}.practice-transcript-toggle{margin-top:.25rem}.practice-transcript{margin:1rem 0;padding:1rem 1.1rem;border-left:3px solid #523c8f;border-radius:0 10px 10px 0;background:#f2f0f7}.practice-transcript p{margin:.4rem 0;line-height:1.5}.practice-question{margin-top:1rem;padding:1.1rem;border-radius:14px;background:#f6f5f8}.practice-question h3{margin:0;color:#241748}.practice-feedback{margin:1rem 0 0;color:#8a4d16;font-weight:650}.practice-feedback.success{padding:.8rem 1rem;border-radius:10px;color:#261161;background:#edeaf7}.practice-phrases{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:1rem 0}.practice-phrases button{min-height:138px;padding:1rem;border:1px solid #c3bcd7;border-radius:14px;background:#f1eff8;color:#221547;text-align:left;cursor:pointer}.practice-phrases button.flipped{background:#221547;color:#fff}.practice-phrases small,.practice-phrases span{display:block}.practice-phrases span{font-size:1.05rem;font-weight:700;line-height:1.45}.practice-phrases small{margin-top:.75rem;opacity:.75}.practice-attempt{margin:1rem 0;padding:1rem;border:1px solid #d3cfe0;border-radius:14px;background:#fcfbfd}.practice-attempt p{line-height:1.55}.practice-review{margin-top:.8rem;padding:.75rem 1rem;border-radius:10px;background:#f0edf7}.practice-review p{margin:.35rem 0}.practice-pending,.practice-submission{margin-top:1rem;padding:1.15rem;border-radius:14px;background:#f4f3f7}.practice-pending h3{margin-top:0}.practice-recorder{margin:1rem 0;padding:1rem;border:1px solid #cdc8dd;border-radius:12px;background:#fff}.practice-recorder-actions{margin-top:0}.practice-recorder-actions .demo-button{display:inline-flex;align-items:center;gap:.4rem}.practice-audio-preview{margin-top:1rem}.practice-audio-preview strong{color:#2d214e}.practice-audio-preview .practice-audio{margin-bottom:.5rem}.practice-submission-preserved{display:none}@media (max-width:700px){.diagnosis-summary,.practice-phrases,.practice-steps{grid-template-columns:1fr}.practice-steps{gap:.4rem}.diagnosis-actions .demo-button,.practice-recorder-actions .demo-button{width:100%;justify-content:center}.diagnosis-question,.diagnosis-result,.practice-section{padding:1.05rem}.practice-phrases button{min-height:105px}}@media (prefers-reduced-motion:reduce){.diagnosis-options label,.diagnosis-progress span{transition:none}}.teacher-tabs{display:flex;gap:.25rem;overflow:auto;border-bottom:1px solid #ddd9e7}.teacher-tabs button{flex:0 0 auto;border:0;border-bottom:3px solid transparent;background:none;padding:.8rem 1rem;color:#5a536f;font:inherit;font-weight:650;cursor:pointer}.teacher-tabs button.active{border-color:#2d0f82;color:#19084a}.teacher-filters button:focus-visible,.teacher-tabs button:focus-visible{outline:3px solid #9178d6;outline-offset:2px}.teacher-feedback,.teacher-group{padding:1.25rem}.teacher-search input{min-width:220px;border:1px solid #c0b9d2;border-radius:.5rem;padding:.65rem .75rem;font:inherit}.teacher-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.teacher-filters button{border:1px solid #cec9dc;border-radius:99px;background:#fff;padding:.4rem .7rem;color:#41385a;font:inherit;cursor:pointer}.teacher-filters .selected{background:#e7e2f4;border-color:#371a88;color:#1c0758}.teacher-table-wrap{position:relative;overflow-x:auto}.teacher-table-wrap table{width:100%;min-width:650px;border-collapse:collapse;text-align:left}.teacher-table-wrap td,.teacher-table-wrap th{border-bottom:1px solid #e4e1ec;padding:.8rem .6rem;vertical-align:middle}.teacher-table-wrap th{color:#5a5271;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.teacher-person{display:flex;gap:.65rem;align-items:center}.teacher-person span{display:grid;gap:.1rem}.teacher-person small{color:#6c6481}.teacher-detail-button{white-space:nowrap}.teacher-empty{border:1px dashed #c1bad3;border-radius:.75rem;padding:1.25rem;background:#f8f7fb}.teacher-attempt{border:1px solid #d9d5e5;border-radius:.75rem;padding:1rem;background:#fcfbfd}.teacher-attempt h3,.teacher-review h3{margin:.2rem 0 .6rem}.teacher-attempt-text{white-space:pre-wrap;line-height:1.55}.teacher-attempt audio{width:100%;margin:.5rem 0}.teacher-review{display:grid;gap:1rem}.teacher-review-note{display:grid;gap:.2rem;border-left:3px solid #2c0d83;padding:.5rem .75rem;background:#f1eef9;color:#3f365a;font-size:.9rem}.teacher-rubric{border:0;padding:0;margin:0}.teacher-rubric legend{font-weight:700;margin-bottom:.5rem}.teacher-rubric-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid #e5e2ed;padding:.65rem 0}.teacher-score-options{display:flex;gap:.3rem}.teacher-score-options label{position:relative}.teacher-score-options input{position:absolute;opacity:0}.teacher-score-options span{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid #c6c1d5;border-radius:50%;cursor:pointer}.teacher-score-options input:checked+span{background:#19074b;border-color:#19074b;color:#fff}.teacher-score-options input:focus-visible+span{outline:3px solid #9178d6}.teacher-rubric-help{margin:.5rem 0 0;color:#6c6481;font-size:.85rem}.teacher-reviewed-list{border-top:1px solid #dfdce8;margin-top:1.25rem;padding-top:1rem}.teacher-reviewed-list article{display:flex;gap:.75rem;align-items:center;padding:.5rem 0}.teacher-followup-card{display:grid;gap:.75rem;padding:1.25rem}.teacher-followup-card h2{margin:0}.teacher-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.teacher-metrics article{display:grid;gap:.25rem;padding:1.15rem;border-radius:.75rem;background:#19074b;color:#fff}.teacher-metrics strong{font-size:1.8rem}.teacher-metrics span{font-size:.9rem;color:#d7d1e8}.teacher-pipeline{display:flex;gap:.5rem;list-style:none;padding:0;margin:1rem 0}.teacher-pipeline li{flex:1;border:1px solid #ccc7da;border-radius:.5rem;padding:.65rem;text-align:center;color:#615b72}.teacher-pipeline li.done{background:#e8e4f5;border-color:#9b8bc9;color:#1c0758}.teacher-student-modal{display:grid;gap:1rem}.teacher-student-modal dl{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0}.teacher-student-modal dl div{padding:.6rem;background:#f5f4f8;border-radius:.5rem}.teacher-student-modal dt{color:#67607c;font-size:.8rem}.teacher-student-modal dd{margin:.2rem 0 0;font-weight:700}.progress-compare .demo-card{padding:1.25rem}.progress-compare h2,.progress-empty h2,.progress-pending h2{margin:.25rem 0 .6rem}.progress-scale-label{color:#6c6581;font-size:.88rem}.progress-bars{display:grid;gap:.55rem;margin-top:1rem}.progress-bars span{display:grid;grid-template-columns:6rem 1fr;gap:.55rem;align-items:center;font-size:.88rem;color:#59526e}.progress-bars i{display:block;height:.55rem;border-radius:9px;background:#dfdbe9;overflow:hidden}.progress-bars i:after{content:"";display:block;width:100%;height:100%;border-radius:inherit;background:#371596}.progress-empty,.progress-pending{display:grid;gap:.7rem;padding:1.25rem}.progress-pending{border-left:4px solid #d68444}.progress-review{display:grid;gap:1rem;padding:1.25rem}.progress-feedback{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.progress-feedback div{padding:1rem;background:#f3f1f8;border-radius:.65rem}.progress-feedback h3{font-size:.95rem;margin:0 0 .35rem}.progress-feedback p{margin:0;line-height:1.5}.progress-rubric{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.progress-rubric article{display:grid;gap:.3rem;border:1px solid #ddd9e8;border-radius:.65rem;padding:.85rem}.progress-rubric strong{color:#250876;font-size:1.3rem}.progress-checkpoints small,.progress-record small,.progress-rubric small{color:#6c6481;line-height:1.35}.progress-history{display:grid;gap:.75rem}.progress-history article{display:grid;grid-template-columns:1fr minmax(180px,240px) auto;gap:1rem;align-items:center;border-top:1px solid #e3e0eb;padding:.85rem 0}.progress-history p{margin:.25rem 0 0;color:#59516e}.progress-history audio{width:100%}.progress-record{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.progress-checkpoints article,.progress-record article{display:grid;gap:.4rem;padding:1rem;background:#f6f5f9;border-radius:.65rem}.progress-record span{font-weight:700}.progress-checkpoints{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.progress-checkpoints span{color:#280784;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.progress-checkpoints p{margin:0;line-height:1.45}@media (max-width:640px){.teacher-feedback,.teacher-group{padding:1rem}.teacher-search input{min-width:0;width:100%}.demo-section-heading{gap:.75rem;align-items:flex-start}.teacher-rubric-row{align-items:flex-start;flex-direction:column}.progress-checkpoints,.progress-feedback,.progress-record,.progress-rubric,.teacher-metrics{grid-template-columns:1fr}.teacher-pipeline{flex-direction:column}.progress-history article,.teacher-student-modal dl{grid-template-columns:1fr}.progress-history audio{max-width:100%}}.teacher-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.teacher-summary button{display:grid;gap:.18rem;text-align:left;border:1px solid #d9d5e5;border-radius:.7rem;background:#fff;padding:.85rem;color:#2e244b;cursor:pointer;font:inherit}.teacher-summary strong{font-size:1.05rem;color:#19074b}.teacher-summary small{color:#250876}.progress-attempt-status,.teacher-student-attempts{display:grid;gap:.4rem;padding:.75rem;background:#f3f1f8;border-radius:.55rem}.progress-baseline-audio{display:block;width:100%;margin-top:.7rem}.progress-attempt-status p{margin:0;color:#3f365a;font-size:.9rem}@media (max-width:640px){.teacher-summary{grid-template-columns:1fr}}.teacher-orientation-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:.9rem 0}.teacher-orientation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem;margin-top:.9rem}.teacher-orientation-card{display:grid;gap:.6rem;align-content:start;padding:.9rem;border:1px solid #d9d5e5;border-radius:.7rem;background:#fff}.teacher-orientation-card p{margin:0;color:#3f365a;font-size:.9rem;line-height:1.5}.teacher-groups-list{margin-top:1.1rem;padding-top:1rem;border-top:1px solid #e4e2e9;display:grid;gap:.5rem}.teacher-groups-list h3{margin:0 0 .2rem;font-size:.95rem}.teacher-group-chip{display:flex;align-items:center;gap:.6rem;padding:.5rem .7rem;background:#f3f1f8;border-radius:.55rem;font-size:.9rem}.teacher-unified-intro{margin:0}.teacher-material-intro h2{margin:.3rem 0 .7rem}.teacher-material-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem}.teacher-material-tabs button{border:1px solid #d9d5e5;background:#fff;border-radius:999px;padding:.45rem .9rem;font:inherit;font-size:.85rem;cursor:pointer;color:#2e244b}.teacher-material-tabs button.active{background:var(--teal);border-color:var(--teal);color:#fff}.teacher-material-summary{margin-top:.8rem}.teacher-material-filters{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0}.teacher-material-filters .demo-field{min-width:160px}.teacher-material-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.teacher-material-list li{display:flex;align-items:center;gap:.75rem;padding:.7rem .85rem;border:1px solid #e4e2e9;border-radius:.6rem}.teacher-material-list li>svg{color:var(--teal);flex-shrink:0}.teacher-material-list li>div{display:grid;gap:.1rem;flex:1}.teacher-material-list li small,.teacher-material-list li span{color:#5c5375;font-size:.82rem}.teacher-material-form{display:flex;flex-wrap:wrap;align-items:end;gap:1rem;margin:1rem 0}.teacher-material-form-name{flex:1;min-width:220px}@media (max-width:640px){.teacher-material-form{flex-direction:column;align-items:stretch}}.teacher-kit-agenda,.teacher-kit-intro,.teacher-kit-resource{padding:1.5rem}.teacher-kit h2,.teacher-kit h3{margin:.3rem 0 .8rem}.teacher-kit p{line-height:1.65}.teacher-kit-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.1rem}.teacher-kit-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:1.3rem;align-items:start}.teacher-kit-agenda ol{list-style:none;margin:1.3rem 0 0;padding:0}.teacher-kit-agenda li{display:grid;grid-template-columns:4rem 1fr;gap:1rem;padding:1rem 0;border-top:1px solid #ddd9e7}.teacher-kit-agenda li>span{font-weight:750;color:#230a69}.teacher-kit-agenda h4{margin:0}.teacher-kit-agenda p{margin:.3rem 0 0;color:#5a536f}.teacher-kit audio,.teacher-projection audio{width:100%;margin:.7rem 0}.teacher-kit summary,.teacher-projection summary{cursor:pointer;font-weight:650;padding:.75rem 0}.teacher-kit li{margin-bottom:.65rem}.teacher-kit-answer-key{border-left:4px solid #bf9458}.demo-modal:has(.teacher-projection){width:min(1150px,calc(100vw - 2rem));max-width:none}.teacher-projection{min-height:55vh;padding:clamp(.3rem,2vw,2rem);font-size:clamp(1rem,2.1vw,1.65rem)}.teacher-projection h3{font-size:clamp(1.6rem,3vw,2.8rem);margin:.5rem 0 1.5rem}.teacher-projection h4{margin:.5rem 0}.teacher-projection li,.teacher-projection p{line-height:1.65}.teacher-projection .demo-eyebrow,.teacher-projection .demo-muted{font-size:.85rem}.teacher-projection-roles{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.teacher-projection-roles article{padding:1rem;background:#f0edf7;border-radius:.7rem}@media (max-width:700px){.teacher-kit-grid,.teacher-projection-roles{grid-template-columns:1fr}.teacher-kit-actions>*{width:100%}.teacher-kit-agenda,.teacher-kit-intro,.teacher-kit-resource{padding:1rem}}@media print{.teacher-kit [role=status],.teacher-kit a,.teacher-kit audio,.teacher-kit dialog,.teacher-kit-actions,.teacher-kit-answer-key,.teacher-kit-download,body:has(.teacher-kit) .demo-app-footer,body:has(.teacher-kit) .demo-mobile-nav,body:has(.teacher-kit) .demo-review-bar,body:has(.teacher-kit) .demo-sidebar,body:has(.teacher-kit) .demo-skip,body:has(.teacher-kit) .demo-topbar,body:has(.teacher-kit) .teacher-summary,body:has(.teacher-kit) .teacher-tabs,body:has(.teacher-kit) .teacher-view>.demo-page-heading{display:none!important}body:has(.teacher-kit) .demo-app,body:has(.teacher-kit) .demo-content,body:has(.teacher-kit) .demo-workspace{display:block;margin:0;padding:0;width:auto}.teacher-kit-grid{display:block}.teacher-kit .demo-card{box-shadow:none;border:0;padding:.5rem 0;break-inside:avoid}.teacher-kit{color:#000;background:#fff;font-size:11pt}}