/* v6.0.70 — shared machine drawing and compact instrument controls. */
.mpe-wang-machine-svg {
  display:block;width:100%;height:auto;aspect-ratio:1;overflow:visible;
  --wm-graph-ink:var(--wm-footer-ink,#dce5e3);
  --wm-graph-paper:var(--wm-footer-bg,#11191e);
}
html[data-color-scheme="light"] .mpe-wang-machine-svg {
  --wm-graph-ink:var(--wm-footer-ink,#263431);
  --wm-graph-paper:var(--wm-footer-bg,#f7f6ef);
}
.mpe-wang-machine-blueprint {fill:none;stroke:var(--wm-graph-ink);stroke-width:1.4;opacity:.14;pointer-events:none;}
.mpe-wang-machine-blueprint circle + circle {stroke-dasharray:2 12;}
.mpe-wang-machine-link {fill:none;stroke:var(--wm-dot-a);opacity:.62;pointer-events:none;}
.mpe-wang-machine-link.is-b {stroke:var(--wm-dot-b);}
.mpe-wang-machine-edge,.mpe-wang-machine-cap {stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round;fill:none;}
.mpe-wang-machine-link.is-b .mpe-wang-machine-edge {stroke-dasharray:5 9;}
.mpe-wang-machine-link.is-active {opacity:1;}
.mpe-wang-machine-link.is-active .mpe-wang-machine-edge,
.mpe-wang-machine-link.is-active .mpe-wang-machine-cap {stroke-width:6;}
.mpe-wang-arrow.is-a {fill:var(--wm-dot-a);}
.mpe-wang-arrow.is-b {fill:var(--wm-dot-b);}
.mpe-wang-machine-node {opacity:.34;}
.mpe-wang-machine-node.is-surviving,.mpe-wang-machine-node.is-pair {opacity:1;}
.mpe-wang-machine-disc {fill:var(--wm-graph-paper);stroke:var(--wm-graph-ink);stroke-width:2.5;}
.mpe-wang-machine-node text {
  fill:var(--wm-graph-ink);font:600 22px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
  pointer-events:none;user-select:none;
}
.mpe-wang-machine-pointer {transform-origin:0 0;transform-box:view-box;transition:none!important;pointer-events:none;}
.mpe-wang-machine-pointer.is-a {color:var(--wm-dot-a);}
.mpe-wang-machine-pointer.is-b {color:var(--wm-dot-b);}
.mpe-wang-machine-halo {fill:currentColor;opacity:.12;}
.mpe-wang-machine-token {fill:color-mix(in srgb,currentColor 18%,transparent);stroke:currentColor;stroke-width:4.5;}
.mpe-wang-machine-svg.is-merged .mpe-wang-machine-pointer.is-a .mpe-wang-machine-token {r:29px;}
.mpe-wang-machine-svg.is-merged .mpe-wang-machine-pointer.is-b .mpe-wang-machine-token {r:21px;}
.mpe-wang-search-svg .mpe-wang-machine-blueprint,
.mpe-wang-badge-svg .mpe-wang-machine-blueprint {opacity:.32;stroke-width:8;}
.mpe-wang-search-svg .mpe-wang-machine-edge,.mpe-wang-search-svg .mpe-wang-machine-cap,
.mpe-wang-badge-svg .mpe-wang-machine-edge,.mpe-wang-badge-svg .mpe-wang-machine-cap {stroke-width:7;}
.mpe-wang-search-svg .mpe-wang-machine-link.is-b .mpe-wang-machine-edge,
.mpe-wang-badge-svg .mpe-wang-machine-link.is-b .mpe-wang-machine-edge {stroke-dasharray:12 14;}
.mpe-wang-search-svg .mpe-wang-machine-disc,.mpe-wang-badge-svg .mpe-wang-machine-disc {fill:var(--wm-dot-a);stroke:none;}
.mpe-wang-search-svg .mpe-wang-machine-token,.mpe-wang-badge-svg .mpe-wang-machine-token {fill:currentColor;stroke:var(--wm-graph-paper);stroke-width:6;}
.mpe-wang-badge-holder {display:block;width:46px;height:46px;pointer-events:none;}
.mpe-badge--wang .mpe-wang-badge-holder svg {display:block!important;max-width:100%!important;transform:none!important;}
html.mpe-wang-page .mpe-wang-field .mpe-wang-machine-svg {
  --wm-graph-ink:var(--wm-field-node);--wm-graph-paper:var(--wm-paper);
}
html.mpe-wang-page .mpe-wang-field .mpe-wang-machine-link {opacity:.42;}
html.mpe-wang-page .mpe-wang-field .mpe-wang-machine-link.is-active {opacity:.88;}
html.mpe-wang-page .mpe-wang-field .mpe-wang-machine-edge,
html.mpe-wang-page .mpe-wang-field .mpe-wang-machine-cap {stroke-width:2.2;}
html.mpe-wang-page .mpe-wang-field .mpe-wang-machine-link.is-active .mpe-wang-machine-edge {stroke-width:3.2;}
html.mpe-wang-page .mpe-wang-field .mpe-wang-machine-blueprint {opacity:.2;}
.mpe-wang-footer-inner {grid-template-columns:minmax(230px,340px) minmax(0,1fr);gap:clamp(14px,2.8vw,32px);}
.mpe-wang-footer-plot {max-width:340px;}
.mpe-wang-footer-plot svg {max-height:340px;}
.mpe-wang-footer-panel {--wc-paper:var(--wm-footer-bg,#11191e);--wc-ink:var(--wm-footer-ink,#e7ebeb);--wc-rule:var(--wm-footer-border,#3b5055);}
#mpe-wang-lab {--wc-paper:var(--wm-paper);--wc-ink:var(--wm-ink);--wc-rule:var(--wm-line);}
.mpe-wang-machine-controls {display:flex;flex-direction:column;gap:10px;min-width:0;max-width:100%;color:var(--wc-ink);}
.mpe-wang-machine-controls:focus-visible {outline:2px solid var(--wm-dot-a);outline-offset:5px;}
.mpe-wang-machine-readout,.mpe-wang-machine-wordrow {display:flex;align-items:center;gap:12px;min-width:0;}
.mpe-wang-machine-readout {justify-content:space-between;font:500 12px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;}
.mpe-wang-machine-pair,.mpe-wang-machine-rank {padding:4px 7px;border:1px solid transparent;border-radius:4px;}
.mpe-wang-machine-pair.is-merged,.mpe-wang-machine-rank.is-reset {border-color:var(--wm-dot-a);}
.mpe-wang-machine-word {flex:1;min-width:0;overflow:hidden;white-space:nowrap;font:500 14px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em;}
.mpe-wang-machine-word .is-used {opacity:.5;}
.mpe-wang-machine-word mark {background:var(--wm-dot-a);color:#09120e;padding:2px 3px;border-radius:2px;}
.mpe-wang-machine-count {flex-shrink:0;font:500 12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;}
.mpe-wang-machine-buttons {display:flex;gap:6px;flex-wrap:wrap;}
.mpe-wang-machine-lower {display:flex;gap:8px;flex-wrap:wrap;min-width:0;}
.mpe-wang-machine-form {display:flex;gap:6px;flex:1 1 240px;min-width:0;}
.mpe-wang-machine-settings {display:flex;flex:1 1 240px;gap:6px;min-width:0;}
.mpe-wang-machine-controls button,
.mpe-wang-machine-controls select,
.mpe-wang-machine-controls input,
html.mpe-wang-page #mpe-wang-lab .mpe-wang-machine-controls button,
html.mpe-wang-page #mpe-wang-lab .mpe-wang-machine-controls select,
html.mpe-wang-page #mpe-wang-lab .mpe-wang-machine-controls input {
  box-sizing:border-box;min-height:44px;min-width:0;max-width:100%;margin:0;
  border:1px solid var(--wc-rule);border-radius:5px;background:var(--wc-paper);color:var(--wc-ink);
  padding:8px 10px;font:600 14px/1.2 ui-sans-serif,system-ui,sans-serif;
  touch-action:manipulation;box-shadow:none;
}
.mpe-wang-machine-controls button {cursor:pointer;flex:0 0 auto;min-width:44px;}
.mpe-wang-machine-controls button[data-wang-action="a"],
.mpe-wang-machine-controls button[data-wang-action="b"] {min-width:46px;font-size:19px;font-family:Georgia,serif;}
.mpe-wang-machine-controls button[data-wang-action="a"] {border-bottom:3px solid var(--wm-dot-a);}
.mpe-wang-machine-controls button[data-wang-action="b"] {border-bottom:3px solid var(--wm-dot-b);}
.mpe-wang-machine-controls button[aria-pressed="true"] {border-color:var(--wm-dot-a);background:color-mix(in srgb,var(--wm-dot-a) 12%,var(--wc-paper));}
.mpe-wang-machine-controls button:disabled {opacity:.32;cursor:default;}
.mpe-wang-machine-controls button:disabled:hover {background:var(--wc-paper);border-color:var(--wc-rule);}
.mpe-wang-machine-controls button:not(:disabled):hover {border-color:var(--wm-dot-a);}
.mpe-wang-machine-controls :focus-visible {outline:2px solid var(--wm-dot-a)!important;outline-offset:2px!important;}
.mpe-wang-machine-controls .mpe-wang-machine-input,
html.mpe-wang-page #mpe-wang-lab .mpe-wang-machine-controls .mpe-wang-machine-input {
  flex:1 1 100px;width:100%;font-size:16px!important;text-align:left;cursor:text;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
}
.mpe-wang-machine-controls .mpe-wang-machine-select,
html.mpe-wang-page #mpe-wang-lab .mpe-wang-machine-controls .mpe-wang-machine-select {
  flex:1 1 auto;max-width:100%;font-size:16px!important;appearance:auto;cursor:pointer;
}
.mpe-wang-machine-controls .mpe-wang-machine-seek,
html.mpe-wang-page #mpe-wang-lab .mpe-wang-machine-controls .mpe-wang-machine-seek {
  display:block;appearance:auto;width:100%;height:24px;min-height:24px;flex:0 0 24px;
  border:0;padding:0;margin:0;accent-color:var(--wm-dot-a);cursor:pointer;background:transparent;
}
.mpe-wang-machine-error {font:500 13px/1.4 ui-sans-serif,system-ui,sans-serif;color:var(--wc-ink);border-left:2px solid var(--wm-dot-a);padding-left:9px;}
.mpe-wang-machine-error[hidden] {display:none!important;}
.mpe-wang-machine-sr {position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;}
@media(max-width:760px) {
  .mpe-wang-footer-inner {grid-template-columns:minmax(0,1fr);gap:12px;}
  .mpe-wang-footer-plot {max-width:300px;}
  .mpe-wang-footer-plot svg {max-height:300px;}
}
@media(max-width:380px) {
  .mpe-wang-machine-buttons {gap:5px;}
  .mpe-wang-machine-controls button {padding-inline:9px;}
  .mpe-wang-machine-settings {flex-basis:100%;}
}
@media(prefers-reduced-motion:reduce) {
  .mpe-wang-machine-svg * {animation:none!important;transition:none!important;}
}
@media print {.mpe-wang-footer-panel,.mpe-wang-machine-controls {display:none!important;}}
