:root{--machine-width:min(calc(100vw - 24px), calc((100vh - 68px) * 358 / 256));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#d6dae4;background:#0b0d12;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}.app{background:radial-gradient(at 50% 30%,#1a1d26,#0b0d12 70%);flex-direction:column;gap:10px;height:100%;padding:12px;display:flex}.stage{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.power{color:#f2f5ff;font:inherit;cursor:pointer;background:#080a10b8;border:0;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:15px;display:flex;position:absolute;inset:0}.power strong{letter-spacing:.08em;border:2px solid #f2f5ff;border-radius:8px;padding:12px 26px;font-size:20px}.power--error strong{color:#ff6a5a;border-color:#ff6a5a}.toolbar{width:var(--machine-width);flex-wrap:wrap;align-self:center;align-items:center;gap:6px 8px;min-height:30px;font-size:13px;display:flex}.toolbar label{align-items:center;gap:6px;display:flex}.toolbar select,.toolbar button{color:inherit;font:inherit;background:#171b25;border:1px solid #3a4152;border-radius:5px;padding:4px 10px}.toolbar button{cursor:pointer}.toolbar button:hover:not(:disabled),.toolbar select:hover:not(:disabled){background:#1e2431;border-color:#5a6480}.toolbar button:disabled,.toolbar select:disabled{color:#6c7387;cursor:default}.toolbar :focus-visible{outline-offset:2px;outline:2px solid #ffd84a}.toolbar .hint{color:#8d94a6}.toolbar .warn{color:#ffc45c}.toolbar__notice{text-overflow:ellipsis;white-space:nowrap;flex:8ch;min-width:0;padding:0 8px;overflow:hidden}.toolbar .toolbar__back{color:#ffd98a;border-color:#a9822e}.statuses{color:#8d94a6;white-space:nowrap;gap:16px;display:flex}.status{align-items:center;gap:6px;display:inline-flex}.status__light{background:#2a2f3b;border-radius:50%;width:8px;height:8px;box-shadow:inset 0 0 0 1px #00000073}.status__light--ready{background:#2c6b3a}.status__light--on{background:#6dff7c;box-shadow:0 0 6px #3dff5de6}.status__light--busy{background:#ffc45c}.status__light--error{background:#ff6a5a;box-shadow:0 0 6px #ff3a2ae6}.tool{position:relative}.tool__button{align-items:center;gap:7px;display:inline-flex}.tool__button:after{content:"";opacity:.6;border-top:1.5px solid;border-left:1.5px solid;width:5px;height:5px;margin-top:3px;transform:rotate(45deg)}.toolbar .tool__button[aria-expanded=true]{background:#262d3c;border-color:#6f7a99}.tool__alert{background:#ffc45c;border-radius:50%;width:7px;height:7px}.tool__panel{z-index:10;background:#141821;border:1px solid #3a4152;border-radius:8px;flex-direction:column;gap:8px;width:max-content;min-width:100%;max-width:min(420px,100vw - 24px);max-height:calc(100vh - 72px);padding:12px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;overflow-y:auto;box-shadow:0 12px 32px #0009}.tool__panel--end{left:auto;right:0}.tool__panel--wide{max-width:calc(100vw - 24px)}.tool__panel label{justify-content:space-between;gap:16px}.tool__panel label.tool__check{cursor:pointer;justify-content:flex-start;gap:8px}.tool__panel input[type=checkbox]{accent-color:#ff4a36;width:15px;height:15px;margin:0}.tool__panel button{text-align:left}.tool__note{color:#8d94a6;max-width:44ch;margin:0;line-height:1.4}.tool__title{color:#8d94a6;margin-top:2px}.tool__list{gap:4px;display:grid}.tool__list--columns{grid-template-columns:repeat(3,minmax(0,1fr))}.tool__list--pair{grid-template-columns:repeat(2,minmax(0,1fr))}.names{gap:8px;max-height:min(70vh,760px);padding-right:4px;display:grid;overflow-y:auto}.names__filter{color:inherit;font:inherit;background:#10131a;border:1px solid #3a4152;border-radius:5px;padding:4px 8px}.names__banks{grid-template-columns:repeat(4,max-content);align-items:start;gap:0 10px;display:grid}.names__bank,.names__songs{gap:2px;display:grid}.names__songs{grid-template-columns:repeat(4,max-content);gap:2px 10px}.toolbar .names__item{text-align:left;white-space:nowrap;background:0 0;border-color:#0000;min-width:calc(13ch + 18px);padding:2px 8px;font-family:Consolas,Cascadia Mono,monospace;font-size:12.5px}.toolbar .names__item:hover:not(:disabled){background:#1e2431;border-color:#3a4152}.toolbar .names__item--current{color:#ffd98a;background:#262d3c}.names__label{color:#8d94a6}.names__item--current .names__label{color:inherit}.tool__row{gap:6px;display:flex}.tool__row button{flex:1}.tool__link{color:inherit;background:#171b25;border:1px solid #3a4152;border-radius:5px;padding:4px 10px;text-decoration:none}.tool__link:after{content:" ↗";color:#8d94a6}.tool__link:hover{background:#1e2431;border-color:#5a6480}.toolbar .tool__confirm{color:#ffd98a;border-color:#a9822e}.tool__keys{gap:6px;margin:0;display:grid}.tool__keys div{grid-template-columns:6ch 1fr;gap:12px;display:grid}.tool__keys dt{color:#f2f5ff}.tool__keys dd{color:#aab1c2;margin:0}@font-face{font-family:EMX Silk;src:url(./SquadaOne-CPoWRyI9.ttf)format("truetype");font-display:block}@font-face{font-family:EMX Silk;src:url(./Rajdhani-Bold-digits-Bi3osGIS.ttf)format("truetype");unicode-range:U+30-39;font-display:block}.panel{width:var(--machine-width);aspect-ratio:358/256;margin:0 auto;position:relative;container-type:inline-size}.panel__surface{--u:calc(100cqw / 358);--ink:#f4f6ff;--silk:"EMX Silk", "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;--plain:"Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;--type:.9;--lamp:#ff4a36;border-radius:calc(var(--u) * 2.4);box-shadow:inset 0 calc(var(--u) * .5) 0 #ffffff47, inset 0 calc(var(--u) * -.6) 0 #00001473, inset 0 0 0 calc(var(--u) * .4) #ffffff1f, 0 calc(var(--u) * 2.5) calc(var(--u) * 7) #000000a6;-webkit-user-select:none;user-select:none;touch-action:none;background:radial-gradient(at 50% 46%,#0000 52%,#02082857 100%),radial-gradient(at 22% 0,#ffffff21,#0000 58%),repeating-linear-gradient(0deg,#ffffff0b 0 1px,#0000 1px 2px,#00001e0d 2px 3px,#0000 3px 5px),linear-gradient(168deg,#2c53bb 0%,#1e409c 44%,#153083 100%);position:absolute;inset:0;overflow:hidden}.silk{fill:none;width:100%;height:100%;stroke:var(--ink);stroke-width:.32px;stroke-linecap:round;pointer-events:none;position:absolute;inset:0}.silk__frame{stroke:#ffffffd9;stroke-width:.36px}.silk__fill{fill:var(--ink);stroke:none}.silk__dash{stroke-dasharray:.7 .7}.silk__bar{stroke-width:.7px;stroke-linecap:butt}.silk--plate{stroke:#2a2f3a}.silk__bracket{stroke-width:.5px;stroke-linecap:butt;stroke-linejoin:miter}.screw{box-shadow:calc(var(--u) * .2) calc(var(--u) * .4) calc(var(--u) * .6) #0000009e;pointer-events:none;border-radius:50%;position:absolute}.screw svg{width:100%;height:100%;display:block}.label,.menu__row,.strip,.key{font-family:var(--silk);letter-spacing:.01em;white-space:nowrap;font-style:italic;font-weight:400;line-height:1}.label{color:var(--ink);pointer-events:none;position:absolute}.label--boxed{color:#1c3c94;background:#e8ecf8;border-radius:.25em;padding:.18em .55em}.label--dark{color:#2a2f3a}.label--inverse{color:#ece9df;background:#2a2f3a;border-radius:.12em;padding:0 .3em}.label--upright{font-family:var(--plain);letter-spacing:.02em;font-style:normal}.label--bold,.label--upright b{font-weight:700}.label--outlined{border:.09em solid;border-radius:.25em;padding:0 .3em;line-height:.86}.label__box{color:#1c3c94;background:#e8ecf8;border-radius:.14em;margin-left:.12em;padding:0 .34em 0 .22em}.strip{box-sizing:border-box;border-radius:calc(var(--u) * .5);color:#1c3c94;pointer-events:none;background:#e8ecf8;justify-content:center;align-items:center;display:flex;position:absolute}.strip--title{font-size:calc(var(--u) * var(--type) * 4.4);border-radius:0}.strip--name{font-size:calc(var(--u) * var(--type) * 3.5)}.strip--dest{padding-left:calc(var(--u) * 6.1);font-size:calc(var(--u) * var(--type) * 3.5);letter-spacing:0;justify-content:flex-start}.label b{font-size:1.55em;font-style:normal}.logo{color:var(--ink);letter-spacing:-.02em;pointer-events:none;font-family:Arial Black,Impact,sans-serif;font-style:italic;font-weight:900;line-height:1;position:absolute;transform:translateY(-50%)}.wordmark{box-sizing:border-box;border:calc(var(--u) * .36) solid var(--ink);color:var(--ink);pointer-events:none;font-family:Georgia,Times New Roman,serif;line-height:1;display:flex;position:absolute}.wordmark b{font-size:calc(var(--u) * 3.5);letter-spacing:.6em;flex:1;justify-content:center;align-items:center;padding-left:.6em;font-weight:700;display:flex}.wordmark b.wordmark__t{flex:0 0 calc(var(--u) * 8.1);background:var(--ink);color:#21459f;font-size:calc(var(--u) * 6.4);letter-spacing:0;padding:0}.wordmark__mx{color:var(--ink);font-family:var(--plain);letter-spacing:.03em;pointer-events:none;font-weight:400;line-height:1;position:absolute;transform:translateY(-50%)}.module,.plate{box-shadow:inset 0 calc(var(--u) * .4) 0 #ffffffb3, inset 0 calc(var(--u) * -.5) calc(var(--u) * .8) #00000047, 0 calc(var(--u) * .7) calc(var(--u) * 1.4) #0000148c;background:linear-gradient(170deg,#e9e6dc,#cdcabd 70%,#bfbcae);position:absolute}.module{border-radius:calc(var(--u) * 3.4) calc(var(--u) * 27.9) calc(var(--u) * 3.4) calc(var(--u) * 3.4) / calc(var(--u) * 3.4) calc(var(--u) * 11.2) calc(var(--u) * 3.4) calc(var(--u) * 3.4)}.plate{border-radius:calc(var(--u) * 2.2)}.menu__row{color:var(--ink);font-size:calc(var(--u) * var(--type) * 3.4);letter-spacing:0;transform-origin:0;pointer-events:none;position:absolute;transform:translateY(-50%)scaleX(.97)}.menu__row--head{font-size:calc(var(--u) * var(--type) * 4)}.menu__row--on{color:#ffd84a}.lcd{border-radius:calc(var(--u) * .8);box-shadow:inset 0 0 calc(var(--u) * 2.4) #6e3700a6, 0 0 0 calc(var(--u) * .6) #25262a, 0 0 0 calc(var(--u) * 1) #8f8d84;color:#3a2400;background:linear-gradient(175deg,#ffc03e,#f4a016 60%,#ea9410);position:absolute;overflow:hidden}.lcd:after{content:"";pointer-events:none;background:linear-gradient(115deg,#ffffff47 0%,#0000 32%);position:absolute;inset:0}.lcd__glass{fill:#3a2400;width:100%;height:100%;position:absolute;inset:0}.lcd__segment{opacity:.045}.lcd__segment--on,.lcd--test .lcd__segment{opacity:1}.lcd__type{font-family:var(--silk);font-style:italic}.lcd__line{fill:none;stroke:#3a2400}.knob,.dial{cursor:ns-resize;touch-action:none;border-radius:50%;position:absolute}.dial{cursor:grab}.knob--disabled{filter:brightness(.62)saturate(.85)}.knob--turn{cursor:grab}.knob{--rib:4deg}.knob--selector{--rib:3deg}.dial{--rib:2.5deg}.knob__shadow,.dial__shadow{box-shadow:calc(var(--u) * .35) calc(var(--u) * .6) calc(var(--u) * .7) #00001499, calc(var(--u) * 1.1) calc(var(--u) * 2) calc(var(--u) * 2.4) #0000146b;border-radius:50%;position:absolute;inset:3%}.knob__body,.dial__body{background:linear-gradient(135deg, #ffffffb8 6%, #fff0 42%, #060a2c94 94%), repeating-conic-gradient(from var(--angle), #c6cee4 0 var(--rib), #5d6b98 var(--rib) calc(var(--rib) * 2));box-shadow:inset 0 0 0 calc(var(--u) * .12) #10163ca6;border-radius:50%;position:absolute;inset:3%}.dial__shadow,.dial__body{inset:2%}.dial__body{background:linear-gradient(135deg, #ffffffb8 6%, #fff0 42%, #0a0c1880 94%), repeating-conic-gradient(from var(--angle), #d6d8dd 0 var(--rib), #83868f var(--rib) calc(var(--rib) * 2));box-shadow:inset 0 0 0 calc(var(--u) * .12) #282a3499}.knob__shoulder{box-shadow:calc(var(--u) * .2) calc(var(--u) * .35) calc(var(--u) * .4) #00001e80;background:radial-gradient(circle at 34% 28%,#dde3f1 0%,#98a4c4 52%,#66739b 100%);border-radius:50%;position:absolute;inset:10%}.knob__turn{transform:rotate(var(--angle));border-radius:50%;position:absolute;inset:10%}.knob__face{clip-path:inset(21% 0 0);filter:drop-shadow(0 calc(var(--u) * -.12) calc(var(--u) * .18) #00001e80);position:absolute;inset:0}.knob__face i,.dial__top{box-shadow:inset calc(var(--u) * .15) calc(var(--u) * .2) calc(var(--u) * .2) #ffffffe6, inset calc(var(--u) * -.2) calc(var(--u) * -.25) calc(var(--u) * .35) #3c382e66;background:radial-gradient(circle at 34% 28%,#fff 0%,#f1efea 34%,#d5d2cb 72%,#b9b6ae 100%);border-radius:50%;position:absolute;inset:0}.knob__face i{transform:rotate(calc(-1 * var(--angle)))}.knob__index{background:var(--ink);border-radius:30%;width:6%;height:15%;position:absolute;top:3%;left:50%;transform:translate(-50%)}.dial__top,.dial__flutes{inset:9%}.dial__flutes{background:repeating-conic-gradient(from var(--angle), #1c20309e 0 2.4deg, #1c203000 5.4deg 16.3636deg);border-radius:50%;position:absolute;-webkit-mask:radial-gradient(circle,#0000 0 62%,#000 67% 96%,#0000 100%);mask:radial-gradient(circle,#0000 0 62%,#000 67% 96%,#0000 100%)}.key{border-radius:calc(var(--u) * 1.6);box-shadow:calc(var(--u) * .3) calc(var(--u) * .6) calc(var(--u) * .9) #0000148c, inset 0 calc(var(--u) * .25) calc(var(--u) * .2) #ffffffd9, inset 0 calc(var(--u) * -.5) calc(var(--u) * .7) #28323c47, inset 0 0 0 calc(var(--u) * .12) #ffffff59;color:#14171d;font-size:calc(var(--u) * var(--type) * 3.5);text-align:center;cursor:pointer;touch-action:none;background:radial-gradient(at 50% 120%,#ffffff8c,#0000 60%),linear-gradient(175deg,#eceeea,#d3d6d1 55%,#b4b8b4);border:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:absolute}.key:active{transform:translateY(calc(var(--u) * .3))}.key--lit{box-shadow:0 0 calc(var(--u) * 2.6) #ff4a36cc, inset 0 calc(var(--u) * .25) calc(var(--u) * .2) #fff9, inset 0 calc(var(--u) * -.5) calc(var(--u) * .7) #7800004d;color:#4a0b05;background:radial-gradient(at 50% 55%,#ffe9e2 0%,#ff9c8c 38%,#f2604f 78%,#d94a3c 100%)}.key--green.key--lit{box-shadow:0 0 calc(var(--u) * 2.6) #3ce664cc, inset 0 calc(var(--u) * .25) calc(var(--u) * .2) #fff9, inset 0 calc(var(--u) * -.5) calc(var(--u) * .7) #005a144d;color:#063d14;background:radial-gradient(at 50% 55%,#e6ffe4 0%,#8bee96 38%,#3fcf5c 78%,#2bb047 100%)}.key:after{content:"";border-radius:inherit;box-shadow:0 0 calc(var(--u) * 3.4) #ff6048f2;opacity:0;pointer-events:none;background:radial-gradient(circle at 50% 42%,#fff4ece6,#ff5640e6 72%);transition:opacity .26s ease-out;position:absolute;inset:0}.key--flash:after{opacity:.9;transition:none}.key--part,.key--step{border-radius:calc(var(--u) * 2);font-size:calc(var(--u) * var(--type) * 7.2)}.key--step{font-size:calc(var(--u) * var(--type) * 8.4)}.key__number{z-index:1;left:50%;top:calc(var(--u) * .95);box-sizing:border-box;width:calc(var(--u) * 9.17);height:calc(var(--u) * 8.5);padding-right:calc(var(--u) * .7);border-radius:calc(var(--u) * .6) / calc(var(--u) * .7);justify-content:center;align-items:center;display:flex;position:absolute;transform:translate(-50%)scaleX(1.2)}.key__number--black{color:#fff;mix-blend-mode:multiply;background:#17181c}.key__plate{width:calc(var(--u) * 15.2);height:calc(var(--u) * 3.8);border-radius:calc(var(--u) * .5);color:#fff;mix-blend-mode:multiply;background:#17181c;justify-content:center;align-items:center;display:flex}.key--lit .key__number--black,.key--flash .key__number--black,.key--lit .key__plate{text-shadow:0 0 calc(var(--u) * .8) #ffffff80}.key--tall{border-radius:calc(var(--u) * 1.8);font-size:calc(var(--u) * var(--type) * 4);line-height:.8}.key--transport{border-radius:calc(var(--u) * 2);font-size:calc(var(--u) * var(--type) * 6.7)}.key--dark,.key--dark.key--lit,.key--dark.key--green.key--lit{border-radius:calc(var(--u) * 2);box-shadow:0 0 0 calc(var(--u) * .45) #e4e2d8, calc(var(--u) * .3) calc(var(--u) * .7) calc(var(--u) * 1) #00001499, inset 0 calc(var(--u) * .3) 0 #ffffff38;color:#f1f1ec;background:linear-gradient(170deg,#40434b,#1b1c21 55%,#0e0f12)}.key--dark.key--lit{box-shadow:0 0 0 calc(var(--u) * .45) #e4e2d8, 0 0 calc(var(--u) * 2.4) #ff4a36bf, inset 0 calc(var(--u) * .3) 0 #ffffff38;color:#ff6a58}.key--dark.key--green.key--lit{box-shadow:0 0 0 calc(var(--u) * .45) #e4e2d8, 0 0 calc(var(--u) * 2.4) #3ce664bf, inset 0 calc(var(--u) * .3) 0 #ffffff38;color:#6dff7c}.key__icon{fill:currentColor;width:68%;height:68%}.key__icon--wide{width:74%}.key__icon--rec{fill:#cf3226}.key--lit .key__icon{filter:drop-shadow(0 0 calc(var(--u) * .9) currentColor)}.key--lit .key__icon--rec{fill:#ff5a48}.key--round{font-family:var(--plain);font-size:calc(var(--u) * var(--type) * 3.6);letter-spacing:0;border-radius:50%;font-style:normal}.led{box-shadow:inset 0 0 calc(var(--u) * .4) #000, 0 0 0 calc(var(--u) * .15) #00001480;pointer-events:none;background:radial-gradient(circle at 38% 32%,#7a2a25,#3b0f0c);border-radius:50%;position:absolute}.led--on{box-shadow:0 0 calc(var(--u) * 2) #ff3a2a, 0 0 calc(var(--u) * .6) #fff;background:radial-gradient(circle at 38% 32%,#fff0ea,#ff5a48 45%,#e8281a)}.led--green{background:radial-gradient(circle at 38% 32%,#2f6a31,#0f2a11)}.led--green.led--on{box-shadow:0 0 calc(var(--u) * 2) #3dff3d, 0 0 calc(var(--u) * .6) #fff;background:radial-gradient(circle at 38% 32%,#f2fff0,#6dff6d 45%,#25d43c)}.shape{pointer-events:none;background:50%/contain no-repeat;position:absolute}.shape--saw{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 11'%3E%3Cpath d='M1 9V2l8 7V2l8 7' fill='none' stroke='white' stroke-width='1.3'/%3E%3C/svg%3E")}.shape--square{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 11'%3E%3Cpath d='M1 9V2h4v7h4V2h4v7h4' fill='none' stroke='white' stroke-width='1.3'/%3E%3C/svg%3E")}.shape--triangle{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 11'%3E%3Cpath d='M1 9l4-7 4 7 4-7 4 7' fill='none' stroke='white' stroke-width='1.3'/%3E%3C/svg%3E")}.shape--sh{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 11'%3E%3Cpath d='M1 7h3V3h4v5h4V4h5' fill='none' stroke='white' stroke-width='1.3'/%3E%3C/svg%3E")}.shape--eg,.shape--decay{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 11'%3E%3Cpath d='M1 9V2q3 6 16 7' fill='none' stroke='white' stroke-width='1.3'/%3E%3C/svg%3E")}.shape--gate{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 11'%3E%3Cpath d='M1 9V2h13v7' fill='none' stroke='white' stroke-width='1.3'/%3E%3C/svg%3E")}.window{pointer-events:none;position:absolute}.window svg{width:100%;height:100%;display:block;overflow:visible}.window__heat{opacity:.85}.ribbon{border-radius:calc(var(--u) * 1.6);box-shadow:inset 0 0 calc(var(--u) * 1.8) #00000073, 0 0 0 calc(var(--u) * .4) #8d8f96;cursor:pointer;touch-action:none;background:repeating-linear-gradient(0deg,#0000000d 0 1px,#0000 1px 3px),linear-gradient(170deg,#efefe9,#c6c6be);position:absolute;overflow:hidden}.ribbon i{width:calc(var(--u) * 15);height:calc(var(--u) * 15);pointer-events:none;background:radial-gradient(closest-side,#14182857,#1418281f 60%,#0000);border-radius:50%;position:absolute;left:50%;transform:translate(-50%,-50%)}.slider{border-radius:calc(var(--u) * 1);box-shadow:inset 0 0 calc(var(--u) * .8) #000, 0 0 0 calc(var(--u) * .25) #ffffff40;cursor:ns-resize;touch-action:none;background:#0a1128;position:absolute}.slider i{border-radius:calc(var(--u) * .7);width:332%;height:17%;box-shadow:calc(var(--u) * .4) calc(var(--u) * .8) calc(var(--u) * 1.1) #00001499;background:linear-gradient(#fafaf6,#dcdcd5 45%,#8f9199 50%,#dcdcd5 55%,#b9b9b1);position:absolute;left:-116%;transform:translateY(-50%)}
