.editor-workspace.pe-host{display:flex;flex-direction:column;height:clamp(480px,calc(100svh - 180px),1040px);min-height:0;background:var(--surface);border-radius:12px;overflow:hidden}.editor-workspace.pe-host>*{min-height:0}.pe-loading{display:flex;flex:1 1;align-items:center;justify-content:center;padding:24px}.results-panel:has(.pe-host){max-width:min(1680px,100%);width:100%}.pe-stage-shell{position:relative;display:flex;flex:1 1}.pe-shell,.pe-stage-shell{min-height:0;width:100%;height:100%}.pe-shell{display:grid;grid-template-areas:"header header header" "controls monitor right" "timeline timeline timeline";grid-template-columns:minmax(280px,24%) minmax(0,1fr) minmax(260px,22%);grid-template-rows:34px minmax(0,1fr) minmax(200px,36%);grid-gap:6px;gap:6px}.pe-shell,.pe-shell *{min-width:0}.pe-shell>*{min-height:0;min-width:0}.pe-header{grid-area:header;display:flex;align-items:center;justify-content:space-between;padding:0 8px;background:var(--surface);border:1px solid var(--border);border-radius:6px}.pe-header-left,.pe-header-right{display:flex;align-items:center;gap:6px}.pe-region-controls{grid-area:controls;display:flex;min-height:0}.pe-region-monitor{grid-area:monitor;display:flex;min-height:0}.pe-region-right{grid-area:right;display:flex;min-height:0}.pe-region-timeline{grid-area:timeline;display:flex;min-height:0;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:6px}.pe-panel-group,.pe-region-timeline>*{flex:1 1;min-width:0;min-height:0}.pe-panel-group{flex-direction:column;border:1px solid var(--border);border-radius:6px;overflow:hidden}.pe-panel-group,.pe-tabs{display:flex;background:var(--surface)}.pe-tabs{align-items:stretch;flex:none;gap:2px;padding:0 4px;border-bottom:1px solid var(--border);overflow-x:auto}.pe-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:9px 10px 7px;cursor:pointer;white-space:nowrap;transition:color .15s ease,background .15s ease}.pe-tab:hover{color:var(--text);background:var(--surface-hover)}.pe-tab.active{color:var(--text);border-bottom-color:var(--accent)}.pe-panel-body,.pe-tab.active{background:var(--surface-elevated)}.pe-panel-body{flex:1 1;overflow:auto;min-height:0}.pe-iconbtn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;padding:0;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-muted);cursor:pointer;text-decoration:none;transition:background .15s ease,color .15s ease,border-color .15s ease}.pe-iconbtn:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.pe-iconbtn:disabled{opacity:.4;cursor:default}.pe-iconbtn.active{color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.pe-autosave{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);white-space:nowrap}.pe-autosave-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted)}.pe-autosave.saving .pe-autosave-dot{background:var(--accent);animation:pe-autosave-pulse 1.2s ease-in-out infinite}.pe-autosave.saved .pe-autosave-dot{background:var(--success)}@keyframes pe-autosave-pulse{0%,to{opacity:1;box-shadow:0 0 0 0 var(--accent-glow)}50%{opacity:.45;box-shadow:0 0 0 4px transparent}}.pe-export-select{height:26px;padding:0 6px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:12px;font-weight:500;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none}.pe-export-select:hover:not(:disabled){background:var(--surface-hover)}.pe-export-select:disabled{opacity:.55;cursor:default}.pe-export-btn{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 12px;background:var(--accent);border:1px solid var(--accent);border-radius:6px;color:var(--text);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease}.pe-export-btn:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.pe-export-btn:disabled{opacity:.55;cursor:default}.pe-export-progress{position:relative;width:44px;height:3px;border-radius:99px;background:color-mix(in srgb,var(--text) 25%,transparent);overflow:hidden}.pe-export-progress-fill{position:absolute;top:0;left:0;width:40%;height:100%;border-radius:99px;background:var(--text);animation:pe-export-indeterminate 1.1s ease-in-out infinite}.pe-export-progress-fill.is-determinate{transition:width .3s ease-out}@keyframes pe-export-indeterminate{0%{transform:translateX(-110%)}to{transform:translateX(260%)}}.pe-monitor{flex:1 1;display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow:hidden}.pe-monitor-header{display:flex;align-items:center;justify-content:flex-end;flex:none;gap:4px;min-height:30px;padding:2px 6px;border-bottom:1px solid var(--border)}.pe-monitor-stage{flex:1 1;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;background:#000;overflow:hidden}.pe-monitor-stage>*{max-width:100%;max-height:100%}.pe-monitor-error{flex:none;padding:6px 10px;font-size:12px;color:var(--error);background:color-mix(in srgb,var(--error) 10%,transparent);border-top:1px solid color-mix(in srgb,var(--error) 35%,transparent)}.pe-transport{flex:none;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:4px 10px;background:var(--surface);border-top:1px solid var(--border)}.pe-transport-cluster{display:flex;align-items:center;justify-content:center;gap:4px}.pe-transport-spacer{justify-self:end}.pe-timecode{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;white-space:nowrap}.pe-timecode-current{color:var(--accent)}.pe-timecode-total{color:var(--text-muted)}@media (max-width:1100px){.pe-shell{grid-template-areas:"header header" "monitor monitor" "controls right" "timeline timeline";grid-template-columns:minmax(240px,30%) minmax(0,1fr);grid-template-rows:34px minmax(0,1fr) minmax(140px,26%) minmax(160px,24%)}}.pe-timeline{display:flex;height:100%;min-height:0;min-width:0;background:var(--surface);overflow:hidden}.pe-tl-tools{flex-direction:column;flex:none;width:36px;padding:6px 0;gap:2px;background:var(--surface-elevated);border-right:1px solid var(--border)}.pe-tl-tool,.pe-tl-tools{display:flex;align-items:center}.pe-tl-tool{justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;padding:0}.pe-tl-tool:hover{background:var(--surface-hover);color:var(--text)}.pe-tl-tool:disabled{opacity:.4;cursor:default}.pe-tl-tool:disabled:hover{background:transparent;color:var(--text-muted)}.pe-tl-tool-active,.pe-tl-tool-active:hover{background:var(--accent);color:var(--text)}.pe-tl-snap-active,.pe-tl-snap-active:hover{background:var(--accent-glow);color:var(--accent-hover)}.pe-tl-tools-sep{width:20px;height:1px;margin:4px 0;background:var(--border)}.pe-tl-body{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0}.pe-tl-header{display:flex;align-items:center;justify-content:space-between;flex:none;height:30px;padding:0 8px;background:var(--surface-elevated);border-bottom:1px solid var(--border)}.pe-tl-timecode{display:flex;align-items:baseline;gap:8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:11px;letter-spacing:.04em}.pe-tl-tc-current{color:var(--accent-hover)}.pe-tl-tc-total{color:var(--text-muted);font-size:10px}.pe-tl-zoom{gap:4px}.pe-tl-zoom,.pe-tl-zoom-btn{display:flex;align-items:center}.pe-tl-zoom-btn{justify-content:center;width:24px;height:22px;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text-muted);cursor:pointer}.pe-tl-zoom-btn:hover{border-color:var(--border-hover);color:var(--text)}.pe-tl-zoom-btn:disabled{opacity:.4;cursor:default}.pe-tl-scroll{flex:1 1 auto;min-height:0;overflow:auto;position:relative;background:var(--surface)}.pe-tl-ruler-row{display:flex;position:-webkit-sticky;position:sticky;top:0;z-index:6;width:max-content;min-width:100%}.pe-tl-corner{position:-webkit-sticky;position:sticky;left:0;z-index:7;width:64px;border-right:1px solid var(--border)}.pe-tl-corner,.pe-tl-ruler{flex:none;background:var(--surface-elevated);border-bottom:1px solid var(--border)}.pe-tl-ruler{position:relative;height:28px;touch-action:none}.pe-tl-ruler-tick{position:absolute;top:13px;bottom:0;width:1px;background:var(--border-hover);pointer-events:none}.pe-tl-ruler-tick-label{position:absolute;top:-12px;left:3px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:9px;color:var(--text-muted);letter-spacing:.05em;white-space:nowrap;pointer-events:none}.pe-tl-ruler-frames{left:0;right:0;height:6px}.pe-tl-playhead-cap,.pe-tl-ruler-frames{position:absolute;bottom:0;pointer-events:none}.pe-tl-playhead-cap{top:0;width:1px;background:var(--accent)}.pe-tl-playhead-cap:before{content:"";position:absolute;top:0;left:-5px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:7px solid var(--accent)}.pe-tl-rows{position:relative}.pe-tl-row,.pe-tl-rows{width:max-content;min-width:100%}.pe-tl-row{display:flex;border-bottom:1px solid var(--border)}.pe-tl-row-label{display:flex;align-items:center;justify-content:center;flex:none;width:64px;position:-webkit-sticky;position:sticky;left:0;z-index:3;background:var(--surface-elevated);border-right:1px solid var(--border);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);-webkit-user-select:none;-moz-user-select:none;user-select:none}.pe-tl-row-audio .pe-tl-row-label{color:color-mix(in srgb,var(--success) 55%,var(--text-muted))}.pe-tl-lane{position:relative;flex:none;height:100%;touch-action:none}.pe-tl-row-audio .pe-tl-lane{background:color-mix(in srgb,var(--success) 5%,transparent)}.pe-tl-playhead-line{position:absolute;top:0;bottom:0;width:1px;background:var(--accent);pointer-events:none;z-index:2}.pe-clip{position:absolute;top:3px;height:28px;display:flex;align-items:center;border-radius:5px;border:1px solid var(--border-hover);overflow:hidden;cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1;touch-action:none}.pe-clip:active{cursor:-webkit-grabbing;cursor:grabbing}.pe-clip-asset{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 52%,var(--surface-elevated)),color-mix(in srgb,var(--accent) 28%,var(--surface)));border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.pe-clip-text{background:linear-gradient(180deg,rgba(139,92,246,.5),rgba(139,92,246,.26));border-color:rgba(139,92,246,.6)}.pe-clip-audio{background:linear-gradient(180deg,color-mix(in srgb,var(--success) 38%,var(--surface-elevated)),color-mix(in srgb,var(--success) 16%,var(--surface)));border-color:color-mix(in srgb,var(--success) 45%,var(--border))}.pe-clip-selected{box-shadow:inset 0 0 0 1px var(--text);filter:brightness(1.18)}.pe-clip-hidden{opacity:.4}.pe-clip-drop{outline:2px solid var(--accent-hover);outline-offset:-2px;box-shadow:0 0 0 3px var(--accent-glow)}.pe-clip-label{font-size:10px;font-weight:600;padding:0 7px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.pe-clip-edge{position:absolute;top:0;bottom:0;width:6px;cursor:ew-resize}.pe-clip-edge-start{left:0}.pe-clip-edge-end{right:0}.pe-clip-edge:hover{background:var(--accent-glow)}.pe-tool-razor .pe-clip{cursor:crosshair}.pe-tool-razor .pe-clip-audio{cursor:default}.pe-tool-text .pe-tl-lane{cursor:text}.pe-tl-locked .pe-clip,.pe-tl-locked .pe-tl-lane,.pe-tl-locked .pe-tl-ruler{cursor:default}.pe-tl-locked .pe-clip{opacity:.7}.pe-tl-menu{position:fixed;z-index:10000;min-width:176px;padding:4px;background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 32px color-mix(in srgb,var(--bg) 75%,transparent)}.pe-tl-menu-item{display:flex;align-items:center;width:100%;gap:8px;padding:6px 10px;border:none;border-radius:5px;background:transparent;color:var(--text);font-size:12px;text-align:left;cursor:pointer}.pe-tl-menu-item:hover{background:var(--surface-hover)}.pe-tl-menu-item:disabled{opacity:.45;cursor:default}.pe-tl-menu-item:disabled:hover{background:transparent}.pe-tl-menu-item-danger:hover{background:color-mix(in srgb,var(--error) 22%,var(--surface-hover));color:var(--text)}.pe-tl-menu-sep{height:1px;margin:4px 6px;background:var(--border)}.pe-ecp{display:flex;flex-direction:column;height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;background:var(--surface);font-size:12px;color:var(--text)}.pe-ecp.is-disabled{opacity:.7}.pe-ecp-empty{align-items:center;justify-content:center}.pe-ecp-empty-icon{color:var(--text-muted);opacity:.45}.pe-ecp-header{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--surface-elevated);position:-webkit-sticky;position:sticky;top:0;z-index:2}.pe-ecp-header-icon{display:inline-flex;color:var(--accent);flex:none}.pe-ecp-header-label{flex:1 1;min-width:0;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pe-ecp-header-eye{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:none;padding:0;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text-muted);cursor:pointer}.pe-ecp-header-eye:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border);color:var(--text)}.pe-ecp-header-eye.is-hidden{color:var(--warning)}.pe-ecp-section{border-bottom:1px solid var(--border)}.pe-ecp-section-header{display:flex;align-items:center;gap:6px;width:100%;padding:7px 10px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;text-align:left}.pe-ecp-section-header:hover{background:var(--surface-hover);color:var(--text)}.pe-ecp-chevron{display:inline-flex;flex:none;color:var(--text-muted);transition:transform .15s ease}.pe-ecp-section.is-open .pe-ecp-chevron{transform:rotate(90deg)}.pe-ecp-section-label{flex:1 1;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.pe-ecp-fx-badge{flex:none;font-size:10px;font-style:italic;font-weight:700;color:var(--text-muted);opacity:.6}.pe-ecp-section-body{padding:2px 0 6px}.pe-ecp-row{display:grid;grid-template-columns:18px minmax(54px,68px) minmax(44px,52px) 16px 16px 16px 18px minmax(24px,1fr);grid-gap:3px;gap:3px;align-items:center;padding:2px 10px 2px 8px;min-height:22px}.pe-ecp-row:hover{background:var(--surface-hover)}.pe-ecp-row-static{grid-template-columns:18px minmax(54px,68px) minmax(44px,1fr)}.pe-ecp-row-spacer{width:18px;height:1px}.pe-ecp-kf-toggle,.pe-ecp-nav,.pe-ecp-stopwatch{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer}.pe-ecp-kf-toggle:hover:not(:disabled),.pe-ecp-nav:hover:not(:disabled),.pe-ecp-stopwatch:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.pe-ecp-kf-toggle:disabled,.pe-ecp-nav:disabled,.pe-ecp-stopwatch:disabled{opacity:.35;cursor:default}.pe-ecp-kf-toggle.is-on,.pe-ecp-stopwatch.is-on{color:var(--accent)}.pe-ecp-kf-toggle.is-on svg{fill:currentColor}.pe-ecp-label{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pe-ecp-value{display:inline-block;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:11px;color:var(--accent-hover);cursor:ew-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;border-radius:4px;padding:1px 4px;text-align:right}.pe-ecp-value:hover{background:var(--surface-hover)}.pe-ecp-value.is-disabled{cursor:default;opacity:.5}.pe-ecp-value-input{width:100%;min-width:0;padding:1px 4px;font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;border:1px solid var(--accent);border-radius:4px;color:var(--text);outline:none}.pe-ecp-lane,.pe-ecp-value-input{background:var(--surface-elevated)}.pe-ecp-lane{position:relative;height:18px;min-width:40px;border:1px solid var(--border);border-radius:4px;overflow:hidden}.pe-ecp-lane-playhead{position:absolute;top:0;bottom:0;width:1px;background:var(--accent);opacity:.7;transform:translateX(-.5px);pointer-events:none}.pe-ecp-kf{position:absolute;top:50%;width:9px;height:9px;padding:0;transform:translate(-50%,-50%) rotate(45deg);background:var(--text-muted);border:1px solid var(--border-hover);border-radius:1px;cursor:-webkit-grab;cursor:grab;touch-action:none}.pe-ecp-kf:hover:not(:disabled){background:var(--text)}.pe-ecp-kf.is-playhead{box-shadow:0 0 0 2px var(--accent-glow),0 0 0 1px var(--accent)}.pe-ecp-kf.is-eased{background:var(--surface-elevated);border:2px solid var(--accent-hover)}.pe-ecp-kf.is-selected{background:var(--warning);border-color:var(--warning)}.pe-ecp-kf.is-dragging{cursor:-webkit-grabbing;cursor:grabbing;z-index:1}.pe-ecp-kf:disabled{opacity:.4;cursor:default}.pe-ecp-menu{position:fixed;z-index:10000;min-width:132px;padding:4px;background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 32px rgba(0,0,0,.55)}.pe-ecp-menu-item{display:block;width:100%;padding:5px 8px;background:transparent;border:none;border-radius:5px;font-size:11px;color:var(--text);text-align:left;cursor:pointer}.pe-ecp-menu-item:hover:not(:disabled){background:var(--surface-hover)}.pe-ecp-menu-item:disabled{opacity:.4;cursor:default}.pe-ecp-menu-danger{color:var(--error)}.pe-ecp-menu-sep{height:1px;margin:4px 2px;background:var(--border)}.pe-ecp-effect{margin:2px 8px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface-elevated);overflow:hidden}.pe-ecp-effect-head{display:flex;align-items:center;gap:6px;padding:5px 8px;border-bottom:1px solid var(--border)}.pe-ecp-effect-order{display:inline-flex;gap:2px;margin-left:auto}.pe-ecp-effect-order button{width:20px;height:20px;padding:0;border:0;border-radius:3px;color:var(--text-muted);background:transparent;font:inherit;line-height:20px;cursor:pointer}.pe-ecp-effect-order button:hover:not(:disabled){color:var(--text);background:var(--surface-hover)}.pe-ecp-effect-order button:disabled{opacity:.28;cursor:default}.pe-ecp-effect-label{flex:1 1;min-width:0;font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pe-ecp-effect-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:none;padding:0;background:transparent;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer}.pe-ecp-effect-remove:hover:not(:disabled){background:var(--surface-hover);color:var(--error)}.pe-ecp-effect-remove:disabled{opacity:.4;cursor:default}.pe-ecp-effect .pe-ecp-row{padding-right:8px}.pe-ecp-effect .pe-ecp-lane{background:var(--surface)}.pe-ecp-input{width:100%;min-width:0;padding:3px 6px;font-size:11px;background:var(--surface-elevated);border:1px solid var(--border);border-radius:5px;color:var(--text);outline:none}.pe-ecp-input:focus{border-color:var(--accent)}.pe-ecp-input:disabled{opacity:.5}.pe-ecp-select{width:100%;min-width:0;padding:3px 6px;font-size:11px;background:var(--surface-elevated);border:1px solid var(--border);border-radius:5px;color:var(--text);outline:none;cursor:pointer}.pe-ecp-select:focus{border-color:var(--accent)}.pe-ecp-select:disabled{opacity:.5;cursor:default}.pe-ecp-color{padding:4px 10px 6px}.pe-panel{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0;overflow-y:auto;padding:10px;background:var(--surface);font-size:12px;color:var(--text)}.pe-section-label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.pe-error{font-size:11px;line-height:1.4;color:var(--error)}.pe-bin-section{display:flex;flex-direction:column;gap:8px}.pe-bin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-gap:8px;gap:8px}.pe-card{position:relative;display:flex;flex-direction:column;margin:0;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--surface-elevated);color:var(--text);text-align:left;cursor:pointer;overflow:hidden;transition:border-color .12s ease,background .12s ease}.pe-card:hover{border-color:var(--border-hover);background:var(--surface-hover)}.pe-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-glow)}.pe-card:disabled{opacity:.5;cursor:default}.pe-card-static{cursor:default}.pe-card-thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;width:100%;background:var(--bg);color:var(--accent);overflow:hidden}.pe-card-thumb img,.pe-card-thumb video{width:100%;height:100%;object-fit:cover;display:block}.pe-card-thumb-audio{color:var(--success);background:rgba(16,185,129,.08)}.pe-card-glyph{font-size:24px;font-weight:700;color:var(--text)}.pe-card-label{padding:4px 6px;font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted)}.pe-card-remove{position:absolute;top:3px;right:3px;display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease}.pe-card-remove:focus-visible,.pe-card:hover .pe-card-remove{opacity:1}.pe-card-remove:hover{color:var(--error);border-color:var(--border-hover)}.pe-card-remove:disabled{opacity:0;cursor:default}.pe-card-badge{position:absolute;top:5px;left:5px;width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 4px rgba(16,185,129,.6)}.pe-import-card{align-items:stretch;border-style:dashed;background:transparent}.pe-import-card:hover{border-color:var(--accent);color:var(--accent)}.pe-import-card .pe-card-thumb{background:transparent;color:var(--text-muted)}.pe-import-card:hover .pe-card-thumb{color:var(--accent)}.pe-import-spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:pe-spin .8s linear infinite}@keyframes pe-spin{to{transform:rotate(1turn)}}.pe-disclosure{display:flex;align-items:center;gap:6px;align-self:flex-start;padding:4px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-elevated);color:var(--text-muted);cursor:pointer;transition:color .12s ease,border-color .12s ease}.pe-disclosure:hover{color:var(--text);border-color:var(--border-hover)}.pe-disclosure[aria-expanded=true]{color:var(--accent);border-color:var(--accent)}.pe-audio-embed{padding:8px;min-height:0}.pe-audio-embed,.pe-effects-search{border:1px solid var(--border);border-radius:6px;background:var(--surface-elevated)}.pe-effects-search{display:flex;align-items:center;gap:6px;padding:5px 8px;color:var(--text-muted)}.pe-effects-search input{flex:1 1;min-width:0;border:none;outline:none;background:transparent;color:var(--text);font-size:12px}.pe-effects-search input::placeholder{color:var(--text-muted)}.pe-effects-search:focus-within{border-color:var(--accent)}.pe-effects-categories{display:flex;gap:4px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.pe-effects-categories::-webkit-scrollbar{display:none}.pe-effect-category{flex:none;padding:3px 7px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);font-size:10px;cursor:pointer}.pe-effect-category.is-active,.pe-effect-category:hover{border-color:var(--accent);color:var(--text);background:color-mix(in srgb,var(--accent) 10%,transparent)}.pe-effects-list{display:flex;flex-direction:column;gap:2px}.pe-effect-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;color:var(--text);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .12s ease}.pe-effect-row:hover{background:var(--surface-hover)}.pe-effect-row:active{cursor:-webkit-grabbing;cursor:grabbing}.pe-effect-row.is-disabled{opacity:.5;cursor:default}.pe-effect-label{flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pe-effect-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 4px var(--accent-glow);flex-shrink:0}.pe-props-meta{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-muted);padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-elevated);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pe-prop-row{display:flex;flex-direction:column;gap:4px}.pe-prop-label{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pe-prop-input{width:100%;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-elevated);color:var(--text);font-size:12px;outline:none;transition:border-color .12s ease}.pe-prop-input:focus{border-color:var(--accent)}.pe-prop-input:disabled{opacity:.5}.pe-slider-row{display:flex;flex-direction:column;gap:4px}.pe-slider-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.pe-slider-value{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text)}.pe-range{width:100%;height:16px;margin:0;accent-color:var(--accent);background:transparent;cursor:pointer}.pe-range:disabled{opacity:.5;cursor:default}.pe-prop-download{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-elevated);color:var(--accent);text-decoration:none;font-size:12px;font-weight:600;transition:border-color .12s ease,background .12s ease}.pe-prop-download:hover{border-color:var(--accent);background:var(--surface-hover)}.pe-props-hint{font-size:12px;color:var(--text-muted);line-height:1.4;padding:4px 2px}.pe-prop-inspector{display:flex;flex-direction:column;gap:8px}.pe-prop-group-title{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-top:4px;padding-bottom:2px;border-bottom:1px solid var(--border)}.pe-prop-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px 8px;gap:6px 8px}.pe-prop-num{display:flex;flex-direction:column;gap:3px;min-width:0}.pe-prop-num-label{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.pe-prop-num-field{position:relative;display:flex;align-items:center}.pe-prop-num-input{width:100%;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-elevated);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;outline:none;transition:border-color .12s ease;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.pe-prop-num-input.has-suffix{padding-right:30px}.pe-prop-num-input:focus{border-color:var(--accent)}.pe-prop-num-input:disabled{opacity:.5}.pe-prop-num-suffix{position:absolute;right:8px;font-size:10px;color:var(--text-muted);pointer-events:none}.pe-prop-textarea{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-elevated);color:var(--text);font-size:12px;line-height:1.35;resize:vertical;outline:none;transition:border-color .12s ease}.pe-prop-textarea:focus{border-color:var(--accent)}.pe-prop-textarea:disabled{opacity:.5}.pe-prop-select{width:100%;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-elevated);color:var(--text);font-size:12px;outline:none}.pe-prop-color-row{display:flex;flex-direction:column;gap:4px}.pe-prop-check{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text);cursor:pointer;margin-top:2px}.pe-prop-check input{accent-color:var(--accent);cursor:pointer}.pe-prop-reset{border:1px solid var(--border);border-radius:5px;background:var(--surface-elevated);color:var(--text-muted);font-size:10px;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;cursor:pointer;transition:border-color .12s ease,color .12s ease}.pe-prop-reset:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.pe-prop-reset:disabled{opacity:.5;cursor:default}.pe-prop-composition{display:flex;flex-direction:column;gap:8px}.pe-ecp-graph-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer}.pe-ecp-graph-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.pe-ecp-graph-btn:disabled{opacity:.35;cursor:default}.pe-ecp-graph-btn.is-on{color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent)}.pe-graph{position:fixed;left:50%;bottom:148px;transform:translateX(-50%);width:496px;max-width:calc(100vw - 32px);z-index:9500;background:var(--surface-elevated);border:1px solid var(--border);border-radius:10px;box-shadow:var(--panel-shadow);overflow:hidden}.pe-graph-head{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 6px 10px;border-bottom:1px solid var(--border)}.pe-graph-title{font-size:11px;font-weight:600;color:var(--text)}.pe-graph-close{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;background:transparent;border:none;border-radius:5px;color:var(--text-muted);cursor:pointer}.pe-graph-close:hover{background:var(--surface-hover);color:var(--text)}.pe-graph-canvas{display:block;width:100%;height:auto;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pe-graph-frame{fill:var(--surface)}.pe-graph-frame,.pe-graph-grid{stroke:var(--border);stroke-width:1}.pe-graph-grid{opacity:.4}.pe-graph-playhead{stroke:var(--accent);stroke-width:1;opacity:.6}.pe-graph-ref{stroke:var(--text-muted);stroke-width:1;stroke-dasharray:4 4;opacity:.35}.pe-graph-curve{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.pe-graph-handle-line{stroke:var(--accent);stroke-width:1;opacity:.5}.pe-graph-handle-hit{fill:transparent;cursor:-webkit-grab;cursor:grab}.pe-graph-handle{fill:var(--accent);stroke:var(--surface);stroke-width:2;cursor:-webkit-grab;cursor:grab;pointer-events:none}.pe-graph-point{fill:var(--accent);stroke:var(--surface);stroke-width:1.5;cursor:ns-resize}.pe-graph-point.is-playhead{fill:var(--text)}.pe-graph-hint{padding:5px 10px 7px;font-size:10px;color:var(--text-muted);border-top:1px solid var(--border)}