


#next{min-height:236px}
#path-list{min-height:1451px}

#lesson{min-height:1380px}


.sch-next{
  border:1px solid var(--gold-2); border-radius:var(--r); background:var(--surface);
  padding:var(--s3); margin:0; box-shadow:none;
}
.sch-next.sch-rev{border-color:var(--blood-2)}
.sch-kick{
  display:block; font:700 var(--fs-label)/var(--lh-label) var(--ff-body); letter-spacing:.12em; text-transform:uppercase;
  color:var(--gold); margin:0 0 var(--s1);
}
.sch-rev .sch-kick{color:var(--blood-text)}
.sch-next h2{margin:0 0 var(--s1)}
.sch-meta{font-size:var(--fs-small); line-height:var(--lh-small); color:var(--text-2); margin:0 0 var(--s2)}
.sch-next .btn-wide{width:100%}
.sch-sub{font-size:var(--fs-small); line-height:var(--lh-small); color:var(--text-2); margin:var(--s1) 0 0}


.sch-prog{display:flex; align-items:center; gap:var(--s1); margin:0 0 var(--s2); flex-wrap:wrap}
.sch-bar{
  flex:1 1 120px; height:8px; min-width:120px; border-radius:8px;
  background:var(--wood-4); overflow:hidden; border:1px solid var(--edge-2);
}
.sch-bar i{display:block; height:100%; width:calc(var(--p,0) * 100%); background:var(--brass)}
.sch-count{font-size:14px; color:var(--bone); font-variant-numeric:tabular-nums; white-space:nowrap}


.sch-term{
  min-height:44px; padding:8px 8px 8px 0; background:none; border:0; color:var(--bone);
  font:inherit; font-size:14px; text-align:left; cursor:pointer; border-bottom:1px dotted var(--brass-2);
}
.sch-q{
  display:inline-block; min-width:24px; height:24px; line-height:22px; margin-left:8px;
  border:1px solid var(--brass-2); border-radius:50%; color:var(--brass); font-size:13px; text-align:center;
}
.sch-term[aria-expanded="true"] .sch-q{background:var(--brass-dim)}
.sch-term-note{
  font-size:14px; color:var(--bone-2); margin:0 0 8px; padding:8px 0 0;
  border-top:1px solid var(--edge-2); line-height:1.5;
}



.sch-path{margin:0; padding:0}
.sch-path>li{border-bottom:1px solid var(--border-soft)}
.sch-path details>summary{
  list-style:none; cursor:pointer; min-height:56px; padding:var(--s1) 0;
  display:grid; grid-template-columns:32px 1fr auto; align-items:center; gap:var(--s2);
}
.sch-path details>summary::-webkit-details-marker{display:none}
.sch-path details>summary:hover .sch-t{color:var(--gold)}
.sch-n{
  width:32px; height:32px; border-radius:50%; border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  font:400 var(--fs-small)/1 var(--ff-body); color:var(--text-2); font-variant-numeric:tabular-nums;
}
.is-done .sch-n{border-color:var(--alive); color:var(--alive)}
.is-now  .sch-n{border-color:var(--gold); color:var(--gold); background:var(--gold-dim)}
.sch-t{font:700 var(--fs-body)/var(--lh-body) var(--ff-body); color:var(--text)}
.is-later .sch-t{color:var(--text-2)}
.is-later .sch-c{color:var(--text-3)}
.sch-c{display:inline-flex; align-items:center; gap:var(--s1); font:400 var(--fs-small)/var(--lh-small) var(--ff-body);
  color:var(--text-2); font-variant-numeric:tabular-nums; text-align:right; white-space:nowrap}
.sch-tag{
  display:inline-flex; align-items:center; min-height:24px; font:700 var(--fs-label)/var(--lh-label) var(--ff-body);
  letter-spacing:.08em; text-transform:uppercase; padding:4px var(--s1); border-radius:var(--r-pill);
  border:1px solid var(--border); color:var(--text-3);
}
.is-now .sch-tag{border-color:var(--gold-2); color:var(--gold)}
.is-done .sch-tag{border-color:var(--alive); color:var(--alive)}
.sch-body{padding:0 0 var(--s2) 48px}
.sch-lead{font:400 var(--fs-small)/var(--lh-small) var(--ff-body); color:var(--text-2); margin:0 0 var(--s1)}
.sch-lessons{margin:0; border-top:1px solid var(--border-soft)}
.sch-lessons > li{border-bottom:1px solid var(--border-soft)}
.sch-lessons > li:last-child{border-bottom:0}
.sch-lessons .list-row{min-height:48px; gap:var(--s2)}
.sch-mark{flex:0 0 16px; color:var(--text-3); font-size:var(--fs-small); text-align:center}
.l-done .sch-mark{color:var(--alive)}
.l-now .list-title{color:var(--text); font-weight:700}
.l-now .sch-mark{color:var(--gold)}
.l-next .list-title{color:var(--text-2)}
.sch-skel-next{height:176px; margin:0}
.sch-skel-row{height:56px; margin:0; border-radius:0; border-width:0 0 1px}
.sch-qtext{font-weight:700; margin:0 0 var(--s1)}
.sch-fig{margin:var(--s2) 0}
.sch-img{width:100%; height:auto; border-radius:var(--r); border:1px solid var(--border)}

