.lab-shell{gap:var(--space-6);margin-block:var(--space-12);color:var(--color-ink);grid-template-columns:minmax(0,1fr);display:grid;container:lesson-lab/inline-size}.simulator-switcher__tabs{margin-bottom:var(--space-3);border:var(--stroke-hairline) solid var(--color-rule-strong);border-radius:var(--radius-control);background:var(--color-surface);grid-template-columns:repeat(2,1fr);display:grid}.simulator-switcher__tabs button{min-height:var(--target-min);color:var(--color-muted);font:var(--font-weight-medium) var(--font-size-label)/var(--line-height-label) var(--font-sans);cursor:pointer;background:0 0;border:0}.simulator-switcher__tabs button+button{border-left:var(--stroke-hairline) solid var(--color-rule)}.simulator-switcher__tabs button[aria-selected=true]{background:color-mix(in srgb, var(--color-active) 8%, var(--color-surface));color:var(--color-active);box-shadow:inset 0 -2px 0 var(--color-active)}.lab-shell__header{justify-content:space-between;align-items:end;gap:var(--space-8);padding-bottom:var(--space-4);border-bottom:var(--stroke-hairline) solid var(--color-rule);display:flex}.lab-shell__name,.lab-controls__heading span,.cause-ledger__heading span{color:var(--color-muted);font:var(--font-weight-medium) var(--font-size-label)/var(--line-height-label) var(--font-sans)}.lab-shell__header h2{max-width:22ch;margin:var(--space-2) 0;font:var(--font-weight-semibold) var(--font-size-headline)/var(--line-height-headline) var(--font-sans);letter-spacing:-.015em;text-wrap:balance}.lab-shell__header p{max-width:70ch;color:var(--color-muted);margin:0}.lab-shell__model-note{font-size:var(--font-size-label);line-height:var(--line-height-label);flex:0 0 270px}.signal-spine ol{grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.signal-spine__toolbar{min-height:var(--target-min);justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.signal-spine__toolbar p{color:var(--color-muted);font-size:var(--font-size-label);line-height:var(--line-height-label);margin:0}.signal-spine__motion-control{min-height:var(--target-min);padding:var(--space-2) var(--space-3);border:var(--stroke-hairline) solid var(--color-rule-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);font:var(--font-weight-medium) var(--font-size-label)/var(--line-height-label) var(--font-sans)}.signal-spine li{align-items:center;gap:var(--space-2);min-height:62px;padding:var(--space-3);border:var(--stroke-hairline) solid var(--color-rule);background:var(--color-surface);display:flex;position:relative}.signal-spine li+li{border-inline-start:0}.signal-spine li:first-child{border-radius:var(--radius-control) 0 0 var(--radius-control)}.signal-spine li:last-child{border-radius:0 var(--radius-control) var(--radius-control) 0}.signal-spine li.is-active{z-index:1;border-color:var(--color-active);background:color-mix(in srgb, var(--color-active) 9%, var(--color-surface))}.signal-spine__flow-indicator{inset-inline:var(--space-2);height:calc(var(--stroke-hairline) * 2);border-radius:var(--radius-pill);background:var(--color-active);transform-origin:0;animation:signal-stage-flow calc(var(--duration-panel) * 8) var(--ease-out) infinite;position:absolute;inset-block-end:0;transform:scaleX(0)}.signal-spine li:nth-child(2) .signal-spine__flow-indicator{animation-delay:var(--duration-panel)}.signal-spine li:nth-child(3) .signal-spine__flow-indicator{animation-delay:calc(var(--duration-panel) * 2)}.signal-spine li:nth-child(4) .signal-spine__flow-indicator{animation-delay:calc(var(--duration-panel) * 3)}.signal-spine li:nth-child(5) .signal-spine__flow-indicator{animation-delay:calc(var(--duration-panel) * 4)}.signal-spine[data-flow-state=paused] .signal-spine__flow-indicator{animation-play-state:paused}@keyframes signal-stage-flow{0%,12%{opacity:0;transform:scaleX(0)}20%{opacity:1}58%{opacity:1;transform:scaleX(1)}72%,to{opacity:0;transform:scaleX(1)}}.signal-spine__index{border:var(--stroke-hairline) solid var(--color-rule-strong);border-radius:var(--radius-pill);width:24px;height:24px;color:var(--color-muted);font:var(--font-weight-medium) var(--font-size-data)/1 var(--font-mono);flex:0 0 24px;place-items:center;display:grid}.signal-spine .is-active .signal-spine__index{border-color:var(--color-active);background:var(--color-active);color:var(--color-surface)}.signal-spine strong,.signal-spine small{display:block}.signal-spine__label{min-width:0}.signal-spine strong{font:var(--font-weight-medium) var(--font-size-data)/var(--line-height-data) var(--font-mono)}.signal-spine small{margin-top:var(--space-0-5);color:var(--color-muted);font-size:var(--font-size-data);overflow-wrap:anywhere}.lab-prediction{align-items:center;gap:var(--space-4);padding:var(--space-4);border:var(--stroke-hairline) solid var(--color-rule-strong);border-radius:var(--radius-panel);background:var(--color-surface);grid-template-columns:minmax(220px,1fr) minmax(320px,1.3fr) auto;display:grid}.lab-prediction>*{min-width:0}.lab-prediction h3,.lab-explain h3,.cause-ledger h3,.lab-controls h3{font-size:var(--font-size-title);margin:0}.lab-prediction p,.lab-explain p{margin:var(--space-1) 0 0;color:var(--color-muted)}.lab-prediction__choices{gap:var(--space-2);flex-wrap:wrap;display:flex}.lab-prediction__choices label{max-width:100%;min-width:var(--target-min);min-height:var(--target-min);cursor:pointer;position:relative}.lab-prediction__choices input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.lab-prediction__choices span{min-height:var(--target-min);min-width:var(--target-min);padding:var(--space-2) var(--space-3);border:var(--stroke-hairline) solid var(--color-rule);border-radius:var(--radius-control);background:var(--color-canvas);overflow-wrap:anywhere;align-items:center;display:inline-flex}.lab-prediction>.lab-button{white-space:normal;justify-self:start;max-width:100%}.lab-prediction__choices input:checked+span{border-color:var(--color-active);color:var(--color-active)}.lab-prediction__choices input:focus-visible+span{box-shadow:var(--shadow-focus)}.lab-prediction__feedback{padding-top:var(--space-3);border-top:var(--stroke-hairline) solid var(--color-rule);grid-column:1/-1}.lab-prediction__feedback[data-correct=true] strong{color:var(--color-success)}.lab-prediction__feedback[data-correct=false] strong{color:var(--color-reverse)}.lab-shell__workbench{gap:var(--space-4);grid-template-columns:minmax(250px,320px) minmax(0,1fr);align-items:start;display:grid}.lab-shell__workbench>.lab-controls{grid-area:1/1/span 2}.lab-shell__workbench>.lab-prediction{grid-area:1/2}.lab-shell__workbench>.lab-views{grid-area:2/2}.lab-shell__workbench--no-prediction>.lab-views{grid-row:1}.lab-controls{border:var(--stroke-hairline) solid var(--color-rule);border-radius:var(--radius-panel);background:var(--color-surface)}.lab-controls__sticky{top:calc(var(--space-4) + 64px);gap:var(--space-4);padding:var(--space-4);display:grid;position:sticky}.lab-controls__heading,.cause-ledger__heading{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.lab-controls__state{color:var(--color-muted);font-size:var(--font-size-label);line-height:var(--line-height-label);margin:0}.lab-controls__fields{gap:var(--space-4);border:0;min-width:0;margin:0;padding:0;display:grid}.control-field{gap:var(--space-2);display:grid}.control-field+.control-field{padding-top:var(--space-4);border-top:var(--stroke-hairline) solid var(--color-rule)}.control-field label{font-weight:var(--font-weight-medium)}.control-field__label{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.control-field output,.control-field__number span{color:var(--color-active);font:var(--font-weight-medium) var(--font-size-data)/var(--line-height-data) var(--font-mono)}.control-field p{color:var(--color-muted);font-size:var(--font-size-label);line-height:var(--line-height-label);margin:0}.control-field input[type=range]{min-height:var(--target-min);width:100%;accent-color:var(--color-active);cursor:pointer}.control-field input[type=range]:disabled{cursor:not-allowed}.control-field select,.control-field input[type=number]{min-height:var(--target-min);width:100%;padding:var(--space-2) var(--space-3);border:var(--stroke-hairline) solid var(--color-rule-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);font:inherit}.control-field__number{position:relative}.control-field__number input{font-family:var(--font-mono);padding-right:64px}.control-field__number span{top:50%;right:var(--space-3);position:absolute;transform:translateY(-50%)}.lab-views{gap:var(--space-4);min-width:0;display:grid}.plot-frame{border-radius:var(--radius-panel);background:var(--color-instrument);color:var(--color-instrument-ink);overflow:hidden}.plot-frame>header{justify-content:space-between;align-items:start;gap:var(--space-4);padding:var(--space-4) var(--space-4) 0;display:flex}.plot-frame h3{font-size:var(--font-size-title);margin:0}.plot-frame header p{margin:var(--space-1) 0 0;color:var(--color-instrument-muted);font-size:var(--font-size-label)}.plot-frame__canvas{padding:var(--space-2) var(--space-4) var(--space-4);overflow:clip}.plot-frame__canvas svg{background:var(--color-instrument);width:100%;min-width:0;height:auto;display:block}.plot-frame__canvas svg>text:not([class]):not([fill]){fill:var(--color-instrument-muted);font:var(--font-weight-regular) var(--font-size-data)/var(--line-height-data) var(--font-mono)}.plot-frame__table{padding:var(--space-3) var(--space-4);border-top:var(--stroke-hairline) solid var(--color-instrument-grid);color:var(--color-instrument-muted)}.plot-frame__table summary{min-height:var(--target-min);cursor:pointer}.plot-frame table{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:var(--font-size-data)}.plot-frame__table table{table-layout:fixed}.plot-frame caption{padding-block:var(--space-2);color:var(--color-instrument-ink);text-align:left}.plot-frame th,.plot-frame td{padding:var(--space-2);border-top:var(--stroke-hairline) solid var(--color-instrument-grid);overflow-wrap:anywhere;text-align:right}.plot-frame th:first-child,.plot-frame td:first-child,.plot-frame__table th:last-child,.plot-frame__table td:last-child{text-align:left}.plot-grid line{stroke:var(--color-instrument-grid);stroke-opacity:.34;stroke-width:1px}.plot-axis text,.line-plot text,.complex-plane text{fill:var(--color-instrument-muted);font:var(--font-size-data) var(--font-mono)}.plot-axis-line,.plot-unit-circle{fill:none;stroke:var(--color-instrument-grid);stroke-width:1px}.plot-unit-circle{stroke-dasharray:4 5}.complex-point__hit-area{fill:#0000;pointer-events:all}.complex-point--interactive{cursor:pointer;outline:none}.complex-point--interactive:focus-visible .complex-point__marker{fill:var(--color-instrument);stroke:var(--color-reference-bright);stroke-width:4px}.plot-marker line{stroke:var(--color-reference-bright);stroke-dasharray:3 4}.plot-marker circle,.plot-marker text{fill:var(--color-reference-bright)}.plot-direct-label{font-weight:var(--font-weight-medium)}.plot-label--narrow{display:none}.plot-label-strong{fill:var(--color-instrument-ink)!important;font-weight:var(--font-weight-medium)!important}.plot-label-reference{fill:var(--color-reference-bright)!important}.pa-constellation__axis line{stroke:var(--color-instrument-muted);stroke-width:var(--stroke-hairline);vector-effect:non-scaling-stroke}.pa-constellation__axis text,.pa-constellation__ideal-label,.pa-constellation__output-label{font:var(--font-weight-medium) var(--font-size-data)/var(--line-height-data) var(--font-mono)}.pa-constellation__axis text{fill:var(--color-instrument-muted)}.pa-constellation__ideal{fill:none;stroke:var(--color-reference-bright);stroke-width:calc(var(--stroke-hairline) * 2);vector-effect:non-scaling-stroke}.pa-constellation__output{fill:var(--color-forward-bright);stroke:var(--color-instrument);stroke-width:calc(var(--stroke-hairline) * 2);vector-effect:non-scaling-stroke}.pa-constellation__error-vector{stroke:var(--color-reverse-bright);stroke-width:calc(var(--stroke-hairline) * 2);stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.pa-constellation__ideal-label{fill:var(--color-reference-bright)}.pa-constellation__output-label{fill:var(--color-forward-bright)}.receiver-decision-plot__boundary line{stroke:var(--color-instrument-muted);stroke-width:var(--stroke-hairline);vector-effect:non-scaling-stroke}.resource-carrier{fill:var(--color-instrument-raised);stroke:var(--color-instrument-grid)}.resource-tick{stroke:var(--color-instrument-grid);stroke-opacity:.24}.resource-allocation{fill:var(--color-forward-bright);fill-opacity:.68;stroke:var(--color-forward-bright)}.resource-marker{stroke:var(--color-reference-bright);stroke-width:2px;stroke-dasharray:3 3}.resource-re{fill:var(--color-instrument-raised);stroke:var(--color-instrument-grid);stroke-width:.5px}.resource-re--reference{fill:var(--color-reference-bright)}.smith-boundary,.smith-axis,.smith-grid,.smith-vswr,.contour-ring{fill:none;stroke:var(--color-instrument-grid)}.smith-boundary{stroke:var(--color-instrument-muted);stroke-width:1.5px}.smith-grid{stroke-opacity:.42;stroke-width:.7px}.smith-axis{stroke-opacity:.7}.smith-vswr,.contour-ring{stroke:var(--color-secondary-bright);stroke-opacity:.44;stroke-dasharray:4 5}.smith-trace{fill:none;stroke:var(--color-forward-bright);stroke-width:2px}.smith-vector{stroke:var(--color-reference-bright);stroke-dasharray:4 4}.smith-marker{fill:var(--color-reference-bright);stroke:var(--color-instrument);stroke-width:3px}.contour-optimum-marker{fill:none;stroke:var(--color-forward-bright);stroke-width:3px;stroke-dasharray:4 3}.contour-sample-glyph{fill:none;stroke:var(--color-instrument-ink);stroke-width:1px;vector-effect:non-scaling-stroke}.contour-sample-glyph--low{stroke-dasharray:1 2}.contour-sample-glyph--middle{stroke-dasharray:4 2}.contour-sample-glyph--high{stroke-width:1.5px}.contour-level-key text{fill:var(--color-instrument-ink);font:var(--font-weight-medium) var(--font-size-data)/var(--line-height-data) var(--font-mono)}.plot-label-forward{fill:var(--color-forward-bright)!important}.power-device{fill:var(--color-instrument-raised);stroke:var(--color-instrument-muted)}.contour-plot circle{vector-effect:non-scaling-stroke}.cause-ledger{padding:var(--space-4);border:var(--stroke-hairline) solid var(--color-rule);border-radius:var(--radius-panel);background:var(--color-surface)}.cause-ledger dl{margin:var(--space-4) 0 0;grid-template-columns:repeat(4,1fr);display:grid}.cause-ledger dl>div{padding:0 var(--space-4);border-left:var(--stroke-hairline) solid var(--color-rule)}.cause-ledger dl>div:first-child{border-left:0;padding-left:0}.cause-ledger dt{color:var(--color-muted);font-size:var(--font-size-label)}.cause-ledger dd{margin:var(--space-2) 0 0;line-height:1.6}.cause-ledger [data-tone=active] dd{color:var(--color-active)}.cause-ledger [data-tone=warning] dd{color:var(--color-reverse)}.lab-explain{align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface-subtle);border-radius:var(--radius-panel);grid-template-columns:1fr auto;display:grid}.lab-explain>div{min-width:0}.lab-explain__field{gap:var(--space-2);margin-top:var(--space-4);display:grid}.lab-explain__field label{font-weight:var(--font-weight-medium)}.lab-explain__field textarea{width:100%;min-height:calc(var(--target-min) * 2);padding:var(--space-3);border:var(--stroke-hairline) solid var(--color-rule-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);line-height:var(--line-height-body);resize:vertical;touch-action:manipulation;-webkit-tap-highlight-color:color-mix(in srgb, var(--color-active) 22%, transparent)}.lab-explain__field textarea[aria-invalid=true]{border-color:var(--color-reverse)}.lab-explain__field textarea:disabled{background:color-mix(in srgb, var(--color-canvas) 70%, var(--color-surface));color:var(--color-muted);cursor:not-allowed}.lab-explain__requirement{font-size:var(--font-size-label)}.lab-explain__done{grid-column:1/-1;color:var(--color-success)!important}.lab-shell__note{color:var(--color-muted);font-size:var(--font-size-label);margin:0}.lab-button{min-height:var(--target-min);padding:var(--space-2) var(--space-4);border-radius:var(--radius-control);font:var(--font-weight-medium) var(--font-size-label)/var(--line-height-label) var(--font-sans);cursor:pointer}.lab-button:disabled{cursor:not-allowed;opacity:.48}.lab-button--primary{border:var(--stroke-hairline) solid var(--color-active);background:var(--color-active);color:var(--color-surface)}.lab-button--secondary{border:var(--stroke-hairline) solid var(--color-rule-strong);background:var(--color-surface);color:var(--color-ink)}.lab-readout{gap:var(--space-1);padding:var(--space-3);border:var(--stroke-hairline) solid var(--color-instrument-grid);border-radius:var(--radius-control);background:var(--color-instrument-raised);display:grid}.lab-readout span{color:var(--color-instrument-muted);font-size:var(--font-size-data)}.lab-readout strong{color:var(--color-instrument-ink);font:var(--font-weight-medium) var(--font-size-title)/1.2 var(--font-mono)}.lab-readout[data-tone=forward] strong{color:var(--color-forward-bright)}.lab-readout[data-tone=reference] strong{color:var(--color-reference-bright)}.lab-readout[data-tone=reverse] strong{color:var(--color-reverse-bright)}.lab-readout[data-tone=secondary] strong{color:var(--color-secondary-bright)}.lab-readout-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(145px,1fr));display:grid}.linked-view-grid{gap:var(--space-4);grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);display:grid}.linked-view-grid--equal{grid-template-columns:repeat(2,minmax(0,1fr))}.instrument-equation{padding:var(--space-8) var(--space-4);color:var(--color-instrument-ink);font:var(--font-weight-medium) var(--font-size-title)/1.7 var(--font-mono);text-align:center}.instrument-equation span{padding-inline:var(--space-3);color:var(--color-reference-bright)}.power-balance{align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);grid-template-columns:1fr auto 1fr auto 1fr;display:grid}.power-balance>div{gap:var(--space-2);min-height:92px;padding:var(--space-3);border:var(--stroke-hairline) solid var(--color-instrument-grid);border-radius:var(--radius-control);background:var(--color-instrument-raised);align-content:center;display:grid}.power-balance span{color:var(--color-instrument-muted)}.power-balance strong{color:var(--color-forward-bright);font:var(--font-weight-medium) var(--font-size-title)/1.2 var(--font-mono)}.tradeoff-strip{gap:var(--space-2);padding:var(--space-6) var(--space-4);flex-wrap:wrap;display:flex}.tradeoff-strip span{min-height:var(--target-min);padding:var(--space-2) var(--space-3);border:var(--stroke-hairline) solid var(--color-instrument-grid);border-radius:var(--radius-control);background:var(--color-instrument-raised);color:var(--color-instrument-ink);font-family:var(--font-mono);align-items:center;display:inline-flex}@container lesson-lab (width<=1024px){.lab-shell__workbench{grid-template-columns:minmax(0,1fr)}.lab-shell__workbench>.lab-controls,.lab-shell__workbench>.lab-prediction,.lab-shell__workbench>.lab-views{grid-area:auto/1}.lab-controls__sticky{position:static}.lab-explain{grid-template-columns:minmax(0,1fr)}.lab-explain>.lab-button{white-space:normal;justify-self:start;max-width:100%}.cause-ledger dl{gap:var(--space-4) 0;grid-template-columns:repeat(2,minmax(0,1fr))}.cause-ledger dl>div:nth-child(3){border-left:0;padding-left:0}.linked-view-grid,.linked-view-grid--equal{grid-template-columns:minmax(0,1fr)}}@container lesson-lab (width<=760px){.lab-prediction{grid-template-columns:minmax(0,1fr)}}@container lesson-lab (width<=680px){.lab-shell__header{display:grid}.lab-shell__model-note{flex-basis:auto}.signal-spine ol{grid-template-columns:minmax(0,1fr)}.signal-spine li{min-width:0}.signal-spine li+li{border-block-start:0;border-inline-start:var(--stroke-hairline) solid var(--color-rule)}.signal-spine li:first-child{border-radius:var(--radius-control) var(--radius-control) 0 0}.signal-spine li:last-child{border-radius:0 0 var(--radius-control) var(--radius-control)}.signal-spine__toolbar{align-items:start}.cause-ledger dl{grid-template-columns:minmax(0,1fr)}.cause-ledger dl>div{padding:var(--space-3) 0 0;border-top:var(--stroke-hairline) solid var(--color-rule);border-left:0}.cause-ledger dl>div:first-child{border-top:0;padding-top:0}.plot-frame__canvas{padding-inline:var(--space-2)}.receiver-decision-plot text,.pa-constellation text{font-size:var(--font-size-title)}.power-balance{grid-template-columns:minmax(0,1fr)}.power-balance>span{text-align:center}}@container lesson-lab (width<=360px){.plot-label--wide,.receiver-decision-plot__ticks--inner,.pa-constellation__ticks--inner{display:none}.plot-label--narrow{display:inline}}.lab-shell button,.lab-shell input:not([type=radio]),.lab-shell select,.lab-shell textarea,.lab-shell summary,.lab-shell [tabindex="0"]{min-height:var(--target-min)}.lab-shell button{min-width:var(--target-min)}@media (width<=680px){.lab-shell{margin-block:var(--space-8)}}@media (hover:hover) and (pointer:fine){.lab-button:not(:disabled){transition:color var(--duration-state) var(--ease-out), background-color var(--duration-state) var(--ease-out), border-color var(--duration-state) var(--ease-out), transform var(--duration-press) var(--ease-out)}.lab-button--primary:not(:disabled):hover{border-color:var(--color-ink);background:color-mix(in srgb, var(--color-active) 88%, var(--color-ink))}.lab-button--secondary:not(:disabled):hover{border-color:var(--color-active);background:var(--color-surface-subtle);color:var(--color-active)}.lab-button:not(:disabled):active:not(:focus-visible){transform:scale(.98)}.lab-prediction__choices label:hover span{border-color:var(--color-rule-strong)}}@media (prefers-reduced-motion:reduce){.signal-spine__flow-indicator{opacity:1;animation:none;transform:none}.lab-button:active,.lab-button:not(:disabled):hover{transform:none}}
