/* impedance.css: Impedance Matching Calculator (Graphic Designer, approved hybrid 2026-10-30). Uses tokens.css only. */
.imc-grid{display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:var(--s4)}
.imc-col{min-width:0}
.imc-fld label{display:block;font-size:var(--fs-sm);margin:var(--s3) 0 var(--s1);color:var(--color-muted)}
.imc-in{display:flex;gap:var(--s2);align-items:center}
.imc-in .box{flex:1;background:var(--color-surface-sunk);border:var(--border-w) solid var(--color-rule);border-radius:var(--radius);padding:var(--s2) var(--s3);font-family:var(--font-mono);font-size:var(--fs-md)}
.imc-in .u{color:var(--color-muted);font-family:var(--font-mono);min-width:36px}
.imc-q{margin-top:var(--s3)}.imc-q .row{display:flex;align-items:center;gap:var(--s3)}
.imc-q input[type=range]{flex:1;accent-color:var(--color-accent)}
.imc-q[aria-disabled="true"] input{opacity:.4;pointer-events:none}
.imc-q[aria-disabled="true"] .qv{color:var(--color-muted)}
.qv{font-family:var(--font-mono);font-weight:700;color:var(--color-readout);min-width:3ch}
/* solution cards ("Every way to match it") */
.imc-sols{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}
.imc-sol{text-align:left;font:inherit;font-size:var(--fs-xs);color:var(--color-ink);border:var(--border-w) solid var(--color-rule);border-radius:var(--radius);padding:var(--s3);background:var(--color-surface-sunk);cursor:pointer;min-width:0}
.imc-sol b{display:block;font-size:var(--fs-sm);margin-bottom:var(--s1)}
.imc-sol .v{font-family:var(--font-mono);display:block}
.imc-sol[aria-pressed="true"]{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}
.imc-sol.is-weak b::after{content:" · weak 2f";color:var(--color-warn);font-weight:400}
/* parts table */
.imc-parts{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}
.imc-parts th,.imc-parts td{padding:var(--s2);border-bottom:1px solid var(--color-rule);text-align:left}
.imc-parts th{color:var(--color-muted);font-weight:500}
.imc-parts .val{font-family:var(--font-mono);color:var(--color-readout);font-weight:700}
.imc-parts a{color:var(--color-accent)}
.imc-actions{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s3)}.imc-actions .btn{margin:0}
.imc-plot{background:var(--color-surface-sunk);border-radius:var(--radius);margin-top:var(--s3)}
/* plot/schematic SVG colors follow tokens (svg uses classes, not hex) */
.svg-ink{stroke:var(--color-ink);fill:none}.svg-val{fill:var(--color-readout)}.svg-trace{stroke:var(--color-readout);fill:none}
.svg-band{fill:var(--color-accent);fill-opacity:.15}.svg-limit{stroke:var(--color-warn);stroke-dasharray:4 4}.svg-grid{stroke:var(--color-rule)}.svg-lbl{fill:var(--color-muted)}
[data-theme="notebook"] .svg-trace{stroke:#2e7d4f}
@media(max-width:900px){.imc-sols{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.imc-grid{grid-template-columns:1fr}.imc-parts{display:block;overflow-x:auto}.imc-parts th,.imc-parts td{white-space:nowrap}}
/* modes (same pattern as .lfd) */
.imc[data-mode="beginner"] .xonly,.imc[data-mode="expert"] .bonly{display:none}
.imc .modebar{margin:var(--s3) 0 var(--s4)}
/* engine wiring additions (Coding PM): stale result while input is invalid, field errors, disabled cards, plot labels */
.imc-stale{opacity:.45;pointer-events:none}
.imc-fld .ferr{margin:var(--s1) 0 0}
.imc-sol:disabled{cursor:default;opacity:.6}.imc-sol .why{display:block;color:var(--color-muted);font-size:var(--fs-xs);margin-top:var(--s1)}
.imc-sol .o{display:block;color:var(--color-muted)}
.imc-row2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}
.imc select.box{width:100%}
.imc .warn+.warn{margin-top:var(--s2)}
.imc-sum{margin-top:var(--s2)}
@media print{header,footer,.preview,.modebar,.imc-actions,.imc-col:first-child,#imc-sols-card{display:none!important}.imc-grid{display:block}}

/* Parts table: scroll sideways on narrow screens instead of clipping */
.imc-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
.imc-scroll .imc-parts{min-width:640px}
.imc-scroll:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}

/* Expert "Advanced" Q options: closed by default, two half-width fields, stacked on mobile */
.imc-adv{margin-top:var(--s3)}
.imc-adv>summary{cursor:pointer;font-weight:600}
.imc-half{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin-top:var(--s3)}
.imc-half .imc-fld{min-width:0}
.imc-half select.box,.imc-half input.box{width:100%;min-width:0}
@media (max-width:640px){.imc-half{grid-template-columns:1fr}}
/* Infeasible solution cards, collapsed behind a toggle */
.imc-more{grid-column:1/-1;justify-self:start}
.imc-sols-x{display:contents}
.imc-sols-x[hidden]{display:none}
