.emf-workspace{display:grid;gap:1rem}
.emf-circuit{display:grid;grid-template-columns:minmax(7rem,.8fr) minmax(7rem,.7fr) minmax(15rem,1.7fr) minmax(9rem,1fr) minmax(9rem,1fr);gap:.8rem;align-items:stretch;margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--pale)}
.emf-component,.emf-meter,.emf-switch{min-height:6rem;border:1px solid #aeb8bf;border-radius:10px;background:var(--white);padding:.8rem;display:flex;flex-direction:column;justify-content:center;gap:.45rem;text-align:center}
.emf-cell{font-size:1.05rem}
.emf-cell span{font-size:1.25rem;font-weight:800;color:var(--navy)}
.emf-switch{font:inherit;font-weight:800;color:var(--navy);cursor:pointer}
.emf-switch[aria-pressed="true"]{box-shadow:inset 0 0 0 3px var(--blue)}
.emf-load label{display:block}
.emf-load input[type="range"]{width:100%;min-height:2rem;cursor:pointer}
.emf-load output{font-weight:800;font-variant-numeric:tabular-nums;color:var(--navy)}
.emf-meter{background:#182127;color:#eef8ef;border-color:#34434b}
.emf-meter strong{color:#d9e5dc}
.emf-meter output{font:700 1.4rem "Courier New",monospace;letter-spacing:.03em;font-variant-numeric:tabular-nums}
.emf-workspace [data-emf-analysis-graph]{display:block;width:100%;min-height:18rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
.emf-workspace [data-emf-analysis-graph] .axis{stroke:var(--ink);stroke-width:1.5}
.emf-workspace [data-emf-analysis-graph] .fit-line{stroke:var(--blue);stroke-width:2}
.emf-workspace [data-emf-analysis-graph] .data-point{fill:var(--navy)}
.emf-workspace [data-emf-analysis-graph] text{fill:var(--ink);font:12px system-ui,-apple-system,"Segoe UI",sans-serif}
.simulation-analysis-form{display:grid;grid-template-columns:repeat(2,minmax(12rem,1fr));gap:1rem;align-items:end}
.simulation-analysis-form label{display:grid;gap:.35rem;font-weight:700}
.simulation-analysis-form button{justify-self:start}
.simulation-correction-summary dl{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(10rem,1fr);gap:.35rem 1rem;margin-bottom:0}
.simulation-correction-summary dt{font-weight:800}
.simulation-correction-summary dd{margin:0;font-variant-numeric:tabular-nums}
.emf-workspace button:focus-visible,.emf-workspace input:focus-visible{outline:3px solid #ffbf47;outline-offset:4px}
@media(max-width:980px){.emf-circuit{grid-template-columns:repeat(2,minmax(12rem,1fr))}.emf-load{grid-column:1/-1}.simulation-analysis-form{grid-template-columns:1fr}}
@media(max-width:620px){.emf-circuit{grid-template-columns:1fr}.emf-load{grid-column:auto}.emf-workspace [data-emf-analysis-graph]{min-width:40rem}.emf-workspace .content-card:has([data-emf-analysis-graph]){overflow-x:auto}.simulation-correction-summary dl{grid-template-columns:1fr}.simulation-correction-summary dd{margin:0 0 .5rem}}
@media(prefers-reduced-motion:reduce){.emf-workspace *{animation:none!important;transition:none!important}}

.emf-apparatus{display:block;width:100%;height:auto;max-height:32rem;background:#f8fafc;border:1px solid #cbd5e1;border-radius:.75rem}
.emf-wire{fill:none;stroke:#475569;stroke-width:4}.emf-cell-plate{stroke:#0f172a;stroke-width:5}
.emf-resistor-body{fill:#fff7ed;stroke:#92400e;stroke-width:3}.emf-resistor-coils{fill:none;stroke:#a16207;stroke-width:2}
.emf-instrument{fill:#172a33;stroke:#94a3b8;stroke-width:3}.emf-instrument + .emf-diagram-label{fill:#fff}
.emf-svg-reading{fill:#dcfce7;font:700 13px ui-monospace,monospace}.emf-diagram-label{fill:#0f172a;font:600 16px system-ui,sans-serif}
.emf-apparatus-control{touch-action:none;cursor:grab}.emf-apparatus-control[role="button"]{cursor:pointer}
.emf-control-hit{fill:transparent;stroke:transparent;stroke-width:3}.emf-apparatus-control:focus{outline:none}.emf-apparatus-control:focus .emf-control-hit{stroke:#2563eb}
.emf-contact-grip{fill:#bfdbfe;stroke:#1d4ed8;stroke-width:3}.emf-wiper-arrow,.emf-switch-lever{fill:none;stroke:#1d4ed8;stroke-width:5}
.emf-apparatus-control[aria-disabled="true"]{cursor:wait;opacity:.65}
.emf-circuit{grid-template-columns:minmax(7rem,.8fr) minmax(12rem,1.5fr) repeat(2,minmax(9rem,1fr))}
@media(max-width:980px){.emf-circuit{grid-template-columns:repeat(2,minmax(0,1fr))}.emf-load{grid-column:auto}}
@media(max-width:620px){.emf-circuit{grid-template-columns:1fr}}
.emf-manual-readings{display:flex;flex-wrap:wrap;gap:1rem;margin:.75rem 0}.emf-manual-readings label{display:grid;gap:.35rem}.emf-manual-readings input{max-width:12rem;min-height:44px}
