#findxWorkspace{display:none}
#patchDialog[data-view=findx]> .bar,#patchDialog[data-view=findx] #fixtureWorkspace{display:none}
html[data-interface] body[data-mode=patch]:not(.separateStageScreen) #patchDialog[data-view=findx]{height:var(--findx-height,calc(100dvh - 210px));max-height:var(--findx-height,calc(100dvh - 210px));display:flex;flex-direction:column;overflow:hidden}
#patchDialog[data-view=findx] #findxWorkspace{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0}
#findxWorkspace .bar{padding:0;flex-shrink:0;gap:10px}
#findxWorkspace h2{font-size:22px;margin:0}
.findxSimulation{font-size:11px;color:#f4d28c;letter-spacing:.5px}
.findxAddressForm,.findxIdentity{display:flex;align-items:flex-end;flex-wrap:wrap;gap:10px}
.findxAddressForm label,.findxIdentity label{display:flex;flex-direction:column;gap:4px;font-size:12px}
.findxAddressForm input{width:90px}.findxAddressForm select{min-width:65px}.findxAddressForm span{font-size:12px;color:#b2c2d3;align-self:center}
#findxWorkspace input{background:#101722;color:#edf4fa;border:1px solid #43526a;border-radius:7px;padding:7px}
#findxWorkspace select{padding:7px}
#findxWorkspace button{padding:7px 11px;font-size:12px}
#findxStatus{font-size:12px;margin:0;min-height:17px;color:#c1d6e4}
#findxStatus.error{color:#ffb0b0}
#findxBody{display:flex;flex-direction:column;min-height:0;flex:1;gap:7px}
#findxBody[hidden],#findxFinish[hidden]{display:none}
.findxTableWrap{flex:1;min-height:0;overflow:auto}
.findxTable{table-layout:fixed;width:100%;border-collapse:collapse}
.findxTable th,.findxTable td{padding:4px;font-size:12px}
.findxTable thead th{color:#aec4d8;font-weight:500}
.findxTable th:nth-child(1){width:6%}.findxTable th:nth-child(2){width:12%}.findxTable th:nth-child(3){width:8%}.findxTable th:nth-child(4),.findxTable th:nth-child(5),.findxTable th:nth-child(6){width:10%}.findxTable th:nth-child(7){width:29%}.findxTable th:nth-child(8){width:15%}
.findxTable td button{width:100%}.findxTable td button[aria-pressed=true]{border-color:#65cfdf;background:#23434c;color:#ecfcff}
.findxTable td button[data-action=stop][aria-pressed=true]{background:#23252f;border-color:#415165;color:#bacbdd}
.findxTable output{font-family:ui-monospace,monospace;font-variant-numeric:tabular-nums}
.findxTrack{display:block;height:3px;background:#354352;margin-top:3px;overflow:hidden}.findxTrack>span{display:block;height:100%;background:#5ad0e0;width:0}
.findxRoleButton{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;overflow:hidden}
.findxTable .beyond{opacity:.5}.findxTable .endMarker{opacity:1;background:#273938}.findxTable .endMarker td:last-child button{border-color:#8ed3b5}
.findxPager{display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex-shrink:0}.findxPager span{font-size:12px}
#findxProgress{font-size:12px;color:#b8dddf;margin:0}
#findxFinish{display:flex;flex-direction:column;gap:7px;flex-shrink:0}
.findxIdentity label:first-child{flex:1;min-width:180px}.findxIdentity input{width:100%}
.findxLibraryInfo{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#b0c4d7}
.findxHelp{margin:0;font-size:11px;line-height:1.4;color:#a3b5c9;flex-shrink:0}
#findxWorkspace .findxStopAll{border-color:#90515d;color:#ffc6ce;background:#39242c}
.revoltxResultHeading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
@media(max-height:800px){#findxWorkspace{gap:5px!important}.findxHelp{display:none}.findxTable th,.findxTable td{padding:3px}.findxLibraryInfo{font-size:10px}.findxAddressForm label{flex-direction:row;align-items:center}}
@media(max-width:760px){html[data-interface] body[data-mode=patch]:not(.separateStageScreen) #patchDialog[data-view=findx]{overflow:auto;height:auto}#findxBody{flex:none}.findxTable{min-width:700px}.findxTableWrap{overflow:auto}.findxAddressForm span{display:none}.findxIdentity{align-items:stretch;flex-direction:column}}
@media print{#findxWorkspace{display:none!important}}

/* Keep the test controls distinct even without a MIDI controller. */
#findxWorkspace h2{font-size:26px;color:#ffd09d}
#findxWorkspace{background:linear-gradient(145deg,#252b35 0%,#192530 70%);border-radius:10px;padding:10px}
#findxWorkspace button,#findxWorkspace input,#findxWorkspace select{font-size:14px}
.findxAddressForm label,.findxIdentity label{font-size:15px}
.findxAddressForm span{font-size:14px;color:#d4deeb}
.findxSimulation{font-size:13px;color:#ffd99e}
#findxStatus{font-size:14px;min-height:20px;color:#b7e4ea}
.findxTable th,.findxTable td{font-size:14px}
.findxTable thead{background:#26384b}.findxTable thead th{color:#f7d7b4}
.findxTable tbody tr:nth-child(even){background:#1c2d3b}
.findxTable td button[data-action=course]{border-color:#428b9c;color:#9ce5ed;background:#1c3944}
.findxTable td button[data-action=course][aria-pressed=true]{background:#327a89;color:#f4ffff;border-color:#78e2ed}
.findxTable td button[data-action=full]{border-color:#a77840;color:#ffdb98;background:#473728}
.findxTable td button[data-action=full][aria-pressed=true]{background:#dda852;color:#261d11}
.findxTable td button[data-action=stop]{border-color:#855866;color:#f8c3ce;background:#382b37}
.findxTable td button[data-action=stop][aria-pressed=true]{border-color:#a66d7d;background:#4c3340;color:#ffe0e7}
.findxRoleButton{background:#263b50;border-color:#486d87;color:#d8eef5}.findxRoleButton .revoltxIcon{color:#8ce0eb}
.findxPager span,#findxProgress{font-size:14px}
.findxLibraryInfo{font-size:13px;color:#f1c99f}
.findxHelp{font-size:13px}
#findxWorkspace:has(#findxBody:not([hidden])) .findxHelp{display:none}
#findxSave{background:#f0b775;border-color:#f0b775;color:#291c11}
#findxWorkspace .findxStopAll{font-size:14px}
@media(max-height:800px){#findxWorkspace{padding:6px}.findxTable th,.findxTable td{font-size:13px}#findxWorkspace button{font-size:13px;padding:5px 7px}.findxAddressForm label{font-size:14px}}

/* A page holds sixteen channels, in two readable banks of eight. */
.findxTableWrap{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:14px}
.findxTable[hidden]{display:none}
.findxTable{align-self:start}
.findxTable th{overflow-wrap:anywhere}
@media(min-width:1200px){
 html[data-interface] body[data-mode=patch]:not(.separateStageScreen) #patchDialog[data-view=findx]{width:calc(100% - 32px);max-width:none}
 .findxTableWrap.twoBanks{grid-template-columns:repeat(2,minmax(0,1fr))}
 .twoBanks .findxTable{min-width:0}
 .twoBanks .findxTable th:nth-child(1){width:5%}.twoBanks .findxTable th:nth-child(2){width:11%}.twoBanks .findxTable th:nth-child(3){width:7%}
 .twoBanks .findxTable th:nth-child(4){width:13%}.twoBanks .findxTable th:nth-child(5),.twoBanks .findxTable th:nth-child(6){width:11%}
 .twoBanks .findxTable th:nth-child(7){width:26%}.twoBanks .findxTable th:nth-child(8){width:16%}
 #findxWorkspace .twoBanks button{padding:7px 5px;white-space:nowrap;font-size:13px}
 .twoBanks .findxTable thead th{overflow-wrap:normal}
 .twoBanks .findxTable td:nth-child(2){white-space:nowrap;font-size:13px}
 .twoBanks .findxRoleButton{gap:5px}
}
#findxPersonalLibrary{box-sizing:border-box;width:min(640px,94vw);max-height:85vh;overflow:auto;background:#17202c;color:#edf6f6;border:1px solid #4a7180;border-radius:14px;padding:20px}#findxPersonalLibrary::backdrop{background:#000b}.findxLibraryHead{display:flex;align-items:start;justify-content:space-between;gap:18px}.findxLibraryHead h2{margin:0;color:#6fe1d3}.findxLibraryHead p{color:#b9cbd3;margin:6px 0 14px}.findxLibraryRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #344456}.findxLibraryRow strong,.findxLibraryRow small{display:block}.findxLibraryRow small{color:#b9cbd3;margin-top:4px}#findxPersonalError:not(:empty){color:#ffb0b0}
