/* v41 · Mastery Learning UI ------------------------------------------------ */
.ml-learning-sequence{display:grid;gap:16px;margin:18px 0}.ml-card{background:color-mix(in srgb,var(--surface,#fff) 96%,transparent);border:1px solid color-mix(in srgb,currentColor 10%,transparent);border-radius:22px;padding:18px;box-shadow:0 14px 34px rgba(15,23,42,.05);content-visibility:auto;contain-intrinsic-size:260px}.ml-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.ml-card h3{margin:4px 0 6px;font-size:clamp(1.05rem,2vw,1.35rem)}.ml-card p{margin:.25rem 0;line-height:1.55}.ml-chip{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,currentColor 7%,transparent);font-size:.72rem;font-weight:800}.ml-chip.ok{background:rgba(22,163,74,.1);color:#15803d}.ml-fade-switch,.kb-tutor-modes{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 14px}.ml-fade-switch button,.kb-tutor-modes button,.ml-confidence button,.ml-quiz-confidence button{appearance:none;border:1px solid color-mix(in srgb,currentColor 12%,transparent);background:transparent;border-radius:999px;padding:8px 11px;font:inherit;font-size:.78rem;cursor:pointer}.ml-fade-switch button.active,.kb-tutor-modes button.active,.ml-confidence button.active,.ml-quiz-confidence button.active{background:#111827;color:white;border-color:#111827}.ml-worked-grid{display:grid;gap:8px}.ml-worked-grid article{display:grid;grid-template-columns:32px 1fr;gap:10px;padding:12px;border-radius:16px;background:color-mix(in srgb,currentColor 3%,transparent)}.ml-worked-grid article>i{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:color-mix(in srgb,currentColor 7%,transparent);font-style:normal;font-weight:900}.ml-worked-grid article strong{display:block}.ml-worked-grid article input{width:100%;margin-top:6px;border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:10px;padding:10px;background:transparent;color:inherit}.ml-worked-grid article.is-blank{outline:1px dashed color-mix(in srgb,currentColor 20%,transparent)}.ml-inline-note,.ml-feedback{padding:11px 13px;border-radius:14px;background:color-mix(in srgb,currentColor 5%,transparent);font-size:.88rem;line-height:1.5;margin-top:12px}.ml-inline-note.ok,.ml-feedback.ok{background:rgba(22,163,74,.09);color:#166534}.ml-feedback.bad{background:rgba(220,38,38,.08);color:#991b1b}.ml-feedback.warn{background:rgba(217,119,6,.09);color:#92400e}.ml-confidence{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 0}.ml-confidence>div{display:flex;gap:6px;flex-wrap:wrap}.ml-choice-list{display:grid;gap:8px}.ml-choice-list button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid color-mix(in srgb,currentColor 12%,transparent);background:transparent;border-radius:14px;padding:11px 13px;color:inherit;cursor:pointer}.ml-choice-list button i{display:grid;place-items:center;min-width:28px;height:28px;border-radius:9px;background:color-mix(in srgb,currentColor 6%,transparent);font-style:normal;font-weight:900}.ml-choice-list button:hover{background:color-mix(in srgb,currentColor 3%,transparent)}.ml-choice-list button.correct{border-color:#16a34a;background:rgba(22,163,74,.06)}.ml-choice-list button.wrong{border-color:#dc2626;background:rgba(220,38,38,.05)}.ml-inline-form textarea,.ml-create-form textarea,.ml-create-form input,.ml-create-form select{width:100%;box-sizing:border-box;border:1px solid color-mix(in srgb,currentColor 13%,transparent);border-radius:12px;padding:10px 12px;background:transparent;color:inherit}.ml-inline-form{display:grid;gap:10px}.ml-terminal{overflow:hidden;border-radius:16px;background:#0b1020;color:#dbeafe;border:1px solid #1e293b}.ml-terminal-top{display:flex;justify-content:space-between;padding:9px 12px;background:#111827;color:#94a3b8;font-size:.78rem}.ml-terminal pre{margin:0;min-height:170px;max-height:300px;overflow:auto;padding:14px;white-space:pre-wrap;font:500 .82rem/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.ml-terminal form{display:flex;border-top:1px solid #1e293b}.ml-terminal label{display:flex;align-items:center;gap:7px;flex:1;padding:8px 12px}.ml-terminal input{flex:1;background:transparent;border:0;outline:0;color:#e2e8f0;font:inherit}.ml-terminal button{border:0;background:#2563eb;color:white;padding:0 16px;font-weight:800}.ml-terminal small{display:block;padding:8px 12px;color:#94a3b8;border-top:1px solid #1e293b}.ml-visual-editor{display:grid;grid-template-columns:minmax(160px,230px) 1fr;gap:16px;align-items:start}.ml-visual-controls{display:grid;gap:12px}.ml-visual-controls label{display:grid;gap:5px;font-size:.78rem;font-weight:700}.ml-design-preview{display:grid;gap:12px;padding:clamp(16px,5vw,34px);max-width:520px;border:1px solid color-mix(in srgb,currentColor 12%,transparent);border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,currentColor 3%,transparent),transparent)}.ml-design-preview>span{font-size:.68rem;letter-spacing:.16em;font-weight:900}.ml-design-preview h4{font-size:38px;line-height:.95;margin:0;max-width:9ch}.ml-design-preview button{justify-self:start;padding:9px 14px;border:0;border-radius:999px;background:#111827;color:white}.ml-knowledge-map summary,.ml-error-journal summary{cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center;list-style:none}.ml-map{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:14px}.ml-map-center,.ml-map a{border-radius:999px;padding:8px 11px;text-decoration:none}.ml-map-center{background:#111827;color:white;font-weight:800}.ml-map a{border:1px solid color-mix(in srgb,currentColor 12%,transparent);color:inherit}.ml-journal-list{display:grid;gap:8px;margin-top:12px}.ml-journal-list article{display:flex;gap:10px;padding:10px;background:color-mix(in srgb,currentColor 3%,transparent);border-radius:12px}.ml-journal-list i{font-style:normal}.ml-live-card{border-color:rgba(37,99,235,.25)}.ml-live-dot{color:#dc2626;font-weight:900;font-size:.7rem;letter-spacing:.12em}.ml-custom-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.ml-custom-grid article{padding:13px;border:1px solid color-mix(in srgb,currentColor 10%,transparent);border-radius:14px}.ml-custom-grid article strong{display:block;margin:6px 0}.ml-create-challenge-shell{display:grid;gap:16px}.ml-create-form{display:grid;gap:12px;max-width:800px;margin:auto;width:100%}.ml-create-form label{display:grid;gap:6px;font-size:.82rem;font-weight:700}.ml-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ml-quiz-confidence{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 14px}.ml-quiz-confidence>span{width:100%;font-size:.75rem;font-weight:800;color:var(--muted,#64748b)}
@media(max-width:720px){.ml-visual-editor,.ml-form-grid{grid-template-columns:1fr}.ml-card{padding:14px;border-radius:17px}.ml-card>header{flex-direction:column}.ml-confidence{align-items:flex-start}.ml-confidence>div{width:100%}}
@media(prefers-reduced-motion:reduce){.ml-card *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* v31 · automatic schedule recovery */
.calendar-warning-badge{display:block;margin-top:.35rem;font-size:.7rem;line-height:1.25;font-weight:750}.calendar-exception-badge.shifted{opacity:.82}

/* v41 · Mastery / Authoring ----------------------------------------------- */
.ml-teacher-mis,.ml-intervention-groups,.ml-custom-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.ml-teacher-mis article,.ml-intervention-groups article,.ml-custom-grid article{padding:13px;border:1px solid rgba(15,23,42,.09);border-radius:14px;background:rgba(255,255,255,.55)}.ml-teacher-mis article strong,.ml-intervention-groups article strong,.ml-custom-grid article strong{display:block;margin-bottom:5px}.ml-teacher-mis article span{display:block;font-size:.8rem}.ml-teacher-mis article small,.ml-intervention-groups article small,.ml-custom-grid article small{display:block;margin-top:8px;color:#64748b}.ml-live-teacher{display:grid;gap:14px}.ml-live-bars{display:grid;gap:9px}.ml-live-bars>div{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,2fr) 80px;gap:10px;align-items:center}.ml-live-bars span{font-size:.82rem}.ml-live-bars b{text-align:right}.teacher-form-grid textarea{width:100%;box-sizing:border-box}
@media(max-width:720px){.ml-live-bars>div{grid-template-columns:1fr}.ml-live-bars b{text-align:left}}
.ml-copilot-plan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.ml-copilot-plan article{padding:12px;border-radius:13px;background:rgba(15,23,42,.035);border:1px solid rgba(15,23,42,.07)}.ml-copilot-plan article span{font-size:.68rem;font-weight:900;color:#64748b}.ml-copilot-plan article strong{display:block;margin:4px 0}.ml-copilot-plan article p{font-size:.8rem;line-height:1.45;margin:0}@media(max-width:900px){.ml-copilot-plan{grid-template-columns:1fr 1fr}}@media(max-width:620px){.ml-copilot-plan{grid-template-columns:1fr}}
.ml-transfer{border-color:rgba(37,99,235,.18)}

/* v41 completion layer */
.ml-template-row{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.ml-class-tips summary,.ml-portfolio-story summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px}.ml-design-preview.is-before{outline:2px dashed color-mix(in srgb,currentColor 22%,transparent);opacity:.82}.ml-teach-actions .button-row{align-items:center}.ml-teach-actions form{margin:0}.ml-portfolio-story{margin-top:16px}.ml-portfolio-story form label{display:grid;gap:6px;font-size:.78rem;font-weight:800}.ml-portfolio-story textarea{font-weight:400}.ml-card :focus-visible,.ml-template-row button:focus-visible{outline:3px solid color-mix(in srgb,#2563eb 56%,transparent);outline-offset:2px}.ml-class-tips .muted{font-size:.82rem}.ml-live-card button{min-height:42px}
@media(max-width:720px){.ml-template-row{display:grid;grid-template-columns:1fr 1fr}.ml-template-row .btn{width:100%}}

/* v42 Adaptive Lesson Kits ------------------------------------------------ */
.v42-path-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;margin:18px 0;padding:20px;border:1px solid var(--line,#dfe3ea);border-radius:18px;background:color-mix(in srgb,var(--panel,#fff) 96%,transparent);box-shadow:0 12px 34px rgba(17,24,39,.05)}
.v42-path-card h2,.v42-kit-shell h2{margin:.2rem 0 .35rem}.v42-path-copy p{margin:.25rem 0;color:var(--muted,#64748b)}.v42-path-copy small{display:block;margin-top:.5rem;color:var(--muted,#64748b)}
.v42-path-actions details{min-width:180px}.v42-path-buttons{display:grid;gap:7px;margin-top:10px}.v42-path-buttons form{margin:0}.v42-path-buttons .btn{width:100%}
.v42-signal-strip{grid-column:1/-1;display:flex;gap:16px;flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--line,#e5e7eb);font-size:.82rem;color:var(--muted,#64748b)}
.v42-kit-shell{margin:20px 0 28px;padding:20px;border:1px solid var(--line,#dfe3ea);border-radius:20px;background:var(--panel,#fff)}.v42-kit-shell>header{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-bottom:10px}.v42-kit-shell>header p{margin:.25rem 0;color:var(--muted,#64748b)}
.v42-kit-section{border-top:1px solid var(--line,#e5e7eb)}.v42-kit-section>summary{list-style:none;display:flex;gap:12px;align-items:center;padding:16px 2px;cursor:pointer}.v42-kit-section>summary::-webkit-details-marker{display:none}.v42-kit-section>summary>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--soft,#f4f6f8);font-weight:800}.v42-kit-section>summary>div{display:grid;gap:2px}.v42-kit-section>summary small{color:var(--muted,#64748b)}.v42-kit-body{padding:2px 0 20px}
.v42-video-grid,.v42-prompt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}.v42-video-card,.v42-prompt-card,.v42-onepager{border:1px solid var(--line,#e5e7eb);border-radius:14px;padding:16px;background:var(--soft-panel,#fbfcfe)}.v42-video-top{display:grid;gap:3px}.v42-video-top>span,.v42-video-top>small{font-size:.78rem;color:var(--muted,#64748b)}.v42-watch-guide{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;margin:12px 0;font-size:.84rem}.v42-watch-guide b{color:var(--muted,#64748b)}
.v42-storyboard{margin-top:14px;border:1px dashed var(--line,#d6dbe3);border-radius:14px;padding:14px}.v42-story-row{display:grid;grid-template-columns:82px 1fr;gap:12px;padding:9px 0;border-top:1px solid var(--line,#eef0f4)}.v42-story-row:first-of-type{border-top:0}.v42-story-row>div{display:grid;gap:2px}.v42-story-row span,.v42-story-row small{color:var(--muted,#64748b)}
.v42-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.v42-workbook-list{padding-left:1.25rem}.v42-workbook-list li{margin:.45rem 0}.v42-glossary{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:12px}.v42-glossary>div{display:grid;gap:3px;padding:10px;border-radius:10px;background:var(--soft,#f6f7f9)}.v42-glossary span{font-size:.84rem;color:var(--muted,#64748b)}
.v42-prompt-card textarea{width:100%;margin:10px 0;resize:vertical;border:1px solid var(--line,#dfe3ea);border-radius:10px;padding:10px;background:var(--panel,#fff);font:inherit;font-size:.8rem;line-height:1.45}.v42-rubric{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}.v42-rubric>div{display:grid;gap:4px;padding:11px;border:1px solid var(--line,#e5e7eb);border-radius:12px}.v42-rubric span{font-size:.82rem;color:var(--muted,#64748b)}
.v42-slide-shell{max-width:1200px;margin:0 auto;padding:20px}.v42-slide-shell>header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.v42-slide-stage{min-height:64vh;display:grid;place-items:center}.v42-slide{width:min(100%,1000px);min-height:56vh;display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,6vw,80px);border:1px solid var(--line,#e5e7eb);border-radius:28px;background:var(--panel,#fff);box-shadow:0 28px 80px rgba(15,23,42,.08)}.v42-slide>span{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted,#64748b)}.v42-slide h2{font-size:clamp(2rem,5vw,4.8rem);line-height:1.03;margin:.4rem 0 1rem}.v42-slide>p{font-size:clamp(1.05rem,2vw,1.45rem);max-width:800px;line-height:1.5}.v42-slide footer{margin-top:auto;padding-top:24px;display:grid;gap:4px;color:var(--muted,#64748b)}.v42-slide-footer{text-align:center;color:var(--muted,#64748b);font-size:.8rem}
@media(max-width:760px){.v42-path-card,.v42-two-col{grid-template-columns:1fr}.v42-kit-shell>header,.v42-slide-shell>header{align-items:flex-start;flex-direction:column}.v42-rubric{grid-template-columns:1fr 1fr}.v42-story-row{grid-template-columns:70px 1fr}.v42-slide{min-height:60vh;padding:26px;border-radius:18px}}
@media(prefers-reduced-motion:reduce){.v42-slide,.v42-kit-section,*[data-v42-slides]{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.v42-slide-shell .button-row,.v42-slide-footer,.topbar,.footer{display:none!important}.v42-slide{page-break-after:always;min-height:90vh;box-shadow:none;border:0}.v42-slide[hidden]{display:flex!important}.v42-slide-stage{display:block}}
.v42-lane-plan{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.v42-lane-plan span{padding:9px 11px;border-radius:10px;background:var(--soft,#f5f7f9);font-size:.8rem;color:var(--muted,#64748b)}
@media(max-width:760px){.v42-lane-plan{grid-template-columns:1fr 1fr}}
.v42-course-path{display:block;margin-top:10px;padding:8px 10px;border-radius:9px;background:var(--soft,#f6f7f9);color:var(--muted,#64748b);font-size:.78rem}.v42-course-path strong{color:var(--text,#111827)}
.course-card-actions{display:grid;gap:7px;justify-items:end}.course-card-actions .text-link{font-size:.78rem}
@media(max-width:760px){.course-card-actions{justify-items:start}}

/* v42 teacher resource override: compact, progressive disclosure */
.v42-teacher-resource{margin-top:14px;border-top:1px solid var(--line,#d9e0e7);padding-top:12px}
.v42-teacher-resource>summary{cursor:pointer;list-style:none;display:flex;gap:7px;align-items:center;min-height:40px}
.v42-teacher-resource>summary::-webkit-details-marker{display:none}
.v42-resource-form{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:12px}
.v42-resource-form label{display:grid;gap:5px;font-size:.86rem;font-weight:650}
.v42-resource-form label:last-of-type{grid-column:1/-1}
.v42-resource-form input,.v42-resource-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--line,#d9e0e7);border-radius:10px;padding:10px 11px;background:var(--surface,#fff);color:inherit;font:inherit}
.v42-resource-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.v42-resource-remove{margin-top:8px;display:flex;justify-content:flex-end}
@media(max-width:720px){.v42-resource-form{grid-template-columns:1fr}.v42-resource-form label:last-of-type,.v42-resource-actions{grid-column:auto}}

/* v42 teacher presentation overlay */
.v42-teacher-deck{position:fixed;inset:0;z-index:1400;background:rgba(8,12,18,.97);color:#fff;padding:24px;display:grid;grid-template-rows:auto 1fr;gap:16px}
.v42-teacher-deck[hidden]{display:none!important}.v42-teacher-deck-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px}.v42-teacher-deck-toolbar>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.v42-teacher-deck-stage{display:grid;place-items:center;min-height:0}.v42-teacher-deck-slide{width:min(1100px,92vw);min-height:min(620px,72vh);border:1px solid rgba(255,255,255,.16);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035));padding:clamp(28px,6vw,74px);box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;box-shadow:0 28px 90px rgba(0,0,0,.3)}
.v42-teacher-deck-slide>span{font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;opacity:.6}.v42-teacher-deck-slide h2{font-size:clamp(2rem,5vw,4.6rem);line-height:1.02;margin:.35em 0}.v42-teacher-deck-slide>p{font-size:clamp(1.05rem,2vw,1.6rem);line-height:1.5;max-width:52ch}.v42-teacher-deck-slide footer{margin-top:auto;padding-top:30px;border-top:1px solid rgba(255,255,255,.12);display:grid;gap:4px;opacity:.78}
@media(max-width:700px){.v42-teacher-deck{padding:12px}.v42-teacher-deck-toolbar{align-items:flex-start;flex-direction:column}.v42-teacher-deck-slide{min-height:70vh;border-radius:18px;padding:26px}}
