/* Glasshouse: the apparatus is the main workspace. */
.physics-apparatus-lab{--gp-paper:#fffaf3;--gp-ink:#322f2b;--gp-muted:#655f56;--gp-line:#d4cabe;--gp-coral:#bd4438;--gp-aqua:#377a79;--gp-surface:#e6efea;--gp-wire:#514e47;color:var(--gp-ink);margin:20px 0}
[data-theme="dark"] .physics-apparatus-lab{--gp-paper:#222c2b;--gp-ink:#f6efe4;--gp-muted:#c5c7bc;--gp-line:#63716b;--gp-coral:#ffa293;--gp-aqua:#8fd0c4;--gp-surface:#364d48;--gp-wire:#dfd7c9}
.gp-intro h3{font-size:clamp(22px,3vw,30px);margin:7px 0}.gp-intro>p{max-width:820px;color:var(--gp-muted);font-size:15px}
.gp-scene{background:var(--gp-paper);border:1px solid var(--gp-line);border-radius:18px;overflow:auto;overscroll-behavior-x:contain}.gp-svg{display:block;width:100%;min-width:660px;height:auto;max-height:none;font-family:system-ui,sans-serif}.gp-svg text{letter-spacing:0}
.gp-ink{color:var(--gp-ink)}.gp-muted{color:var(--gp-muted)}.gp-line{color:var(--gp-line)}.gp-coral{color:var(--gp-coral)}.gp-aqua{color:var(--gp-aqua)}.gp-surface{color:var(--gp-surface)}.gp-wire{color:var(--gp-wire)}
.gp-readouts{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--gp-line);margin:12px 0 25px}.gp-readouts>div{flex:1 1 160px;padding:12px 16px 17px}.gp-readouts span{display:block;color:var(--gp-muted);font-size:12px;margin-bottom:6px}.gp-readouts strong{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.gp-readouts small{font-size:12px;font-weight:400}
.gp-workspace{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr);gap:30px}.physics-apparatus-lab h4{font-size:16px;margin:0 0 17px}.gp-controls{min-width:0}.gp-controls label{display:block;font-size:13px;font-weight:600;margin-bottom:18px}.gp-controls output{float:right;font-variant-numeric:tabular-nums;font-size:12px;font-weight:400;color:var(--gp-muted)}.gp-controls select{display:block;width:100%;margin-top:9px;background:var(--gp-paper);color:var(--gp-ink);border-color:var(--gp-line)}.gp-controls input[type=range]{accent-color:var(--gp-coral);min-height:24px;margin-top:8px}
.gp-clock{padding-top:20px;border-top:1px solid var(--gp-line)}.gp-transport{display:flex;flex-wrap:wrap;gap:8px}.gp-transport button{padding:11px 17px;min-height:44px;background:var(--gp-paper);color:var(--gp-ink);border:1px solid var(--gp-line);border-radius:8px}.gp-transport button:first-child{background:var(--gp-coral);color:var(--gp-paper);border-color:var(--gp-coral);font-weight:600}.gp-note,.gp-status{font-size:12px;color:var(--gp-muted);line-height:1.65}.gp-status{min-height:3.3em}
.gp-stages{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}.gp-stages button{display:flex;align-items:center;gap:7px;min-height:42px;padding:8px 11px;border:1px solid var(--gp-line);border-radius:8px;color:var(--gp-muted);background:var(--gp-paper);text-align:left;font-size:12px}.gp-stages span{font-size:11px;border:1px solid var(--gp-line);width:22px;height:22px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.gp-stages button[aria-pressed=true]{color:var(--gp-ink);border-color:var(--gp-aqua);background:var(--gp-surface)}.gp-stages button[aria-pressed=true] span{background:var(--gp-aqua);color:var(--gp-paper);border-color:var(--gp-aqua)}
.gp-teaching{border-left:3px solid var(--gp-aqua);padding:1px 0 1px 20px}.gp-teaching p{font-size:14px;line-height:1.8;margin:8px 0 16px}.gp-look{color:var(--gp-muted)}.gp-equation{padding:14px;border-radius:8px;background:var(--gp-paper);overflow-x:auto;color:var(--gp-ink);line-height:1.8}.gp-equation math{color:inherit}
.gp-practice,.gp-source{margin-top:22px;border:1px solid var(--gp-line);border-radius:10px;padding:16px 20px;background:var(--gp-paper);font-size:13px}.gp-practice summary,.gp-source summary{cursor:pointer;font-weight:600;min-height:24px}.gp-practice label{display:block;margin:18px 0 13px}.gp-practice input{display:block;margin-top:8px;background:transparent;color:var(--gp-ink);border:1px solid var(--gp-line);border-radius:6px;padding:12px;max-width:100%;width:240px}.gp-solution{border-top:1px solid var(--gp-line);margin-top:17px;padding-top:12px}.gp-solution li{padding:5px 0;line-height:1.7}.gp-correct{color:var(--gp-aqua)}.gp-retry{color:var(--gp-coral)}.gp-final{font-weight:600}.gp-source p{color:var(--gp-muted)}.gp-source a{color:var(--gp-ink);text-underline-offset:3px}
@media(max-width:850px){.gp-workspace{grid-template-columns:1fr;gap:15px}.gp-readouts>div{padding-left:9px}.gp-readouts strong{font-size:19px}.gp-teaching{padding-left:15px}.gp-practice,.gp-source{padding:14px}.gp-intro>p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.physics-apparatus-lab *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
