/* Shared student-Lesson components */
.student-lesson{max-width:70ch;margin-inline:auto;font-size:1.06rem;line-height:1.65}
.student-lesson .page-head{padding:4.5rem clamp(1rem,5vw,3.5rem) 3rem}
.student-lesson .page-head h1{font-size:clamp(2.4rem,7vw,4.4rem)}
.student-lesson h2,.student-lesson h3{scroll-margin-top:1rem}
.component-label{margin:0 0 .4rem;color:var(--green)!important;font:600 .68rem var(--mono);letter-spacing:.12em;text-transform:uppercase}
.lesson-action-path{margin:2rem 0 3rem;padding:clamp(1.15rem,3vw,2rem);border:1px solid var(--line);border-top:4px solid var(--green);background:var(--panel)}
.lesson-mission{padding-bottom:1.25rem;border-bottom:1px solid var(--line)}
.lesson-mission .mission-text{max-width:52ch;margin:.25rem 0 0;color:var(--paper);font-size:clamp(1.18rem,2.5vw,1.45rem);font-weight:650;line-height:1.4}
.lesson-start-controls{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1rem}
.start-challenge,.print-lesson{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.65rem .9rem;border:1px solid var(--green);font:700 .72rem var(--mono);letter-spacing:.04em;text-transform:uppercase}
.start-challenge{background:var(--green);color:#102119!important;text-decoration:none}
.print-lesson{background:transparent;color:var(--paper);cursor:pointer}
.start-challenge:hover,.start-challenge:focus-visible{background:#9be0ad}
.print-lesson:hover,.print-lesson:focus-visible{background:var(--panel2)}
.lesson-path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}
.lesson-path-grid>div{padding:1rem;border:1px solid var(--line);background:var(--panel2)}
.lesson-path-grid p:last-child{margin:.35rem 0 0}
.compact-child-first{margin-bottom:2rem}
.learner-needs{margin:1rem 0;padding:1rem 1.15rem;border:1px solid var(--line);background:var(--panel2)}
.learner-needs ul{margin:.45rem 0 0;padding-left:1.35rem}
.learner-needs li{margin:.35rem 0}
.stop-rule{margin:1.25rem 0;padding:1rem 1.15rem;border:2px solid #d36b5f;border-left-width:6px;background:#251918;color:#f8e6df}
.stop-rule strong{color:#fff}
.lesson-success{margin-top:1.25rem}
.success-checklist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;padding:0!important;list-style:none}
.success-checklist li{position:relative;margin:0!important;padding:.8rem .8rem .8rem 2.25rem;border:1px solid var(--line);background:var(--panel2);color:var(--paper)}
.success-checklist li::before{content:"✓";position:absolute;left:.8rem;color:var(--green);font-weight:700}
.lesson-progress{margin-top:1.4rem;padding-top:1rem;border-top:1px solid var(--line)}
.lesson-progress ol{display:flex;flex-wrap:wrap;gap:.45rem;padding:0;margin:0;list-style:none}
.lesson-progress li{display:flex;align-items:center;margin:0!important;color:var(--muted);font:600 .68rem var(--mono);letter-spacing:.04em;text-transform:uppercase}
.lesson-progress li+li::before{content:"→";margin-right:.45rem;color:var(--copper)}
.lesson-progress a,.lesson-progress span{display:inline-flex;padding:.42rem .58rem;border:1px solid var(--line);text-decoration:none}
.lesson-progress a:hover{border-color:var(--green);background:var(--panel2)}
.at-a-glance-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:1.5rem 0 3rem;padding:1px;background:var(--line)}
.at-a-glance-list>div{padding:1rem;background:var(--panel)}
.at-a-glance-list dt{margin:0 0 .4rem;color:var(--green);font:600 .68rem var(--mono);letter-spacing:.08em;text-transform:uppercase}
.at-a-glance-list dd{margin:0;color:#c2c8c1}
.pilot-banner{display:inline-flex;max-width:none;margin:.8rem 0 .4rem;padding:.48rem .65rem;border:1px solid var(--copper);background:#211b17}
.pilot-banner .pilot-label{margin:0;color:#ffd7bd;font-size:.7rem;letter-spacing:.05em}
.pilot-details{margin:1.5rem 0 2.5rem!important;border-left:4px solid var(--copper)!important}
.requirement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0 1.5rem}
.requirement-card{padding:1rem;border:1px solid var(--line);background:var(--panel)}
.requirement-card h4{margin:0 0 .45rem;color:var(--paper);font-size:1rem}
.requirement-card p{margin:.35rem 0}
.requirement-card ul{margin:.35rem 0;padding-left:1.2rem}
.requirement-card li{margin:.3rem 0}
.allergen-note{padding:1rem;border-left:4px solid var(--copper);background:var(--panel)}
.parent-only{border-left:4px solid var(--copper)!important}
.parent-only>summary::after{content:" · adult/reference";color:var(--muted);font:500 .62rem var(--mono);letter-spacing:.04em}
.optional-explanation{border-left:4px solid var(--green)!important}
.action-stage{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:1rem;margin:2rem 0;padding:clamp(1rem,3vw,1.5rem);border:1px solid var(--line);border-left:5px solid var(--green);background:var(--panel);scroll-margin-top:1rem}
.action-stage-number{display:grid;place-items:center;width:2.65rem;height:2.65rem;margin:0!important;border:1px solid var(--green);border-radius:50%;color:var(--green)!important;font:700 1rem var(--mono)}
.action-stage h3{margin:.15rem 0 .75rem}
.action-stage ol{margin:0;padding-left:1.45rem}
.action-stage li{padding-left:.2rem}
.action-group{margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--line)}
.action-group:first-of-type{margin-top:0;padding-top:0;border-top:0}
.action-group h4{margin:0 0 .45rem;color:var(--green);font-size:1rem}
.device-rule{margin:1rem 0;padding:1rem 1.15rem;border:2px solid #5da9e9;background:#132334;color:var(--paper)}
.mobile-diagram-cards{display:none;gap:.65rem;margin:1rem 0}
.mobile-diagram-cards article{padding:.85rem;border:1px solid #75909f;background:#f7f3ea;color:#15212a}
.mobile-diagram-cards strong{display:block;margin:0 0 .3rem;color:#14583e;font-size:1rem}
.mobile-diagram-cards p{margin:0}
.challenge-card{margin:1.5rem 0;padding:1.2rem 1.35rem;border:2px solid var(--green);background:var(--panel);scroll-margin-top:1rem}
.troubleshooting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1.25rem 0}
.troubleshooting-card{padding:1rem;border:1px solid var(--line);background:var(--panel)}
.troubleshooting-card h3{margin:0 0 .8rem;font-size:1.08rem}
.troubleshooting-card p{margin:.55rem 0}
.student-lesson details{scroll-margin-top:1rem}
.student-lesson summary{padding:.2rem}
.lesson-figure{break-inside:avoid}
.photo-comparison{margin:1.35rem 0 0}
.photo-comparison-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.8rem;align-items:center}
.photo-comparison-grid article{overflow:hidden;border:1px solid var(--line);background:var(--panel2)}
.photo-comparison-grid img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.photo-comparison-grid strong{display:block;padding:.55rem .75rem;color:var(--paper)}
.photo-change{margin:0!important;color:var(--green)!important;font:700 .76rem var(--mono);text-align:center;text-transform:uppercase}
.photo-comparison-caption{margin-top:.65rem;color:var(--muted);font-size:.88rem}
.lesson-evidence{grid-template-columns:repeat(2,minmax(0,1fr));margin:1.5rem 0 3rem}
.parent-guide-panel,.troubleshooting-panel,.parent-resources{margin:1rem 0;padding:1rem;border:1px solid var(--line);background:var(--panel)}
.parent-guide-panel{border-left:5px solid var(--copper)}
.parent-guide-panel>summary,.troubleshooting-panel>summary,.parent-resources>summary{cursor:pointer;font-weight:700}
.parent-visual img{display:block;width:100%;height:auto}

@media(max-width:760px){
  .student-lesson{max-width:none;font-size:1rem;line-height:1.62}
  .student-lesson .page-head{padding:3.25rem 1rem 2.25rem}
  .lesson-path-grid,.at-a-glance-list,.requirement-grid,.troubleshooting-grid,.success-checklist{grid-template-columns:1fr}
  .lesson-progress ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .lesson-progress li,.lesson-progress li+li{display:block}
  .lesson-progress li+li::before{content:none}
  .lesson-progress a,.lesson-progress span{justify-content:center;width:100%;min-height:2.6rem;align-items:center;text-align:center}
  .action-stage{grid-template-columns:1fr;gap:.4rem}
  .action-stage-number{width:2.35rem;height:2.35rem}
  .requirement-card,.troubleshooting-card,.action-stage{overflow-wrap:anywhere}
  .lesson-figure .diagram-desktop{display:none}
  .mobile-diagram-cards{display:grid}
  .photo-comparison-grid{grid-template-columns:1fr}
  .photo-change span{display:inline-block;transform:rotate(90deg)}
}
@media(max-width:420px){
  .lesson-progress ol{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media print{
  .site-header,footer,.preview-warning,.lesson-progress,.menu-button,.lesson-start-controls{display:none!important}
  .student-lesson{max-width:none;font-size:10.5pt;line-height:1.45}
  .student-lesson .page-head{padding:0 0 1rem}
  .lesson-action-path,.lesson-path-grid>div,.at-a-glance-list,.at-a-glance-list>div,.action-stage,.requirement-card,.troubleshooting-card,.challenge-card,.success-checklist li,.stop-rule,.allergen-note{background:#fff!important;color:#111!important;border-color:#666!important}
  .lesson-mission .mission-text,.lesson-path-grid p,.at-a-glance-list dt,.at-a-glance-list dd,.component-label,.action-stage-number,.stop-rule strong{color:#111!important}
  .action-stage,.requirement-card,.troubleshooting-card,.lesson-figure,.success-checklist{break-inside:avoid}
  .action-stage h3,.requirement-card h4,.troubleshooting-card h3{break-after:avoid}
  .student-lesson a[href^="http"]::after{content:" (" attr(href) ")";font-size:.8em;font-weight:400;overflow-wrap:anywhere}
  .student-lesson details>summary{font-weight:700}
}
