:root{--shell: rgba(10, 11, 15, .93);--surface-1: rgba(255, 255, 255, .025);--surface-2: rgba(255, 255, 255, .05);--surface-3: rgba(255, 255, 255, .08);--line: rgba(255, 255, 255, .07);--track: rgba(255, 255, 255, .1);--text-hi: #e9ebf2;--text: #b7bbc9;--dim: #7e8394;--faint: #545968;--accent: #7c7ef0;--accent-soft: rgba(124, 126, 240, .35);--accent-faint: rgba(124, 126, 240, .14);--danger: #e07a85;--font-ui: "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;--font-mono: "Cascadia Mono", ui-monospace, Consolas, monospace;--r-ctl: 6px;--r-mod: 10px;--r-panel: 14px;--ease: .14s cubic-bezier(.2, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;background:#0a0a0f;color:var(--text);font-family:var(--font-ui)}#view{display:block;width:100vw;height:100vh;cursor:grab;touch-action:none}#view:active{cursor:grabbing}#status{position:fixed;left:12px;bottom:10px;font:11px/1.4 var(--font-mono);color:#c9c9d4bf;background:#0a0a0f8c;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:4px 8px;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#status.error{color:#ff6b6b;pointer-events:auto;-webkit-user-select:text;user-select:text}.fx-panel :focus-visible,.fx-toggle:focus-visible{outline:1px solid var(--accent);outline-offset:1px}@media(prefers-reduced-motion:reduce){.fx-panel *,.fx-toggle{transition:none!important}}.fx-toggle{position:fixed;top:14px;right:14px;z-index:10;font:600 11px/1 var(--font-mono);letter-spacing:.1em;color:var(--text);background:var(--shell);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:9px 11px;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 18px #0006;transition:color var(--ease),border-color var(--ease)}.fx-toggle:hover{color:var(--text-hi);border-color:#fff3}.fx-panel{position:fixed;top:12px;right:12px;bottom:12px;width:312px;z-index:10;overflow-y:auto;overscroll-behavior:contain;background:var(--shell);border-radius:var(--r-panel);padding:20px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 1px #ffffff0f,0 1px #ffffff08,0 16px 48px #0000008c;font-size:12px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}.fx-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px}.fx-head-titles{display:flex;flex-direction:column;gap:3px}.fx-title{font:700 12px/1 var(--font-ui);letter-spacing:.18em;color:var(--text-hi)}.fx-subtitle{font:10px/1 var(--font-mono);font-variant-numeric:tabular-nums;color:var(--dim)}.fx-section{background:var(--surface-1);border-radius:var(--r-mod);padding:12px}.fx-section+.fx-section{margin-top:22px}.fx-sec-h{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}.fx-sec-idx{font:10px/1 var(--font-mono);color:var(--faint)}.fx-sec-name{font:600 10px/1 var(--font-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}.fx-sec-rule{flex:1;height:1px;background:var(--line);align-self:center}.fx-panel select{width:100%;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(45deg,transparent 50%,var(--dim) 50%) calc(100% - 15px) 55% / 5px 5px no-repeat,linear-gradient(-45deg,transparent 50%,var(--dim) 50%) calc(100% - 10px) 55% / 5px 5px no-repeat,var(--surface-2);color:var(--text);border:none;border-radius:var(--r-ctl);padding:6px 26px 6px 9px;font:12px/1.2 var(--font-ui);cursor:pointer;transition:background-color var(--ease),color var(--ease)}.fx-panel select:hover{background-color:var(--surface-3);color:var(--text-hi)}.fx-panel select:disabled{opacity:.4;cursor:default}.fx-panel select option,.fx-panel select optgroup{background:#14151c;color:var(--text)}.fx-create{background-color:transparent!important;border:1px dashed rgba(255,255,255,.16)!important;color:var(--dim)!important;font:600 10px/1.2 var(--font-ui)!important;letter-spacing:.12em;text-align:center;padding:7px 26px 7px 9px!important}.fx-create:hover{border-color:var(--accent-soft)!important;color:var(--text-hi)!important}.fx-add-row{display:flex;gap:6px;margin-bottom:10px}.fx-icon{display:inline-flex;width:14px;height:14px;flex-shrink:0}.fx-icon svg{width:100%;height:100%}.fx-ibtn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;background:none;border:none;border-radius:var(--r-ctl);color:var(--dim);cursor:pointer;transition:color var(--ease),background-color var(--ease)}.fx-ibtn:hover:not(:disabled){color:var(--text-hi);background:var(--surface-3)}.fx-ibtn.danger:hover:not(:disabled){color:var(--danger)}.fx-ibtn:disabled{opacity:.3;cursor:default}.fx-chipbtn{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);color:var(--dim);border:none;border-radius:var(--r-ctl);padding:5px 9px;font:11px/1 var(--font-ui);cursor:pointer;margin-bottom:10px;transition:color var(--ease),background-color var(--ease)}.fx-chipbtn:hover{background:var(--surface-3);color:var(--text-hi)}.fx-primary{width:100%;background:var(--accent-faint);color:#c9caf8;border:1px solid var(--accent-soft);border-radius:var(--r-ctl);padding:7px 10px;font:600 11px/1.2 var(--font-ui);letter-spacing:.06em;cursor:pointer;transition:background-color var(--ease),border-color var(--ease)}.fx-primary:hover:not(:disabled){background:#7c7ef03d;border-color:var(--accent)}.fx-primary:disabled{opacity:.5;cursor:default}.fx-progress{margin-top:8px;font:10px/1.4 var(--font-mono);color:var(--dim);min-height:14px}.fx-empty{color:var(--faint);font-size:10.5px;line-height:1.5;padding:2px 2px 4px}.fx-rows{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}.fx-prow{display:flex;flex-direction:column;gap:5px}.fx-op-body .fx-prow+.fx-prow,.fx-section>.fx-prow+.fx-prow{margin-top:10px}.fx-rows .fx-op+.fx-op{margin-top:0}.fx-prow-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.fx-prow-toggle{flex-direction:row;align-items:center;justify-content:space-between;cursor:pointer}.fx-plabel{color:var(--text);font-size:11px}.fx-prow-sel select{width:auto;flex:1;max-width:62%}.fx-num{width:72px;background:var(--surface-2);color:var(--text-hi);border:none;border-radius:var(--r-ctl);padding:3px 7px;font:11px/1.4 var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;transition:background-color var(--ease),box-shadow var(--ease)}.fx-num:hover{background:var(--surface-3)}.fx-num:focus{outline:none;box-shadow:0 0 0 1px var(--accent);background:var(--surface-3)}.fx-slider{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;height:14px;background:transparent;cursor:pointer}.fx-slider::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:linear-gradient(to right,var(--accent) var(--p, 0%),var(--track) var(--p, 0%))}.fx-slider::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;margin-top:-4px;border-radius:50%;background:#c8cbdd;border:none;box-shadow:0 1px 3px #00000080;transition:background-color var(--ease),transform var(--ease)}.fx-slider:hover::-webkit-slider-thumb{background:var(--text-hi);transform:scale(1.12)}.fx-slider:active::-webkit-slider-thumb{background:var(--accent);transform:scale(1.12)}.fx-slider::-moz-range-track{height:3px;border-radius:2px;background:var(--track)}.fx-slider::-moz-range-progress{height:3px;border-radius:2px;background:var(--accent)}.fx-slider::-moz-range-thumb{width:11px;height:11px;border:none;border-radius:50%;background:#c8cbdd;box-shadow:0 1px 3px #00000080}.fx-slider:active::-moz-range-thumb{background:var(--accent)}.fx-switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:26px;height:14px;flex-shrink:0;border-radius:7px;cursor:pointer;background:radial-gradient(circle 4.5px at 7px 50%,#a9adbf 98%,transparent) no-repeat,var(--track);transition:background-color var(--ease)}.fx-switch:checked{background:radial-gradient(circle 4.5px at 19px 50%,#e9ebf2 98%,transparent) no-repeat,var(--accent)}.fx-stack{position:relative;display:flex;flex-direction:column;gap:6px}.fx-stack.has-items:before{content:"";position:absolute;left:19px;top:10px;bottom:10px;width:1px;background:#ffffff17}.fx-op{position:relative;background:var(--surface-2);border-radius:var(--r-mod);transition:background-color var(--ease),box-shadow var(--ease)}.fx-op.selected{background:var(--surface-3);box-shadow:inset 2px 0 0 var(--accent)}.fx-op.disabled .fx-op-name,.fx-op.disabled .fx-op-summary,.fx-op.disabled .fx-op-body{opacity:.45}.fx-op-head{display:flex;align-items:center;gap:7px;padding:8px 9px;cursor:pointer;-webkit-user-select:none;user-select:none;min-height:34px}.fx-op-idx{font:10px/1 var(--font-mono);font-variant-numeric:tabular-nums;color:var(--faint);width:16px;flex-shrink:0}.fx-op.selected .fx-op-idx{color:var(--accent)}.fx-op-grip{color:var(--faint);opacity:.7;cursor:grab}.fx-op-label{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.fx-op-name{font:600 11px/1.2 var(--font-ui);color:var(--text-hi);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-op-summary{font:9.5px/1.2 var(--font-mono);font-variant-numeric:tabular-nums;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fx-op-acts{display:none;gap:1px;flex-shrink:0}.fx-op:hover .fx-op-acts,.fx-op.selected .fx-op-acts{display:flex}.fx-op-chev{color:var(--faint);transition:transform var(--ease)}.fx-op.selected .fx-op-chev{transform:rotate(180deg);color:var(--dim)}.fx-op-body{padding:4px 11px 11px 32px;border-top:1px solid var(--line)}.fx-op-body .fx-chipbtn{margin-top:8px}.fx-track .fx-op-head{cursor:default}.fx-track .fx-op-body{border-top:none;padding-top:0}.fx-strip-wrap{position:relative;margin:2px 0 18px}.fx-strip{display:block;width:100%;height:26px;border-radius:var(--r-ctl);cursor:copy;box-shadow:inset 0 0 0 1px #ffffff14}.fx-strip-marks{position:absolute;left:0;right:0;bottom:-7px;height:12px;pointer-events:none}.fx-stopmark{position:absolute;width:10px;height:10px;transform:translate(-50%) rotate(45deg);border:1px solid rgba(0,0,0,.65);border-radius:2px;box-shadow:0 0 0 1px #ffffff59;cursor:ew-resize;pointer-events:auto;padding:0;transition:box-shadow var(--ease)}.fx-stopmark.selected{box-shadow:0 0 0 2px var(--accent);z-index:1}.fx-stoprow{display:flex;align-items:center;gap:8px;background:var(--surface-2);border-radius:var(--r-ctl);padding:6px 8px;margin-bottom:12px}.fx-stoptag{flex:1;font:9.5px/1 var(--font-mono);letter-spacing:.1em;color:var(--dim)}.fx-stoprow .fx-num{width:58px}.fx-swatch{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:30px;height:20px;flex-shrink:0;padding:0;border:none;border-radius:5px;background:none;cursor:pointer;box-shadow:inset 0 0 0 1px #ffffff26}.fx-swatch::-webkit-color-swatch-wrapper{padding:0}.fx-swatch::-webkit-color-swatch{border:none;border-radius:5px}.fx-swatch::-moz-color-swatch{border:none;border-radius:5px}.fx-playrow{display:flex;align-items:center;gap:10px;margin-bottom:12px}.fx-play{width:28px;height:28px;background:var(--surface-2);color:var(--text-hi)}.fx-play:hover:not(:disabled){background:var(--accent-faint);color:#c9caf8}.preset-bar{position:fixed;left:50%;bottom:12px;transform:translate(-50%);z-index:9;display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:min(92vw,720px)}.preset-chip{font:600 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);background:var(--shell);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:7px 12px;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:color var(--ease),border-color var(--ease)}.preset-chip:hover{color:var(--text-hi);border-color:#ffffff38}.preset-shuffle{color:#c9caf8;border-color:var(--accent-soft)}.preset-shuffle:hover{border-color:var(--accent)}@media(max-width:640px){.fx-panel{top:auto;left:10px;right:10px;bottom:10px;width:auto;max-height:58vh;padding:16px}.preset-bar{bottom:auto;top:12px;left:10px;transform:none;justify-content:flex-start;max-width:calc(100vw - 76px)}#status{display:none}}
