.curriculum-toolbar,.curriculum-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.curriculum-toolbar{margin-bottom:20px}.curriculum-toolbar label{min-width:240px;flex:1}.curriculum-toolbar label,.curriculum-fields label,.week-library label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--muted,#a9b6bc)}.curriculum-fields{border:0;padding:0;margin:0;min-width:0}.curriculum-fields input,.curriculum-fields textarea,.curriculum-fields select,.curriculum-toolbar select{width:100%;padding:12px;border:1px solid #354047;border-radius:7px;background:#13191c;color:#edf3f3;font:inherit;box-sizing:border-box}.curriculum-fields textarea{resize:vertical;min-height:100px;line-height:1.6}.curriculum-meta{display:grid;gap:18px;margin-bottom:24px}.curriculum-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.curriculum-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px;align-items:start}.curriculum-outline{position:sticky;top:84px;padding:18px}.curriculum-workspace{min-width:0;display:grid;gap:24px}.week-sort-row{display:flex;gap:8px;align-items:center;border:1px solid #354047;border-radius:7px;margin:8px 0;background:#141a1d;min-width:0}.week-sort-row.active{border-color:#34d7a1;background:#182923}.week-sort-row[draggable=true]{cursor:grab}.week-select{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:13px 8px;background:transparent;color:inherit;border:0;text-align:left;cursor:inherit}.week-select strong{font-size:13px;line-height:1.4;overflow-wrap:anywhere}.week-select .week-index{font-size:12px;min-width:24px}.drag-handle{font-size:20px;color:#a9b6bc;cursor:grab;padding:14px 0 14px 10px;user-select:none}.week-move{display:flex;flex-direction:column;padding-right:5px}.week-move button{background:none;color:#c5d5d0;border:0;padding:5px 8px;cursor:pointer}.week-move button:disabled{opacity:.25}.full-width{width:100%;margin-top:12px}.week-library{border-top:1px solid #354047;margin-top:22px;padding-top:20px}.week-library h3{margin:0 0 15px}.week-edit{display:grid;gap:18px}.lesson-edit{border:1px solid #354047;border-radius:7px}.lesson-edit>summary{padding:16px;cursor:pointer;font-weight:600}.lesson-edit-body{display:grid;gap:17px;padding:0 18px 20px}.assignment-edit{border-top:1px solid #354047;padding-top:12px;display:grid;gap:14px}.curriculum-fields .curriculum-check{display:flex;flex-direction:row;align-items:center;color:#edf3f3}.curriculum-check input{width:auto}.curriculum-deadlines>div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #354047}.curriculum-deadlines span{font-size:13px;color:#a9b6bc;text-align:right}.curriculum-config{margin-top:24px}.curriculum-config summary{cursor:pointer;font-weight:600}.curriculum-config code{display:block;overflow-wrap:anywhere;color:#9be8cb;margin:14px 0}.curriculum-error,.curriculum-notice{padding:14px 18px;border:1px solid #be8655;border-radius:7px;background:#2b221a;color:#ffd9aa;margin-bottom:16px}.curriculum-error[hidden],.curriculum-notice[hidden]{display:none}.curriculum-general-art{height:200px;background:radial-gradient(ellipse at center,#254d40,#14181b);display:grid;place-items:center}.curriculum-general-art svg{width:65px;height:65px;color:#34d7a1}.curriculum-reader .curriculum-actions{margin-bottom:24px}.curriculum-toolbar .btn{white-space:nowrap}.curriculum-fields:disabled{opacity:.8}.curriculum-actions button:disabled{opacity:.4}.curriculum-reader p,.curriculum-lessons p{overflow-wrap:anywhere}.curriculum-reader{min-width:0}.curriculum-outline h2{font-size:21px}
@media(max-width:1050px){.curriculum-layout{grid-template-columns:260px minmax(0,1fr)}.curriculum-form-grid{grid-template-columns:1fr 1fr}.curriculum-toolbar label{flex-basis:100%}}@media(max-width:760px){.curriculum-layout{grid-template-columns:1fr}.curriculum-outline{position:static}.curriculum-form-grid{grid-template-columns:1fr}.curriculum-deadlines>div{flex-direction:column;gap:6px}.curriculum-deadlines span{text-align:left}.curriculum-actions{gap:12px}.lesson-edit-body{padding:0 12px 15px}}

