/* Patch Panel: dedicated non-destructive panel batch compositor */
#patchPanelStudio{position:fixed;inset:0;z-index:2147483100;background:rgba(0,5,12,.9);display:grid;place-items:center;padding:clamp(5px,1.4vw,17px);color:#e8faff;font-family:Inter,system-ui,sans-serif;isolation:isolate}
#patchPanelStudio *{box-sizing:border-box}
#patchPanelStudio .patch-dialog{width:min(1240px,100%);height:min(94dvh,950px);min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border:1px solid rgba(144,231,255,.66);border-radius:18px;background:radial-gradient(ellipse at 10% 0%,#153a50 0%,#071827 48%,#020a13 100%);box-shadow:inset 0 1px #e5fcff35,0 24px 85px #000d}
#patchPanelStudio .patch-heading{display:flex;gap:14px;align-items:center;padding:13px clamp(10px,2.5vw,24px);border-bottom:1px solid #8aeeff50;background:linear-gradient(120deg,#183747d6,#061522d8)}
#patchPanelStudio .patch-emblem{font-size:36px;color:#9af1ff;text-shadow:0 0 24px #49dfff;line-height:1}
#patchPanelStudio .patch-heading div{min-width:0;flex:1}
#patchPanelStudio .patch-heading small{font-size:10px;color:#8ec5db;letter-spacing:.15em;font-weight:800}
#patchPanelStudio .patch-heading h2{margin:2px 0;font-size:clamp(17px,3vw,25px);letter-spacing:.14em;line-height:1.1}
#patchPanelStudio .patch-heading p{margin:3px 0 0;color:#a8cbda;font-size:11px}
#patchPanelStudio .patch-close{height:38px;width:38px;border:1px solid #7ad1e5;border-radius:9px;background:#0b2634;color:#fff;font-size:25px;cursor:pointer}
#patchPanelStudio .patch-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(275px,.85fr);min-height:0;overflow:hidden}
#patchPanelStudio .patch-options{min-height:0;overflow:auto;padding:clamp(9px,2vw,19px);scrollbar-width:thin;scrollbar-color:#2b8295 transparent}
#patchPanelStudio .patch-upload{border:1px dashed #46bfe5;border-radius:14px;min-height:115px;background:linear-gradient(145deg,#10334877,#09223066);display:grid;place-content:center;justify-items:center;gap:7px;padding:14px;text-align:center}
#patchPanelStudio .patch-upload.patch-over{background:#17465e;border-color:#b2fbff}
#patchPanelStudio .patch-upload strong{font-size:12px;letter-spacing:.12em}
#patchPanelStudio .patch-upload small{font-size:10px;color:#98c3d3}
#patchPanelStudio .patch-upload button,#patchPanelStudio .patch-footer button{padding:9px 14px;border:1px solid #52a9c4;border-radius:9px;background:linear-gradient(180deg,#1a4859,#0b2432);color:#edfaff;font-size:10px;font-weight:850;letter-spacing:.07em;cursor:pointer;min-height:38px}
#patchPanelStudio .patch-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
#patchPanelStudio .patch-fields label{display:grid;gap:5px;font-size:10px;font-weight:800;letter-spacing:.08em;color:#a9cad8;align-content:start}
#patchPanelStudio .patch-fields select{width:100%;min-width:0;padding:8px 10px;background:#04131f;color:#fff;border:1px solid #285b73;border-radius:8px;min-height:39px;font-size:12px;letter-spacing:0}
#patchPanelStudio .patch-fields input[type=range]{width:100%;accent-color:#61dfff}
#patchPanelStudio .patch-fields output{float:right;color:#87eaff}
#patchPanelStudio .patch-file-summary{margin:15px 0 9px;padding:7px 9px;border:1px solid #2e6478;border-radius:9px;background:#092132;font:800 11px ui-monospace,monospace;letter-spacing:.08em}
#patchPanelStudio .patch-files{display:grid;gap:6px;max-height:210px;overflow:auto;padding:2px}
#patchPanelStudio .patch-file{min-height:43px;display:grid;grid-template-columns:37px minmax(0,1fr) 27px 27px 27px;gap:5px;align-items:center;padding:4px;border:1px solid #1c495e;border-radius:9px;background:#081b29}
#patchPanelStudio .patch-file>img{width:35px;height:35px;object-fit:cover;border-radius:5px;background:#193341}
#patchPanelStudio .patch-file>span{font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#patchPanelStudio .patch-file button{min-width:25px;min-height:29px;padding:0;background:#103144;border:1px solid #245c75;border-radius:6px;font-size:15px;color:#d5f9ff;cursor:pointer}
#patchPanelStudio :is(button,select):focus-visible{outline:2px solid #bbf8ff;outline-offset:2px}
#patchPanelStudio button:disabled{opacity:.36;cursor:default}
#patchPanelStudio .patch-preview-col{min-height:0;min-width:0;overflow:auto;border-left:1px solid #4faac833;padding:clamp(9px,2vw,19px);display:grid;grid-template-rows:auto minmax(240px,1fr) auto;gap:10px;background:linear-gradient(160deg,#0c293a99,#02091066)}
#patchPanelStudio .patch-preview-head{display:flex;align-items:baseline;justify-content:space-between;gap:7px}
#patchPanelStudio .patch-preview-head strong{font-size:11px;letter-spacing:.11em}
#patchPanelStudio .patch-preview-head small{font-size:10px;color:#92bfd1}
#patchPanelStudio .patch-preview{min-height:0;display:grid;place-items:center;border:1px solid #183c51;border-radius:12px;background:radial-gradient(ellipse at 50% 40%,#183b4c,#030b14 72%);padding:12px;overflow:hidden}
#patchPanelStudio .patch-paper{position:relative;width:auto;max-height:100%;max-width:100%;height:100%;aspect-ratio:2/3;box-shadow:0 12px 35px #000c,0 0 0 1px #ffffff33;overflow:hidden}
#patchPanelStudio .patch-frame{position:absolute;border:2px solid #111;overflow:hidden;background:#122b3a;display:grid;place-items:center;color:#a3dfeb}
#patchPanelStudio .patch-frame img{width:100%;height:100%;display:block}
#patchPanelStudio .patch-empty,#patchPanelStudio .patch-tip{font-size:11px;color:#99c2d0;text-align:center;line-height:1.5;max-width:40ch;margin:0 auto}
#patchPanelStudio .patch-footer{border-top:1px solid #4eaeca66;background:#071826;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px clamp(10px,2vw,20px)}
#patchPanelStudio .patch-footer [data-patch-feedback]{font-size:10px;line-height:1.4;color:#acd4e4;max-width:52ch}
#patchPanelStudio .patch-footer>div{display:flex;gap:7px;flex-shrink:0}
#patchPanelStudio .patch-footer .patch-primary{background:linear-gradient(115deg,#1a6482,#144156);border-color:#7ce9ff;color:#fff;box-shadow:inset 0 1px #c8ffff44,0 0 20px #58efff25}
.patch-sheet-cta{border:1px solid #398fa870;border-radius:12px;background:linear-gradient(135deg,#102f40dd,#071826dd);padding:12px}
.patch-sheet-cta p{font-size:11px;line-height:1.5;color:#a4d2e2}
.patch-sheet-cta .patch-trigger{width:100%;border-color:#5fe7ff;font-weight:900}
@media(max-width:750px){
 #patchPanelStudio{padding:0}
 #patchPanelStudio .patch-dialog{height:100dvh;max-height:none;border-radius:0;border:0}
 #patchPanelStudio .patch-heading{padding:7px 10px}
 #patchPanelStudio .patch-heading p{font-size:10px}
 #patchPanelStudio .patch-body{display:block;overflow:auto}
 #patchPanelStudio .patch-options{overflow:visible;padding:10px}
 #patchPanelStudio .patch-fields{gap:8px}
 #patchPanelStudio .patch-preview-col{border-left:0;border-top:1px solid #2c728c;overflow:visible;grid-template-rows:auto minmax(220px,300px) auto;padding:10px}
 #patchPanelStudio .patch-paper{height:100%}
 #patchPanelStudio .patch-footer{align-items:stretch;flex-direction:column;padding:8px 10px;gap:5px}
 #patchPanelStudio .patch-footer>div{justify-content:stretch}
 #patchPanelStudio .patch-footer button{flex:1;font-size:10px}
 #patchPanelStudio .patch-files{max-height:120px}
}
@media(prefers-reduced-motion:reduce){#patchPanelStudio *,#patchPanelStudio *:before,#patchPanelStudio *:after{transition:none!important;animation:none!important}}
