:root{--bg:#0a0a0d;--panel:#111116;--panel2:#16161c;--line:#2a2a33;--text:#eef0ee;--muted:#8b8b98;--top:#59c8ff;--chop:#b6ff22;--mod:#ff9d3c;--hot:#b6ff22;--red:#ff5b45;--sel:#ffd15e}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden;user-select:none}button,input,select{font:inherit;color:var(--text)}button{background:#17171d;border:1px solid var(--line);padding:6px 9px;border-radius:3px;cursor:pointer;text-transform:uppercase;font-size:10px;letter-spacing:.06em}button:hover{border-color:var(--hot)}button.on{background:#1d2b0d;border-color:var(--hot);color:var(--hot)}input[type=range]{accent-color:var(--hot);width:100%}input[type=number],input[type=text],select{background:#0c0c10;border:1px solid var(--line);padding:5px;border-radius:2px;width:100%}.app{display:grid;grid-template-rows:40px 1fr;height:100vh}.app>.top{display:flex;gap:6px;align-items:center;padding:5px 10px;background:#0d0d12;border-bottom:1px solid var(--line);overflow-x:auto;white-space:nowrap}.node{display:block}.brand{font-weight:800;letter-spacing:.12em;margin-right:6px}.brand span{color:var(--hot)}.sep{width:1px;height:22px;background:var(--line);margin:0 4px;flex:none}.legend{display:inline-flex;gap:10px;align-items:center;margin-left:auto;flex:none}.legend span{display:inline-flex;gap:5px;align-items:center;color:var(--muted);font-size:10px}.legend i{width:10px;height:10px;border-radius:50%}.main{display:grid;grid-template-columns:1fr 330px;min-height:0}.editor{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 45%,#111119 0,#08080b);cursor:grab}.editor.panning{cursor:grabbing}#grid{position:absolute;inset:0;pointer-events:none}#wires{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:1}#nodes{position:absolute;left:0;top:0;transform-origin:0 0;z-index:2}.node{position:absolute;width:200px;border:1px solid var(--line);border-radius:11px;box-shadow:0 10px 26px #0009;background:#0a0a0d;overflow:visible}.node.top{border-color:#26323c}.node.chop{border-color:#2c3a1a}.node.sel{border-color:var(--sel);box-shadow:0 0 0 1px var(--sel),0 0 24px #ffd15e55,0 14px 34px #000b;z-index:6}.card{position:relative;width:100%;aspect-ratio:var(--ar,4/3);border-radius:10px;overflow:hidden;background:#000}.node.viewing .card{outline:2px solid var(--top);outline-offset:-2px}.card>canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.spark{background:#08080a}.nhd{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:center;gap:6px;padding:7px 9px 13px;background:linear-gradient(#000e,#0008 55%,#0000);z-index:3;cursor:grab}.nhd:active{cursor:grabbing}.nhd .ttl{display:flex;align-items:center;gap:7px;overflow:hidden}.fdot{width:9px;height:9px;border-radius:50%;flex:none;box-shadow:0 0 7px currentColor}.nhd b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:11px;text-shadow:0 1px 3px #000}.node.top .nhd b{color:#c8ebff}.node.chop .nhd b{color:#dcff9e}.nhd .tools{display:flex;gap:8px;align-items:center;flex:none}.nhd .tb{cursor:pointer;color:#d3d3da;font-size:13px;line-height:1;text-shadow:0 1px 3px #000}.nhd .tb:hover{color:#fff}.nhd .eye.on{color:var(--top)}.nhd .x:hover{color:var(--red)}.chnum{position:absolute;right:7px;bottom:7px;color:var(--chop);font-size:12px;background:#000c;padding:1px 6px;border-radius:5px;pointer-events:none;font-weight:600;z-index:2}.nparams{margin-top:0;padding:7px 8px 4px;display:flex;flex-direction:column;gap:4px}.cardbtn{position:absolute;left:8px;bottom:8px;z-index:4;font-size:9px;padding:4px 8px;background:#000a;border:1px solid var(--top);color:var(--top);text-transform:none;letter-spacing:0}.cardbtn:hover{background:#0d2530;border-color:var(--top)}.dropzone{position:absolute;inset:0;z-index:6;display:none;align-items:center;justify-content:center;background:#001018cc;border:2px dashed var(--top);border-radius:10px;color:var(--top);font-size:12px;letter-spacing:.06em;pointer-events:none}.dropzone.on{display:flex}.cardctl{display:flex;gap:4px;padding:0 8px 8px}.cardctl .ctlmain{flex:1;font-size:9px;padding:5px 4px;text-transform:none;letter-spacing:0;border-left:2px solid var(--mod)}.cardctl .ctlplay{width:30px;padding:5px 0;font-size:11px}.npr{display:grid;grid-template-columns:36px 1fr 28px;align-items:center;gap:5px;font-size:9px;color:var(--muted)}.npr b{color:#cfcfd6;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.npr input[type=range]{height:13px}.npr select{padding:2px 3px;font-size:9px;min-height:0}.npr .v{color:var(--hot);text-align:right;font-size:9px}.npr .v.mod{color:var(--mod)}.nmore{color:var(--muted);font-size:8px;text-align:center;margin-top:4px;letter-spacing:.08em;opacity:.75}.port{position:absolute;width:15px;height:15px;border-radius:50%;border:2px solid #0a0a0d;cursor:crosshair;z-index:5;transition:transform .08s,box-shadow .12s}.port:before{content:"";position:absolute;inset:-7px;border-radius:50%}.port.in{left:-9px}.port.out{right:-9px}.port.img{background:var(--top);color:var(--top)}.port.sig{background:var(--chop);color:var(--chop)}.port.mod{background:var(--mod);color:var(--mod)}.port.conn{box-shadow:0 0 0 2px #0a0a0d,0 0 0 4px currentColor}.port:hover{transform:scale(1.5);box-shadow:0 0 0 2px #0a0a0d,0 0 11px 2px currentColor}.portlbl{position:absolute;font-size:8px;color:#aab;background:#000b;padding:1px 3px;border-radius:3px;pointer-events:none;opacity:0;transition:opacity .1s;white-space:nowrap;z-index:5}.node:hover .portlbl{opacity:1}.portlbl.in{left:10px}.portlbl.out{right:10px}@keyframes glow{0%,to{box-shadow:0 0 0 2px #0a0a0d,0 0 8px 2px currentColor}50%{box-shadow:0 0 0 2px #0a0a0d,0 0 14px 5px currentColor}}.editor.wire-img .port.in.img{color:var(--top);animation:glow .8s infinite}.editor.wire-sig .port.in.sig{color:var(--chop);animation:glow .8s infinite}.editor.wire-sig .port.in.mod{color:var(--mod);animation:glow .8s infinite}.side{background:var(--panel);border-left:1px solid var(--line);overflow:auto;display:flex;flex-direction:column}.sect{border-bottom:1px solid var(--line);padding:11px}.sect h3{margin:0 0 8px;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#c2c2cc;display:flex;justify-content:space-between}.previewWrap{position:relative}#preview{width:100%;background:#000;border:1px solid #24242c;border-radius:4px;display:block;aspect-ratio:var(--ar,4/3)}.pvLabel{position:absolute;left:7px;top:7px;background:#000b;color:var(--top);padding:2px 7px;border-radius:4px;font-size:9px;letter-spacing:.08em}.palette{display:grid;grid-template-columns:1fr 1fr;gap:4px}.palette .cat{grid-column:1/-1;color:var(--muted);font-size:9px;letter-spacing:.14em;margin:7px 0 1px;text-transform:uppercase}.palette button{padding:7px 4px;font-size:9px;text-transform:none;letter-spacing:0;cursor:grab}.palette button:active{cursor:grabbing}.palette button.topb{border-left:2px solid var(--top)}.palette button.chopb{border-left:2px solid var(--chop)}.prow{display:grid;grid-template-columns:60px 1fr 34px 16px;align-items:center;gap:7px;margin:7px 0;color:var(--muted)}.prow b{color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.prow b:hover{color:var(--hot)}.prow .rv{color:var(--hot);text-align:right}.prow .rv.mod{color:var(--mod)}.prow .jack{width:13px;height:13px;padding:0;border-radius:50%;border:1px solid var(--mod);background:transparent;cursor:pointer}.prow .jack:hover{box-shadow:0 0 6px var(--mod)}.prow .jack.on{background:var(--mod)}.psec{display:flex;justify-content:space-between;align-items:center;margin:10px 0 3px}.psec .pbtns{display:flex;gap:4px}.psec .pbtns button{padding:3px 6px;font-size:9px}.presets{display:flex;flex-wrap:wrap;gap:4px;margin:2px 0 4px}.presets button{padding:4px 7px;font-size:9px;text-transform:none;letter-spacing:0;border-left:2px solid var(--hot)}.mod{border:1px solid var(--line);border-left:2px solid var(--mod);border-radius:4px;padding:6px;margin:6px 0;background:#0c0c10}.mod .mrow{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.mod .src{color:var(--mod);font-size:10px}.conns .cw{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:4px 6px;border:1px solid var(--line);border-radius:4px;margin:4px 0;background:#0c0c10;color:var(--muted);font-size:10px}.conns .cw .un{cursor:pointer;color:var(--muted)}.conns .cw .un:hover{color:var(--red)}.muted{color:var(--muted)}.small{font-size:10px}.iname{margin-bottom:8px}.ipv{position:relative;margin:0 0 9px;border:1px solid #26262e;border-radius:7px;overflow:hidden;background:#000;box-shadow:inset 0 0 20px #000a}.ipvc{display:block;width:100%;aspect-ratio:var(--ar,4/3)}.ipvb{position:absolute;left:8px;top:8px;background:#000c;padding:2px 8px;border-radius:5px;font-size:9px;letter-spacing:.1em;font-weight:600}.idesc{color:#b3b3bd;font-size:10px;line-height:1.55;margin:0 0 10px;padding:8px 10px;background:#0c0c11;border:1px solid var(--line);border-left:2px solid var(--top);border-radius:5px}.ghost{position:fixed;z-index:200;pointer-events:none;padding:6px 10px;border-radius:6px;background:#1a1a22;border:1px solid var(--hot);color:var(--hot);font-size:10px;text-transform:uppercase;box-shadow:0 8px 24px #000a;opacity:.92}.ctx{position:fixed;z-index:210;background:#111118;border:1px solid var(--line);border-radius:7px;box-shadow:0 16px 44px #000c;padding:5px;min-width:150px;max-height:60vh;overflow:auto;display:none}.ctx .ci{padding:6px 9px;border-radius:4px;cursor:pointer;font-size:11px;white-space:nowrap}.ctx .ci:hover{background:#22222b}.ctx .ch{padding:5px 9px 2px;color:var(--muted);font-size:9px;letter-spacing:.14em;text-transform:uppercase}.ctx .ci.topi{border-left:2px solid var(--top)}.ctx .ci.chopi{border-left:2px solid var(--chop)}.ctx .ci.danger:hover{background:#3a1712;color:var(--red)}.menu{position:relative;display:inline-block}.menu.open>button{background:#1d2b0d;border-color:var(--hot);color:var(--hot)}.menuPanel{display:none;position:fixed;top:44px;z-index:300;width:276px;max-width:calc(100vw - 20px);max-height:calc(100vh - 56px);overflow-y:auto;background:#101014;border:1px solid var(--line);border-radius:7px;padding:10px;box-shadow:0 18px 55px #000c;text-align:left;white-space:normal;overflow-wrap:break-word}.menu.open .menuPanel{display:block}.menuPanel label{display:flex;gap:6px;align-items:center;margin:5px 0;color:var(--muted);font-size:10px;text-transform:none;letter-spacing:0}.menuPanel input[type=checkbox]{width:auto}.menuPanel textarea{width:100%;height:52px;background:#0c0c10;border:1px solid var(--line);color:var(--text);border-radius:3px;padding:6px;resize:vertical;font:inherit;margin-top:8px}#kiosk{display:none;position:fixed;inset:0;z-index:250;background:#000;cursor:none}#kiosk.showui{cursor:default}#kiosk canvas{width:100%;height:100%;object-fit:contain;display:block}#kioskExit{position:fixed;top:14px;right:14px;z-index:260;width:30px;height:30px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#0c0c12aa;border:1px solid #3a3a44;color:#c9ccc9;font-size:13px;opacity:.2;transition:opacity .25s,width .15s,border-radius .15s;backdrop-filter:blur(6px);overflow:hidden;white-space:nowrap}#kiosk:hover #kioskExit,#kioskExit:focus{opacity:.85}#kioskExit:hover{opacity:1;width:74px;border-radius:16px;border-color:var(--hot);color:var(--hot)}#kioskExit .lbl{max-width:0;overflow:hidden;transition:max-width .15s;margin-left:0}#kioskExit:hover .lbl{max-width:60px;margin-left:5px}#toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%);z-index:270;background:#0e0e14ee;border:1px solid var(--hot);color:var(--hot);padding:8px 14px;border-radius:8px;font-size:11px;display:none;pointer-events:none}.menuPanel .mi{display:block;width:100%;text-align:left;margin:2px 0;text-transform:none;letter-spacing:0;font-size:11px;padding:7px 9px}.menuPanel .msep{height:1px;background:var(--line);margin:5px 0}#presetPanel{width:220px}#presetPanel .mi{border-left:2px solid var(--hot)}button:disabled{opacity:.35;cursor:default;border-color:var(--line)}#undoBtn,#redoBtn{font-size:14px;line-height:1;padding:5px 8px}.libPanel{display:none;position:fixed;z-index:320;left:50%;top:52px;transform:translate(-50%);width:min(680px,92vw);max-height:78vh;background:#0e0e13;border:1px solid var(--line);border-radius:10px;box-shadow:0 24px 70px #000d;overflow:hidden;flex-direction:column}.libPanel.on{display:flex}.libHd{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;border-bottom:1px solid var(--line)}.libHd b{font-size:12px;letter-spacing:.08em}.libX{cursor:pointer;color:var(--muted);font-size:14px}.libX:hover{color:var(--red)}.libList{overflow:auto;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.libItem{display:flex;gap:9px;align-items:center;border:1px solid var(--line);border-radius:7px;padding:8px;background:#0b0b10;cursor:pointer;position:relative}.libItem:hover{border-color:var(--hot)}.libItem img{width:72px;height:54px;object-fit:cover;border-radius:4px;background:#000;flex:none}.libItem .li{overflow:hidden}.libItem .li b{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.libDel{position:absolute;right:6px;top:5px;color:var(--muted);cursor:pointer;font-size:12px}.libDel:hover{color:var(--red)}@media (max-width:640px){.libList{grid-template-columns:1fr}}:root{--sop:#ff7ac6;--dat:#ffd15e;--comp:#a98bff}.node.sop{border-color:#3a2230}.node.dat{border-color:#3a3320}.node.comp{border-color:#2e2640}.node.sop .nhd b{color:#ffc9e6}.node.dat .nhd b{color:#ffe9b0}.palette button.sopb{border-left:2px solid var(--sop)}.palette button.datb{border-left:2px solid var(--dat)}.palette button.compb{border-left:2px solid var(--comp)}.ctx .ci.sopi{border-left:2px solid var(--sop)}.ctx .ci.dati{border-left:2px solid var(--dat)}.ctx .ci.compi{border-left:2px solid var(--comp)}.study{margin-top:10px;border:1px solid var(--line);border-left:2px solid var(--top);border-radius:6px;background:#0b0e12;overflow:hidden}.study .sh{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:7px 10px;background:#0e141b;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.study .sh .lab{display:flex;gap:6px;align-items:center}.study .sh .lab b{color:#e7e7ee}.study .sh .chev{color:var(--muted)}.study .sb{padding:9px 10px 3px;font-size:10px;line-height:1.6;color:#c3c3cd;display:none}.study.open .sb{display:block}.study .row{margin:0 0 8px}.study .row .k{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:9px;display:block;margin-bottom:1px}.study .row .td{color:#9fd0ff;font-family:inherit}.study .row code{background:#151a21;padding:1px 4px;border-radius:3px;color:#dfe7ef}.seqed{display:flex;gap:3px;height:64px;margin:6px 0 2px;padding:5px;background:#0b0b10;border:1px solid var(--line);border-radius:6px}.seqcell{flex:1;position:relative;background:#15151c;border-radius:3px;cursor:ns-resize;overflow:hidden}.seqcell .fill{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(#dcff9e,#7fbf1e);opacity:.9}.seqcell.play{outline:1px solid var(--sel);outline-offset:-1px}.seqcell.play .fill{background:linear-gradient(#fff0b8,#ffd15e)}.seqbtns{display:flex;gap:5px;margin:4px 0}.seqbtns button{flex:1;padding:4px;font-size:9px}#searchAdd{display:none;position:fixed;z-index:400;width:300px;max-height:60vh;background:#101017;border:1px solid var(--line);border-radius:9px;box-shadow:0 22px 60px #000d;overflow:hidden;flex-direction:column}#searchAdd.on{display:flex}#searchAdd input{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 12px;background:#0c0c11;font-size:12px}#searchAdd input:focus{outline:none;border-bottom-color:var(--hot)}#searchAdd .sList{overflow:auto;padding:5px}#searchAdd .sItem{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:5px;cursor:pointer;font-size:11px}#searchAdd .sItem .fdotm{width:8px;height:8px;border-radius:50%;flex:none}#searchAdd .sItem .cat{margin-left:auto;color:var(--muted);font-size:9px;letter-spacing:.06em;text-transform:uppercase}#searchAdd .sItem.sel,#searchAdd .sItem:hover{background:#20202a}#searchAdd .sEmpty{padding:14px;color:var(--muted);font-size:10px;text-align:center}.palette .fam{grid-column:1/-1;display:flex;align-items:baseline;gap:8px;margin:12px 0 2px;padding:5px 7px;border-left:3px solid var(--fc);background:linear-gradient(90deg,#ffffff08,transparent);border-radius:0 5px 5px 0}.palette .fam:first-child{margin-top:2px}.palette .fam b{color:var(--fc);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.palette .fam span{color:var(--muted);font-size:9px}.palette .cat{margin-top:5px}#presetPanel .mpack{color:var(--hot);font-size:9px;letter-spacing:.14em;text-transform:uppercase;margin:9px 4px 3px;padding-bottom:3px;border-bottom:1px solid var(--line)}#presetPanel .mpack:first-child{margin-top:0}#vwrBar{position:fixed;left:0;right:0;bottom:0;z-index:265;display:flex;flex-direction:column;gap:8px;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(#0000,#0b0b12ee 30%);transform:translateY(105%);transition:transform .28s ease;pointer-events:none}#kiosk.showui #vwrBar,#vwrBar.pin{transform:translateY(0);pointer-events:auto}#vwrBar .vrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}#vwrBar button{background:#14141c;border:1px solid #33333e;color:#e7e7ee;border-radius:8px;padding:9px 12px;font-size:12px}#vwrBar button:hover{border-color:var(--hot);color:var(--hot)}#vwrBar .knobs{display:flex;gap:14px;flex-wrap:wrap;flex:1;min-width:0}#vwrBar .knob{display:flex;flex-direction:column;gap:3px;min-width:120px;flex:1}#vwrBar .knob label{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#9a9aa6;display:flex;justify-content:space-between}#vwrBar .knob input[type=range]{width:100%;height:26px}#vwrBar .sp{flex:1}#vwrHint{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:264;color:#cfcfd8;background:#0c0c12cc;border:1px solid #33333e;border-radius:20px;padding:7px 14px;font-size:11px;backdrop-filter:blur(6px);transition:opacity .4s;pointer-events:none}#kiosk.showui #vwrHint{opacity:0}#qrModal{display:none;position:fixed;inset:0;z-index:280;align-items:center;justify-content:center;background:#000a;backdrop-filter:blur(4px)}#qrModal.on{display:flex}#qrModal .card{background:#0e0e14;border:1px solid var(--line);border-radius:14px;padding:20px;text-align:center;box-shadow:0 24px 70px #000d;max-width:88vw}#qrModal img,#qrModal canvas{width:260px;height:260px;max-width:72vw;image-rendering:pixelated;background:#fff;border-radius:8px;padding:10px}#qrModal .qt{margin:12px 0 2px;font-size:12px;letter-spacing:.06em}#qrModal .qs{color:var(--muted);font-size:10px;margin-bottom:12px;word-break:break-all;max-width:280px}#qrModal .qx{margin-top:6px}@media (min-width:900px){#qrModal img,#qrModal canvas{width:300px;height:300px}}:root{--algo:#ffb454;--comp:#a98bff}.node.algo{border-color:#3a2f1a}.node.algo .nhd b{color:#ffdca0}.palette button.algob,.ctx .ci.algoi{border-left:2px solid var(--algo)}.node.comp{border-color:#332a4d;box-shadow:0 0 0 1px #4a3b7a55,0 10px 26px #0009}.node.comp .nhd b{color:#d6c9ff}.matgrid{display:grid;gap:4px;margin:6px 0}.matgrid input{padding:4px;text-align:center;font-size:10px}.matbtns{display:flex;gap:5px;margin:4px 0}.matbtns button{flex:1;padding:4px;font-size:9px}.node.msel{outline:2px dashed var(--comp);outline-offset:2px}.compRow{display:flex;align-items:center;gap:4px}.compRow .mi{border-left:2px solid var(--comp)}.compEx,.compDel{cursor:pointer;color:var(--muted);font-size:12px;padding:0 4px}.compEx:hover{color:var(--hot)}.compDel:hover{color:var(--red)}#compChip button{background:#1d1730;border:1px solid var(--comp);color:#d6c9ff;border-radius:12px}#compChip button:hover{border-color:var(--hot);color:var(--hot)}.speedctl{display:inline-flex;align-items:center;gap:6px;flex:none;padding:0 2px}.speedctl .slab{font-size:9px;letter-spacing:.1em;color:var(--muted)}.speedctl input[type=range]{width:84px;accent-color:var(--hot)}.speedctl .sval{font-size:10px;color:var(--hot);width:32px;text-align:right}.tctl{display:inline-flex;align-items:center;gap:4px;flex:none;padding:0 3px;margin-left:2px}.tctl .tbtn{padding:4px 6px;font-size:11px;line-height:1;min-width:0;border-radius:3px}.tctl .tbtn.on{background:#1d2b0d;border-color:var(--hot);color:var(--hot)}.tctl .ttrack{width:150px;height:20px;border:1px solid var(--line);border-radius:3px;cursor:ew-resize;display:block}.tctl.tActive .ttrack{border-color:#3a5a1a}.tctl .tnum{display:inline-flex;align-items:center;gap:2px;font-size:8px;letter-spacing:.05em;color:var(--muted);text-transform:uppercase}.tctl .tnum input{width:34px;padding:3px 2px;font-size:10px;text-align:center}@media (max-width:760px){.tctl .ttrack{width:96px}.tctl .tnum{display:none}}.dattext{width:100%;background:#0c0c10;border:1px solid var(--line);color:var(--text);border-radius:4px;padding:6px;font:11px ui-monospace,monospace;resize:vertical}.daterr{color:var(--red);font-size:10px;margin-top:4px;min-height:12px}.notePrev{margin:0 8px 8px;padding:7px 8px;background:#0c0c11;border:1px solid var(--line);border-left:2px solid var(--dat);border-radius:5px;color:#d8d0a8;font-size:10px;line-height:1.5;max-height:64px;overflow:hidden;white-space:pre-wrap;word-break:break-word}#minimap{position:absolute;right:12px;bottom:12px;z-index:50;border:1px solid #33333e;border-radius:6px;cursor:crosshair;box-shadow:0 8px 24px #000a}.main{transition:grid-template-columns .22s ease}body:not(.railOpen) .main{grid-template-columns:1fr 0px}.side{transition:opacity .15s ease}body:not(.railOpen) .side{opacity:0;pointer-events:none}.railTab{position:fixed;top:50%;transform:translateY(-50%);right:0;z-index:161;width:26px;height:64px;display:flex;align-items:center;justify-content:center;background:#171720;border:1px solid var(--line);border-right:none;color:var(--muted);cursor:pointer;font-size:15px;border-radius:8px 0 0 8px;transition:right .22s ease;padding:0}.railTab:hover{color:var(--hot);border-color:var(--hot)}body.railOpen .railTab{right:330px}#railBackdrop{position:fixed;inset:0;background:#000;opacity:0;pointer-events:none;z-index:140;transition:opacity .2s;display:none}#editor{touch-action:none}@media (max-width:860px){.main{grid-template-columns:1fr!important}.side{position:fixed;top:40px;right:0;bottom:0;width:88vw;max-width:360px;z-index:150;transform:translate(100%);transition:transform .25s ease;opacity:1!important;pointer-events:auto!important;box-shadow:-14px 0 44px #000b}body.railOpen .side{transform:translate(0)}body.railOpen .railTab{right:min(88vw,360px)}#railBackdrop{display:block}body.railOpen #railBackdrop{opacity:.55;pointer-events:auto}.top button,.top .menu>button{padding:9px 12px}.speedctl input[type=range]{width:64px}#searchAdd{width:92vw;max-width:360px}}.arGrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;margin:4px 0 2px}.arGrid button{padding:6px 4px;font-size:10px}.cardseq{margin:2px 8px 9px;height:46px}.cardseq .seqcell{cursor:ns-resize}.node.rackm{border-radius:3px;border-color:#3c4048;background:linear-gradient(180deg,#26282f,#1a1c21 70%,#17181d);box-shadow:0 14px 30px #000c,inset 0 1px #ffffff14,inset 0 -1px #0009}.node.rackm .nhd{background:linear-gradient(180deg,#31343c,#24262c);border-bottom:1px solid #101216;border-radius:3px 3px 0 0;padding:6px 16px 8px;cursor:grab}.node.rackm .nhd b{color:#e8e4d8;text-transform:uppercase;letter-spacing:.09em;font-size:9px}.node.rackm .nhd .ttl i.fdot{border-radius:1px}.node.rackm:before,.node.rackm:after{content:"";position:absolute;top:4px;width:7px;height:7px;border-radius:50%;z-index:6;pointer-events:none;background:radial-gradient(circle at 35% 30%,#aeb6c2,#5a616c 55%,#23262c 90%);box-shadow:inset 0 -1px 1px #000c}.node.rackm:before{left:4px}.node.rackm:after{right:4px}.node.rackm .port{width:16px;height:16px;border:2px solid #565d68;background:radial-gradient(circle at 50% 50%,#000 30%,#1c1f25 34%,#13151a 62%,#3c434e 66%)}.node.rackm .port.img{box-shadow:inset 0 0 0 2px var(--top)}.node.rackm .port.sig{box-shadow:inset 0 0 0 2px var(--chop)}.node.rackm .port.mod{box-shadow:inset 0 0 0 2px var(--mod)}.node.rackm .port.conn{box-shadow:inset 0 0 0 2px currentColor,0 0 0 3px #0a0a0d,0 0 10px currentColor}.node.rackm .card canvas,.node.rackm .spark{width:100%!important;height:auto}.knobrow{display:flex;gap:5px;padding:5px 8px 9px;flex-wrap:wrap;justify-content:center}.knb{display:flex;flex-direction:column;align-items:center;width:37px;cursor:ns-resize;user-select:none}.knb canvas{width:30px;height:30px;display:block}.knb .klbl{font-size:7.5px;color:#9aa2ae;letter-spacing:.06em;text-transform:uppercase;margin-top:1px;line-height:1}.knb .kval{font-size:8px;color:#cfd6aa;line-height:1.2}.node.rackm .knobrow{border-top:1px solid #ffffff0c;margin-top:2px}.node.rackm .npr:has(input[type=range]){display:none}.node.rackm .nmore{display:none}.node.rackm{border-top:3px solid var(--acc,#b6ff22)}.node.rackm .nhd b{color:var(--acc,#e8e4d8)}.node.rackm .nhd .ttl i.fdot{background:var(--acc,#b6ff22)!important}.node.rackm .knb .kval{color:var(--acc,#cfd6aa);opacity:.9}.node.rackm .chnum{color:var(--acc,#b6ff22)}
