.tool-lab{margin-top:26px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--bg)}.tool-lab-header{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:17px 18px;border-bottom:1px solid var(--line)}.tool-lab-header h4{margin:0;font:500 14px var(--font);color:var(--cyan)}.tool-lab-header button{font-size:12px;border:1px solid var(--line);border-radius:4px;background:none;padding:7px 10px}.tool-lab-graphic{padding:8px 4px 0;overflow:hidden}.tool-lab-graphic svg{display:block;width:100%;height:auto;min-height:160px;max-height:300px;overflow:hidden}.tool-lab svg text{font:15px var(--mono);fill:var(--text)}.tool-lab svg .lab-small{font-size:12px;fill:var(--muted)}.tool-lab svg .lab-label{font-size:14px}.tool-lab svg .lab-big{font-size:26px;fill:var(--cyan)}.tool-lab svg .lab-accent{fill:var(--cyan)}.tool-lab svg .lab-orange{fill:var(--orange)}.lab-wire{fill:none;stroke:var(--line);stroke-width:2.5}.lab-flow{fill:none;stroke:var(--cyan);stroke-width:3;stroke-dasharray:3 17;animation:lab-current 2s linear infinite}.lab-reverse{animation-direction:reverse}.lab-resistor{stroke:var(--cyan);stroke-width:2;fill:var(--panel2)}.lab-source{stroke:var(--muted);stroke-width:2;fill:var(--bg)}.lab-node{fill:var(--cyan)}.lab-pole-s{fill:var(--orange)}.lab-reference{stroke:var(--muted);stroke-width:1.5;stroke-dasharray:5 4;fill:none;color:var(--muted)}.lab-vector-p{stroke:var(--cyan);stroke-width:3;fill:none}.lab-vector-q{stroke:var(--orange);stroke-width:3;fill:none}.lab-vector-s{stroke:var(--acid);stroke-width:3;fill:none}.lab-bar{fill:var(--cyan);opacity:.8}.lab-bar-1{fill:var(--orange)}.lab-bar-2{fill:var(--acid)}.lab-grid{stroke:var(--line);stroke-width:1;fill:none}.lab-curve{fill:none;stroke:var(--cyan);stroke-width:2}.lab-curve-1{stroke:var(--orange)}.lab-curve-2{stroke:var(--acid)}.lab-cable{fill:#9d603b;stroke:var(--orange);stroke-width:1.5}.lab-core{fill:var(--muted)}.lab-charge{fill:var(--acid);opacity:.65}.lab-rotor{animation:lab-spin 2s linear infinite}.tool-lab.paused .lab-flow,.tool-lab.paused .lab-rotor{animation-play-state:paused}.reduced .lab-flow,.reduced .lab-rotor{animation:none!important}.lab-guidance{font:12px/1.7 var(--font);color:var(--muted);padding:0 18px;margin:3px 0 18px}.lab-controls{border-top:1px solid var(--line);padding:17px 18px;display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:end}.lab-controls label{font-size:12px;color:var(--muted)}.lab-controls select{display:block;background:var(--panel);border:1px solid var(--line);border-radius:4px;color:var(--text);padding:9px;width:100%;font-size:13px;margin-top:7px}.lab-adjust-label{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}.lab-adjust-label output{color:var(--cyan);font:12px var(--mono)}.lab-controls input[type=range]{margin:7px 0;min-height:22px}.lab-range-labels{display:flex;justify-content:space-between;font:10px var(--mono);color:var(--muted)}.lab-graph-details{border-top:1px solid var(--line);padding:16px 18px;font-size:13px;color:var(--muted)}.lab-graph-details summary{color:var(--text)}.lab-graph-details>label{display:block;font-size:12px;margin-top:17px}.lab-graph-details select{max-width:100%;display:block;background:var(--panel);border:1px solid var(--line);border-radius:4px;color:var(--text);padding:8px;width:100%;font-size:13px;margin-top:7px}.lab-chart svg{display:block;width:100%;margin-top:13px}.lab-chart-caption{font:12px/1.6 var(--font);margin:0 0 5px}.lab-worked{font:12px/1.8 var(--mono);margin:0;padding:15px 18px;border-top:1px solid var(--line);overflow-wrap:anywhere;color:var(--muted)}.lab-worked strong{color:var(--text);font-weight:400}.lab-exercise-context{margin:0;padding:15px 18px;background:var(--panel2);font:12px/1.7 var(--font);border-bottom:1px solid var(--line);color:var(--muted)}.lab-exercise-context b{color:var(--acid);font-weight:500}.lab-exercise-context button{background:none;color:var(--cyan);border:1px solid var(--line);font-size:12px;border-radius:4px;padding:7px 10px;margin-top:8px;display:block}.exercise-launcher{margin-top:32px;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:28px}.exercise-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.exercise-heading h3{font:600 32px var(--display);margin:12px 0}.exercise-heading p{color:var(--muted);font-size:14px;line-height:1.7;margin:8px 0 22px;max-width:650px}.exercise-count{font:500 44px var(--mono);color:var(--acid)}.exercise-selects{display:grid;grid-template-columns:1fr 1.4fr;gap:20px}.exercise-selects select{display:block;width:100%;background:var(--bg);border:1px solid var(--line);border-radius:4px;color:var(--text);padding:12px;font-size:14px;margin-top:8px}.exercise-selects label{font-size:13px;color:var(--muted)}.exercise-preview{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:4px;font-size:14px}.exercise-preview h4{margin:0 0 12px;font-weight:500}.exercise-preview p{font-size:13px;line-height:1.8;color:var(--muted);margin:10px 0}.exercise-preview .exercise-values{font:12px/1.8 var(--mono);color:var(--text)}.exercise-answer{margin-top:15px;font:13px/1.8 var(--mono);color:var(--cyan)}.exercise-answer summary{font:13px var(--font);color:var(--muted);margin-bottom:10px}.exercise-actions{display:flex;gap:10px;align-items:center;margin-top:20px;flex-wrap:wrap}.exercise-actions button{border:1px solid var(--line);border-radius:4px;background:none;padding:12px 16px;font-size:13px}.exercise-actions .primary{background:var(--acid);color:var(--bg);border-color:var(--acid)}.exercise-all-link{font-size:12px;color:var(--cyan);display:block;margin-top:20px}@keyframes lab-current{to{stroke-dashoffset:-40}}@keyframes lab-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.lab-flow,.lab-rotor{animation:none!important}}@media(max-width:760px){.tool-lab-header{padding:14px}.tool-lab-header h4{font-size:13px}.lab-controls{padding:15px;grid-template-columns:1fr}.lab-guidance{padding:0 14px;font-size:12px}.tool-lab-graphic{min-width:0}.tool-lab-graphic svg{min-height:140px}.exercise-launcher{padding:22px}.exercise-selects{grid-template-columns:1fr;gap:15px}.exercise-heading h3{font-size:28px}.exercise-count{font-size:32px}.exercise-preview{padding:14px}.lab-graph-details{padding:14px}.lab-worked{padding:14px}.tool-lab svg .lab-small{font-size:14px}.tool-lab svg .lab-label{font-size:16px}}
/* Keep circuit labels readable; the diagram can be panned within its own panel. */
.tool-lab-graphic{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.tool-lab-graphic svg{min-width:560px;max-height:none}.tool-lab svg .lab-small{font-size:16px}.tool-lab svg .lab-label{font-size:17px}.tool-lab svg .lab-accent{font-size:17px}.lab-chart{overflow-x:auto}.lab-chart svg{min-width:500px}.lab-pan-hint{display:none}@media(max-width:760px){.lab-pan-hint{display:block;font-size:12px;color:var(--muted);padding:0 14px;margin:0 0 12px}.tool-lab-graphic svg{min-height:275px}}