.sch-crumb{font-size:14px; color:var(--bone-2); margin:0 0 8px}
.sch-crumb a{color:var(--bone-2); display:inline-flex; align-items:center; min-height:44px; padding-right:8px}
.sch-dots{display:flex; gap:8px; align-items:center; margin:0 0 16px; flex-wrap:wrap}
.sch-dots i{width:8px; height:8px; border-radius:50%; background:var(--wood-4); border:1px solid var(--edge)}
.sch-dots i.d-done{background:var(--alive); border-color:var(--alive)}
.sch-dots i.d-now{background:var(--brass); border-color:var(--brass); width:16px; border-radius:8px}
.sch-dots span{font-size:13px; color:var(--bone-2); margin-left:8px; font-variant-numeric:tabular-nums}
.sch-idea{font-size:18px; line-height:1.4; color:var(--bone); margin:0 0 12px}

#lesson p{ margin:0 0 12px; line-height:1.55 }
.sch-goal{
  border:1px solid var(--edge); border-left:3px solid var(--brass); border-radius:var(--card);
  padding:16px; margin:16px 0; background:var(--wood-2);
}
.sch-goal .sch-kick{margin-bottom:8px}
.sch-goal p{margin:0; font-size:16px; line-height:1.45}
.sch-goal .sch-sub{margin-top:8px}
.sch-src{font-size:13px; color:var(--bone-3); margin:16px 0 0}
.sch-src a{color:var(--bone-3)}
details.sch-whence a{display:inline-flex; align-items:center; min-height:44px}
details.sch-whence{margin:16px 0 0; border-top:1px solid var(--edge-2); padding-top:8px}
details.sch-whence>summary{cursor:pointer; min-height:44px; display:flex; align-items:center;
  font-size:14px; color:var(--bone-2); list-style:none}
details.sch-whence>summary::-webkit-details-marker{display:none}
details.sch-whence>summary::before{content:'▸ '; color:var(--brass-2); margin-right:8px}
details.sch-whence[open]>summary::before{content:'▾ '}
details.sch-whence p{font-size:14px; color:var(--bone-2); line-height:1.6; margin:8px 0 0}


details.sch-more{margin:12px 0 0}
details.sch-more>summary{cursor:pointer; min-height:44px; display:flex; align-items:center;
  font-size:15px; color:var(--brass); list-style:none}
details.sch-more>summary::-webkit-details-marker{display:none}
details.sch-more>summary::before{content:'▸ '; margin-right:8px}
details.sch-more[open]>summary::before{content:'▾ '}
details.sch-more p{margin:0 0 12px}
details.sch-more figure{margin:16px 0}


.sch-check{border:1px solid var(--edge); border-radius:var(--card); padding:16px; margin:16px 0}
.sch-check h3{font-size:16px; margin:0 0 8px}
.sch-check .sch-sub{margin:0 0 12px}

.sch-opts{display:flex; flex-direction:column; gap:6px}
.sch-q-wrap{margin:0 0 14px}
.sch-q-wrap:last-child{margin-bottom:0}
.sch-opts button{
  min-height:44px; text-align:left; padding:8px 16px; border-radius:var(--card);
  border:1px solid var(--edge); background:var(--wood-3); color:var(--bone);
  font:inherit; font-size:15px; line-height:1.35; cursor:pointer;
}
.sch-opts button:hover{border-color:var(--brass-2)}
.sch-opts button[aria-pressed="true"].ok{border-color:var(--alive); color:var(--bone)}
.sch-opts button[aria-pressed="true"].no{border-color:var(--blood-lit)}

.sch-opts button.correct{border-color:var(--alive)}
.sch-opts button[disabled]{cursor:default; opacity:.85}
.sch-ans{margin:16px 0 0; font-size:15px; line-height:1.5}
.sch-ans.ok{color:var(--alive)}
.sch-ans.no{color:var(--blood-lit)}


@media (max-width:460px){
  .sch-next h2{font-size:18px}
  .sch-body{padding-left:0}
  .sch-path details>summary{gap:var(--s1) var(--s2)}
  .sch-idea{font-size:17px}
  .sch-path details>summary{grid-template-columns:32px 1fr; row-gap:0}
  
  .sch-c{grid-column:2; text-align:left; margin-top:0; min-height:26px}
}



.sch-state{
  border:1px solid var(--edge); border-radius:var(--card); background:var(--wood-2);
  padding:16px; margin:16px 0; font-size:15px; line-height:1.5; color:var(--bone-2);
}
.sch-state .btn{ margin-top:12px }

.sch-crossing{
  border:1px solid var(--edge); border-radius:var(--card); padding:16px; margin:16px 0;
}
.sch-crossing.ok{ border-color:var(--alive) }
.sch-crossing.no{ border-color:var(--blood-lit) }
.sch-crossing ul{ margin:8px 0 0; padding-left:20px; font-size:14px; color:var(--bone-2) }
.sch-crossing li{ padding:4px 0 }
