*,:before,:after{box-sizing:border-box;-webkit-user-select:none;user-select:none}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{height:100dvh;margin:0}#app{place-items:center;width:min(100%,147.439dvh);height:100%;margin:0 auto;display:grid;container-type:inline-size}.circuit-board{grid-template-columns:repeat(6,1fr);gap:.25cqw;width:100%;height:min(100%,67.8247cqw);font-size:1cqw;display:grid}.loading-overlay{z-index:10000;color:#ffffffde;background-color:#000000e6;flex-direction:column;justify-content:center;align-items:center;font-size:1.2rem;display:flex;position:fixed;inset:0}.loading-overlay.hidden{display:none}.loading-spinner{border:4px solid #fff3;border-top-color:#ffffffde;border-radius:50%;width:48px;height:48px;margin-bottom:1rem;animation:1s linear infinite spin}.loading-text{margin-top:.5rem}.settings-row{grid-area:1/1/auto/-2}.buttons{grid-column:-2/-1;justify-content:flex-end;align-items:flex-start;gap:1em;display:flex;container-type:inline-size}.preset-dialog-overlay{display:flex}@media print{.preset-dialog-overlay{display:none}}.print-friendly{color:#000;background:#fff}.print-friendly .buttons,.print-friendly .loading-overlay,.print-friendly .preset-dialog-overlay{display:none}.print-friendly dip-switch .fieldset,.print-friendly dip-switch.red-switch .fieldset{color:#000;box-shadow:none;background:#fff;border:.15cqw solid #000;filter:none!important}.print-friendly dip-switch .legend{color:#000;opacity:1}.print-friendly dip-switch .legend:before{border-bottom:2px solid #000;height:0}.print-friendly dip-switch .switch-graphic{--track-stroke:max(.15cqw,.5px);--thumb-stroke:var(--track-stroke)}.print-friendly dip-switch .switch-track{fill:#fff;stroke:#000}.print-friendly dip-switch .switch-thumb{transition:none}@keyframes spin{to{transform:rotate(360deg)}}dip-switch{aspect-ratio:2.25;--n-bits:8;flex:1 1 0;min-width:0;font-family:system-ui;display:inline-block;container-type:inline-size}dip-switch .fieldset{height:100%;padding:.25em calc(100%/(var(--n-bits)*2 + 1));color:#fff;background:#1e57c8;border:0;border-radius:3cqw;flex-direction:column;align-items:flex-start;margin:0;display:flex;position:relative}dip-switch .legend{letter-spacing:.1em;opacity:.8;text-transform:uppercase;display:contents}dip-switch .legend:before{content:"";background:#fffc;width:1em;height:2cqw;display:block;position:absolute;top:0}dip-switch .row{justify-content:space-between;align-items:flex-start;gap:2%;width:100%;height:100%;display:flex}dip-switch .switch{cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;flex:1 1 0;align-items:center;height:100%;display:flex;position:relative}dip-switch .input{opacity:0;position:absolute}dip-switch .switch-graphic{--thumb-size:7cqw;--thumb-inset:1.25cqw;--track-stroke:.5cqw;--thumb-stroke:0px;pointer-events:none;fill:#fff;stroke:#000;border-radius:2cqw;flex:1 1 0;width:100%;min-height:0;display:block;overflow:visible}dip-switch .switch-track{x:calc(var(--track-stroke)/2);y:calc(var(--track-stroke)/2);width:calc(100% - var(--track-stroke));height:calc(100% - var(--track-stroke));rx:calc(2cqw - var(--track-stroke)/2);fill:#ffffff1a;stroke:#ffffff40;stroke-width:var(--track-stroke)}dip-switch .switch-thumb{x:calc(50% - var(--thumb-size)/2 + var(--thumb-stroke)/2);y:calc(100% - var(--thumb-size) - var(--thumb-inset) + var(--thumb-stroke)/2);width:calc(var(--thumb-size) - var(--thumb-stroke));height:calc(var(--thumb-size) - var(--thumb-stroke));rx:calc(1cqw - var(--thumb-stroke)/2);stroke-width:var(--thumb-stroke);transition:y .12s}dip-switch .switch:has(.input:checked) .switch-thumb{y:calc(var(--thumb-inset) + var(--thumb-stroke)/2)}dip-switch .switch:has(.input:focus-visible) .switch-graphic{outline-offset:.8cqw;outline:.8cqw solid #fffc}dip-switch.red-switch .fieldset{background:#c81e1e}dip-switch:is(.expert-focus,.expert-highlight) .fieldset{filter:brightness(125%)contrast(300%)}dip-switch.red-switch:is(.expert-focus,.expert-highlight) .fieldset{filter:brightness(150%)contrast(400%)grayscale(10%)}dip-switch-group{grid-template-columns:subgrid;grid-column:1/-1;display:grid}tactile-button{--button-color:black;--button-size:25cqw;--casing-thickness:calc(var(--button-size)*.1);--button-recess:calc(var(--button-size)*.04);--rivet-size:calc(var(--button-size)*.08);--rivet-inset:calc(var(--button-size)*.175);display:inline-block}tactile-button .tact-container{flex-direction:column;align-items:center;display:flex}tactile-button .tact-casing-outer{width:var(--button-size);height:var(--button-size);border-radius:calc(var(--button-size)*.1);padding:var(--casing-thickness);background:#1a1a1a;position:relative;box-shadow:0 .01in .02in #0000004d}tactile-button .tact-casing-inner{border-radius:calc((var(--button-size) - var(--casing-thickness)*2)*.1);width:100%;height:100%;padding:var(--button-recess);background:linear-gradient(135deg,silver 0%,#a0a0a0 100%);place-items:center;display:grid;box-shadow:inset 0 .005in .01in #ffffff80,inset 0 -.005in .01in #0000004d}tactile-button .tact-button{background:var(--button-color);cursor:pointer;-webkit-user-select:none;user-select:none;width:75%;height:75%;color:inherit;border:none;border-radius:50%;padding:0;text-decoration:none;transition:transform 50ms,box-shadow 50ms;display:block;box-shadow:inset 0 .01in .02in #ffffff20,0 .005in .01in #0003}tactile-button .tact-button:disabled{cursor:not-allowed;opacity:.5}tactile-button .tact-button:active{transform:translateY(.01in);box-shadow:inset 0 .01in .02in #0000004d,0 .002in .005in #0000001a}tactile-button .tact-button:focus-visible{outline-offset:.2em;border-radius:.05in;outline:.1em solid #fffc}tactile-button .tact-casing-outer:before,tactile-button .tact-casing-outer:after,tactile-button .tact-casing-inner:before,tactile-button .tact-casing-inner:after{content:"";width:var(--rivet-size);height:var(--rivet-size);background:#1a1a1a;border-radius:99px;position:absolute}tactile-button .tact-casing-outer:before{top:var(--rivet-inset);left:var(--rivet-inset)}tactile-button .tact-casing-outer:after{top:var(--rivet-inset);right:var(--rivet-inset)}tactile-button .tact-casing-inner:before{bottom:var(--rivet-inset);left:var(--rivet-inset)}tactile-button .tact-casing-inner:after{bottom:var(--rivet-inset);right:var(--rivet-inset)}tactile-button .tact-label{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;pointer-events:none}.switch-tooltip{z-index:1000;color:#f5f5f5;overflow-wrap:anywhere;background:#181818;border:1px solid #626262;border-radius:6px;width:max-content;max-width:min(19rem,100vw - 16px);padding:.65rem .8rem;font:13px/1.45 system-ui,sans-serif;position:fixed;box-shadow:0 3px 12px #0004}.switch-tooltip strong,.switch-tooltip span{display:block}.switch-tooltip strong{font-weight:600}.switch-tooltip span{color:#ccc;margin-top:.3em}.switch-tooltip:after{content:"";height:9px;position:absolute;left:0;right:0}.switch-tooltip[data-side=above]:after{top:100%}.switch-tooltip[data-side=below]:after{bottom:100%}dip-switch .bit{text-align:center;align-self:stretch;position:relative}dip-switch .labeled-switch .bit:after{content:"";border-bottom:1px solid;position:absolute;bottom:0;left:-10%;right:-10%}dip-switch .label-start .bit:after{left:0}dip-switch .label-end .bit:after{right:0}#labels-button:has([aria-pressed=false]) .tact-label{opacity:.55}.print-friendly .switch-tooltip,.print-friendly dip-switch .bit:after{display:none}@media (forced-colors:active){.switch-tooltip{color:canvastext;background:canvas;border-color:canvastext}.switch-tooltip span{color:canvastext}}@media print{.switch-tooltip{display:none}}
