:root{--accent-rgb: 255, 255, 255;--type-visual: 128, 255, 0;--type-shader: 255, 255, 0;--type-scene: 0, 255, 255;--type-post: 255, 163, 0;--type-particles: 255, 236, 39;--type-global: 160, 160, 255}*{margin:0;padding:0;box-sizing:border-box}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 200,"GRAD" 0,"opsz" 20;font-size:1.25em;line-height:1;vertical-align:middle}.material-symbols-outlined.filled{font-variation-settings:"FILL" 1,"wght" 200,"GRAD" 0,"opsz" 20}input,select,button,textarea{font-family:Inter,sans-serif;font-variant-numeric:tabular-nums}body{margin:0;padding:0;overflow:hidden;background-color:#000;font-family:Inter,sans-serif;color-scheme:dark}#title-screen{position:fixed;inset:0;z-index:10000;background:#000;display:flex;align-items:center;justify-content:center;transition:opacity .6s ease}#title-screen.loaded{opacity:0;pointer-events:none}.title-screen-logo{width:512px;height:auto}body:not(.app-loaded):not(.ui-window) #control-panel,body:not(.app-loaded):not(.ui-window) #canvas{opacity:0}#canvas{display:block;width:100vw;height:100vh;position:absolute;top:0;left:0;z-index:0}#view-info{position:absolute;top:56px;left:8px;z-index:200;background:#000000b3;border-radius:4px;padding:6px 10px;font-family:monospace;font-size:12px;color:#ffffffe6;opacity:0;pointer-events:none;transition:opacity .15s ease}#view-info.visible{opacity:1}#map-overlay{position:absolute;inset:0;z-index:50;pointer-events:none;opacity:0;transition:opacity .15s ease}#map-overlay.visible{opacity:1}#map-overlay canvas{width:100%;height:100%}.view-info-row{display:flex;gap:4px}.view-info-row .label{color:rgba(var(--accent-rgb),.8);margin-right:2px}.view-info-row .value{min-width:60px;text-align:right}#control-panel{position:absolute;inset:0;z-index:100;padding:16px;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;align-items:center}#control-panel>*{pointer-events:auto}button{outline:none;-webkit-tap-highlight-color:transparent}.tracks-wrapper{position:absolute;left:0;right:0;bottom:16px;margin:0 auto;width:fit-content;display:flex;flex-direction:column;align-items:center;gap:8px}.tracks-wrapper.hidden,.transport.hidden,.transport-group.hidden,.transport-row.hidden,.edit-controls.hidden{display:none}.clip-tooltip,.presets-tooltip,.main-controls-tooltip,.pad-controls-tooltip{color:#fff;font-size:10px;text-align:center;max-height:0;opacity:0;overflow:hidden;transition:max-height .15s ease,opacity .15s ease,margin .15s ease;-webkit-user-select:none;user-select:none;pointer-events:none}.clip-tooltip.visible,.presets-tooltip.visible,.main-controls-tooltip.visible,.pad-controls-tooltip.visible{max-height:20px;margin-bottom:4px;opacity:1}.tracks-column,.presets-panel,.main-controls-panel,.pad-controls-panel,.beat-counter-panel{background:#000c;border-radius:4px;padding:4px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tracks-column{display:flex;flex-direction:column;align-items:center}.tracks-container{display:flex;flex-direction:row;justify-content:center}.tracks-row{display:flex;flex-direction:row;align-items:flex-end;gap:32px}.left-panel-column{position:relative;margin-bottom:32px}.main-controls-panel{position:absolute;bottom:192px;left:0;right:0}.main-controls-grid{display:grid;grid-template-columns:repeat(4,32px);grid-auto-rows:32px}.main-controls-cell{width:32px;height:32px;display:flex;align-items:center;justify-content:center;position:relative;border:none;background:transparent;cursor:pointer}.main-controls-cell:not(.assigned){display:none}.main-controls-cell.disabled{opacity:.2;pointer-events:none}.presets-grid{display:grid;grid-template-columns:repeat(4,32px);grid-template-rows:repeat(5,32px)}.presets-cell.saved:before{background:var(--cell-color, #fff)}.presets-cell.active:not(.assigned):after{content:"";position:absolute;inset:1px;background:var(--cell-color, #fff);border-radius:50%}.presets-cell.active:not(.assigned):before{background:var(--dot-color, #000);z-index:1}.presets-cell.assigned:before{background:#ffffff1a}.presets-cell.assigned.active:before{background:var(--cell-color, #fff)}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.3}}.presets-cell.save-mode.active:before{background:red;animation:rec-pulse 1s ease infinite}.right-panel-column{position:relative;margin-bottom:32px}.pad-controls-panel{position:absolute;bottom:100%;left:0;margin-bottom:24px}.pad-controls-grid,.beat-counter-grid{display:grid;grid-template-columns:repeat(4,32px)}.pad-controls-grid{grid-auto-rows:32px}.beat-counter-grid{grid-template-rows:repeat(4,32px)}.presets-cell,.pad-controls-cell{width:32px;height:32px;display:flex;align-items:center;justify-content:center;position:relative;border:none;background:transparent;cursor:pointer}.pad-controls-cell:not(.assigned){display:none}.pad-controls-cell.disabled{opacity:.2;pointer-events:none}.pad-controls-cell.spacer{display:flex;visibility:hidden;pointer-events:none}.presets-cell:before,.main-controls-cell:before,.pad-controls-cell:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#ffffff1a;transition:background .1s ease}.presets-cell:not(.saved):not(.assigned){cursor:default}.presets-grid.save-mode .presets-cell:not(.assigned){cursor:pointer}.presets-cell.saved:hover:before,.presets-cell.assigned:hover:before,.presets-grid.save-mode .presets-cell:not(.assigned):hover:before{inset:1px;width:auto;height:auto;transform:none;border-radius:0;background:radial-gradient(circle 4px at center,transparent 4px,var(--cell-color, #fff) 4px)}.presets-cell.danger:hover:before,.main-controls-cell.danger:hover:before{background:radial-gradient(circle 4px at center,transparent 4px,#ff0000 4px)}.pad-controls-cell:hover:before{inset:1px;width:auto;height:auto;transform:none;border-radius:0;background:radial-gradient(circle 4px at center,transparent 4px,var(--cell-color, rgba(255, 255, 255, .3)) 4px)}.pad-controls-cell:active:before{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#ffffff1a}.pad-controls-cell.active:before{background:var(--cell-color, #fff)}.main-controls-cell:hover:before{inset:1px;width:auto;height:auto;transform:none;border-radius:0;background:radial-gradient(circle 4px at center,transparent 4px,var(--cell-color, rgba(255, 255, 255, .3)) 4px)}.main-controls-cell:active:before{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#ffffff1a}.main-controls-cell.active:before{background:var(--cell-color, #fff)}.main-controls-cell.active.donut:before{inset:1px;width:auto;height:auto;transform:none;border-radius:50%;background:radial-gradient(circle 4px at center,#000 4px,var(--cell-color, #fff) 4px)}.main-controls-cell.pulsing:before{animation:dot-pulse .8s ease-in-out infinite}.beat-counter-panel{display:flex;flex-direction:column}.beat-counter-grid{cursor:pointer}.beat-counter-cell{width:32px;height:32px;display:flex;align-items:center;justify-content:center;position:relative}.beat-counter-cell:before{content:"";width:8px;height:8px;border-radius:50%;background:#ffffff1a;transition:background .05s ease}.beat-counter-cell.active:before{background:#fff}.beat-counter-cell.filled{background:radial-gradient(circle 4px at center,transparent 4px,rgba(255,255,255,.1) 4px)}.beat-counter-cell.filled:not(.active):before{background:transparent}.bpm-row{display:flex;flex-direction:row;gap:0}.bpm-minus-button,.bpm-plus-button{width:32px;height:32px;border:none;background:transparent;cursor:pointer;position:relative}.bpm-minus-button:before,.bpm-plus-button:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#ffffff1a}.bpm-minus-button:hover:before,.bpm-plus-button:hover:before{inset:1px;width:auto;height:auto;transform:none;border-radius:0}.bpm-minus-button:hover:before{background:radial-gradient(circle 4px at center,transparent 4px,#ff0000 4px)}.bpm-plus-button:hover:before{background:radial-gradient(circle 4px at center,transparent 4px,#00ff00 4px)}.bpm-minus-button:active:before,.bpm-plus-button:active:before{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%}.bpm-minus-button:active:before{background:red}.bpm-plus-button:active:before{background:#0f0}.bpm-display{width:64px;height:32px;display:flex;align-items:center;justify-content:center;color:#fffc;font-size:10px;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;cursor:pointer;position:relative;background:#000;border:1px solid #1a1a1a;border-radius:4px;box-sizing:border-box}.bpm-display:hover{color:#fff}.track{display:flex;flex-direction:column;gap:0}.track-sync-button{width:32px;height:32px;border:none;background:transparent;cursor:pointer;position:relative}.track-sync-button:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#ffffff1a}.track-sync-button:hover:before{inset:1px;width:auto;height:auto;transform:none;border-radius:0;background:radial-gradient(circle 4px at center,transparent 4px,#0000ff 4px)}.track-sync-button:active:before{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#ffffff1a}.track-sync-button.active:before{background:#00f}.track-eject-button{width:32px;height:32px;border:none;background:transparent;cursor:pointer;position:relative}.track-eject-button:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#ffffff1a}.track-eject-button:hover:before{inset:1px;width:auto;height:auto;transform:none;border-radius:0;background:radial-gradient(circle 4px at center,transparent 4px,#ff0000 4px)}.track-eject-button:active:before{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:#ffffff1a}.track-eject-button.active:before{background:red}@keyframes record-blink{0%,49%{background:red}50%,to{background:#ff00004d}}.track-eject-button.recording:before{animation:record-blink .5s steps(1) infinite}@keyframes armed-recording-pulse{0%,to{background:red}50%{background:#ff000080}}.track-eject-button.armed-recording:before{animation:armed-recording-pulse 1s ease-in-out infinite}.track-fader{width:32px;height:32px;border:none;background:transparent;position:relative;cursor:pointer}.track-fader:before{content:"";position:absolute;inset:1px;background:#ffffff1a}.track-fader-fill{position:absolute;left:1px;right:1px;height:2px;background:#fffc;z-index:1;pointer-events:none}.clips-container{display:flex;flex-direction:column-reverse;gap:0}.clip-button{--clip-color: #666666;position:relative;width:32px;height:32px;border:none;border-radius:0;background:transparent;color:#fff;font-size:10px;font-weight:500;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4px;word-break:break-word;line-height:1.2;gap:2px;-webkit-user-select:none;user-select:none}.clip-button:before{content:"";position:absolute;inset:1px;background:var(--clip-color);border-radius:0;transition:border-radius .25s ease-out;z-index:0}.clip-button:hover:not(.empty):not(.disabled):before{border-radius:50%;transition:border-radius .05s ease-out}.clip-button:active:before{transform:scale(.95)}.clip-button.layer-first:before{border-radius:0 0 50% 50%}.clip-button.layer-first:hover:not(.empty):not(.disabled):before{border-radius:50% 50% 0 0}.clip-button.layer-last:before{border-radius:50% 50% 0 0}.clip-button.layer-last:hover:not(.empty):not(.disabled):before{border-radius:0 0 50% 50%}.clip-button.layer-only:before{border-radius:50%}.clip-button.layer-only:hover:not(.empty):not(.disabled):before{border-radius:0}.clip-indicator{width:8px;height:8px;border-radius:50%;opacity:0;position:relative;z-index:2}.clip-button.active .clip-indicator{opacity:1}.clip-button.active .clip-indicator.light{background:#fff}.clip-button.active .clip-indicator.dark{background:#000}@property --clip-radius{syntax: "<length-percentage>"; initial-value: 100%; inherits: false;}.clip-button.empty,.clip-button.disabled,.clip-button.empty:hover,.clip-button.disabled:hover{--clip-radius: 100%}.clip-button.empty{color:#ffffff4d;cursor:default}.clip-button.disabled:before{background:#ffffff1a;border-radius:0}.clip-button .disabled-line{display:none;position:absolute;top:50%;left:10%;right:10%;height:2px;background:#fff9;transform:rotate(-45deg);z-index:3;pointer-events:none}.clip-button.disabled .disabled-line{display:block}@keyframes cue-blink{0%,49%{opacity:1}50%,to{opacity:0}}.clip-button.cued .clip-indicator{opacity:1;animation:cue-blink .5s steps(1) infinite}.clip-button.cued .clip-indicator.light{background:#fffc}.clip-button.cued .clip-indicator.dark{background:#0009}.clip-button.active.cued-off .clip-indicator{animation:cue-blink .5s steps(1) infinite}.layer-index{display:none;position:absolute;top:50%;right:4px;transform:translateY(-50%);font-size:9px;font-weight:700;pointer-events:none;z-index:2}.layer-index.light{color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.5)}.layer-index.dark{color:#000c;text-shadow:0 1px 2px rgba(255,255,255,.3)}.track.editing .layer-index{display:block}.track.editing-track{outline:2px dashed #ffffff;outline-offset:-2px;animation:pulse-outline 1.5s ease-in-out infinite}@keyframes pulse-outline{0%,to{outline-color:#fff}50%{outline-color:#fff6}}.clip-button.swap-source{outline:2px solid rgba(255,255,255,.8);outline-offset:-2px}.clip-button.editing{z-index:1}.clip-button.editing:after{content:"";position:absolute;inset:-3px;width:auto;height:auto;pointer-events:none;background:linear-gradient(90deg,#fff 50%,#000 50%) 0 0 / 8px 3px repeat-x,linear-gradient(90deg,#fff 50%,#000 50%) 0 100% / 8px 3px repeat-x,linear-gradient(0deg,#fff 50%,#000 50%) 0 0 / 3px 8px repeat-y,linear-gradient(0deg,#fff 50%,#000 50%) 100% 0 / 3px 8px repeat-y;animation:marching-ants .4s linear infinite;transform:none;z-index:2}@keyframes marching-ants{to{background-position:8px 0,-8px 100%,0 -8px,100% 8px}}.transport-group{display:flex;flex-direction:column;align-items:center;gap:4px}.transport{display:flex;flex-direction:column;gap:4px;background:#000c;border-radius:8px;padding:4px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.transport-row{display:flex;align-items:center;justify-content:center;gap:4px}.edit-controls{position:absolute;bottom:16px;left:16px;display:flex;gap:4px;background:#000c;border-radius:8px;padding:4px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.clip-editor-save-footer{margin-top:auto;padding-top:12px;display:flex;gap:4px}.toolbar-button{width:32px;height:32px;border:none;border-radius:4px;background:#ffffff1a;color:#fff;font-size:16px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;position:relative;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.toolbar-button:hover{background:#fff3}.play-button .material-symbols-outlined{font-size:2em}.play-button.paused .material-symbols-outlined{transform:rotate(90deg)}.pause-button .material-symbols-outlined{font-size:1.4em}.stop-button .material-symbols-outlined{font-size:1.1em;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 20}.stop-button.stop-mode .material-symbols-outlined{font-size:2em;font-variation-settings:"FILL" 0,"wght" 200,"GRAD" 0,"opsz" 20}.mute-button .material-symbols-outlined{font-size:1.4em;font-variation-settings:"FILL" 0,"wght" 300,"GRAD" 0,"opsz" 20}.settings-button .material-symbols-outlined{font-size:1.4em}.toolbar-button.has-changes:after{content:"";position:absolute;top:3px;right:3px;width:4px;height:4px;background:#ff8000;border-radius:50%}.play-button,.pause-button,.stop-button{position:relative}.play-button.playing:after,.play-button.standby:after,.play-button.paused:after{content:"";position:absolute;top:3px;right:3px;width:4px;height:4px;background:#0f0;border-radius:50%}.play-button.standby:after{animation:dot-pulse .8s ease-in-out infinite}.play-button.session-recording.playing:after{background:red}.pause-button.playing:after,.pause-button.standby:after{content:"";position:absolute;top:3px;right:3px;width:4px;height:4px;background:#ffcc4c;border-radius:50%}.pause-button.standby:after{animation:dot-pulse .8s ease-in-out infinite}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes param-revert-flash{0%{background-color:#ffffff26}to{background-color:transparent}}.param-reverted{animation:param-revert-flash .3s ease}.session-standby:after{content:"";position:absolute;top:3px;right:3px;width:4px;height:4px;background:red;border-radius:50%;animation:dot-pulse .8s ease-in-out infinite}.session-actions{display:flex;flex-direction:column;gap:4px;padding:8px}.session-action-btn{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;background:#ffffff0d;color:#ffffffe6;font-size:12px;cursor:pointer;border-radius:6px;text-align:left;transition:background .1s ease}.session-action-btn:hover:not(:disabled){background:#ffffff1a}.session-action-btn:disabled{opacity:.35;cursor:default}.session-action-btn i{font-size:16px;opacity:.7}.stop-button:active{background:#ff646480}.toolbar-button.view-active{background:rgba(var(--accent-rgb),.5)}.toolbar-button.edit-mode-active:after{content:"";position:absolute;top:3px;right:3px;width:4px;height:4px;border-radius:50%;background:#fc0}.view-mode-options{position:absolute;bottom:100%;left:0;display:flex;flex-direction:column;gap:4px;margin-bottom:4px;padding:4px;background:#000c;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;pointer-events:none;transition:opacity .15s ease}.view-mode-options.visible{opacity:1;pointer-events:auto}.view-option-button{position:relative}.view-option-button.wrap-disabled:after,.view-option-button.fog-disabled:after,.view-option-button.post-disabled:after{content:"";position:absolute;top:3px;right:3px;width:4px;height:4px;background:red;border-radius:50%}.view-option-button.move-enabled:after{content:"";position:absolute;top:3px;right:3px;width:4px;height:4px;background:#4cff4c;border-radius:50%}.view-option-button.map-enabled:after{content:"";position:absolute;top:3px;right:3px;width:4px;height:4px;background:#4cffcc;border-radius:50%}.toolbar-button.project-button.panel-open{background:#ffffff4d}.composition-list{flex:1;overflow-y:auto;padding:4px 0}.composition-empty{padding:16px;text-align:center;color:#fff6;font-size:12px}.composition-item{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;cursor:pointer;color:#ffffffb3;font-size:12px;transition:background .1s ease}.composition-item:hover{background:#ffffff0d}.composition-item.active{color:#fff;background:#ffffff1a}.composition-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composition-item-actions{display:flex;gap:4px;margin-left:8px}.composition-item-delete{background:none;border:none;color:#ffffff4d;cursor:pointer;padding:2px 4px;font-size:12px}.composition-item-delete:hover{color:red}.composition-actions{display:flex;gap:4px;padding:8px 12px;border-top:1px solid rgba(255,255,255,.1)}.composition-action-btn{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#ffffffb3;padding:6px 8px;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;transition:all .1s ease}.composition-action-btn:hover{background:#ffffff1a;color:#fff}.composition-action-btn.primary{background:#ffffff26;color:#fff}.composition-save-modal{display:none;padding:12px 16px;border-top:1px solid rgba(255,255,255,.1)}.composition-save-modal.visible{display:block}.composition-save-input{width:100%;padding:6px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:3px;color:#fff;font-size:12px;margin-bottom:8px;box-sizing:border-box}.composition-save-input:focus{outline:none;border-color:#ffffff4d}.composition-save-buttons{display:flex;gap:8px}#project-panel{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .2s ease}#project-panel.visible{opacity:1;pointer-events:auto}#project-panel .panel-content{background:#1a1a1a;border:1px solid rgba(255,255,255,.15);border-radius:8px;width:680px;height:500px;overflow:hidden;display:flex;flex-direction:column}.project-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;color:#fff;font-size:14px;font-weight:500;-webkit-user-select:none;user-select:none;border-bottom:1px solid rgba(255,255,255,.1)}.project-panel-main{display:flex;flex:1;overflow:hidden}.project-toolbar{display:flex;flex-direction:column;gap:2px;padding:8px;border-right:1px solid rgba(255,255,255,.1)}.project-tab-btn{width:36px;height:36px;border:none;border-radius:4px;background:transparent;color:#ffffff80;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .1s ease}.project-tab-btn:hover{color:#fffc}.project-tab-btn.active{background:#ffffff1a;color:#ffffffe6}.project-tab-btn[data-tab=session]{font-size:19px}.project-tab-btn[data-tab=composition]{font-size:20px}.project-content{flex:1;overflow-y:auto;display:flex;flex-direction:column}.music-track-list{display:flex;flex-direction:column;gap:4px;padding:8px;overflow-y:auto}.music-track-item{display:flex;align-items:center;padding:12px;background:#ffffff0d;border:none;border-radius:6px;cursor:pointer;text-align:left;transition:background .15s ease}.music-track-item:hover{background:#ffffff1a}.music-track-item.active{background:#64ff9633}.music-track-info{flex:1;background:none;border:none;padding:0;cursor:pointer;text-align:left}.music-track-title{color:#fff;font-size:13px;font-weight:500;margin-bottom:2px;display:flex;align-items:center;gap:6px}.music-track-meta{color:#ffffff80;font-size:11px}.music-lyrics-icon{font-size:12px;opacity:.5}.music-track-empty{color:#fff6;font-size:12px;text-align:center;padding:20px}.music-upload-section{padding:12px;border-top:1px solid rgba(255,255,255,.1)}.music-drop-zone{border:2px dashed rgba(255,255,255,.25);border-radius:8px;padding:16px;text-align:center;color:#ffffff80;cursor:pointer;transition:all .15s ease;display:flex;flex-direction:column;align-items:center;gap:6px}.music-drop-zone i{font-size:20px}.music-drop-zone .drop-zone-text{font-size:11px}.music-drop-zone:hover{border-color:#fff6;color:#ffffffb3}.music-drop-zone.drag-over{border-color:rgba(var(--accent-rgb),.6);background:rgba(var(--accent-rgb),.1);color:#fff}.music-drop-zone.analyzing{pointer-events:none;opacity:.6;border-style:solid}.music-track-item.uploaded .music-track-meta{color:rgba(var(--accent-rgb),.7)}.music-track-edit{background:none;border:none;color:#ffffff4d;padding:8px;cursor:pointer;opacity:0;transition:opacity .15s ease,color .15s ease}.music-track-item:hover .music-track-edit{opacity:1}.music-track-edit:hover{color:#fffc}.music-track-item.editing .music-track-edit{opacity:1;color:rgba(var(--accent-rgb),.8)}.music-track-eject{background:none;border:none;color:#ffffff80;padding:8px;cursor:pointer;transition:color .15s ease}.music-track-eject:hover{color:#fff}.music-track-editor{background:#0006;padding:12px;border-bottom:1px solid rgba(255,255,255,.1)}.track-editor-params{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.track-editor-actions{display:flex;justify-content:space-between;align-items:center;margin-top:3px}.track-editor-actions-right{display:flex;gap:8px;margin-left:auto}.track-editor-actions button{background:#ffffff1a;border:none;border-radius:4px;padding:6px 12px;color:#ffffffb3;font-size:11px;cursor:pointer;transition:all .15s ease}.track-editor-actions button:hover{background:#fff3;color:#fff}.track-editor-save,.track-editor-delete{color:#fff!important}.track-editor-save{background:rgba(var(--accent-rgb),.2)!important}.track-editor-save:hover{background:rgba(var(--accent-rgb),.3)!important}.track-editor-delete{background:#ff646433!important}.track-editor-delete:hover{background:#ff64644d!important}.pattern-editor-section{margin-top:8px;margin-bottom:8px;border-top:1px solid rgba(255,255,255,.08);padding-top:8px;-webkit-user-select:none;user-select:none}.pattern-editor-section>label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#ffffff80;margin-bottom:6px}.pattern-table{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:auto 1fr;gap:2px}.pattern-col-header{background:#ffffff0f;border-radius:2px;margin:0 2px;padding:4px 0;text-align:center;font-size:9px;letter-spacing:.5px;text-transform:uppercase;color:#fff6;cursor:pointer;transition:all .1s ease}.pattern-col-header:hover{background:#ffffff1a;color:#fff9}.pattern-col-header.selected{background:#ffffff26;color:#ffffffe6}.pattern-col-grid{border-radius:3px;padding:2px;transition:all .1s ease}.pattern-col-grid.selected{background:#ffffff0a}.pattern-button-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:2px}.pattern-grid-btn{border:none;border-radius:2px;background:#ffffff1a;cursor:pointer;padding:0;aspect-ratio:1;min-width:0;transition:all .1s ease}.pattern-grid-btn:hover{background:#ffffff26}.pattern-grid-btn.active{background:#ffffffe6}.pattern-sidebar{grid-row:1 / -1;grid-column:6;display:flex;flex-direction:column;gap:2px;padding:2px;justify-content:center}.pattern-sidebar button{flex:1;border:none;border-radius:2px;background:#ffffff1a;color:#ffffff80;font-size:9px;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;padding:4px;transition:all .1s ease}.pattern-sidebar button:hover:not(:disabled){background:#ffffff26;color:#ffffffe6}.pattern-sidebar button:disabled{opacity:.3;cursor:default}.pattern-step-select{width:100%;background:#ffffff1a;border:none;border-radius:2px;color:#ffffffb3;font-size:9px;letter-spacing:.5px;padding:4px;cursor:pointer;text-transform:uppercase}.pattern-col-grid .pattern-step-select{margin-top:2px}.pattern-step-select:disabled{opacity:.3;cursor:default}.pattern-step-select option{background:#222}#edit-panel{position:absolute;top:0;right:0;width:420px;height:100vh;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;padding:16px;transform:translate(100%);transition:transform .2s ease;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;pointer-events:auto}#edit-panel.visible{transform:translate(0)}.edit-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.edit-panel-title{color:#fff;font-size:14px;font-weight:500;-webkit-user-select:none;user-select:none}.edit-panel-title.section-title{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.edit-panel-close{background:none;border:none;color:#fff9;font-size:20px;cursor:pointer;padding:4px 8px}.edit-panel-close:hover{color:#fff}.clip-header-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.clip-name-input{flex:1;padding:8px 10px;border:none;border-radius:4px;background:#ffffff1a;color:#fff;font-size:14px;font-weight:500}.clip-name-input:focus{outline:none;background:#ffffff26}.clip-name-input::placeholder{color:#fff6}.clip-enabled-toggle{flex-shrink:0}.clip-meta-row{display:flex;align-items:flex-end;gap:12px;margin-bottom:12px}.meta-field{position:relative;flex:1;display:flex;flex-direction:column;gap:4px}.meta-field label{color:#fff9;font-size:10px;text-transform:uppercase;letter-spacing:.5px;-webkit-user-select:none;user-select:none}.meta-field input[type=color]{width:100%;height:32px;padding:0;border:none;border-radius:4px;background:#ffffff1a;cursor:pointer;box-sizing:border-box}.meta-field .edit-select{width:100%;height:32px;box-sizing:border-box}.meta-field .integer-input{width:100%;height:32px}.meta-field .integer-input input{width:46px;height:32px;box-sizing:border-box}.meta-field .integer-input button{width:25px;height:32px;box-sizing:border-box}.clip-color-container{position:relative;width:100%;height:32px}.clip-color-button{width:100%;height:100%;border:none;border-radius:4px;cursor:pointer;box-sizing:border-box}.clip-color-input-hidden{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.clip-color-palette{display:none;position:absolute;top:0;left:0;flex-wrap:wrap;width:100%;border-radius:4px;overflow:hidden;z-index:100}.clip-color-palette.visible{display:flex}.palette-swatch{width:calc(100% / 11);height:16px;cursor:pointer;box-sizing:border-box}.edit-field{margin-bottom:16px}.edit-field-row{display:flex;gap:12px}.edit-field-row .edit-field{flex:1;margin-bottom:16px}.edit-field label{display:block;color:#fff9;font-size:11px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;-webkit-user-select:none;user-select:none}.edit-field input[type=text],.edit-field input[type=number]{width:100%;padding:8px 10px;border:none;border-radius:4px;background:#ffffff1a;color:#fff;font-size:14px}.edit-field input:focus{outline:none;background:#ffffff26}.edit-field input[type=color]{width:100%;height:36px;padding:2px;border:none;border-radius:4px;background:#ffffff1a;cursor:pointer}.edit-field input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.edit-field input[type=color]::-webkit-color-swatch{border:none;border-radius:2px}.edit-field select,.edit-select{width:100%;padding:5px 10px;border:none;border-radius:4px;background:#ffffff1a;color:#fff;font-size:12px;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='rgba(255,255,255,0.6)' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.edit-field select:focus,.edit-select:focus{outline:none;background-color:#ffffff26}.edit-field select option,.edit-select option{background:#2a2a2a;color:#fff}.icon-select{display:flex;gap:4px}.icon-select-btn{display:flex;align-items:center;justify-content:center;width:32px;height:28px;padding:0;border:none;border-radius:4px;background:#ffffff14;color:#ffffff80;cursor:pointer;transition:all .15s ease;font-size:16px}.icon-select-btn:hover{background:#ffffff26;color:#fffc}.icon-select-btn.active{background:rgba(var(--accent-rgb),.25);color:rgb(var(--accent-rgb))}.icon-select-btn i{font-size:18px}.param-control-animatable{display:flex;align-items:center;gap:6px}.param-control-animatable .anim-slider{flex:2;min-width:0}.param-control-animatable .anim-icons{flex:1;display:flex;gap:2px;justify-content:flex-end}.anim-icon-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:3px;background:transparent;color:#ffffff59;cursor:pointer;transition:all .15s ease}.anim-icon-btn:hover{background:#ffffff1a;color:#ffffffb3}.anim-icon-btn.active{background:rgba(var(--accent-rgb),.2);color:rgb(var(--accent-rgb))}.anim-icon-btn i{font-size:14px}.anim-subparams{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin-top:6px;margin-left:0;padding:8px 10px;background:#ffffff08;border-radius:4px}.anim-subparam{display:flex;align-items:center;gap:6px}.anim-subparam label{color:#ffffff80;font-size:11px;min-width:38px;flex-shrink:0}.anim-subparam-slider{flex:1;min-width:0;display:flex}.anim-subparam-slider .param-inline-slider-fill{border-radius:3px}.anim-subparam-slider .anim-subparam-input{flex:1}.anim-subparam-input{width:100%;padding:4px 6px;border:none;border-radius:3px;background:#ffffff14;color:#fffc;font-size:11px;font-variant-numeric:tabular-nums;text-align:left;outline:none;cursor:ew-resize}.anim-subparam-input:focus{background:#ffffff1f;color:#fff;cursor:text}.variant-row{display:flex;align-items:center;gap:4px;cursor:grab;transition:opacity .15s ease}.variant-row.dragging{opacity:.5;cursor:grabbing}.variant-row.drag-over{border-top:2px solid rgba(var(--accent-rgb),.8);margin-top:-2px}.variant-enabled-toggle{margin-right:2px}.variant-delete{padding:4px 8px;border:none;border-radius:3px;background:transparent;color:#ffffff4d;font-size:18px;font-weight:300;line-height:1;cursor:pointer;transition:all .15s ease}.variant-delete:hover:not(:disabled){background:#ff505033;color:#ff6464e6}.variant-delete:disabled{opacity:.2;cursor:default}.variant-delete.content-delete{flex-shrink:0}.content-picker-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;pointer-events:auto}.content-picker{background:#1a1a1a;border:1px solid rgba(255,255,255,.15);border-radius:8px;min-width:350px;max-width:540px;height:50vh;overflow:hidden;display:flex;flex-direction:column}.content-picker-header{padding:12px 12px 8px}.content-picker-title{color:#fff;font-size:14px;font-weight:500}.content-picker-search{display:flex;align-items:center;gap:8px;margin:0 12px 8px;padding:6px 10px;background:#ffffff14;border-radius:4px}.content-picker-search-icon{color:#fff6;font-size:14px}.content-picker-search-input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-size:13px}.content-picker-search-input::placeholder{color:#fff6}.content-picker-filters{display:flex;gap:6px;padding:0 12px 8px;flex-wrap:wrap}.content-picker-filter-chip{display:flex;align-items:center;gap:5px;padding:4px 8px;background:#ffffff14;border:1px solid transparent;border-radius:4px;color:#fff9;font-size:11px;cursor:pointer;transition:all .15s ease}.content-picker-filter-chip:hover{background:#ffffff1f;color:#fffc}.content-picker-filter-chip.active{color:#fff}.content-picker-filter-chip.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.content-picker-filter-chip i{font-size:12px}.content-picker-filter-chip[data-type=visual] i{color:rgb(var(--type-visual))}.content-picker-filter-chip[data-type=shader] i{color:rgb(var(--type-shader))}.content-picker-filter-chip[data-type=scene] i{color:rgb(var(--type-scene))}.content-picker-filter-chip[data-type=post] i{color:rgb(var(--type-post))}.content-picker-filter-chip[data-type=particles] i{color:rgb(var(--type-particles))}.content-picker-filter-chip[data-type=global] i{color:rgb(var(--type-global))}.content-picker-filter-chip[data-type=visual]:hover,.content-picker-filter-chip[data-type=visual].active{background:rgba(var(--type-visual),.15);border-color:rgba(var(--type-visual),.4)}.content-picker-filter-chip[data-type=shader]:hover,.content-picker-filter-chip[data-type=shader].active{background:rgba(var(--type-shader),.15);border-color:rgba(var(--type-shader),.4)}.content-picker-filter-chip[data-type=scene]:hover,.content-picker-filter-chip[data-type=scene].active{background:rgba(var(--type-scene),.15);border-color:rgba(var(--type-scene),.4)}.content-picker-filter-chip[data-type=post]:hover,.content-picker-filter-chip[data-type=post].active{background:rgba(var(--type-post),.15);border-color:rgba(var(--type-post),.4)}.content-picker-filter-chip[data-type=particles]:hover,.content-picker-filter-chip[data-type=particles].active{background:rgba(var(--type-particles),.15);border-color:rgba(var(--type-particles),.4)}.content-picker-filter-chip[data-type=global]:hover,.content-picker-filter-chip[data-type=global].active{background:rgba(var(--type-global),.15);border-color:rgba(var(--type-global),.4)}.content-picker-empty{padding:24px 16px;text-align:center;color:#fff6;font-size:13px}.content-picker-list{overflow-y:auto;padding:8px;border-top:1px solid rgba(255,255,255,.08)}.content-picker-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:4px;cursor:pointer;transition:background .15s ease}.content-picker-item:hover{background:#ffffff1a}.content-picker-item-name{color:#ffffffe6;font-size:13px}.content-picker-template-icon{margin-left:auto;color:#ffffff4d;font-size:12px}.content-picker-thumb{width:32px;height:32px;border-radius:3px;object-fit:cover;flex-shrink:0}.content-picker-section{margin-bottom:4px}.content-picker-section:last-child{margin-bottom:0}.content-picker-section-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;cursor:pointer;border-radius:4px;transition:background .15s ease}.content-picker-section-header:hover{background:#ffffff0d}.content-picker-section-header-left{display:flex;align-items:center;gap:8px}.content-picker-chevron{font-size:12px;color:#ffffff80;transition:transform .15s ease}.content-picker-section.collapsed .content-picker-chevron{transform:rotate(-90deg)}.content-picker-section-label{color:#ffffffb3;font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.content-picker-section-count{color:#fff6;font-size:11px;min-width:20px;text-align:right}.content-picker-section-content{padding-left:12px;overflow:hidden;transition:max-height .2s ease}.content-picker-section.collapsed .content-picker-section-content{display:none}.content-picker-section .content-picker-item{padding:8px 10px}.content-picker.grid-mode{width:90vw;max-width:1642px}.content-picker-header{display:flex;align-items:center;justify-content:space-between}.content-picker-view-toggle{background:#ffffff14;border:none;border-radius:4px;color:#fff9;cursor:pointer;padding:4px 6px;font-size:14px;line-height:1;transition:all .1s ease}.content-picker-view-toggle:hover{background:#ffffff26;color:#ffffffe6}.content-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,128px);gap:8px}.content-picker-grid-item{width:128px;cursor:pointer}.content-picker-grid-item:hover .content-picker-grid-preview{border-color:#ffffff4d}.content-picker-grid-preview{width:128px;height:128px;background:#000;border-radius:4px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.08);transition:border-color .1s ease}.content-picker-grid-thumb{width:100%;height:100%;object-fit:cover;position:absolute;top:0;left:0}.content-picker-grid-canvas{width:100%;height:100%;position:absolute;top:0;left:0}.content-picker-grid-icon.content-type-icon{font-size:28px;color:#fff3}.content-picker-grid-name{font-size:11px;color:#ffffffb3;text-align:center;padding:4px 2px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-picker-grid-section-header{display:flex;align-items:center;gap:8px;padding:8px 12px 0;color:#fff9;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.section-header-with-action{display:flex;align-items:center;gap:8px}.section-add-button{width:22px;height:22px;padding:0;border:none;border-radius:4px;background:#ffffff1a;color:#fff9;font-size:12px;line-height:1;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.section-add-button:hover{background:#fff3;color:#fff}.content-name{color:#ffffffe6;font-size:13px;font-weight:500}.content-type{color:#ffffff80;font-size:10px;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;background:#ffffff1a;border-radius:3px}.content-type-icon{color:#ffffff80;font-size:14px;flex-shrink:0}.inline-preview-container{border-radius:6px;overflow:hidden;background:#000;cursor:pointer;position:relative;border:1px solid #444}.preview-border-overlay{position:fixed;border:1px solid #444;box-sizing:border-box;pointer-events:none;display:none;z-index:10}.inline-preview-container canvas{display:block}.inline-preview-container.disabled{opacity:.4}.inline-preview-container.disabled:after{content:"";position:absolute;inset:0;background:#0000004d}.inline-preview-wrapper{display:flex;align-items:stretch;gap:8px;margin-bottom:8px;width:50%}.inline-preview-wrapper .inline-preview-container{flex:1;margin-bottom:0}.preview-controls-container{flex:1;display:flex;flex-direction:column;gap:4px}.preview-controls-label{font-size:9px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px}.preview-controls-label:not(:first-child){margin-top:6px}.preview-control-button{flex:1;padding:0 8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff9;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:flex-start;gap:4px;white-space:nowrap}.preview-control-button:hover{background:#fff3;border-color:#fff6;color:#fff}.preview-control-button.active{background:rgba(var(--accent-rgb),.2);border-color:rgba(var(--accent-rgb),.5);color:rgb(var(--accent-rgb))}.content-params{padding:0}.content-params:has(.inline-preview-wrapper){padding-top:12px}.content-params.collapsed{display:none}.params-category{margin-top:8px}.params-category:first-child,.inline-preview-container+.params-category{margin-top:0}.category-header{display:flex;align-items:center;gap:6px;padding:6px 10px;min-height:32px;position:relative;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0d;border-radius:4px;margin-bottom:2px;transition:background .15s ease}.category-header:hover{background:#ffffff1a}.category-toggle{display:flex;align-items:center;margin-right:2px}.category-toggle-spacer{width:16px;margin-right:2px}.category-title{color:#ffffffb3;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;flex:1}.category-arrow{font-size:12px;color:#ffffff80;width:12px;margin-left:auto;transition:transform .15s ease}.params-category.disabled .category-title{opacity:.35}.stack-add-btn{padding:2px 6px;border:none;border-radius:3px;background:transparent;color:#ffffff4d;font-size:14px;font-weight:300;line-height:1;cursor:pointer;opacity:0;flex-shrink:0;transition:opacity .15s ease,background .15s ease}.category-header:hover .stack-add-btn{opacity:1}.stack-add-btn:hover{background:#50ff5033;color:#64ff64e6}.params-category.has-toggle.disabled .category-arrow,.params-category.empty .category-arrow{visibility:hidden}.params-category.disabled .category-content{opacity:.4;pointer-events:none}.category-content{padding:8px 0 4px}.category-content.collapsed{display:none}.category-section-title{color:#fff;font-size:14px;font-weight:500;-webkit-user-select:none;user-select:none;margin-top:16px;padding-top:12px;margin-bottom:8px;border-top:1px solid rgba(255,255,255,.1)}.category-section-title:first-child{border-top:none;margin-top:8px;padding-top:0}.category-section-title i{margin-right:6px}.param-row{display:grid;grid-template-columns:repeat(12,1fr);gap:0 6px;align-items:center;margin-bottom:8px}.param-row>label{grid-column:span 2;color:#ffffffb3;font-size:12px;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right;line-height:28px}.param-nonlive-icon{font-size:10px;color:#ff0;margin-right:3px;vertical-align:baseline}.param-row>.param-control{grid-column:span 10}.param-row>.anim-subparams{grid-column:1 / -1}.param-separator{height:0;border-top:1px solid rgba(255,255,255,.2);margin:4px 0 10px}.param-row-grouped[data-cols="1"] .param-cell{grid-column:span 12}.param-row-grouped[data-cols="2"] .param-cell{grid-column:span 6}.param-row-grouped[data-cols="3"] .param-cell{grid-column:span 4}.param-row-grouped[data-cols="4"] .param-cell{grid-column:span 3}.param-cell{display:flex;align-items:center;gap:4px;min-width:0}.param-cell-collapsed{visibility:hidden;height:0;min-height:0;overflow:hidden;padding:0!important}.param-row-grouped .param-cell{display:grid;grid-template-columns:subgrid;align-items:center;gap:0 6px}.param-row-grouped .param-cell label{grid-column:span 2;width:auto;text-align:right}.param-row-grouped .param-cell .param-control{grid-column:3 / -1}.param-cell label{color:#ffffffb3;font-size:12px;line-height:24px;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.param-row>label.param-modified,.param-cell label.param-modified{color:#ff8000}.param-cell .param-control{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.param-cell .param-inline-slider{flex:1}.inline-preview-container+.param-row{margin-top:8px}.param-control{display:flex;align-items:center;gap:6px}.param-value-input{width:100%;padding:4px 6px;border:none;border-radius:3px;background:#ffffff1a;color:#fff;font-size:12px;font-variant-numeric:tabular-nums;text-align:left;outline:none}.param-value-input:focus{background:#ffffff26}.param-value-input.out-of-range,.anim-subparam-input.out-of-range{color:#ff6b6b}.param-value-input.input-only{width:100%}.param-display-value{display:block;width:100%;padding:4px 6px;border-radius:3px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#ffffff80;font-size:12px;font-variant-numeric:tabular-nums;text-align:left;box-sizing:border-box}.param-text-input{display:block;width:100%;padding:4px 6px;border:none;border-radius:3px;background:#ffffff1a;color:#fff;font-size:12px;outline:none}.param-text-input:focus{background:#ffffff26}.param-inline-slider{position:relative;flex:1;min-width:0;border-radius:3px;overflow:hidden}.param-inline-slider-fill{position:absolute;top:0;left:0;bottom:0;background:rgba(var(--accent-rgb),.15);border-radius:3px;pointer-events:none}.param-inline-slider .param-value-input{position:relative;width:100%;z-index:1;background:#ffffff1a;cursor:ew-resize}.param-inline-slider .param-value-input:focus{background:#ffffff26;cursor:text}.param-inline-slider.dragging{-webkit-user-select:none;user-select:none;cursor:ew-resize}.param-inline-slider.dragging .param-value-input{pointer-events:none}body.slider-dragging,body.slider-dragging *{cursor:ew-resize!important;-webkit-user-select:none!important;user-select:none!important}.param-color-input{width:100%;height:28px;padding:2px;border:none;border-radius:4px;background:#ffffff1a;cursor:pointer}.param-color-input::-webkit-color-swatch-wrapper{padding:2px}.param-color-input::-webkit-color-swatch{border:none;border-radius:2px}.preview-channels-separator{border-top:1px solid rgba(255,255,255,.2);margin:8px 0}.channels-row{margin-bottom:12px}.channels-section-title{color:#fff;font-size:14px;font-weight:500;-webkit-user-select:none;user-select:none;margin-bottom:8px}.channels-section-title i{margin-right:6px;color:#f0f}.channels-input{width:100%;padding:6px 8px;border:none;border-radius:3px;background:#ffffff1a;color:#fff;font-size:12px;font-family:inherit;outline:none}.channels-input:focus{background:#ffffff26}.channels-input::placeholder{color:#fff6}.channels-input-container{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;align-items:stretch}.channels-input-container .channels-input{width:auto;height:auto}.channels-input-container .channel-button-grid{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:1fr 1fr;gap:2px;height:100%}.channel-btn{border:none;border-radius:2px;background:#ffffff1a;cursor:pointer;padding:0;min-width:0;transition:all .1s ease}.channel-btn:hover{background:#ffffff26}.channel-btn.active{background:#ffffffe6}.texture-control{flex:1}.texture-select{width:100%;padding:4px 8px;border:none;border-radius:3px;background:#ffffff1a;color:#fff;font-size:12px;outline:none;cursor:pointer}.texture-select:focus{background:#ffffff26}.texture-select option{background:#2a2a2a;color:#fff}.font-control{flex:1}.font-select{width:100%;padding:4px 24px 4px 6px;border:none;border-radius:3px;background:#ffffff1a;color:#fff;font-size:12px;font-family:inherit;outline:none;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='rgba(255,255,255,0.6)' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.font-select:focus{background-color:#ffffff26}.font-select option{background:#2a2a2a;color:#fff}.model-control{flex:1}.model-select{width:100%;padding:4px 24px 4px 6px;border:none;border-radius:3px;background:#ffffff1a;color:#fff;font-size:12px;font-family:inherit;outline:none;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='rgba(255,255,255,0.6)' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.model-select:focus{background-color:#ffffff26}.model-select option{background:#2a2a2a;color:#fff}.vec2-control,.vec3-control{display:flex;gap:6px}.vec4-control{display:flex;gap:4px}.vec2-field,.vec3-field,.vec4-field{flex:1;min-width:0}.vec2-slider.vec2-x .param-value-input,.vec3-slider.vec3-x .param-value-input,.vec4-slider.vec4-x .param-value-input{background:#b43c3c66}.vec2-slider.vec2-y .param-value-input,.vec3-slider.vec3-y .param-value-input,.vec4-slider.vec4-y .param-value-input{background:#3c8c3c66}.vec3-slider.vec3-z .param-value-input,.vec4-slider.vec4-z .param-value-input{background:#3c50b466}.vec4-slider.vec4-w .param-value-input{background:#8c8c8c66}.vec2-slider.vec2-x .param-value-input:focus,.vec3-slider.vec3-x .param-value-input:focus,.vec4-slider.vec4-x .param-value-input:focus{background:#b43c3c8c}.vec2-slider.vec2-y .param-value-input:focus,.vec3-slider.vec3-y .param-value-input:focus,.vec4-slider.vec4-y .param-value-input:focus{background:#3c8c3c8c}.vec3-slider.vec3-z .param-value-input:focus,.vec4-slider.vec4-z .param-value-input:focus{background:#3c50b48c}.vec4-slider.vec4-w .param-value-input:focus{background:#8c8c8c8c}.vec2-slider.vec2-x .param-inline-slider-fill,.vec3-slider.vec3-x .param-inline-slider-fill,.vec4-slider.vec4-x .param-inline-slider-fill{background:#b43c3c4d}.vec2-slider.vec2-y .param-inline-slider-fill,.vec3-slider.vec3-y .param-inline-slider-fill,.vec4-slider.vec4-y .param-inline-slider-fill{background:#3c8c3c4d}.vec3-slider.vec3-z .param-inline-slider-fill,.vec4-slider.vec4-z .param-inline-slider-fill{background:#3c50b44d}.vec4-slider.vec4-w .param-inline-slider-fill{background:#8c8c8c4d}.integer-input{display:flex;align-items:center;gap:4px}.integer-input input{flex:1;padding:8px 10px;border:none;border-radius:4px;background:#ffffff1a;color:#fff;font-size:14px}.integer-input input:focus{outline:none;background:#ffffff26}.integer-input-button{width:28px;height:36px;border:none;border-radius:4px;background:#ffffff1a;color:#ffffffb3;font-size:16px;cursor:pointer;transition:all .1s ease;display:flex;align-items:center;justify-content:center}.integer-input-button:hover{background:#fff3;color:#fff}.integer-input-button:active{background:#ffffff4d}#midi-panel{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .2s ease}#midi-panel.visible{opacity:1;pointer-events:auto}#midi-panel .panel-content{background:#1a1a1a;border:1px solid rgba(255,255,255,.15);border-radius:8px;width:350px;max-height:500px;overflow:hidden;display:flex;flex-direction:column}.midi-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;color:#fff;font-size:14px;font-weight:500;-webkit-user-select:none;user-select:none;border-bottom:1px solid rgba(255,255,255,.1)}.midi-panel-body{padding:12px 16px;overflow-y:auto}.midi-status{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#ffffff0d;border-radius:6px;margin-bottom:12px}.midi-status-connected{color:#4cff4c;font-size:12px;display:flex;align-items:center;gap:6px}.midi-status-disconnected{color:#fff6;font-size:12px}.midi-disconnect-btn{background:#ff646433;border:none;color:#ff6464;font-size:11px;padding:4px 10px;border-radius:4px;cursor:pointer}.midi-disconnect-btn:hover{background:#ff64644d}.midi-section-header{display:flex;justify-content:space-between;align-items:center;color:#ffffff80;font-size:10px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;-webkit-user-select:none;user-select:none}.midi-refresh-btn{background:none;border:none;color:#fff6;cursor:pointer;padding:2px 6px;font-size:14px}.midi-refresh-btn:hover{color:#fff}.midi-device-list,.midi-controller-list{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.midi-controller-list{display:none}.midi-controller-list.expanded{display:flex}.midi-section-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.midi-section-toggle:hover{color:#fff}.midi-section-toggle i{margin-right:4px}.midi-device-item,.midi-controller-item{display:flex;flex-direction:column;align-items:flex-start;padding:10px 12px;background:#ffffff0d;border:1px solid transparent;border-radius:6px;cursor:pointer;text-align:left;width:100%;transition:background .15s ease,border-color .15s ease}.midi-device-item:hover,.midi-controller-item:hover{background:#ffffff1a}.midi-device-item.selected,.midi-controller-item.selected{border-color:rgba(var(--accent-rgb),.5);background:rgba(var(--accent-rgb),.1)}.midi-device-item.active,.midi-controller-item.active{border-color:#64ff6480;background:#64ff641a}.midi-device-name,.midi-controller-name{color:#fff;font-size:12px;font-weight:500}.midi-device-mfr,.midi-controller-info{color:#fff6;font-size:10px;margin-top:2px}.midi-empty{color:#ffffff4d;font-size:11px;text-align:center;padding:16px}.midi-connect-btn{width:100%;padding:12px;background:rgba(var(--accent-rgb),.2);border:none;border-radius:6px;color:rgb(var(--accent-rgb));font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease}.midi-connect-btn:hover:not(:disabled){background:rgba(var(--accent-rgb),.3)}.midi-connect-btn:disabled{opacity:.4;cursor:not-allowed}.project-button{position:relative}.project-button.music-loaded:after{content:"";position:absolute;top:3px;right:3px;width:4px;height:4px;background:#4cff4c;border-radius:50%}.mute-button{position:relative}.mute-button.muted:after{content:"";position:absolute;top:3px;right:3px;width:4px;height:4px;background:red;border-radius:50%}.remote-button{position:relative}.remote-button.remote-connected:after{content:"";position:absolute;top:3px;right:3px;width:4px;height:4px;background:#4cff4c;border-radius:50%}.waveform-wrapper{width:256px;min-width:0;overflow:hidden;background:#000c;border-radius:4px;padding:4px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.waveform-wrapper.hidden{display:none}.waveform-container{position:relative;width:100%;height:32px;background:#000;border-radius:4px;overflow:hidden;cursor:default}.waveform-svg{position:absolute;top:0;left:0;width:100%;height:100%}.waveform-line{fill:#ffffff40;stroke:none}.waveform-playhead{stroke:#fff;stroke-width:2}.waveform-grid-marker{stroke:red;stroke-width:2}.waveform-grid line{stroke:#ffffff4d;stroke-width:1}.waveform-grid line.bar{stroke:#fff;stroke-width:1}.waveform-grid line.phrase{stroke:#0f0;stroke-width:2}.waveform-grid line.beat{stroke:#ffffff80;stroke-width:1;stroke-dasharray:1 2}.lyrics-wrapper{width:256px;min-width:0;overflow:hidden;background:#000c;border-radius:4px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.lyrics-wrapper.hidden,.lyrics-wrapper:has(.lyrics-line:empty){display:none}.lyrics-wrapper.lyrics-expanded{position:fixed;left:50%;transform:translate(-50%);z-index:91}.lyrics-display{padding:1px 0 0;text-align:center;-webkit-user-select:none;user-select:none}.lyrics-line{height:15px;line-height:15px;font-size:10px;color:#ffffffe6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}.lyrics-word{transition:color .1s ease}.lyrics-word-active{color:#fff}.lyrics-word-past{color:#ffffff80}.lyrics-word-future{color:#ffffff4d}.stats-container{position:relative;width:128px;height:32px;background:#000;border:1px solid #1a1a1a;border-radius:4px;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none;box-sizing:border-box}.stats-svg{display:block;width:100%;height:100%}.stats-line-green,.stats-line-yellow,.stats-line-red{fill:none;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.stats-line-green{stroke:#0f0}.stats-line-yellow{stroke:#ff0}.stats-line-red{stroke:red}.stats-grid-line{stroke:#ffffff1a;stroke-width:1;stroke-dasharray:1 2}.stats-grid-line-major{stroke:#fff3;stroke-width:1}.stats-label{position:absolute;inset:0;-webkit-user-select:none;user-select:none;display:grid;grid-template-columns:1.5fr 1fr;align-content:center;gap:1px 4px;padding:0 6px;font-size:10px;font-variant-numeric:tabular-nums;color:#ffffffe6;pointer-events:none;text-shadow:0 0 3px rgba(0,0,0,.8);letter-spacing:.5px}.stats-label i{font-size:9px;opacity:.6;margin-right:2px}.stats-mode{position:absolute;bottom:1px;left:3px;font-size:10px;color:#fff;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 0 3px rgba(0,0,0,.8)}.stats-value{position:absolute;bottom:1px;right:3px;font-size:10px;font-variant-numeric:tabular-nums;color:#fff;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:0 0 3px rgba(0,0,0,.8)}#edit-panel.two-panel-mode{display:none}.clip-editor-panel{position:absolute;top:0;left:0;width:320px;height:100vh;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;padding:16px;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;pointer-events:auto;transform:translate(-100%);transition:transform .2s ease}.clip-editor-panel.visible{transform:translate(0)}.content-editor-panel{position:absolute;top:0;right:0;width:640px;height:100vh;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;padding:16px;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;pointer-events:auto;transform:translate(100%);transition:transform .2s ease}.content-editor-panel.visible{transform:translate(0)}.content-editor-header{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#ffffff14;border-radius:6px;margin-bottom:12px}.content-editor-header .content-name{flex:1}.content-editor-copy-btn{border:none;background:transparent;color:#ffffff4d;font-size:14px;cursor:pointer;padding:2px 4px;border-radius:3px;opacity:0;transition:all .1s ease}.content-editor-header:hover .content-editor-copy-btn{opacity:1}.content-editor-copy-btn:hover{color:#ffffffe6;background:#ffffff1a}.content-editor-header .content-type-label{color:#ffffff80;font-size:9px;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;background:#ffffff1a;border-radius:3px;flex-shrink:0}.preset-control{display:flex;align-items:center;gap:4px}.preset-select{flex:1;appearance:none;background:#ffffff1a;border:none;border-radius:3px;color:#fff;padding:4px 24px 4px 8px;font-size:12px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='rgba(255,255,255,0.6)' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.preset-select:focus{outline:none;background-color:#ffffff26}.preset-select option{background:#2a2a2a;color:#fff}.preset-select option.user-preset{font-style:italic}.preset-add-btn,.preset-delete-btn,.preset-export-btn{width:28px;height:24px;padding:0;border:none;border-radius:3px;background:#ffffff1a;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .1s ease}.preset-add-btn:hover,.preset-export-btn:hover{background:#ffffff26;color:#ffffffe6}.preset-delete-btn{display:none}.preset-delete-btn.visible{display:flex}.preset-delete-btn:hover{background:#ff64644d;color:#ff6464e6}.preset-add-btn i,.preset-delete-btn i,.preset-export-btn i{font-size:14px}.preset-toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%) translateY(20px);background:#000000e6;color:#ffffffe6;padding:8px 16px;border-radius:4px;font-size:12px;z-index:1000;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.preset-toast.visible{opacity:1;transform:translate(-50%) translateY(0)}.variant-accordion{display:flex;flex-direction:column;gap:2px;margin-top:8px}.variant-accordion-item{background:#ffffff08;border-radius:4px;overflow:hidden;transition:background .15s ease}.variant-accordion-item.expanded{background:#ffffff0d}.variant-accordion-item.selected{background:#ffffff14;border:1px solid rgba(var(--accent-rgb),.6);border-radius:4px}.variant-accordion-item.disabled,.variant-accordion-item.dragging{opacity:.5}.variant-accordion-item.drag-over{border-top:2px solid rgba(var(--accent-rgb),.8);margin-top:-2px}.variant-accordion-header{display:flex;align-items:center;gap:6px;padding:8px 10px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.variant-accordion-header:hover{background:#ffffff0d}.variant-arrow{color:#ffffff80;font-size:12px;width:12px;flex-shrink:0}.variant-accordion-item.expanded .variant-arrow{color:#fffc}.variant-accordion-header .variant-enabled-toggle{flex-shrink:0}.variant-name-wrapper{flex:1;display:flex;align-items:center;position:relative;overflow:hidden}.variant-accordion-name{flex:1;color:#ffffffb3;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.variant-accordion-item.expanded .variant-accordion-name{color:#fff}.variant-accordion-name-input{flex:1;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:3px;color:#fff;font-size:12px;padding:2px 6px;outline:none}.variant-accordion-name-input:focus{border-color:rgba(var(--accent-rgb),.6)}.variant-add-content-btn{padding:4px 8px;border:none;border-radius:3px;background:transparent;color:#ffffff4d;font-size:18px;font-weight:300;line-height:1;cursor:pointer;transition:opacity .15s ease,background .15s ease}.variant-add-content-btn:hover{background:#50ff5033;color:#64ff64e6}.variant-paste-content-btn{font-size:14px;padding:4px 6px}.variant-name-wrapper .variant-delete,.variant-name-wrapper .variant-add-content-btn,.category-header .variant-add-content-btn{opacity:0;flex-shrink:0;transition:opacity .15s ease}.variant-accordion-header:hover .variant-delete,.variant-accordion-header:hover .variant-add-content-btn,.category-header:hover .variant-add-content-btn{opacity:1}.variant-name-wrapper.editing .variant-delete,.variant-name-wrapper.editing .variant-add-content-btn{display:none}.variant-accordion-content{display:none;padding:0 10px 10px}.variant-accordion-item.expanded .variant-accordion-content{display:block}.variant-accordion-content .content-list{margin-top:4px;gap:1px}.variant-accordion-content .content-list-item{padding:0 8px;font-size:10px;height:26px;display:flex;align-items:center;gap:8px}.variant-accordion-content .content-list-item .content-type-icon{font-size:12px}.content-list-readonly{opacity:.7}.variant-content-empty{color:#fff6;font-size:10px;font-style:italic;padding:4px 8px}.track-section-content{margin-top:8px;margin-bottom:8px}.content-list{display:flex;flex-direction:column;gap:2px}.content-list-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#ffffff0d;border-radius:4px;border:1px solid transparent;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease,border-color .15s ease}.content-list-item:hover{background:#ffffff14}.content-list-item.selected{background:#ffffff1f;border-color:rgba(var(--accent-rgb),.4)}.content-list-item.disabled{opacity:.5}.content-list-item .content-name{flex:1;color:#fffc;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-list-item.selected .content-name{color:#fff}.content-list-item .content-type-icon{font-size:13px;flex-shrink:0}.content-type-icon[data-content-type=global]{color:rgb(var(--type-global))}.content-type-icon[data-content-type=scene]{color:rgb(var(--type-scene))}.content-type-icon[data-content-type=visual]{color:rgb(var(--type-visual))}.content-type-icon[data-content-type=shader]{color:rgb(var(--type-shader))}.content-type-icon[data-content-type=post]{color:rgb(var(--type-post))}.content-type-icon[data-content-type=particles]{color:rgb(var(--type-particles))}.content-list-item .content-delete{opacity:0;transition:opacity .15s ease}.content-list-item:hover .content-delete{opacity:1}.content-list-item-wrapper{cursor:grab;transition:opacity .15s ease}.content-list-item-wrapper.dragging{opacity:.5;cursor:grabbing}.content-list-item-wrapper.drag-over{border-top:2px solid rgba(var(--accent-rgb),.8);margin-top:-2px}.content-editor-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#fff6;font-size:12px;font-style:italic}.content-editor-panel .params-category{margin-top:4px}.content-editor-panel .params-category:first-child{margin-top:0}.icon-toggle{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:4px;background:transparent;color:#ffffffe6;cursor:pointer}.icon-toggle:hover{color:#fff}.icon-toggle.category-icon{color:var(--category-color, rgba(255, 255, 255, .9))}.icon-toggle i{font-size:12px}.curve-control{flex-direction:column}.curve-editor{width:100%;background:#0003;border-radius:4px;padding:8px}.curve-editor-top-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.curve-preset-select{flex:1;padding:4px 24px 4px 8px;border:none;border-radius:3px;background:#ffffff1a;color:#fff;font-size:12px;outline:none;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='rgba(255,255,255,0.6)' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.curve-preset-select:focus{background:#ffffff26}.curve-preset-select option{background:#2a2a2a;color:#fff}.curve-flip-btn{display:flex;align-items:center;justify-content:center;width:28px;height:24px;border:none;border-radius:3px;background:transparent;color:#ffffff80;cursor:pointer;transition:all .1s ease}.curve-flip-btn:hover{color:#fffc}.curve-interp-select{padding:4px 24px 4px 8px;border:none;border-radius:3px;background:#ffffff1a;color:#fff;font-size:12px;outline:none;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='rgba(255,255,255,0.6)' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.curve-interp-select:focus{background:#ffffff26}.curve-interp-select:disabled{opacity:.3;cursor:default}.curve-interp-select option{background:#2a2a2a;color:#fff}.curve-editor-canvas{display:block;width:calc(100% + 12px);height:112px;margin:0 -6px;cursor:crosshair}.curve-editor-bottom-row{display:flex;align-items:center;gap:4px;margin-top:8px}.curve-point-btn{display:flex;align-items:center;justify-content:center;gap:4px;flex:1;height:22px;padding:0;border:none;border-radius:3px;background:#ffffff1a;color:#fffc;font-size:11px;cursor:pointer;transition:all .1s ease}.curve-point-btn:hover:not(:disabled){background:#fff3;color:#fff}.curve-point-btn:disabled{opacity:.4;cursor:default}.curve-point-btn i{font-size:12px}.curve-point-slider{position:relative;flex:1;height:22px;border-radius:3px;overflow:hidden}.curve-point-slider-fill{position:absolute;top:0;left:0;bottom:0;border-radius:3px;pointer-events:none}.curve-point-input{position:relative;width:100%;height:100%;padding:0 6px;border:none;border-radius:3px;color:#fff;font-size:11px;font-family:Inter,sans-serif;font-variant-numeric:tabular-nums;text-align:right;outline:none;z-index:1;cursor:ew-resize}.curve-point-input:disabled{opacity:.4;cursor:default}.curve-point-slider.curve-x .curve-point-input{background:#b43c3c66}.curve-point-slider.curve-x .curve-point-input:focus{background:#b43c3c8c;cursor:text}.curve-point-slider.curve-x .curve-point-slider-fill{background:#b43c3c4d}.curve-point-slider.curve-y .curve-point-input{background:#3c8c3c66}.curve-point-slider.curve-y .curve-point-input:focus{background:#3c8c3c8c;cursor:text}.curve-point-slider.curve-y .curve-point-slider-fill{background:#3c8c3c4d}.curve-point-slider.dragging{-webkit-user-select:none;user-select:none;cursor:ew-resize}.curve-point-slider.dragging .curve-point-input{pointer-events:none}.remote-button.remote-connected{color:#fff}.remote-button.active{background:#ffffff26}.remote-status,.remote-code-section,.remote-clients,.remote-status-label,.remote-code-label,.remote-clients-label{color:#fff9;flex-shrink:0}.remote-status-value{color:#ffffffe6}.remote-status-value.connected{color:#00e436e6}.remote-status-value.disconnected{color:#ff77a8e6}.remote-code-value{font-family:monospace;font-size:14px;font-weight:600;letter-spacing:1px;color:#fffffff2;background:#ffffff1a;padding:4px 8px;border-radius:4px}.remote-copy-btn{padding:4px 6px;background:#ffffff1a;border:none;border-radius:3px;color:#ffffffb3;cursor:pointer;transition:all .1s ease}.remote-copy-btn:hover{background:#ffffff26;color:#ffffffe6}.remote-clients-value{color:#ffffffe6}#changes-modal{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .2s ease}#changes-modal.visible{opacity:1;pointer-events:auto}#changes-modal .panel-content{background:#1a1a1a;border:1px solid rgba(255,255,255,.15);border-radius:8px;width:500px;max-height:70vh;overflow:hidden;display:flex;flex-direction:column}.changes-modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;color:#fff;font-size:14px;font-weight:500;-webkit-user-select:none;user-select:none;border-bottom:1px solid rgba(255,255,255,.1)}.changes-modal-body{overflow-y:auto;padding:8px}.changes-modal-empty{text-align:center;color:#fff6;font-size:12px;padding:32px 16px;-webkit-user-select:none;user-select:none}.changes-group{margin-bottom:8px}.changes-group-header{display:flex;align-items:center;gap:8px;padding:6px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;-webkit-user-select:none;user-select:none}.changes-group-clip{color:#ffffffe6;font-weight:500}.changes-group-content{color:#fff6}.changes-param-row{display:flex;align-items:center;gap:8px;padding:4px 8px 4px 16px;border-radius:3px;transition:background .1s ease}.changes-param-row:hover{background:#ffffff0d}.changes-param-label{color:#ff8000;font-size:11px;min-width:100px;flex-shrink:0}.changes-param-values{display:flex;align-items:center;gap:6px;flex:1;font-size:11px;min-width:0;overflow:hidden}.changes-value-old{color:#fff6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.changes-value-arrow{color:#ffffff4d;flex-shrink:0}.changes-value-new{color:#ffffffe6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.changes-revert-btn{background:none;border:none;color:#ffffff4d;cursor:pointer;font-size:14px;padding:4px;line-height:1;flex-shrink:0;border-radius:3px;transition:all .1s ease}.changes-revert-btn:hover{color:#fff;background:#ffffff1a}#settings-panel{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;pointer-events:none;transition:opacity .2s ease}#settings-panel.visible{opacity:1;pointer-events:auto}#settings-panel .panel-content{background:#1a1a1a;border:1px solid rgba(255,255,255,.15);border-radius:8px;width:640px;overflow:hidden;display:flex;flex-direction:column}.settings-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;color:#fff;font-size:14px;font-weight:500;-webkit-user-select:none;user-select:none;border-bottom:1px solid rgba(255,255,255,.1)}.settings-panel-main{display:flex;min-height:320px}.settings-toolbar{display:flex;flex-direction:column;gap:2px;padding:8px;border-right:1px solid rgba(255,255,255,.1)}.settings-tab-btn{width:36px;height:36px;border:none;border-radius:4px;background:transparent;color:#ffffff80;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .1s ease}.settings-tab-btn:hover{color:#fffc}.settings-tab-btn.active{background:#ffffff1a;color:#ffffffe6}.settings-tab-btn.has-dot:after{content:"";position:absolute;top:4px;right:4px;width:4px;height:4px;border-radius:50%;background:#fff}.settings-tab-btn.has-dot[data-dot-color=green]:after{background:#4cff4c}.settings-content{flex:1;padding:12px 16px;overflow-y:auto;max-height:400px}.settings-perf-info{margin-bottom:16px}.settings-perf-info-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05)}.settings-perf-info-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:#ffffff80}.settings-perf-info-value{font-size:12px;color:#ffffffe6;text-align:right;word-break:break-word}.settings-perf-controls{display:flex;flex-direction:column;gap:12px}.settings-version{margin-top:16px;color:#ffffff4d;font-size:10px}.settings-perf-row{display:flex;align-items:center;justify-content:space-between}.settings-perf-row label{font-size:12px;color:#fff9}.settings-btn-group{display:flex;gap:2px;background:#ffffff0d;border-radius:4px;padding:2px}.settings-btn-group button{padding:4px 12px;border:none;border-radius:3px;background:transparent;color:#ffffff80;font-size:12px;cursor:pointer;transition:all .1s ease}.settings-btn-group button.active{background:#ffffff26;color:#ffffffe6}.settings-btn-group button:hover:not(.active){color:#ffffffb3}.settings-slider-container{position:relative;width:120px;height:28px;background:#ffffff1a;border-radius:3px;cursor:ew-resize;-webkit-user-select:none;user-select:none}.settings-slider-fill{position:absolute;top:0;left:0;height:100%;background:#ffffff26;border-radius:3px;pointer-events:none}.settings-slider-input{position:relative;width:100%;height:100%;background:transparent;border:none;color:#fff;text-align:center;font-size:12px;cursor:ew-resize;pointer-events:none}.settings-remote-content{font-size:12px}.remote-preset-list{margin-top:12px;border-top:1px solid rgba(255,255,255,.1);padding-top:8px}.remote-preset-item{margin-bottom:2px}.remote-preset-header{display:flex;align-items:center;gap:6px;padding:8px 10px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s ease}.remote-preset-header:hover{background:#ffffff0d}.remote-preset-name{flex:1;color:#ffffffb3;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.remote-preset-item.expanded .remote-preset-name{color:#fff}.remote-preset-name-input{flex:1;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:3px;color:#fff;font-size:12px;padding:2px 6px;outline:none}.remote-preset-name-input:focus{border-color:#fff6}.remote-preset-action-btn{opacity:0;flex-shrink:0;padding:2px 4px;background:transparent;border:none;color:#ffffff4d;cursor:pointer;font-size:14px;transition:opacity .15s ease}.remote-preset-header:hover .remote-preset-action-btn{opacity:1}.remote-preset-action-btn:hover{color:#fffc}.remote-preset-header.editing .remote-preset-action-btn{display:none}.remote-preset-arrow{color:#ffffff80;font-size:12px;width:12px;flex-shrink:0;transition:transform .15s ease}.remote-preset-item.expanded .remote-preset-arrow{transform:rotate(180deg);color:#fffc}.remote-preset-body{display:none;padding:4px 0 8px 16px}.remote-preset-item.expanded .remote-preset-body{display:block}.remote-mode-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.remote-mode-row label{font-size:11px;color:#fff9;flex-shrink:0}.remote-mode-select{flex:1;width:auto}.remote-toggles-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.remote-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.remote-toggle-row label{font-size:11px;color:#fff9}.remote-preset-add{width:100%;padding:6px;margin-top:4px;background:#ffffff0d;border:1px dashed rgba(255,255,255,.15);border-radius:3px;color:#ffffff80;font-size:11px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;transition:all .1s ease}.remote-preset-add:hover{background:#ffffff1a;color:#fffc}.settings-remote-content .remote-status,.settings-remote-content .remote-code-section,.settings-remote-content .remote-clients{display:flex;align-items:center;gap:8px;margin-bottom:12px}.qr-modal-overlay{position:fixed;inset:0;z-index:20000;background:#000000e6;display:flex;align-items:center;justify-content:center;cursor:pointer}.qr-modal svg{border-radius:8px}.patch-editor-overlay{position:fixed;inset:0;z-index:500;background:#0009}.patch-editor-panel{position:fixed;background:#1a1a1a;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:16px;width:220px}.patch-editor-title{font-size:14px;font-weight:500;color:#fff;margin-bottom:12px}.patch-editor-input{width:100%;padding:8px 10px;background:#ffffff1a;border:none;border-radius:4px;color:#fff;font-size:14px;font-weight:500;box-sizing:border-box;outline:none;margin-bottom:12px}.patch-editor-input:focus{background:#ffffff26}.patch-editor-field{margin-bottom:8px}.patch-editor-field label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#fff9;margin-bottom:4px;-webkit-user-select:none;user-select:none}#remote-title-screen{position:fixed;inset:0;z-index:20000;background:#000;display:flex;align-items:center;justify-content:center;cursor:pointer}#remote-title-screen.hidden{display:none}.patch-grid-view{position:fixed;inset:0;background:#000}.ripple-effect-canvas{position:fixed;inset:0;pointer-events:none;z-index:10}.patch-grid-fullscreen{width:100%;height:100%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:4px;padding:4px;box-sizing:border-box}.patch-grid-cell{display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:6px;cursor:default;transition:all .15s ease;position:relative}.patch-grid-cell.saved{background:color-mix(in srgb,var(--patch-color, #fff) 25%,transparent);border-color:var(--patch-color, rgba(255, 255, 255, .15));cursor:pointer}.patch-grid-cell.saved:hover{background:color-mix(in srgb,var(--patch-color, #fff) 50%,transparent)}.patch-grid-cell.saved:active{background:color-mix(in srgb,var(--patch-color, #fff) 75%,transparent)}.patch-grid-cell.active,.patch-grid-cell.active:hover,.patch-grid-cell.active:active{background:var(--patch-color, #fff);border-color:var(--patch-color, #fff)}.patch-grid-cell-name{position:absolute;bottom:8px;left:0;right:0;font-size:14px;font-weight:500;color:#fff6;-webkit-user-select:none;user-select:none;text-align:center}.patch-grid-cell.saved .patch-grid-cell-name{color:#fffc}.patch-grid-cell.active .patch-grid-cell-name{color:var(--text-color, #fff)}.settings-shortcuts-content{display:flex;gap:32px}.settings-shortcuts-column{flex:1;display:flex;flex-direction:column;gap:4px}.settings-shortcuts-section-title{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#fff6;margin-top:8px;margin-bottom:2px}.settings-shortcuts-section-title:first-child{margin-top:0}.settings-shortcuts-row{display:flex;align-items:center;gap:8px;padding:4px 0}.settings-shortcuts-keys{font-size:11px;color:#ffffffe6;font-family:inherit;background:#ffffff14;padding:2px 8px;border-radius:3px;border:1px solid rgba(255,255,255,.1)}.settings-shortcuts-action{font-size:11px;color:#ffffff80}.settings-reset-section{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:1px solid rgba(255,255,255,.08)}.settings-reset-section:first-child{border-top:none}.settings-reset-text{flex:1}.settings-reset-title{font-size:13px;font-weight:600;color:#ffffffe6;margin-bottom:4px}.settings-reset-desc{font-size:12px;color:#ffffff80;margin:0;line-height:1.5}.settings-reset-btn{padding:10px 0;width:80px;text-align:center;background:#ff646426;border:1px solid rgba(255,100,100,.3);border-radius:4px;color:#ff9696e6;font-size:12px;cursor:pointer;transition:all .1s ease;white-space:nowrap;flex-shrink:0}.settings-reset-btn:hover{background:#ff646440}.settings-reset-btn.reset-flash{background:#64ff9626;border-color:#64ff964d;color:#96ff96e6}.settings-build-content{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.settings-build-desc{font-size:12px;color:#ffffff80;margin:0;line-height:1.5}.settings-build-btn{padding:10px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#ffffffe6;font-size:12px;cursor:pointer;transition:all .1s ease}.settings-build-btn:hover{background:#ffffff26}body.ui-window{background:#0a0a0a;overflow-x:hidden;overflow-y:auto}body.ui-window #control-panel{position:relative;min-height:100vh;padding-bottom:20px;justify-content:flex-start}body.ui-window .tracks-wrapper{order:100;margin-top:auto;position:static;width:100%;max-height:none;align-self:center}body.ui-window .tracks-container{max-height:none}body.ui-window .edit-controls{position:fixed!important;top:auto!important;bottom:16px!important;left:16px!important;z-index:1000}.remote-stats-panel{position:absolute;bottom:100%;left:0;margin-bottom:24px;background:#000c;border-radius:4px;padding:4px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;justify-content:space-between;height:136px;box-sizing:border-box}body.ui-window .remote-button,body.ui-window .remote-panel{display:none}#connection-overlay{position:fixed;inset:0;background:#000000fa;display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .3s ease}#connection-overlay.hidden{opacity:0;pointer-events:none}.connection-dialog{text-align:center;padding:40px;max-width:400px}.connection-dialog h1{font-size:24px;font-weight:600;color:#fffffff2;margin-bottom:4px}.connection-dialog .subtitle{font-size:14px;color:#ffffff80;margin-bottom:32px}#connection-status{margin-bottom:24px}#connection-status .status-text{font-size:14px;color:#ffffffb3}#connection-status.connecting .status-text{color:#ffec27e6}#connection-status.connected .status-text{color:#00e436e6}#connection-status.disconnected .status-text{color:#ffffff80}#connection-status.error .status-text{color:#ff77a8e6}.room-code-section{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.room-code-section.hidden{display:none}.room-code-section label{font-size:12px;color:#fff9;text-transform:uppercase;letter-spacing:.5px}#room-code{font-family:monospace;font-size:24px;font-weight:600;letter-spacing:4px;text-align:center;text-transform:uppercase;padding:16px 20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;outline:none;transition:all .15s ease}#room-code::placeholder{color:#ffffff4d;letter-spacing:2px}#room-code:focus{background:#ffffff26;border-color:#ffffff4d}#connect-btn{width:100%;padding:14px 24px;font-size:14px;font-weight:500;background:#ffffff26;border:none;border-radius:6px;color:#ffffffe6;cursor:pointer;transition:all .15s ease}#connect-btn:hover:not(:disabled){background:#fff3}#connect-btn:disabled{opacity:.5;cursor:not-allowed}.error-message{margin-top:16px;padding:12px;background:#ff77a81a;border:1px solid rgba(255,119,168,.3);border-radius:6px;color:#ff77a8e6;font-size:13px}.error-message.hidden{display:none}.midi-status-info{color:#fff9;font-size:12px}.midi-activity{display:flex;align-items:center;gap:8px;padding:12px;background:#ffffff0d;border-radius:4px;margin-top:12px}.midi-activity-label{color:#fff9;font-size:12px}.midi-activity-value{font-family:monospace;font-size:12px;color:#ffffffe6;transition:color .1s ease}.midi-activity-value.flash{color:#00e436e6}body.ui-window .waveform-wrapper{display:none}body.ui-window #waveform-panel{width:100%;padding:8px 16px 16px;box-sizing:border-box;align-self:stretch}body.ui-window #waveform-panel .waveform-container{position:relative;width:100%;height:80px;background:#000;border-radius:6px;overflow:hidden;cursor:default}body.ui-window #waveform-panel .waveform-svg{position:absolute;top:0;left:0;width:100%;height:100%}.context-menu{position:fixed;z-index:1001;background:#1e1e1ef2;border:1px solid rgba(255,255,255,.15);border-radius:4px;padding:4px 0;min-width:140px;box-shadow:0 4px 12px #00000080}.context-menu-item{display:flex;align-items:center;gap:6px;padding:6px 12px;color:#ffffffe6;font-size:12px;cursor:pointer}.context-menu-item:hover{background:#ffffff1a}.context-menu-item .material-symbols-outlined{font-size:14px;width:14px}.context-menu-backdrop{position:fixed;inset:0;z-index:1000}.param-controlled .param-inline-slider .param-value-input,.param-controlled .param-value-input,.param-controlled .edit-select,.param-controlled .param-inline-slider{background:#b43cb466}.param-controlled .param-inline-slider-fill{display:none}.param-controlled .param-inline-slider .param-value-input{visibility:hidden}.param-controlled .param-inline-slider .param-value-input:focus,.param-controlled .param-value-input:focus{background:#b43cb48c}.param-controlled .param-inline-slider{cursor:ew-resize}.dashboard-label{position:absolute;top:0;bottom:0;padding:4px 6px;border:none;background:transparent;color:#fff;font-size:12px;font-variant-numeric:tabular-nums;outline:none;z-index:2;pointer-events:none;cursor:ew-resize}.dashboard-label:focus{pointer-events:auto;cursor:text}.dashboard-range-min{left:0;text-align:left;width:40%}.dashboard-range-max{right:0;text-align:right;width:40%}.dashboard-channel{display:inline-block;width:22px;height:22px;margin-right:5px;padding:0;border:none;border-radius:3px;background:#b43cb466;color:#fff;font-size:11px;text-align:center;line-height:22px;outline:none;cursor:pointer;vertical-align:middle}.dashboard-range-bar{position:absolute;top:0;bottom:0;background:#b43cb440;border-radius:3px;z-index:0;pointer-events:none}@media(max-width:768px){#room-code{font-size:20px;padding:14px 16px}}.chaser-preview-wrapper{display:flex;gap:8px;align-items:stretch}.chaser-preview-left{flex:3;display:flex;flex-direction:column;gap:4px}.chaser-preview-params{flex:9;min-width:0}.chaser-preview-params .param-row{grid-template-columns:repeat(8,1fr)}.chaser-preview-params .param-row>.param-control{grid-column:span 6}.chaser-preview-params .param-row-grouped[data-cols="2"] .param-cell{grid-column:span 4}.chaser-grid-wrapper{padding:4px 0;display:flex;gap:6px}.chaser-grid-wrapper.hidden{display:none}.pattern-source-warning{color:#f0c040;margin-right:5px;font-size:12px;position:relative;top:1px}.chaser-button-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:2px;flex:1;aspect-ratio:1}.chaser-pattern-toolbar{display:flex;flex-direction:column;gap:2px;flex:1}.chaser-pattern-action{flex:1;border:none;border-radius:2px;background:#ffffff1a;color:#ffffff80;font-size:10px;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;padding:2px 0;transition:all .1s ease}.chaser-pattern-action:hover{background:#ffffff26;color:#ffffffe6}.chaser-grid-btn{border:none;border-radius:2px;background:#ffffff1a;cursor:pointer;padding:0;min-width:0;min-height:8px;transition:all .1s ease}.chaser-grid-btn:hover{background:#ffffff26}.chaser-grid-btn.active{background:#ffffffe6}.chaser-grid-btn.current{position:relative}.chaser-grid-btn.current:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background:#fff}.chaser-grid-btn.active.current:after{background:#000}.param-row>.modifier-stack-control,.param-row>.model-stack-control{flex-direction:column;grid-column:1 / -1}.param-row:has(.modifier-stack-control)>label,.param-row:has(.model-stack-control)>label{display:none}.param-row:has(.model-stack-control),.param-row:has(.modifier-stack-control){margin-bottom:5px}.param-row:has(.model-stack-control)+.param-separator,.param-row:has(.modifier-stack-control)+.param-separator{margin:0 0 8px}.modifier-stack{width:100%}.modifier-list{display:flex;flex-direction:column;gap:2px}.modifier-block{transition:opacity .1s ease}.modifier-block.dragging{opacity:.4}.modifier-block.drag-over{box-shadow:0 -2px #fff6}.modifier-header{display:flex;align-items:center;gap:4px;padding:2px 4px;margin-bottom:4px;background:#ffffff0d;border-radius:3px;cursor:grab}.modifier-header:active{cursor:grabbing}.modifier-enabled-toggle{flex-shrink:0}.modifier-block.disabled{opacity:.4}.modifier-title{flex:1;font-size:11px;font-weight:500;color:#fff9;text-transform:uppercase;letter-spacing:.5px}.modifier-remove-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:3px;background:transparent;color:#ffffff4d;cursor:pointer;transition:all .1s ease;flex-shrink:0}.modifier-remove-btn:hover{background:#ffffff1a;color:#fffc}.modifier-remove-btn i{font-size:12px}.modifier-block>.param-row{margin-bottom:4px;min-height:24px}.modifier-block>.param-row:last-child{margin-bottom:0}.modifier-picker-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;pointer-events:auto}.modifier-picker{background:#1a1a1a;border:1px solid rgba(255,255,255,.15);border-radius:8px;min-width:350px;max-width:540px;height:50vh;overflow:hidden;display:flex;flex-direction:column}.modifier-picker-header{padding:12px 12px 8px;color:#fff;font-size:14px;font-weight:500}.modifier-picker-filters{display:flex;gap:6px;padding:0 12px 8px;flex-wrap:wrap}.modifier-picker-filter-chip{padding:4px 8px;background:#ffffff14;border:1px solid transparent;border-radius:4px;color:#fff9;font-size:11px;cursor:pointer;transition:all .15s ease}.modifier-picker-filter-chip:hover{background:#ffffff1f;color:#fffc}.modifier-picker-filter-chip.active{color:#fff}.modifier-picker-list{overflow-y:auto;padding:8px;border-top:1px solid rgba(255,255,255,.08)}.modifier-picker-item{display:block;width:100%;padding:10px 12px;border:none;border-radius:4px;background:transparent;color:#ffffffe6;font-size:13px;text-align:left;cursor:pointer;transition:background .15s ease}.modifier-picker-item:hover{background:#ffffff1a}.chaser-grid-canvas{width:100%;aspect-ratio:1;display:block;border-radius:6px;border:1px solid #444}.shader-import-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:2000;background:#000000b3;display:none;align-items:center;justify-content:center;pointer-events:none}.shader-import-overlay.visible{display:flex}.shader-import-overlay-content{border:2px dashed rgba(255,255,255,.4);border-radius:12px;padding:48px 64px;display:flex;flex-direction:column;align-items:center;gap:12px;color:#fffc}.shader-import-overlay-content i{font-size:48px;opacity:.6}.shader-import-overlay-content span{font-size:14px;letter-spacing:.5px}.content-picker-imported-badge{font-size:12px;opacity:.4}.content-picker-delete-imported{margin-left:auto;opacity:0;transition:opacity .15s ease}.content-picker-item:hover .content-picker-delete-imported{opacity:1}.visual-preview-modal{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1500;opacity:0;pointer-events:none;transition:opacity .2s ease}.visual-preview-modal.visible{opacity:1;pointer-events:auto}.visual-preview-modal-content{background:#1a1a1a;border:1px solid rgba(255,255,255,.15);border-radius:8px;display:flex;flex-direction:column;max-height:85vh;overflow:hidden}.visual-preview-modal-header{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.1);-webkit-user-select:none;user-select:none}.visual-preview-modal-title{display:flex;align-items:center;gap:8px;color:#fff;font-size:14px;font-weight:500}.visual-preview-modal-title i{font-size:16px;opacity:.6}.visual-preview-modal-body{display:flex;flex:1;min-height:0;overflow:hidden}.visual-preview-modal-preview{flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:#000}.visual-preview-modal-canvas{display:block}.visual-preview-modal-params{width:640px;flex-shrink:0;overflow-y:auto;padding:8px;border-left:1px solid rgba(255,255,255,.1)}.visual-preview-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid rgba(255,255,255,.1)}.visual-preview-modal-btn{padding:6px 16px;border:1px solid rgba(255,255,255,.2);border-radius:4px;background:#ffffff0f;color:#fffc;font-size:12px;cursor:pointer;transition:all .1s ease;display:flex;align-items:center;gap:6px}.visual-preview-modal-btn:hover{background:#ffffff1f;color:#fff}.visual-preview-modal-btn.import{background:#29adff26;border-color:#29adff66;color:#29adff}.visual-preview-modal-btn.import:hover{background:#29adff40}
