.gas-laws-workspace{display:grid;gap:1rem}
.gas-stage{display:grid;gap:1rem;padding-top:.25rem}
.gas-bench{display:grid;grid-template-columns:minmax(20rem,1.35fr) minmax(15rem,.8fr);gap:1rem;align-items:stretch}
.gas-apparatus-panel,.gas-controls-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--pale);padding:1rem}
.gas-apparatus{display:block;width:100%;max-height:24rem;background:var(--white);border:1px solid var(--line);border-radius:10px}
.gas-cylinder,.gas-vessel{fill:#eef3f5;stroke:#53636d;stroke-width:4}
.gas-fill{fill:#dcecf5;stroke:none}
.gas-piston{stroke:var(--navy);stroke-width:7}
.gas-plunger,.gas-tube{stroke:#53636d;stroke-width:5;stroke-linecap:round}
.gas-bath{fill:#f6fbfd;stroke:#53636d;stroke-width:4}
.gas-water{fill:#dcecf5;opacity:.8}
.gas-meter{fill:#182127;stroke:#53636d;stroke-width:3}
.gas-meter-label{fill:#cbd6da;font:600 12px system-ui,-apple-system,"Segoe UI",sans-serif}
.gas-meter-reading{fill:#eef8ef;font:700 16px "Courier New",monospace}
.gas-apparatus-label{fill:var(--ink);font:600 13px system-ui,-apple-system,"Segoe UI",sans-serif}
.gas-controls-panel{display:grid;grid-template-columns:1fr;gap:.65rem;align-content:start;background:var(--white)}
.gas-controls-panel label,.gas-analysis-form label{font-weight:800;color:var(--navy)}
.gas-controls-panel select,.gas-analysis-form input,.gas-calculation-form input{width:100%;min-height:2.7rem;padding:.45rem .55rem;border:1px solid #9faeb6;border-radius:8px;background:var(--white);color:var(--ink);font:inherit}
.gas-calculation-form{display:grid;gap:.75rem}
.gas-calculation-form .simulation-results-table input{min-width:7.5rem;font-variant-numeric:tabular-nums}
.gas-graph-frame{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:.5rem}
.gas-graph-frame svg{display:block;width:100%;min-width:42rem;min-height:28rem}
.gas-analysis-form{display:grid;grid-template-columns:minmax(14rem,24rem);gap:.65rem;align-items:start}
.gas-analysis-form p{margin:.15rem 0 .35rem}
.gas-laws-workspace .simulation-corrected{background:#fff5cc!important;box-shadow:inset 0 0 0 2px #bb7f00}
.gas-laws-workspace .simulation-corrected input{border-color:#8f6200!important;background:#fffdf2!important}
.gas-laws-workspace .simulation-correction-note{display:block;margin-top:.25rem;font-size:.8rem;font-weight:800;color:#6f4b00}
.gas-laws-workspace .simulation-graph-grid-minor{stroke:#e3e7e9;stroke-width:.65}
.gas-laws-workspace .simulation-graph-grid-major{stroke:#b7c0c5;stroke-width:1.15}
.gas-laws-workspace .simulation-graph-axis{stroke:var(--ink);stroke-width:2}
.gas-laws-workspace .simulation-graph-fit{stroke:var(--blue);stroke-width:2.5}
.gas-laws-workspace .simulation-graph-point{fill:var(--navy);stroke:var(--white);stroke-width:1.5}
.gas-laws-workspace .simulation-graph-tick,.gas-laws-workspace .simulation-graph-label,.gas-laws-workspace .simulation-graph-empty{fill:var(--ink);font:12px system-ui,-apple-system,"Segoe UI",sans-serif}
.gas-laws-workspace .simulation-graph-label{font-size:14px;font-weight:800}
.gas-laws-workspace button:focus-visible,.gas-laws-workspace select:focus-visible,.gas-laws-workspace input:focus-visible{outline:3px solid #ffbf47;outline-offset:3px}
.simulation-confirmation{display:flex;gap:.55rem;align-items:flex-start;margin-bottom:.8rem}
.simulation-confirmation input{margin-top:.25rem}
.simulation-restart-form{padding-top:.75rem;border-top:1px solid var(--line)}
@media(max-width:800px){.gas-bench{grid-template-columns:1fr}.gas-apparatus{max-height:21rem}}
@media(max-width:620px){.gas-calculation-form .simulation-table-wrap{overflow-x:auto}.gas-controls-panel .button{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.gas-laws-workspace *{animation:none!important;transition:none!important}}
.gas-apparatus-control{cursor:grab;touch-action:none;outline:none}
.gas-apparatus-control:active{cursor:grabbing}
.gas-apparatus-control:focus-visible .gas-control-hit,.gas-apparatus-control:focus-visible .gas-dial-face{stroke:#a96900;stroke-width:4}
.gas-control-hit{fill:transparent;stroke:transparent;stroke-width:3}
.gas-plunger-handle{stroke:#24455c;stroke-width:9;stroke-linecap:round}
.gas-scale-tick{stroke:#53636d;stroke-width:1.5}
.gas-scale-label{fill:var(--ink);font:11px system-ui,sans-serif}
.gas-dial-face{fill:#edf1f3;stroke:#53636d;stroke-width:2}
.gas-dial-knob{fill:#365b73;stroke:#18374d;stroke-width:2}
.gas-dial-needle{stroke:#fff;stroke-width:4;stroke-linecap:round}
.gas-settling .gas-water{animation:gas-bath-settling 1s ease-in-out infinite alternate}
.gas-settling [data-gas-equilibrium]{fill:#986400;font-weight:700}
@keyframes gas-bath-settling{from{opacity:.55}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.gas-settling .gas-water{animation:none}}

.gas-thermostat-ticks{stroke:#53636d;stroke-width:2}
