/* RemixForge Reborn / Sonic Revolution. Functional touch-first workstation UI. */
.remix-open{background:#721127!important;color:white!important;border:1px solid #f84572!important;font-weight:800!important}
#remixforge{--hot:#ff3866;--line:#5b2b42;--panel:#170d19;--sub:#241426;--fg:#ffeff5;position:fixed;inset:0;z-index:100000;color:var(--fg);background:radial-gradient(ellipse at 50% -25%,#4b122b,#09070e 55%);font:14px/1.48 system-ui,-apple-system,sans-serif;overflow:auto;overscroll-behavior:contain;padding:env(safe-area-inset-top) max(env(safe-area-inset-right),10px) env(safe-area-inset-bottom) max(env(safe-area-inset-left),10px)}
#remixforge[hidden],#remixforge [hidden]{display:none!important}
body.rf-open{overflow:hidden!important}#remixforge *{box-sizing:border-box}#remixforge .rf-app{max-width:1620px;margin:auto;padding:12px 8px 75px}#remixforge h2,#remixforge h3,#remixforge p{margin:0 0 8px}#remixforge h2{font-size:21px;letter-spacing:.02em}#remixforge h3{font-size:15px}#remixforge small{color:#ff859f;font-size:10px;letter-spacing:2px;font-weight:800}
#remixforge .rf-head{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#0e0a11e8;border:1px solid var(--line);border-radius:17px;padding:13px;position:sticky;top:0;z-index:4;backdrop-filter:blur(17px)}
#remixforge .rf-brand{display:flex;align-items:center;gap:10px;min-width:0}#remixforge .rf-brand img{width:48px;height:48px;border-radius:12px}#remixforge .rf-head-buttons{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
#remixforge button,#remixforge select,#remixforge input{font:inherit}#remixforge button{border:1px solid #733149;border-radius:11px;min-height:43px;background:#301626;color:var(--fg);cursor:pointer;padding:8px 12px;touch-action:manipulation}#remixforge button:hover{border-color:var(--hot)}#remixforge button:disabled{opacity:.42;cursor:not-allowed}#remixforge button:focus-visible,#remixforge select:focus-visible,#remixforge input:focus-visible{outline:2px solid #ff80a1;outline-offset:2px}
#remixforge .rf-primary{border-color:#ff7194;background:linear-gradient(135deg,#ff3d6b,#a51c49);color:#fff;font-weight:800}#remixforge .rf-exit{background:#501122;border-color:#ef4766}#remixforge #rfNotice{padding:9px 12px;min-height:38px;color:#ffb2c6;border-radius:10px;overflow-wrap:anywhere}#remixforge #rfNotice.rf-error{color:#ffdf9c;background:#411c10}
#remixforge .rf-desktop-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,.75fr);gap:12px}#remixforge .rf-main,#remixforge .rf-aside{display:flex;flex-direction:column;gap:12px;min-width:0}#remixforge .rf-pane{border:1px solid var(--line);border-radius:16px;background:linear-gradient(152deg,#1c1122,#110b17);padding:16px;min-width:0;box-shadow:0 12px 32px #0005}
#remixforge .rf-section-head,#remixforge .rf-visual-header,#remixforge .rf-inline{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 8px}
#remixforge .rf-chip{border:1px solid #873552;border-radius:30px;padding:4px 9px;color:#ffb1c5;font-size:12px}#remixforge .rf-old{color:#ffe3a9;border-color:#be8341}#remixforge .rf-hint{font-size:12px;color:#c6aabb;margin:6px 0}
#remixforge label{font-size:12px;color:#f2cedc;display:flex;flex-direction:column;gap:4px;min-width:0}#remixforge .rf-switch{flex-direction:row;align-items:center}#remixforge input:not([type=range]):not([type=checkbox]):not([type=file]),#remixforge select{color:#fce7ee;background:#0d0813;border:1px solid #743951;border-radius:9px;min-height:42px;padding:8px;width:100%;min-width:0}
#remixforge input[type=range]{accent-color:#ff3866;width:100%;touch-action:pan-y}#remixforge .rf-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0}#remixforge .rf-file-button{background:#391629;padding:11px;border-radius:10px;border:1px solid #81314b;cursor:pointer}#remixforge .rf-file-button input{display:none}
#remixforge .rf-visual video{width:100%;height:clamp(160px,26vw,430px);background:#020102;object-fit:contain;border:1px solid #59314a;border-radius:11px;display:block;max-width:100%}#remixforge canvas{display:block;width:100%;max-width:100%;background:#130811;border:1px solid #4c2239;border-radius:9px;margin:9px 0}#remixforge .rf-playback,#remixforge .rf-preview-tools{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:9px 0}#remixforge .rf-playback #rfTime{font-variant-numeric:tabular-nums;color:#d5b6c7;margin-left:auto}
#remixforge .rf-track-list,#remixforge .rf-effect-list{display:flex;flex-direction:column;gap:8px}#remixforge .rf-track{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(70px,.7fr) minmax(70px,.7fr) auto auto auto;align-items:center;gap:8px;background:#110b17;border:1px solid #492c3d;border-radius:12px;padding:10px}#remixforge .rf-track.selected{border-color:#f84e7c;background:#301326}#remixforge .rf-track-name{text-align:left;display:flex;flex-direction:column;align-items:start;white-space:normal}#remixforge .rf-track-name small{font-size:10px;color:#cea8bd;letter-spacing:0;font-weight:400}#remixforge .rf-track label{font-size:11px}#remixforge .rf-track button{padding:7px;min-height:39px}#remixforge button[aria-pressed=true]{background:#a52147;color:white}
#remixforge .rf-effect{display:grid;grid-template-columns:minmax(140px,1fr) 50px minmax(95px,1fr) repeat(3,38px);gap:6px;align-items:center;background:#150b17;padding:7px;border:1px solid #49233b;border-radius:11px}#remixforge .rf-fx-name{text-transform:capitalize;color:#ffd5e3;font-weight:700}#remixforge .rf-effect button{padding:5px;min-height:36px}#remixforge .rf-key{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;margin:7px 0}#remixforge .rf-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}#remixforge .rf-metrics span{background:#2b1425;border-radius:9px;padding:10px;font-size:11px}#remixforge .rf-metrics strong{display:block;color:#fff;font-size:19px}#remixforge .rf-good{color:#80dfb9}#remixforge .rf-warning{color:#ffcc85}#remixforge .rf-output{border:1px solid #49283e;background:#130b18;border-radius:10px;padding:10px;margin:9px 0;overflow-wrap:anywhere}#remixforge .rf-output a{color:#ff96b4}
#remixforge .rf-dialog{position:fixed;inset:0;z-index:100002;background:#020205d9;display:flex;align-items:center;justify-content:center;padding:20px}.rf-dialog-form{background:#1c0e19;border:2px solid #e1486f;color:white;padding:24px;border-radius:18px;max-width:450px;width:100%;box-shadow:0 0 100px #ae184355}.rf-dialog-form h3{font-size:20px!important}.rf-dialog-form .rf-inline{margin-top:20px!important}#remixforge .rf-mobile-nav{display:none}
@media(max-width:950px){#remixforge .rf-desktop-layout{grid-template-columns:minmax(0,1fr)}#remixforge .rf-track{grid-template-columns:minmax(100px,1fr) minmax(90px,1fr) minmax(70px,1fr);gap:6px}}
@media(max-width:680px){#remixforge .rf-app{padding:4px 0 100px}#remixforge .rf-head{border-radius:0;padding:7px 8px;flex-wrap:wrap;gap:6px}#remixforge .rf-brand img{width:36px;height:36px}#remixforge h2{font-size:15px}#remixforge .rf-head-buttons{flex:1;flex-wrap:nowrap;gap:4px;justify-content:space-between}#remixforge .rf-head-buttons button{font-size:11px;padding:8px 7px;flex:1}#remixforge .rf-head-buttons #rfClose{flex:0 0 auto}#remixforge .rf-pane{padding:10px;border-radius:12px}#remixforge .rf-visual video{height:auto;aspect-ratio:16/9}#remixforge .rf-playback,#remixforge .rf-preview-tools{display:grid;grid-template-columns:1fr 1fr;gap:7px}#remixforge .rf-playback #rfTime{grid-column:span 2;justify-self:center;margin:0}#remixforge .rf-track{grid-template-columns:repeat(3,minmax(0,1fr))}#remixforge .rf-track-name{grid-column:span 3}#remixforge .rf-track label{grid-column:span 1}#remixforge .rf-effect{grid-template-columns:1fr 45px 1fr;gap:5px}#remixforge .rf-fx-name{grid-column:span 3}#remixforge .rf-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}#remixforge .rf-mobile-nav{position:fixed;z-index:10;display:grid;grid-template-columns:repeat(4,1fr);gap:3px;bottom:0;left:0;right:0;padding:9px max(8px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-bottom));background:#130916f5;border-top:1px solid #9b3553;box-shadow:0 -12px 25px #0009}#remixforge .rf-mobile-nav button{font-size:12px;padding:8px 2px;min-height:46px}#remixforge #rfNotice{font-size:12px}#remixforge .rf-inline{justify-content:flex-start}#remixforge .rf-inline>select{flex:1 1 100px}}
@media(prefers-reduced-motion:reduce){#remixforge *,#remixforge *::before,#remixforge *::after{animation:none!important;transition:none!important}}
#remixforge .rf-fx-param{grid-column:span 2;background:#291425;border-radius:8px;padding:6px}
@media(max-width:680px){
 #remixforge .rf-desktop-layout,#remixforge .rf-main,#remixforge .rf-aside{display:contents}
 #remixforge .rf-visual,#remixforge .rf-main>.rf-pane:nth-child(2),#remixforge .rf-main>.rf-pane:nth-child(3),#remixforge .rf-aside>.rf-pane{display:none}
 #remixforge[data-mobile-panel=listen] .rf-visual{display:block}
 #remixforge[data-mobile-panel=mix] .rf-main>.rf-pane:nth-child(2),#remixforge[data-mobile-panel=mix] .rf-aside>.rf-pane:nth-child(1){display:block}
 #remixforge[data-mobile-panel=fx] .rf-main>.rf-pane:nth-child(3){display:block}
 #remixforge[data-mobile-panel=proof] .rf-aside>.rf-pane:nth-child(n+2){display:block}
 #remixforge .rf-mobile-nav button{min-width:0}
 #remixforge[data-mobile-panel=mix] [data-rf-panel=mix],#remixforge[data-mobile-panel=fx] [data-rf-panel=fx],#remixforge[data-mobile-panel=listen] [data-rf-panel=listen],#remixforge[data-mobile-panel=proof] [data-rf-panel=proof]{background:#d52b55;color:#fff}
 #remixforge .rf-fx-param{grid-column:span 3}
}

.rf-mobile-entry{display:none}
@media(max-width:760px){.rf-mobile-entry{display:flex;flex-direction:column;gap:5px;position:relative;padding:10px 8px;background:#160710;border:1px solid #eb3a64;border-radius:13px;margin:8px 0;color:#ffb6c8;text-align:center;font:11px system-ui}.rf-mobile-entry button{background:linear-gradient(125deg,#a8214b,#ef3562);border:1px solid #ff81a3;border-radius:10px;color:#fff;padding:12px;font:bold 14px system-ui;min-height:48px;cursor:pointer}}

#remixforge #rfCurve{touch-action:none;min-height:135px;cursor:crosshair;border-color:#943b62;background:#140814}#remixforge #rfSpectrum{image-rendering:auto}

/* 4.6.1: Visible, self-contained library chooser; no silent launch failure */
#remixforge .rf-choose{padding:16px;margin:10px 0 16px;border:2px solid #f04671;border-radius:15px;background:#351322;box-shadow:0 4px 35px #e830572e}
#remixforge .rf-choose h3{font-size:20px;color:#fff}
#remixforge .rf-choose-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
#remixforge .rf-choose-controls select{min-width:0;width:100%;min-height:48px}
#remixforge #rfChooseMessage{font-size:13px;margin-top:10px;color:#ffd4df}
@media(max-width:680px){#remixforge .rf-choose-controls{grid-template-columns:1fr}#remixforge .rf-choose-controls button{width:100%}}
#remixforge .rf-job-progress{display:grid;gap:7px;background:#1b101a;border:1px solid #a64262;border-radius:10px;margin:10px 0;padding:12px;font:12px system-ui;color:#ffe4ec}
#remixforge .rf-job-progress[hidden]{display:none!important}#remixforge .rf-job-progress progress{width:100%;height:13px;accent-color:#ef426b}#remixforge .rf-job-progress-label{color:#ffd3df;font-weight:600}
#remixforge .rf-job-progress details{max-height:22vh;overflow:auto}#remixforge .rf-job-progress summary{cursor:pointer}#remixforge .rf-job-progress ol{max-height:17vh;overflow:auto;padding-left:26px;color:#ecbdcc}
