.effects-panel-body{flex:1;overflow-y:scroll;padding:12px;min-height:0}.effect-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--border);background:var(--surface);cursor:pointer;margin-bottom:5px;transition:var(--trans);border-radius:var(--r-sm)}.effect-item:hover{border-color:var(--border2)}.effect-item.selected{border-color:var(--accent);background:#00e5ff0a}.effect-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.effect-info{flex:1}.effect-name{font-size:9px;letter-spacing:1px;color:var(--text)}.effect-sub{font-size:8px;color:var(--label);margin-top:2px}.shader-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;max-height:260px;overflow-y:auto;margin-bottom:10px}.shader-card{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:var(--r-sm);overflow:hidden;transition:border-color var(--trans);position:relative}.shader-card:hover{border-color:var(--border2)}.shader-card.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.shader-card-thumb{width:100%;height:56px;object-fit:cover;display:block;background:var(--surface2)}.shader-card-thumb-placeholder{width:100%;height:56px;background:var(--surface2);display:flex;align-items:center;justify-content:center;font-size:7px;color:var(--border2);letter-spacing:1px}.shader-card-name{font-size:6.5px;letter-spacing:.5px;color:var(--text2);padding:3px 4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.shader-card-del{position:absolute;top:2px;right:2px;font-size:9px;line-height:1;color:var(--danger);background:#0000008c;border:none;cursor:pointer;padding:1px 4px;border-radius:var(--r-xs);display:none}.shader-card:hover .shader-card-del{display:block}.shader-card-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;height:78px;color:var(--label);font-size:7px;letter-spacing:1px;gap:3px}.hit-effect-badge{position:absolute;bottom:2px;width:6px;height:6px;border-radius:50%;border:1px solid #000;pointer-events:none}.shader-param-row{margin-bottom:9px}.shader-param-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:3px}.shader-param-label{font-size:7.5px;letter-spacing:.8px;color:var(--label);text-transform:uppercase}.shader-param-val{font-size:8px;color:var(--text2);font-variant-numeric:tabular-nums;min-width:36px;text-align:right;font-family:monospace}input[type=range].shader-slider{-webkit-appearance:none;width:100%;height:4px;background:var(--border2);outline:none;cursor:pointer;border-radius:var(--r-pill);display:block}input[type=range].shader-slider::-webkit-slider-runnable-track{height:4px;border-radius:var(--r-pill)}input[type=range].shader-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--accent);border-radius:50%;cursor:grab;box-shadow:0 0 4px #00e5ff59;margin-top:-5px}input[type=range].shader-slider::-webkit-slider-thumb:active{cursor:grabbing;background:var(--accent2)}input[type=range].shader-slider::-moz-range-thumb{width:11px;height:11px;background:var(--accent);border-radius:50%;border:none;cursor:grab}.shader-axis-row{display:flex;align-items:center;gap:5px;margin-bottom:3px}.shader-axis-label{font-size:7px;color:var(--border2);width:8px;flex-shrink:0;letter-spacing:0}.eff-type-dropdown{position:relative;width:100%}.eff-type-trigger{width:100%;display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--surface2, #111);border:1px solid var(--border);cursor:pointer;color:var(--text);font-family:DM Mono,monospace;font-size:9px;letter-spacing:1px;transition:border-color .15s}.eff-type-trigger:hover{border-color:var(--accent)}.eff-type-trigger-canvas{flex-shrink:0;border-radius:2px;display:block}.eff-type-trigger-label{flex:1;text-align:left}.eff-type-trigger-arrow{font-size:9px;color:var(--border2);flex-shrink:0}.eff-type-options{position:absolute;top:100%;left:0;right:0;z-index:200;background:var(--surface, #0e1a0e);border:1px solid var(--accent);border-top:none;max-height:280px;overflow-y:auto;box-shadow:0 8px 24px #000000b3}.eff-type-option{display:flex;align-items:center;gap:10px;padding:6px 10px;cursor:pointer;font-family:DM Mono,monospace;font-size:8.5px;letter-spacing:.8px;color:var(--text2);transition:background .1s,color .1s;border-bottom:1px solid var(--border)}.eff-type-option:last-child{border-bottom:none}.eff-type-option:hover{background:#00e5ff12;color:var(--text)}.eff-type-option--active{color:var(--accent)}.eff-type-option--active:hover{background:#00e5ff1f}.eff-type-option canvas{flex-shrink:0;border-radius:2px;border:1px solid var(--border);display:block}.pw-scope{display:flex;flex-direction:column;gap:8px}.pw-card{border:1px solid var(--border);border-radius:6px;background:#ffffff04;padding:8px 10px 10px}.pw-card-title{font-size:7.5px;letter-spacing:2px;color:var(--label);text-transform:uppercase;margin-bottom:7px;display:flex;align-items:baseline;gap:8px}.pw-card-hint{font-size:7px;letter-spacing:.5px;color:var(--border2);text-transform:none}.pw-card-head{display:flex;align-items:center;gap:8px;padding:8px}.pw-name{flex:1;min-width:60px;font-family:DM Mono,monospace;font-size:11px;letter-spacing:1px;background:transparent;border:none;border-bottom:1px dashed var(--border);color:var(--fg);padding:3px 2px;outline:none}.pw-name:focus{border-bottom-color:var(--accent)}.pw-row{display:flex;align-items:center;gap:8px;margin:6px 0}.pw-lbl{font-size:8px;letter-spacing:.5px;color:var(--text2);width:86px;flex-shrink:0;cursor:default}.pw-lbl-block{display:block;width:auto;margin-bottom:5px}.eff-durmode{margin-top:-2px}.eff-durmode .pw-lbl{color:var(--accent2);cursor:help}.eff-durmode-btns{display:flex;gap:4px;flex:1}.eff-durmode-btn{flex:1;font-family:DM Mono,monospace;font-size:7px;letter-spacing:.8px;padding:3px 4px;border:1px solid var(--border);border-radius:2px;background:transparent;color:var(--text2);cursor:pointer;transition:all var(--trans)}.eff-durmode-btn:hover{border-color:var(--accent2);color:var(--accent2)}.eff-durmode-btn.on{border-color:var(--accent2);color:var(--accent2);background:#00e88f1f}.pw-range{flex:1;-webkit-appearance:none;appearance:none;height:3px;background:var(--border);border-radius:2px;outline:none;cursor:pointer}.pw-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:var(--accent);border:2px solid #0b0f0b;box-shadow:0 0 6px #00e5ff80;cursor:grab}.pw-range:active::-webkit-slider-thumb{cursor:grabbing;transform:scale(1.15)}.pw-val{font-size:8.5px;font-variant-numeric:tabular-nums;color:var(--accent);min-width:34px;text-align:right;flex-shrink:0}.pw-chiprow{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 2px}.pw-chip{font-family:DM Mono,monospace;font-size:7.5px;letter-spacing:.5px;padding:4px 9px;border-radius:999px;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--fg-dim);transition:all .12s;display:inline-flex;align-items:center;gap:4px}.pw-chip .pw-chip-ic{font-size:9px;opacity:.8}.pw-chip:hover{border-color:var(--label);color:var(--text2)}.pw-chip.on{border-color:var(--accent);color:var(--accent);background:#00e5ff14;box-shadow:0 0 6px #00e5ff26}.pw-tiles{margin:4px 0}.pw-tilegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.pw-tile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 2px 4px;border-radius:4px;cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--fg-dim);transition:all .12s}.pw-tile:hover{border-color:var(--label);color:var(--text2)}.pw-tile.on{border-color:var(--accent);color:var(--accent);background:#00e5ff12}.pw-tile-ic{font-size:11px;line-height:1.2}.pw-tile-lb{font-size:6.5px;letter-spacing:.5px;text-transform:uppercase}.pw-tile-sq{aspect-ratio:1;justify-content:center;font-size:13px}.pw-tile-cv{width:100%;height:22px;border-radius:3px}.pw-stagewrap{position:relative;margin:2px 0 6px}.pw-stage{display:block;width:100%;height:120px;border:1px solid var(--border);border-radius:5px;background:#07090c;cursor:crosshair;touch-action:none}.pw-stage-wide{height:78px}.pw-stage-cap{font-size:6.5px;letter-spacing:1px;color:var(--border2);text-transform:uppercase;text-align:center;margin-top:3px}.pw-sweep{display:flex;gap:6px;align-items:stretch;min-width:0}.pw-sweep .pw-stage{flex:1 1 0;min-width:0;height:auto;min-height:74px}.pw-compass{display:grid;grid-template-columns:repeat(2,26px);grid-auto-rows:26px;gap:4px;align-content:center;flex-shrink:0}.pw-scope,.pw-card{min-width:0;max-width:100%;box-sizing:border-box}.pw-card-head{flex-wrap:wrap}.pw-range{min-width:0}
