/* Scoped lesson experiments and scenario games. No external assets or motion required. */
.lesson-lab{--lab-ink:#163146;--lab-muted:#475c6b;--lab-line:#bdcfda;--lab-paper:#fff;--lab-tint:#edf5f7;color:var(--lab-ink);background:var(--lab-paper);border:2px solid var(--lab-line);border-radius:16px;padding:24px;scroll-margin-top:140px;overflow-wrap:anywhere}
.lesson-lab [hidden]{display:none!important}
.lesson-lab .lab-content{scroll-margin-top:140px}
.lesson-lab h2,.lesson-lab h3,.lesson-lab h4{color:var(--lab-ink);line-height:1.35}
.lesson-lab h2{font-size:1.65rem}
.lesson-lab h3{font-size:1.2rem;margin:20px 0 10px}
.lesson-lab h4{font-size:1rem;margin:12px 0 8px}
.lab-header{border-bottom:1px solid var(--lab-line);margin-bottom:16px}
.lab-eyebrow{color:#155f60;text-transform:uppercase;letter-spacing:.07em;font-weight:750;font-size:.8rem;margin-bottom:8px}
.lab-muted{color:var(--lab-muted);font-size:.92rem}
.lab-goals{padding-left:22px;margin:12px 0}
.lab-goals li{margin:6px 0}
.lab-shortcut{margin:10px 0 18px}
.lab-shortcut .btn{white-space:normal;text-align:left;line-height:1.45;min-height:44px}
.lab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}
.lab-card{min-width:0;background:var(--lab-tint);border:1px solid var(--lab-line);border-radius:10px;padding:16px;margin:12px 0}
.lab-card p:last-child{margin-bottom:0}
.lesson-lab .lab-mass-surface{border:1px solid var(--lab-line);border-radius:12px;padding:12px;background:var(--lab-tint);min-width:0}
.lesson-lab .lab-mass-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lesson-lab .lab-mass-top label,.lesson-lab .lab-mass-slider label{margin:0;font-weight:650;font-size:.92rem}
.lesson-lab .lab-mass-top select{margin:4px 0 8px;padding:8px;min-width:0}
.lesson-lab .lab-mass-scene{min-width:0}
.lesson-lab .lab-mass-scene svg{width:100%;max-height:280px;margin:0 auto}
.lesson-lab .lab-mass-totals{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:8px 0;border-bottom:1px solid var(--lab-line);font-size:.95rem}
.lesson-lab .lab-mass-totals p{margin:0;line-height:1.5}
.lesson-lab .lab-mass-transfer{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;margin:10px 0}
.lesson-lab .lab-mass-slider{min-width:0}
.lesson-lab .lab-mass-slider input{display:block;margin:0}
.lesson-lab .lab-mass-secondary{display:flex;flex-wrap:wrap;gap:10px}
.lesson-lab .lab-mass-surface .lab-feedback{margin:10px 0 0;padding:8px 10px;font-size:.9rem;line-height:1.4}
@media(max-width:480px){.lesson-lab .lab-mass-surface{padding:8px}.lesson-lab .lab-mass-top{grid-template-columns:1fr;gap:8px}.lesson-lab .lab-mass-top label{font-size:.9rem}.lesson-lab .lab-mass-top select{font-size:.9rem;padding:6px}.lesson-lab .lab-mass-transfer{grid-template-columns:1fr;gap:8px}.lesson-lab .lab-mass-slider{grid-column:1/-1}.lesson-lab .lab-mass-secondary>*{flex:1 1 auto}.lesson-lab .lab-mass-totals{font-size:.9rem}}
.lab-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0}
.lesson-lab button,.lesson-lab input,.lesson-lab select{font:inherit;max-width:100%}
.lesson-lab button,.lesson-lab .btn{min-height:44px;white-space:normal;line-height:1.4}
.lesson-lab .btn-primary{background:#145b62;border-color:#145b62;color:#fff}
.lesson-lab .btn-outline{background:#fff;color:#164b65;border-color:#728e9d}
.lesson-lab button:disabled{opacity:.65;cursor:not-allowed}
.lesson-lab input:not([type=radio]):not([type=checkbox]):not([type=range]),.lesson-lab select{display:block;min-height:44px;width:100%;border:1px solid #6b8796;border-radius:7px;background:#fff;color:#163146;padding:9px 11px;margin:5px 0 12px}
.lesson-lab input[type=range]{width:100%;min-height:44px;accent-color:#145b62}
.lesson-lab input[type=radio],.lesson-lab input[type=checkbox]{min-width:20px;min-height:20px;accent-color:#145b62;margin:0 8px 0 0;vertical-align:middle}
.lesson-lab label{display:block;margin:9px 0;line-height:1.5}
.lesson-lab fieldset{border:1px solid var(--lab-line);border-radius:8px;margin:14px 0;padding:14px;min-width:0}
.lesson-lab legend{font-weight:700;padding:0 6px;max-width:100%}
.lesson-lab :is(button,input,select,summary,a):focus-visible,.lesson-lab [tabindex="-1"]:focus{outline:3px solid #ac5d00;outline-offset:3px}
.lab-feedback{border-left:4px solid #176874;background:#edf7f8;padding:12px 14px;color:#173744;margin:14px 0;line-height:1.6}
.lab-feedback:empty{display:none}
.lab-tag{display:inline-block;border:1px solid #719aa5;border-radius:6px;padding:2px 8px;font-size:.82rem;font-weight:700;background:#f0f8f8;color:#214f5d}
.lab-table-wrap{overflow-x:auto;margin:16px 0;max-width:100%}
.lab-table-wrap:focus-visible{outline:3px solid #ac5d00;outline-offset:3px}
.lesson-lab .lab-history-table{min-width:680px}
.lesson-lab table{border-collapse:collapse;width:100%;font-size:.94rem;color:var(--lab-ink)}
.lesson-lab caption{text-align:left;font-weight:700;padding:8px 0;caption-side:top}
.lesson-lab th,.lesson-lab td{text-align:left;vertical-align:top;border:1px solid var(--lab-line);padding:9px;line-height:1.45}
.lesson-lab th{background:#e3eff2;color:#193a49}
.lesson-lab td{background:#fff}
.lesson-lab details{margin:14px 0;border:1px solid var(--lab-line);border-radius:8px;padding:12px}
.lesson-lab summary{cursor:pointer;min-height:32px;line-height:1.5;font-weight:650}
.lesson-lab details[open]>summary{margin-bottom:12px}
.lesson-lab a{color:#164e79;text-decoration:underline;text-underline-offset:2px}
.lesson-lab .lab-paper,.lesson-lab .lab-sources{margin-top:20px}
.lesson-lab .lab-paper .lesson{font-size:1rem;line-height:1.65}
.lesson-lab .lab-paper .lesson p{max-width:none}
@media(max-width:620px){.lesson-lab{padding:16px 12px}.lesson-lab h2{font-size:1.4rem}.lab-grid{grid-template-columns:1fr;gap:6px}.lab-actions>*{flex:1 1 160px}.lesson-lab th,.lesson-lab td{padding:7px}}
@media(prefers-reduced-motion:reduce){.lesson-lab *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.lesson-lab [data-start-lesson-lab],.lab-shortcut{display:none}.lesson-lab{break-inside:auto}.lesson-lab .lab-paper>div{display:block}}
.lesson-lab .lab-circuit-surface{background:var(--lab-tint);border:1px solid var(--lab-line);border-radius:12px;padding:12px;min-width:0}
.lesson-lab .lab-circuit-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.lesson-lab .lab-circuit-controls>div{min-width:0}
.lesson-lab .lab-circuit-controls label{margin:4px 0;font-weight:650}
.lesson-lab .lab-circuit-controls .lab-muted{font-weight:400;font-size:.85rem}
.lesson-lab .lab-circuit-controls input[type=number]{margin-bottom:16px}
.lesson-lab .lab-circuit-diagram{background:#fff;border-radius:10px;padding:8px;max-width:660px;margin:auto}
.lesson-lab .lab-circuit-diagram svg{width:100%;height:auto;display:block}
.lesson-lab .lab-circuit-diagram text{font:22px system-ui,sans-serif;fill:#163146;stroke:none}
.lesson-lab .lab-circuit-meters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.lesson-lab .lab-circuit-meters .lab-card{padding:10px;margin:6px 0}
.lesson-lab .lab-circuit-meters p{margin:6px 0}
.lesson-lab .lab-circuit-bar{height:16px;background:#fff;border:1px solid #65828f;border-radius:4px;overflow:hidden}
.lesson-lab .lab-circuit-bar>span{display:block;height:100%;background:#145b62}
@media(max-width:620px){.lesson-lab .lab-circuit-controls,.lesson-lab .lab-circuit-meters{grid-template-columns:1fr;gap:8px}.lesson-lab .lab-circuit-surface{padding:8px}.lesson-lab .lab-circuit-diagram{padding:0}.lesson-lab .lab-circuit-diagram text{font-size:24px}}
@media(max-width:480px){.lesson-lab .lab-circuit-diagram text{font-size:32px}}
.lesson-lab .lab-energy-surface{border:1px solid var(--lab-line);border-radius:12px;padding:16px;background:var(--lab-tint);min-width:0}
.lesson-lab .lab-energy-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.lesson-lab .lab-energy-controls>div{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:0 12px;align-items:center}
.lesson-lab .lab-energy-controls label{margin:4px 0;font-weight:650}
.lesson-lab .lab-energy-controls label:not(.lab-muted){grid-column:1/-1}
.lesson-lab .lab-energy-controls .lab-muted{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.lesson-lab .lab-energy-controls input[type=number]{min-width:0;padding:8px}
.lesson-lab .lab-energy-diagram svg{display:block;width:100%;height:auto}
.lesson-lab .lab-energy-diagram text{font:26px system-ui,sans-serif;fill:#163146}
.lesson-lab .lab-energy-meter{margin:16px 0}
.lesson-lab .lab-energy-meter>div:first-child{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.lesson-lab .lab-energy-meter p{margin:3px 0;font-size:.85rem}
.lesson-lab .lab-energy-bar{height:22px;border:1px solid #65828f;background:white;border-radius:4px;overflow:hidden;margin:4px 0}
.lesson-lab .lab-energy-bar>span{display:block;height:100%;background:#145b62}
.lesson-lab .lab-energy-bar>[data-bar=kinetic]{background:#315fad}
.lesson-lab .lab-energy-bar>[data-bar=thermal]{background:#ac5d00}
@media(max-width:620px){.lesson-lab .lab-energy-controls{grid-template-columns:1fr;gap:12px}.lesson-lab .lab-energy-surface{padding:10px}.lesson-lab .lab-energy-diagram text{font-size:34px}}
.lesson-lab .lab-coil-surface{border:1px solid var(--lab-line);border-radius:12px;padding:16px;background:var(--lab-tint);min-width:0}
.lesson-lab .lab-coil-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
.lesson-lab .lab-coil-controls>div{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 76px;gap:0 12px;align-items:center}
.lesson-lab .lab-coil-controls label{margin:4px 0;font-weight:650}
.lesson-lab .lab-coil-controls label:not(.lab-muted){grid-column:1/-1}
.lesson-lab .lab-coil-controls .lab-muted{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.lesson-lab .lab-coil-controls input[type=number]{min-width:0;padding:8px}
.lesson-lab .lab-coil-diagram{max-width:660px;margin:auto}
.lesson-lab .lab-coil-diagram svg{display:block;width:100%;height:auto}
.lesson-lab .lab-coil-diagram text{font:26px system-ui,sans-serif;fill:#163146}
.lesson-lab .lab-coil-meter{margin:16px 0}
.lesson-lab .lab-coil-bar{height:22px;border:1px solid #65828f;background:white;border-radius:4px;overflow:hidden;margin:6px 0}
.lesson-lab .lab-coil-bar>span{display:block;height:100%;background:#145b62}
@media(max-width:620px){.lesson-lab .lab-coil-controls{grid-template-columns:1fr;gap:12px}.lesson-lab .lab-coil-surface{padding:10px}.lesson-lab .lab-coil-diagram text{font-size:34px}}
.lesson-lab .lab-mixture-surface{border:1px solid var(--lab-line);border-radius:12px;padding:16px;background:var(--lab-tint);min-width:0}
.lesson-lab .lab-mixture-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 20px}
.lesson-lab .lab-mixture-controls>div{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 68px;gap:0 10px;align-items:center}
.lesson-lab .lab-mixture-controls label{margin:4px 0;font-weight:650}
.lesson-lab .lab-mixture-controls label:not(.lab-muted){grid-column:1/-1}
.lesson-lab .lab-mixture-controls .lab-muted{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.lesson-lab .lab-mixture-controls input[type=number]{min-width:0;padding:8px}
.lesson-lab .lab-mixture-methods{border-top:1px solid var(--lab-line);margin-top:12px;padding-top:6px}
.lesson-lab .lab-mixture-methods>div:first-child{max-width:320px}
.lesson-lab .lab-mixture-view{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lesson-lab .lab-mixture-vessel{min-width:0;background:white;border:1px solid var(--lab-line);border-radius:10px;padding:12px}
.lesson-lab .lab-mixture-vessel h4{font-size:1rem;margin:0 0 6px;line-height:1.4}
.lesson-lab .lab-mixture-vessel p{font-size:.9rem;line-height:1.5;margin:6px 0}
.lesson-lab .lab-mixture-vessel svg{display:block;width:100%;max-width:245px;height:auto;margin:auto}
.lesson-lab .lab-mixture-ion{font:12px system-ui,sans-serif;text-anchor:middle;fill:#163146}
@media(max-width:700px){.lesson-lab .lab-mixture-controls{grid-template-columns:1fr;gap:8px}.lesson-lab .lab-mixture-surface{padding:10px}}
@media(max-width:480px){.lesson-lab .lab-mixture-view{grid-template-columns:1fr}.lesson-lab .lab-mixture-vessel{padding:10px}}
.lesson-lab .lab-change-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.lesson-lab .lab-change-panel{min-width:0;background:var(--lab-tint);border:1px solid var(--lab-line);border-radius:12px;padding:14px}
.lesson-lab .lab-change-panel h4{font-size:1.1rem;margin:0 0 12px}
.lesson-lab .lab-change-panel label{display:block;line-height:1.4;font-weight:650;margin:6px 0}
.lesson-lab .lab-change-panel select{width:100%;min-height:44px;padding:8px}
.lesson-lab .lab-change-start{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lesson-lab .lab-change-start>div{min-width:0}
.lesson-lab .lab-change-diagram{background:white;border:1px solid var(--lab-line);border-radius:10px;margin:12px 0}
.lesson-lab .lab-change-diagram svg{width:100%;height:auto;display:block}
.lesson-lab .lab-change-diagram text{font:16px system-ui,sans-serif;text-anchor:middle;font-weight:650}
.lesson-lab .lab-change-equation{font-size:1.15rem;font-weight:700}
@media(max-width:760px){.lesson-lab .lab-change-panels{grid-template-columns:1fr}.lesson-lab .lab-change-panel{padding:10px}.lesson-lab .lab-change-diagram{max-width:420px;margin:12px auto}}
