/* Task-focused layouts layered over the shared visual system. */
.course-map{scroll-margin-top:1.5rem}.course-map-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.8rem}.course-map-list>li{display:flex;gap:.9rem;padding:1.1rem 0;border-top:1px solid var(--line);min-width:0}.course-code{white-space:nowrap;letter-spacing:.02em;font:600 1rem/1.4 ui-monospace,monospace;color:var(--brand);width:3.5rem;flex:none}.course-map-list h3{margin:0;font-size:1.1rem}.course-map-list p{margin:.35rem 0}.course-map-list .actions{margin:.5rem 0 0;gap:.5rem}.course-map-list a{font-size:.88rem}.library-extras>summary{min-height:44px;cursor:pointer;font-weight:650}.quiz-set[hidden]{display:none!important}.quiz-jumps [aria-current=page]{background:var(--brand);color:var(--paper);border-color:var(--brand)}
.dock-pane-tabs{display:none}.calc-dock{max-width:100%}.calc-model-panel{min-width:0}.calculator-route{max-width:60ch}
@media(min-width:1101px){
 body.calc-open .shell,body.in-lesson.calc-open .shell{grid-template-columns:minmax(0,1fr) minmax(600px,720px);gap:1.25rem}
 body.in-lesson.calc-open .lesson-nav{display:none}body.in-lesson.calc-open .lesson-menu{display:block}
 .calc-dock{width:720px;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,1fr);grid-template-areas:'head head' 'models models' 'selector selector' 'guide calculator' 'sources sources';align-content:start;align-items:start;gap:.75rem;padding:1rem;max-height:calc(100vh - 1rem)}
 .calc-head{grid-area:head}.model-picker{grid-area:models;display:flex;flex-wrap:wrap;gap:.7rem;margin:0;padding:.5rem .75rem}.model-picker label{font-size:.8rem;min-height:32px}.model-picker legend{font-size:.8rem}#general-guide-picker{grid-area:selector}#guide-content{grid-area:guide;margin:0!important;min-width:0}#ti84-panel,#ti84evo-panel,#ti36-panel,#physical36-panel{grid-area:calculator;margin:0}.guide-sources{grid-area:sources}.calc-dock .walk-question>p{font-size:.86rem}.calc-dock .walk-question .question-data{font-size:.82rem;padding:.65rem}.calc-dock #guide-content{padding:.75rem}.calc-dock .calculator-availability{display:none}.calc-dock .calc-model-panel>p:first-child{font-size:.77rem;line-height:1.4;margin:0 0 .5rem}.calc-dock .guide-sources{font-size:.78rem}.calc-dock .question-data{max-height:9rem;overflow:auto}#calc-slot iframe{height:620px}.calc-dock .key-sequence{gap:.2rem}.calc-dock .walk-step h4{font-size:1.05rem}.calc-dock .walk-tools button{min-height:44px}
}
@media(max-width:1100px){
 .calc-dock{position:fixed;inset:0;z-index:30;width:auto;max-width:none;max-height:none;padding:1rem;overflow-y:auto;border:0;border-radius:0;display:block;background:var(--paper)}
 .calc-head{position:sticky;top:-1rem;z-index:4;background:var(--paper);padding:.6rem 0}.dock-pane-tabs{display:flex;position:sticky;top:2.6rem;z-index:3;background:var(--paper);gap:.5rem;padding:.6rem 0;margin:0}.dock-pane-tabs button{flex:1;min-height:44px}.dock-pane-tabs [aria-pressed=true]{background:var(--brand);color:var(--paper)}
 .calc-dock[data-pane=steps] .calc-model-panel,.calc-dock[data-pane=steps] #physical36-panel{display:none!important}
 .calc-dock[data-pane=calculator] #guide-content,.calc-dock[data-pane=calculator] #general-guide-picker{display:none!important}
 .calc-dock[data-pane=calculator] #calc-slot,.calc-dock[data-pane=calculator] #ti36-slot{max-width:370px;margin:0 auto}.calc-dock .model-picker{margin:.5rem 0}.calc-dock .walk-navigation{position:sticky;bottom:-1rem;z-index:2;background:var(--paper);padding:.7rem 0}.calc-dock .guide-sources{margin-top:1rem}
}
@media(max-width:640px){.course-map-list{grid-template-columns:1fr}.course-map-list>li{gap:.65rem}.course-code{width:3rem;font-size:.95rem}.course-map-list .actions{flex-direction:column;align-items:flex-start}.course-map-list a{min-height:44px;display:flex;align-items:center}.course-map-list h3{font-size:1.05rem}}

/* On wide screens the question and graph already remain visible at left. */
@media(min-width:1101px){.calc-dock .walk-question>p:not(.eyebrow):not(.question-data),.calc-dock #guide-content>.chart-figure{display:none}.calc-dock .walk-note{margin:.5rem 0}.calc-dock .walk-note>summary{cursor:pointer;min-height:32px}}

/* Optional reasoning and question-specific tutor share the question's reading width. */
.reflection,.question-tutor{border-top:1px solid var(--border,#c9d5ca);margin-block:1.5rem;padding-block:1.25rem}
.reflection h3{margin-top:0}.reflection textarea,.question-tutor textarea{display:block;width:100%;box-sizing:border-box;resize:vertical;font:inherit;padding:.8rem;border:1px solid var(--border,#9ba99e);border-radius:.5rem;background:var(--surface,#fff);color:inherit}
.question-tutor summary{font-weight:700;cursor:pointer}.question-tutor summary span{display:block;font-weight:400;margin-top:.25rem}
.question-tutor form button{margin-top:.8rem}.question-tutor label{display:block;margin-block:.8rem}.question-tutor .tutor-consent{display:flex;gap:.6rem;align-items:flex-start}.tutor-consent input{width:auto;flex:none;margin-top:.3rem}
.tutor-conversation{list-style:none;padding:0;max-height:28rem;overflow:auto}.tutor-conversation li{border-left:3px solid var(--border,#bdc9bf);padding:.6rem 1rem;margin-block:.8rem;overflow-wrap:anywhere}.tutor-conversation p{white-space:pre-wrap;margin:.5rem 0}

body > .save-status{max-width:88rem;margin:1rem auto;padding:1rem 1.5rem;border:1px solid currentColor;border-radius:.5rem}