.curriculum-history{margin-top:24px;min-width:0}.history-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0;background:none;border:0;color:inherit;font:inherit;font-size:20px;font-weight:600;text-align:left;cursor:pointer}.curriculum-history>.small-muted{margin-top:16px}.cohort-history-entry{padding:22px 0;border-bottom:1px solid #354047}.cohort-history-entry header{display:flex;gap:8px 20px;flex-wrap:wrap;align-items:center}.cohort-history-entry header span{width:100%;color:#9badb3;font-size:12px}.cohort-history-entry time{font-size:12px;color:#afbfbd}.cohort-history-entry ul{padding-left:20px;margin:16px 0 0;display:grid;gap:12px}.cohort-history-entry summary{cursor:pointer;color:#c7dfd7;font-size:14px}.history-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:10px}.history-comparison small{color:#96aaa3}.history-comparison pre{background:#111719;border:1px solid #354047;border-radius:5px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:300px;overflow:auto;padding:12px;font-size:12px;line-height:1.6}.history-comparison>div{min-width:0}@media(max-width:760px){.history-comparison{grid-template-columns:1fr}}

.material-edit .curriculum-actions{margin-top:14px}

.curriculum-list{display:grid;gap:10px}
.curriculum-item{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius,6px);min-width:0}
.curriculum-item>summary{display:flex;align-items:center;gap:14px;padding:14px 18px;cursor:pointer;list-style:none;border-radius:inherit}
.curriculum-item>summary::-webkit-details-marker{display:none}
.curriculum-item>summary:hover{background:var(--panel-raised)}
.curriculum-item>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.curriculum-item[open]>summary{border-bottom-left-radius:0;border-bottom-right-radius:0}
.curriculum-item>summary>.icon{width:16px;height:16px;flex-shrink:0;color:var(--muted);transition:transform .15s}
.curriculum-item[open]>summary>.icon{transform:rotate(90deg)}
.week-heading{flex:1;min-width:0;display:grid;gap:2px}
.week-heading h3{font-size:16px;font-weight:600;line-height:1.35;color:var(--paper);overflow-wrap:anywhere}
.curriculum-item .week-index{width:auto;height:auto;border:0;border-radius:0;display:inline;font:inherit;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap;min-width:64px}
.week-facts,.week-classes,.coursework-facts{margin:4px 0 0;font-size:13px;color:var(--muted)}
.coursework-facts .chip{margin-left:8px;vertical-align:1px}
.lesson-open>summary,.submit-open>summary{list-style:none;display:inline-flex;margin-top:12px}
.lesson-open>summary::-webkit-details-marker,.submit-open>summary::-webkit-details-marker{display:none}
.coursework-reminder{margin:8px 0 0;font-size:13px;color:var(--muted);max-width:72ch}
.curriculum-details{padding:0 18px 22px 96px}
.week-summary{margin:0;max-width:72ch;font-size:14px;line-height:1.6;color:var(--muted)}
.curriculum-lesson,.curriculum-task{margin-top:18px;padding-top:18px;border-top:1px solid var(--border);min-width:0}
.curriculum-lesson>h4,.curriculum-task>h4{margin:0;font-size:15px;font-weight:600;line-height:1.4;color:var(--paper);overflow-wrap:anywhere}
.coursework-summary{margin:4px 0 0;max-width:72ch;font-size:14px;line-height:1.6;color:var(--muted)}
.curriculum-prose{margin-top:12px;max-width:72ch;font-size:14px;line-height:1.7;color:var(--paper);overflow-wrap:anywhere}
.curriculum-prose>*{margin:0}
.curriculum-prose>*+*{margin-top:10px}
.curriculum-prose :is(h5,h6){font-family:var(--heading);font-size:14px;font-weight:650;line-height:1.45;color:var(--paper)}
.curriculum-prose h6{color:var(--muted)}
.curriculum-prose>:is(h5,h6):not(:first-child){margin-top:18px}
.curriculum-prose>:is(h5,h6)+*{margin-top:4px}
.curriculum-prose :is(ul,ol){padding-left:22px}
.curriculum-prose li+li{margin-top:4px}
.curriculum-prose a{color:var(--accent-soft);text-decoration:underline;text-underline-offset:2px}
.curriculum-prose strong{font-weight:650}
.curriculum-prose code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;padding:1px 5px;border-radius:4px;background:var(--panel-raised)}
.curriculum-prose pre{overflow:auto;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius,6px);background:var(--deep);line-height:1.6}
.curriculum-prose pre code{padding:0;background:none}
.curriculum-prose blockquote{padding-left:14px;border-left:2px solid var(--accent);color:var(--muted)}
.curriculum-prose hr{border:0;border-top:1px solid var(--border)}
.coursework-links{display:grid;gap:2px;max-width:72ch;margin:12px 0 0;padding:0;list-style:none}
.coursework-links a{display:inline-flex;align-items:center;gap:8px;padding:4px 0;font-size:13.5px;color:var(--accent-soft);overflow-wrap:anywhere}
.coursework-links a:hover{text-decoration:underline}
.coursework-links .icon{width:15px;height:15px;flex-shrink:0}
.teacher-notes{max-width:72ch;margin-top:14px;padding:12px 14px;border-left:3px solid #d4a34f;border-radius:0 var(--radius,6px) var(--radius,6px) 0;background:#d4a34f14}
.teacher-notes strong{display:block;font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:#e1b866}
.teacher-notes p{margin:6px 0 0;font-size:13.5px;line-height:1.6;color:var(--paper);white-space:pre-line}
.curriculum-task .demo-submit{display:grid;gap:14px;max-width:72ch;margin-top:16px}
.demo-submit label{display:grid;font-size:13px;color:var(--muted)}
.submission-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;font-size:13px}
.submission-actions [role=alert]{color:#f2988a}
.submission-actions [role=status]{color:var(--accent-soft)}
.submission-actions span:empty{display:none}
@media(max-width:650px){
.curriculum-item>summary{padding:12px 14px;gap:12px}
.curriculum-details{padding:0 14px 18px}
.submit-open>summary{display:flex;width:100%;justify-content:center}
}
.material-edit .curriculum-form-grid.slide-fields{grid-template-columns:minmax(0,1fr)}
.draft-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 14px;border:1px solid #e8bd7859;background:#e8bd780f;border-radius:8px;margin:0 0 14px}
.draft-bar .icon{color:#e8bd78;flex:none}
.draft-bar .text-link{margin-left:auto}
.draft-review{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin-bottom:24px}
@media(min-width:1100px){.draft-review{grid-template-columns:minmax(0,1fr) 320px;align-items:start}}
.draft-changes h3{margin:20px 0 6px}
.draft-deadline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:start;padding:12px 0;border-bottom:1px solid var(--line)}
.draft-deadline-text{display:grid;gap:4px;min-width:0}
.draft-deadline del{color:var(--muted)}
.draft-deadline-choice{grid-column:1/-1;display:grid;gap:8px}
.draft-deadline-choice p{margin:0;color:var(--muted);font-size:14px}
.draft-deadline-choice fieldset{display:grid;gap:4px;margin:0;padding:0;border:0;min-width:0}
.portal .draft-deadline .draft-deadline-choice label.draft-deadline-option{display:flex;flex-direction:row;align-items:center;gap:10px;min-height:44px;margin:0;cursor:pointer}
.portal .draft-deadline .draft-deadline-choice label.draft-deadline-option input{width:18px;height:18px;min-width:18px;min-height:0;flex:none;margin:0;padding:0;border:0;accent-color:var(--accent)}
.draft-order{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.draft-order ol{margin:6px 0 0;padding-left:22px;display:grid;gap:6px;color:var(--muted)}
.draft-order li.is-moved{color:var(--paper)}
.draft-order li .chip{margin-left:8px}
@media(max-width:599px){.draft-order{grid-template-columns:minmax(0,1fr)}}
.draft-changes .curriculum-change details{margin-top:8px}
.draft-changes .curriculum-change summary{cursor:pointer;color:var(--muted);font-size:14px}
.draft-apply ul{margin:0 0 18px;padding-left:18px;display:grid;gap:8px;font-size:14px}
.draft-apply .btn{display:flex;justify-content:center;width:100%}
.draft-apply .btn+.btn{margin-top:10px}

.cohort-hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:center;margin-bottom:28px}
.cohort-hero-text{min-width:0}
.cohort-title{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px}
.cohort-title h1{margin:0;overflow-wrap:anywhere}
.cohort-outcome{margin:12px 0 22px;max-width:62ch;font-size:16px;line-height:1.55;color:var(--paper)}
.admission-note{margin:10px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
.cohort-hero-art .chain-art{height:auto;aspect-ratio:16/10;border:1px solid var(--border);border-radius:12px}
.cohort-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 36px}
.cohort-facts>div{min-width:0;padding:14px 16px;background:var(--panel);border:1px solid var(--border);border-radius:10px}
.cohort-facts dt{font-size:12px;color:var(--muted)}
.cohort-facts dd{margin:6px 0 0;font-size:15px;line-height:1.4;color:var(--paper);overflow-wrap:anywhere}
.cohort-facts dd>span:not(.chip):not(.planned-tag){display:block;margin-top:2px;font-size:13px;color:var(--muted)}
.cohort-facts .chip{vertical-align:1px}
.cohort-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:start}
.cohort-weeks{min-width:0}
.cohort-weeks>h2{margin:0 0 6px;font-size:17px;font-weight:650;color:var(--paper)}
.weeks-intro{margin:0 0 14px;font-size:14px;line-height:1.5;color:var(--muted)}
.cohort-week-list{border-bottom:1px solid var(--border)}
.public-week{border-top:1px solid var(--border)}
.public-week>summary,.public-week.is-empty{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:4px 14px;padding:16px 0;list-style:none}
.public-week.is-empty{grid-template-columns:64px minmax(0,1fr)}
.public-week>summary{cursor:pointer}
.public-week>summary::-webkit-details-marker{display:none}
.public-week>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}
.public-week .week-index{width:auto;height:auto;border:0;border-radius:0;display:block;font:inherit;padding-top:2px;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}
.public-week .week-heading p{margin:4px 0 0;max-width:64ch;font-size:14px;line-height:1.55;color:var(--muted)}
.public-week .week-heading p:empty{display:none}
.public-week .week-heading .week-facts{font-size:13px}
.public-week>summary>.icon{width:16px;height:16px;margin-top:2px;color:var(--muted);transition:transform .15s}
.public-week[open]>summary>.icon{transform:rotate(90deg)}
.open-week-body{display:grid;gap:10px;padding:0 0 20px 78px}
.week-part{margin:0;font-size:12px;font-weight:600;color:var(--muted)}
.week-lessons{display:grid;gap:10px;margin:0;padding-left:22px;color:var(--muted);font-size:13px}
.week-lessons strong{font-size:15px;font-weight:600;line-height:1.4;color:var(--paper)}
.week-lessons span{display:block;font-size:14px;line-height:1.5;color:var(--muted)}
.week-hand-ins{display:grid;gap:6px;margin:0;padding-left:22px;font-size:14px;line-height:1.5;color:var(--paper)}
.weeks-note{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:13px;color:var(--muted)}
.weeks-note .icon{width:15px;height:15px;flex-shrink:0}
.cohort-side{display:grid;gap:28px;min-width:0}
.cohort-side-part>h2{margin:0 0 14px;font-size:17px;font-weight:650;color:var(--paper)}
.who-teaches{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.who-teaches li{display:flex;align-items:center;gap:12px;min-width:0}
.who-teaches strong{display:block;font-size:14px;font-weight:600;color:var(--paper);overflow-wrap:anywhere}
.who-teaches small{display:block;margin-top:2px;font-size:12px;color:var(--muted)}
.who-teaches .who-name{display:flex;align-items:center;gap:6px;min-width:0}
.who-teaches .profile-link{width:26px;height:26px;flex:0 0 auto;border-radius:6px}
.who-teaches .profile-link .icon{width:14px;height:14px}
.cohort-side .small-note{margin:12px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
.admission-steps{display:grid;gap:10px;margin:0;padding-left:20px;font-size:14px;line-height:1.55;color:var(--paper)}
.staff-face{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--panel-raised);border:1px solid var(--border);color:var(--muted);font-size:14px;font-weight:600}
.staff-face img{width:100%;height:100%;object-fit:cover}
.staff-face .icon{width:18px;height:18px}
.team-list li:has(.staff-face){align-items:center}
.team-list .staff-face{width:28px;height:28px;font-size:12px}
.team-list .staff-face+strong{flex:1;min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){
  .cohort-hero{grid-template-columns:minmax(0,1fr);gap:20px}
  .cohort-hero-art{order:-1}
  .cohort-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cohort-layout{grid-template-columns:minmax(0,1fr);gap:32px}
}
@media(max-width:760px){
  .public-week>summary,.public-week.is-empty{grid-template-columns:54px minmax(0,1fr) auto}
  .public-week.is-empty{grid-template-columns:54px minmax(0,1fr)}
  .open-week-body{padding-left:0}
}
@media(max-width:600px){.cohort-hero-art .chain-art{aspect-ratio:16/7}}
@media(prefers-reduced-motion:reduce){.public-week>summary>.icon{transition:none}}
