:root{font-family:Inter,system-ui,sans-serif;color:#153e44;background:#f2f5f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{background:#123f47;color:#fff;padding:30px max(24px,calc((100vw - 1420px)/2)) 34px}.brand{font-weight:750;font-size:13px;letter-spacing:.13em}.brand span{font-size:10px;font-weight:450;color:#b5d2ce;margin-left:22px}h1{font-size:clamp(29px,3.5vw,43px);letter-spacing:-.04em;margin:26px 0 9px}header p{color:#c6ddd7;margin:0}main{max-width:1468px;margin:auto;padding:26px 24px}.setup{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(400px,1.2fr);gap:24px}section{background:white;border:1px solid #dbe5df;border-radius:14px;padding:25px;margin-bottom:24px}.eyebrow{color:#4c8477;font-size:10px;font-weight:750;letter-spacing:.16em}h2{font-size:23px;letter-spacing:-.025em;margin:9px 0 18px}h3{font-size:16px;margin:12px 0}p{font-size:13px;line-height:1.7}.muted,footer{color:#60766f;font-size:12px;line-height:1.7}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{font-size:12px;font-weight:600;display:block;margin:11px 0}input,select{display:block;width:100%;margin-top:7px;border:1px solid #b8ccbf;border-radius:6px;padding:10px;background:white;color:#153e44;font:inherit;font-size:14px}input[readonly]{background:#edf3ee;color:#4a7062}input:disabled{background:#f0f3f0}input:focus,select:focus,button:focus-visible,[role=button]:focus-visible{outline:3px solid #c2d9c8;outline-offset:2px}.load-switch{border:0;padding:0;margin:0;display:flex;gap:10px}.load-switch legend{position:absolute;left:-10000px}.load-switch label{padding:13px;border:1px solid #d1dfd6;border-radius:9px;flex:1;cursor:pointer}.load-switch label:has(input:checked){border-color:#127c65;background:#edf6ee}.load-switch input{display:inline;width:auto;margin:0 5px 0 0;accent-color:#127c65}.load-switch small{display:block;font-size:11px;margin:6px 0 0 21px;font-weight:400;color:#62796c}.check{display:flex;gap:8px;align-items:flex-start;font-weight:450;line-height:1.6}.check input{width:auto;margin-top:3px;accent-color:#127c65}button{background:#146d60;border:1px solid #146d60;border-radius:6px;color:white;padding:11px 15px;cursor:pointer;font:inherit;font-size:12px;font-weight:600}button:hover{filter:brightness(.94)}button:disabled{opacity:.45;cursor:default}.secondary{background:#edf4ee;color:#235a4e;border-color:#c5d8ca}.text-button{background:transparent;color:#416a5b;border-color:transparent;padding:8px 5px}.button-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:9px}.table-scroll{overflow:auto;max-height:325px}table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}th,td{padding:9px 11px;text-align:right;border-bottom:1px solid #e0e8e1;white-space:nowrap}th{position:sticky;top:0;background:#f3f7f2;color:#607568;font-size:11px}th:first-child,td:first-child{text-align:left}tr.active td{background:#edf5e9}.note{background:#f8f2df;border-left:3px solid #c9a454;padding:11px 13px;font-size:12px;line-height:1.65}.section-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.badge{background:#edf4eb;border-radius:18px;padding:8px 12px;font-size:11px;white-space:nowrap}.work-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px}.diagrams{min-width:0}.canvas-scroll{overflow-x:auto;scrollbar-width:thin}svg{width:100%;height:auto;display:block}.diagrams svg{min-width:850px}#systemDiagram svg{min-width:760px}#systemDiagram{margin-bottom:20px}.diagram-head{display:flex;justify-content:space-between;align-items:center;padding:0 6px;font-size:11px;color:#657d70}.diagram-head h3{color:#183f43}.diagram-head h3 span{font-size:12px;font-weight:400}.legend{display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-size:11px}.known-dot,.student-dot,.unknown-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#27568b;margin-left:8px}.student-dot{background:#16876d}.unknown-dot{background:#fff;border:2px solid #c69b48}#editor{align-self:start;background:#f5f8f3;border:1px solid #dce6d9;border-radius:10px;padding:18px;position:sticky;top:14px}#editor label{margin:11px 0}#editor button:not(.text-button){max-width:100%}hr{border:0;border-top:1px solid #d6e1d6;margin:19px 0}#feedback{font-weight:650}#feedback.good{color:#176546}#feedback.bad{color:#985338}.field-notes{display:flex;gap:8px;flex-wrap:wrap}.field-notes button{font-size:11px;text-align:left;line-height:1.6;background:#f0f4ed;color:#375e51;border-color:#d6e1d1}details{border-top:1px solid #dbe5da;margin-top:22px;padding-top:18px;font-size:13px;line-height:1.7}summary{cursor:pointer;font-weight:650}.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}footer{padding:8px 3px}.pending{opacity:.45;pointer-events:none}#setupStatus{font-weight:600}.svg-point{cursor:pointer}.svg-point:hover circle{stroke-width:3}svg text{font-family:system-ui,sans-serif}#tableLoad{font-size:13px;margin:10px 0 14px}#controlValues{overflow:auto;margin-top:16px}[hidden]{display:none!important}@media(min-width:1500px){.diagrams svg{min-width:0}}@media(max-width:1020px){.setup{grid-template-columns:1fr}.work-grid{grid-template-columns:1fr}#editor{position:static}.help-grid{grid-template-columns:1fr}.section-head{align-items:start;flex-direction:column}}@media(max-width:600px){main{padding:18px 12px}section{padding:20px 14px}.brand span{display:block;margin:9px 0}.load-switch{flex-direction:column;gap:0}.table-scroll{max-height:280px}h2{font-size:21px}.input-grid{gap:9px}}
.svg-point{pointer-events:bounding-box}svg line{pointer-events:none}#systemDiagram svg{min-width:850px}@media(min-width:1500px){#systemDiagram svg{min-width:0}}
.whole-task{margin-top:30px;padding:24px 0 0;border-top:2px solid #dce7d9}.whole-task .table-scroll{max-height:none}.whole-task td input{max-width:180px;display:inline-block;margin:0}.completion-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:20px 0}#overallStatus{font-weight:650}#remainingTasks{display:flex;gap:8px;flex-wrap:wrap}#remainingTasks button{background:#f8f2df;color:#6d592f;border-color:#dfd2a9}#completeResults{padding-top:15px}#finalDiagrams svg{min-width:850px}#finalTables{overflow:auto}#reactionInputs .good{color:#176546}#reactionInputs .bad{color:#985338}
.canvas-scroll.can-pan{cursor:grab}.canvas-scroll.is-panning{cursor:grabbing;user-select:none}.canvas-scroll [role="button"]{cursor:pointer}
.shear-jump{pointer-events:none}.shear-jump-label{paint-order:stroke;stroke:white;stroke-width:4px;stroke-linejoin:round;font-weight:600}

#combChoices input{width:20px;height:20px;margin:4px auto;accent-color:#146d60}#combChoices th{text-align:left}#combPlots svg{width:100%;min-width:650px}#loadCombinations .table-scroll{max-height:420px;margin-top:16px}

.comb-panel{margin-top:28px;border-top:1px solid #dbe5df;padding-top:12px}.comb-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px}.comb-controls{background:#f2f6f2;padding:12px;border-radius:8px}.comb-case-list{max-height:320px;overflow:auto}.comb-controls input{flex-shrink:0;width:18px;height:18px}.comb-plot{min-width:0}#combPlots .comb-plot svg{min-width:500px}@media(max-width:800px){.comb-layout{grid-template-columns:1fr}.comb-case-list{max-height:160px}}

#combSystem svg{width:100%;min-width:500px}#combSystem [role=button]:focus{outline:3px solid #bd832f;outline-offset:2px}
