/* eCircuitCalc — Multimeter & Measurement: instrument + circuit diagrams */

/* Instrument */
.mm-body{fill:var(--surface2);stroke:var(--border2);stroke-width:2}
.mm-display{fill:var(--bg2);stroke:var(--border2);stroke-width:1.5}
.mm-read{fill:var(--accent);font:700 30px var(--mono)}
.mm-unit{fill:var(--text2);font:600 14px var(--mono)}
.mm-unit.sm{font-size:11px}
.mm-dial{fill:var(--surface);stroke:var(--border2);stroke-width:2}
.mm-dialptr{stroke:var(--accent);stroke-width:4;stroke-linecap:round}
.mm-tickdot{fill:var(--accent)}
.mm-tick{fill:var(--text2);font:600 12px var(--mono)}
.mm-jack{fill:var(--bg2);stroke:var(--border2);stroke-width:2}
.mm-jack.jack-com{stroke:#f87171}
.mm-jack.jack-10a{stroke:#fbbf24}
.mm-jacklbl{fill:var(--text2);font:600 11px var(--mono)}
.mm-probe{stroke-width:4;stroke-linecap:round}
.mm-probe-r{stroke:#f87171}
.mm-probe-b{stroke:var(--text2)}

/* Completed-state button (success / green) */
.btn.done,
.btn.btn-primary.done{
  background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);
  border-color:transparent;
  color:#fff;
  cursor:default;
  box-shadow:0 8px 24px -10px rgba(34,197,94,.6);
}
.btn.done:hover{transform:none}


/* Circuit elements (matches the site's diagram language) */
.mm-wire{fill:none;stroke:var(--wbase,rgba(148,163,184,.5));stroke-width:2.6;stroke-linecap:round}
.mm-comp{fill:none;stroke:var(--text);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.mm-thick{stroke-width:5}
.mm-res{fill:var(--surface2);stroke:var(--text);stroke-width:2}
.mm-node{fill:var(--accent)}
.mm-lbl{fill:var(--text);font:600 15px var(--mono)}
.mm-lbl.sm{fill:var(--text2);font:500 12px var(--font)}
.mm-lbl.pol{fill:var(--accent);font-size:13px}
.mm-dmm{fill:var(--surface);stroke:var(--accent);stroke-width:2}
.mm-dmmtxt{fill:var(--accent);font:700 14px var(--mono)}

/* Motion */
.mm-flow{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:10 16;animation:mmflow 1s linear infinite;filter:drop-shadow(0 0 4px var(--glow))}
@keyframes mmflow{to{stroke-dashoffset:-26}}
.mm-glow{fill:#4ade80;opacity:.5;filter:blur(6px);animation:mmpulse 1.8s ease-in-out infinite}
@keyframes mmpulse{50%{opacity:.18}}
.mm-wave{fill:none;stroke:var(--accent2,#6366f1);stroke-width:3;stroke-linecap:round}
.mm-wave-flow{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:6 14;animation:mmmarch 1s linear infinite}
.mm-dcline{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:6 14;animation:mmmarch 1s linear infinite}
@keyframes mmmarch{to{stroke-dashoffset:-20}}
.mm-blink{animation:mmblink 1.6s steps(1) infinite}
@keyframes mmblink{0%,60%{opacity:1}61%,100%{opacity:.25}}

/* Safety illustration */
.mm-cat{fill:var(--surface);stroke:var(--accent);stroke-width:2}
.mm-catlbl{fill:var(--accent);font:700 16px var(--mono)}
.mm-warn{fill:none;stroke:#fbbf24;stroke-width:3;stroke-linejoin:round}
.mm-warnq{fill:#fbbf24;font:800 26px var(--mono)}
.mm-fuse{fill:var(--surface);stroke:var(--border2);stroke-width:2}
.mm-fusewire{stroke:var(--text2);stroke-width:3;stroke-linecap:round}
.mm-fusewire.mm-broken{stroke:#f87171;stroke-dasharray:4 4}
.mm-sm{fill:var(--text2);font:500 12px var(--font)}
.mm-wlbl{fill:var(--text);font:700 16px var(--mono)}
.mm-wlbl.sm{fill:var(--text2);font:500 12px var(--font)}

@media (prefers-reduced-motion:reduce){
  .mm-flow,.mm-wave-flow,.mm-dcline,.mm-glow,.mm-blink{animation:none}
}
