.storage-panel[data-v-ffbb2f46]{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);z-index:30;width:280px;padding:.9rem 1rem 1rem;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 40px #00000080}.panel-head[data-v-ffbb2f46]{justify-content:space-between;align-items:center;margin-bottom:.85rem;display:flex}.panel-title[data-v-ffbb2f46]{color:var(--text-strong);align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;display:flex}.close-btn[data-v-ffbb2f46]{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;padding:2px;display:flex}.close-btn[data-v-ffbb2f46]:hover{color:var(--text-strong)}.quota-row[data-v-ffbb2f46]{justify-content:space-between;align-items:baseline;margin-bottom:.4rem;display:flex}.quota-label[data-v-ffbb2f46]{color:var(--text-muted);font-size:.75rem}.quota-value[data-v-ffbb2f46]{color:var(--text);font-variant-numeric:tabular-nums;font-size:.8rem}.quota-bar[data-v-ffbb2f46]{background:var(--bg-inset);border-radius:4px;height:8px;overflow:hidden}.quota-fill[data-v-ffbb2f46]{border-radius:4px;height:100%;transition:width .4s,background .3s}.quota-hint[data-v-ffbb2f46]{color:var(--text-muted);margin:.4rem 0 .9rem;font-size:.72rem}.clear-btn[data-v-ffbb2f46]{width:100%}.clear-hint[data-v-ffbb2f46]{color:var(--text-muted);text-align:center;margin:.45rem 0 0;font-size:.7rem}.top-toolbar[data-v-541ce6ba]{background:var(--bg-panel);border-bottom:1px solid var(--border);z-index:20;justify-content:space-between;align-items:center;padding:.6rem 1.5rem;display:flex;position:sticky;top:0}.brand[data-v-541ce6ba]{align-items:center;gap:.5rem;display:flex}.logo[data-v-541ce6ba]{color:var(--accent);align-items:center;display:flex}.title[data-v-541ce6ba]{color:var(--text-strong);letter-spacing:.01em;font-size:1rem;font-weight:600}.tool-actions[data-v-541ce6ba]{flex:1;justify-content:center;align-items:center;gap:.5rem;display:flex}.link-area[data-v-541ce6ba]{align-items:center;gap:1.25rem;display:flex}.site-link[data-v-541ce6ba]{color:var(--text-muted);white-space:nowrap;font-size:.875rem;text-decoration:none;transition:color .15s}.site-link[data-v-541ce6ba]:hover{color:var(--text-strong)}.btn.icon[data-v-541ce6ba]{width:34px;height:34px;padding:0}.divider[data-v-541ce6ba]{background:var(--border-soft);width:1px;height:22px;margin:0 .2rem}.storage-anchor[data-v-541ce6ba]{position:relative}.btn.icon.active[data-v-541ce6ba]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}@media (width<=768px){.title[data-v-541ce6ba],.link-area[data-v-541ce6ba]{display:none}}.gl-preview[data-v-ccf71d58]{width:100%;height:100%;position:absolute;inset:0}.gl-canvas[data-v-ccf71d58],.gl-video[data-v-ccf71d58]{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.gl-canvas.is-hidden[data-v-ccf71d58]{display:none}.gl-video.is-hidden[data-v-ccf71d58]{opacity:0;pointer-events:none;width:1px;height:1px}.video-player-container[data-v-c7c2a149]{border-radius:var(--radius) var(--radius) 0 0;background:#000;flex:1;height:100%;min-height:0;position:relative;overflow:hidden}.split-stage[data-v-c7c2a149]{width:100%;height:100%;position:relative}.layer[data-v-c7c2a149]{width:100%;height:100%;position:absolute;inset:0}.layer.graded[data-v-c7c2a149]{pointer-events:none}.divider[data-v-c7c2a149]{cursor:ew-resize;z-index:5;background:#fff;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0;box-shadow:0 0 6px #0009}.divider-handle[data-v-c7c2a149]{background:#fff;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 6px #0006}.tag[data-v-c7c2a149]{color:#fff;z-index:6;pointer-events:none;background:#0009;border-radius:4px;padding:2px 8px;font-size:.75rem;position:absolute;bottom:8px}.tag-left[data-v-c7c2a149]{left:8px}.tag-right[data-v-c7c2a149]{right:8px}.split-toggle[data-v-c7c2a149]{z-index:10;color:#e5e5e5;cursor:pointer;background:#0009;border:1px solid #fff3;border-radius:6px;padding:.45rem .8rem;font-size:.8rem;transition:all .2s;position:absolute;top:10px;right:10px}.split-toggle[data-v-c7c2a149]:hover{border-color:var(--accent)}.split-toggle.active[data-v-c7c2a149]{background:var(--accent);color:#0a0a0a;border-color:var(--accent)}.filename-dialog-overlay[data-v-0a062080]{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.filename-dialog[data-v-0a062080]{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);width:min(420px,100%);padding:1.1rem 1.2rem 1.2rem;box-shadow:0 16px 48px #0006}.dialog-title[data-v-0a062080]{color:var(--text);margin:0 0 .9rem;font-size:.98rem;font-weight:600}.dialog-body[data-v-0a062080]{align-items:center;gap:6px;display:flex}.dialog-input[data-v-0a062080]{flex:1;min-width:0}.dialog-hint[data-v-0a062080]{color:var(--text-muted);margin:.5rem 0 0;font-size:.74rem}.dialog-actions[data-v-0a062080]{justify-content:flex-end;gap:.6rem;margin-top:1rem;display:flex}.dialog-btn[data-v-0a062080]{min-width:88px}.lut-panel[data-v-3c7e301b]{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--panel-pad);flex-direction:column;height:100%;min-height:0;display:flex}.lut-grid[data-v-3c7e301b]{flex:1;grid-template-columns:repeat(3,1fr);align-content:start;gap:.8rem;min-height:0;display:grid;overflow-y:auto}.lut-card[data-v-3c7e301b]{background:var(--bg-control);border:1px solid var(--border-soft);border-radius:var(--radius);cursor:pointer;flex-direction:column;gap:.35rem;padding:.3rem;transition:border-color .15s,background .15s;display:flex}.lut-card[data-v-3c7e301b]:hover{border-color:var(--accent);background:var(--bg-control-hover)}.lut-card.active[data-v-3c7e301b]{border-color:var(--accent);background:var(--accent-soft)}.lut-thumb[data-v-3c7e301b]{aspect-ratio:4/3;border-radius:var(--radius-sm);background-size:cover;width:100%}.lut-name[data-v-3c7e301b]{color:var(--text);text-align:center;font-size:.75rem}.frame-actions[data-v-3c7e301b]{flex:none;gap:.6rem;margin-top:auto;padding-top:.8rem;display:flex}.preset-actions[data-v-3c7e301b]{flex:none;gap:.6rem;margin-top:0;padding-top:.6rem;display:flex}.cube-actions[data-v-3c7e301b]{flex:none;gap:.6rem;padding-top:.6rem;display:flex}.preset-btn[data-v-3c7e301b]{flex:1}.import-btn[data-v-3c7e301b]{cursor:pointer}.cube-badge[data-v-3c7e301b]{color:var(--accent);background:var(--accent-soft,#6366f11f);border:1px solid var(--accent);border-radius:var(--radius-sm);text-align:center;margin-top:.6rem;padding:.4rem .6rem;font-size:.75rem}@media (width<=768px){.lut-grid[data-v-3c7e301b]{grid-template-columns:repeat(2,1fr)}}.color-controls[data-v-6c2821aa]{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--panel-pad)}.controls-grid[data-v-6c2821aa]{grid-template-columns:1fr;row-gap:.5rem;display:grid}.control-group[data-v-6c2821aa]{grid-template-columns:4.2rem 1fr 3.4rem auto;align-items:center;gap:.4rem;margin-bottom:0;display:grid}.ctrl-name[data-v-6c2821aa]{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.control-group .range[data-v-6c2821aa]{min-width:0}.ctrl-value[data-v-6c2821aa]{justify-content:flex-start;align-items:center;gap:2px;width:100%;display:flex}.num-input[data-v-6c2821aa]{text-align:center;width:48px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.unit[data-v-6c2821aa]{color:var(--text-muted);font-size:.7rem}.reset-one[data-v-6c2821aa]{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--bg-control);width:22px;height:22px;color:var(--text-muted);cursor:pointer;flex:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.reset-one[data-v-6c2821aa]:hover{border-color:var(--accent);color:var(--accent)}.reset-btn[data-v-6c2821aa]{width:100%;margin-top:.6rem}.export-panel[data-v-0461559d]{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--panel-pad);position:relative}.option-group[data-v-0461559d]{margin-bottom:.9rem}.option-label[data-v-0461559d]{color:var(--text-muted);justify-content:space-between;margin-bottom:.35rem;font-size:.85rem;display:flex}.crf-hint[data-v-0461559d]{color:var(--accent);font-weight:600}.export-btn[data-v-0461559d]{width:100%;margin-top:.4rem}.download-btn[data-v-0461559d]{width:100%;margin-top:.6rem}.progress-bar[data-v-0461559d]{background:var(--bg-control);border-radius:var(--radius-sm);width:100%;height:4px;margin-top:.8rem;overflow:hidden}.progress-fill[data-v-0461559d]{background:var(--accent);height:100%;transition:width .3s}.loading-overlay[data-v-0461559d]{background:var(--bg-inset);border:1px solid var(--border-soft);border-radius:var(--radius);color:var(--text-muted);align-items:center;gap:.45rem;margin-top:.6rem;padding:.35rem .5rem;font-size:.78rem;display:flex}.spinner[data-v-0461559d]{border:2px solid var(--border-soft);border-top-color:var(--accent);border-radius:50%;flex:none;width:13px;height:13px;animation:.8s linear infinite spin-0461559d}@keyframes spin-0461559d{to{transform:rotate(360deg)}}.scope-canvas[data-v-e37d9c28],.scope-canvas[data-v-0f15fc8d],.scope-canvas[data-v-a49fd7d1]{width:100%;height:100%;display:block}.monitor-panel[data-v-892ecc4c]{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--panel-pad);flex-direction:column;height:100%;min-height:0;display:flex}.monitor-grid[data-v-892ecc4c]{flex:1;grid-template-columns:1fr;grid-auto-rows:1fr;gap:.8rem;min-height:0;display:grid}.monitor-card[data-v-892ecc4c]{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--bg-inset);flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.3rem;min-height:0;padding:.4rem;display:flex;position:relative;overflow:hidden}.monitor-card[data-v-892ecc4c]:not(:has(.monitor-scope)){border-style:dashed;justify-content:center;align-items:center}.monitor-label[data-v-892ecc4c]{color:var(--text-muted);flex:none;font-size:.7rem}.monitor-scope[data-v-892ecc4c]{flex:1;width:100%;min-height:0}.monitor-badge[data-v-892ecc4c]{color:var(--text-dim);border:1px solid var(--border-soft);border-radius:var(--radius);padding:.1rem .5rem;font-size:.65rem}.curve-editor[data-v-d1baa068]{flex-direction:column;gap:.5rem;min-height:0;display:flex}.channel-tabs[data-v-d1baa068]{gap:.3rem;display:flex}.chan-tab[data-v-d1baa068]{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-control);color:var(--text-muted);cursor:pointer;flex:1;padding:.3rem 0;font-size:.72rem;transition:all .15s}.chan-tab.active[data-v-d1baa068]{border-color:var(--chan);color:var(--chan);background:var(--bg-control-hover)}.curve-stage[data-v-d1baa068]{aspect-ratio:1;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;position:relative}.curve-svg[data-v-d1baa068]{border-radius:inherit;touch-action:none;cursor:crosshair;width:100%;height:100%;display:block;position:absolute;inset:0}.grid[data-v-d1baa068]{stroke:var(--border-soft);stroke-width:.4px;stroke-dasharray:1.5 1.5}.ref[data-v-d1baa068]{stroke:var(--curve-ref);stroke-width:.6px;stroke-dasharray:2 2}.curve[data-v-d1baa068]{stroke-width:1.2px;vector-effect:non-scaling-stroke}.ctrl-dot[data-v-d1baa068]{pointer-events:none;border-radius:50%;width:7px;height:7px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0000008c}.ctrl-dot.dragging[data-v-d1baa068]{width:9px;height:9px}.curve-foot[data-v-d1baa068]{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.hint[data-v-d1baa068]{color:var(--text-dim);font-size:.62rem}.btn.mini[data-v-d1baa068]{align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.7rem;display:inline-flex}.curve-panel[data-v-126e18fc]{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--panel-pad);flex-direction:column;gap:.6rem;min-height:0;display:flex}.wheel-wrap[data-v-11d1a4db]{flex-direction:column;flex:1 1 0;align-items:center;gap:.3rem;min-width:0;display:flex}.wheel-stage[data-v-11d1a4db]{aspect-ratio:1;width:100%;max-width:225px;position:relative}.wheel-hue-ring[data-v-11d1a4db]{pointer-events:none;background:conic-gradient(from 90deg,red 0deg,#ff0 60deg,#0f0 120deg,#0ff 180deg,#00f 240deg,#f0f 300deg,red 360deg);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 0 65%,#000 65%);mask:radial-gradient(circle,#0000 0 65%,#000 65%)}.wheel-svg[data-v-11d1a4db]{cursor:grab;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.wheel-svg[data-v-11d1a4db]:active{cursor:grabbing}.wheel-reset[data-v-11d1a4db]{border:1px solid var(--border);background:var(--bg-panel);width:18px;height:18px;color:var(--text-muted);cursor:pointer;opacity:0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .15s,color .15s,border-color .15s;display:inline-flex;position:absolute;top:2px;right:2px}.wheel-stage:hover .wheel-reset[data-v-11d1a4db],.wheel-reset[data-v-11d1a4db]:focus-visible{opacity:1}.wheel-reset[data-v-11d1a4db]:hover{color:var(--accent);border-color:var(--accent)}.cross[data-v-11d1a4db]{stroke:var(--border-soft);stroke-width:.4px}.handle-outline[data-v-11d1a4db]{fill:none;stroke:#0a0a0a;stroke-width:2.4px}.handle-ring[data-v-11d1a4db]{fill:none;stroke:var(--accent);stroke-width:1px}.handle-ring.active[data-v-11d1a4db]{stroke:var(--accent-strong,#818cf8)}.wheel-label[data-v-11d1a4db]{color:var(--text-muted);font-size:.68rem}.wheels-panel[data-v-77479c96]{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--panel-pad);flex-direction:column;gap:.6rem;min-height:0;display:flex}.wheels-row[data-v-77479c96]{flex:1;justify-content:space-around;align-items:center;gap:.4rem;min-height:0;display:flex}.reset-btn[data-v-77479c96]{align-self:flex-start;align-items:center;gap:.25rem;font-size:.7rem;display:inline-flex}.player-control-bar[data-v-7dec22dc]{border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);background:var(--bg-inset);-webkit-user-select:none;user-select:none;border-top:none;align-items:center;gap:1rem;margin-top:0;padding:.6rem .8rem;display:flex}.player-control-bar.disabled[data-v-7dec22dc]{opacity:.5}.play-btn[data-v-7dec22dc]{border-radius:var(--radius);border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;flex:none;justify-content:center;align-items:center;width:34px;height:34px;transition:background .15s,transform .1s;display:flex}.play-btn[data-v-7dec22dc]:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.play-btn[data-v-7dec22dc]:active:not(:disabled){transform:scale(.94)}.play-btn[data-v-7dec22dc]:disabled{cursor:not-allowed;background:var(--bg-control);border-color:var(--border-soft);color:var(--text-dim)}.track[data-v-7dec22dc]{border-radius:var(--radius-sm);background:var(--bg-control);cursor:pointer;touch-action:none;flex:1;height:6px;position:relative}.track-fill[data-v-7dec22dc]{border-radius:var(--radius-sm);background:var(--accent);pointer-events:none;position:absolute;top:0;bottom:0;left:0}.track-handle[data-v-7dec22dc]{width:3px;height:14px;box-shadow:0 0 0 1px var(--accent), 0 1px 4px #00000080;pointer-events:none;background:#fff;border-radius:1px;position:absolute;top:50%;transform:translate(-50%,-50%)}.time[data-v-7dec22dc]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap;flex:none;font-size:.8rem}.time .cur[data-v-7dec22dc]{color:var(--text-strong)}.time .sep[data-v-7dec22dc]{color:var(--text-dim);margin:0 .25rem}.loop-btn[data-v-7dec22dc]{border-radius:var(--radius);border:1px solid var(--border-soft);background:var(--bg-control);width:34px;height:34px;color:var(--text-muted);cursor:pointer;flex:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.loop-btn[data-v-7dec22dc]:hover:not(:disabled){color:var(--text-strong);border-color:var(--accent)}.loop-btn.active[data-v-7dec22dc]{background:var(--accent);color:#fff;border-color:var(--accent)}.loop-btn[data-v-7dec22dc]:disabled{cursor:not-allowed;opacity:.5}.mute-btn[data-v-7dec22dc]{border-radius:var(--radius);border:1px solid var(--border-soft);background:var(--bg-control);width:34px;height:34px;color:var(--text-muted);cursor:pointer;flex:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.mute-btn[data-v-7dec22dc]:hover:not(:disabled){color:var(--text-strong);border-color:var(--accent)}.mute-btn.active[data-v-7dec22dc]{background:var(--accent);color:#fff;border-color:var(--accent)}.mute-btn[data-v-7dec22dc]:disabled{cursor:not-allowed;opacity:.5}.toast-container[data-v-cea42c4a]{z-index:9999;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:20px;right:20px}.toast-item[data-v-cea42c4a]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;border-radius:8px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;box-shadow:0 4px 12px #0006}.toast-error[data-v-cea42c4a]{color:#ff6b6b;background:#ff6b6b26;border:1px solid #ff6b6b4d}.toast-success[data-v-cea42c4a]{color:#4ecdc4;background:#4ecdc426;border:1px solid #4ecdc44d}.toast-info[data-v-cea42c4a]{color:#e5e5e5;background:#ffffff1a;border:1px solid #ffffff26}.toast-enter-active[data-v-cea42c4a],.toast-leave-active[data-v-cea42c4a]{transition:all .3s}.toast-enter-from[data-v-cea42c4a],.toast-leave-to[data-v-cea42c4a]{opacity:0;transform:translate(20px)}.confirm-overlay[data-v-87b33b7d]{z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0a0a99;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog[data-v-87b33b7d]{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);width:min(420px,90vw);padding:1.5rem;box-shadow:0 12px 40px #00000080}.confirm-title[data-v-87b33b7d]{color:var(--text-strong);margin-bottom:.75rem;font-size:1.05rem;font-weight:600}.confirm-message[data-v-87b33b7d]{color:var(--text);white-space:pre-line;margin-bottom:1.25rem;font-size:.9rem;line-height:1.5}.confirm-actions[data-v-87b33b7d]{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.confirm-fade-enter-active[data-v-87b33b7d],.confirm-fade-leave-active[data-v-87b33b7d]{transition:opacity .2s}.confirm-fade-enter-from[data-v-87b33b7d],.confirm-fade-leave-to[data-v-87b33b7d]{opacity:0}.about-section[data-v-ed6cddbd]{background:var(--bg-base,#0e0e10);color:var(--text,#d4d4d8);border-bottom:1px solid var(--border,#2a2a30);padding:3.5rem 1.5rem 4rem;display:none}.about-section.is-open[data-v-ed6cddbd]{display:block}.about-inner[data-v-ed6cddbd]{max-width:720px;margin:0 auto}.about-head[data-v-ed6cddbd]{align-items:center;gap:.6rem;display:flex}.about-logo[data-v-ed6cddbd]{color:var(--accent,#6ea8fe);align-items:center;display:flex}.about-head h1[data-v-ed6cddbd]{color:var(--text-strong,#f2f2f4);letter-spacing:.01em;margin:0;font-size:1.5rem;font-weight:700}.about-lead[data-v-ed6cddbd]{color:var(--text,#d4d4d8);margin:1rem 0 1.5rem;font-size:1.05rem;line-height:1.7}.about-points[data-v-ed6cddbd]{color:var(--text-muted,#9a9aa2);flex-direction:column;gap:.6rem;margin:0 0 2rem;padding-left:1.2rem;line-height:1.6;display:flex}.about-points strong[data-v-ed6cddbd]{color:var(--text-strong,#f2f2f4)}.about-actions[data-v-ed6cddbd]{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.about-link[data-v-ed6cddbd]{color:var(--text-muted,#9a9aa2);white-space:nowrap;font-size:.9rem;text-decoration:none;transition:color .15s}.about-link[data-v-ed6cddbd]:hover{color:var(--text-strong,#f2f2f4)}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-body{flex-direction:column;flex:1;gap:.75rem;width:100%;min-height:0;padding:.75rem;display:flex}.workspace{flex:1;grid-template-columns:15% minmax(0,1fr) 15%;align-items:stretch;gap:.75rem;min-height:0;display:grid}.col-scopes,.col-lut{min-width:0;min-height:0;overflow-y:auto}.preview-stage{flex-direction:column;gap:0;min-width:0;min-height:0;display:flex;overflow-y:auto}.dock{--dock-h:clamp(220px, 38vh, 360px);--curve-col:calc(var(--dock-h) - 132px);grid-template-columns:1fr var(--curve-col) 18% 12%;flex:0 0 var(--dock-h);align-items:stretch;gap:.75rem;min-height:0;display:grid}.dock>.panel{min-height:0;overflow-y:auto}.dock>.curve-panel{overflow:hidden}.upload-zone{border:2px dashed var(--border-soft);border-radius:var(--radius);text-align:center;background:var(--bg-inset);flex:1;justify-content:center;align-items:center;padding:4rem 2rem;transition:border-color .2s,background .2s;display:flex}.upload-zone:hover{border-color:var(--accent);background:var(--bg-base)}.upload-prompt{flex-direction:column;align-items:center;gap:1rem;display:flex}.upload-icon{color:var(--text-muted)}.upload-prompt h2{font-size:1.5rem;font-weight:600}.upload-prompt p{color:var(--text-muted)}.upload-btn{cursor:pointer;margin-top:.5rem}.drag-overlay{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;background:#0a0a0ad9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.drag-hint{text-align:center;border:2px dashed var(--accent);border-radius:var(--radius);color:var(--text-strong);flex-direction:column;align-items:center;gap:.8rem;padding:3rem 4rem;display:flex}.drag-hint svg{color:var(--accent)}.drag-hint p{font-size:1.1rem;font-weight:600}@media (width<=1024px){.app-body{overflow-y:auto}.workspace,.dock{flex:none;grid-template-columns:1fr}}@media (width<=768px){.app-body{padding:.5rem}}:root{--bg-base:#1e1e1e;--bg-panel:#2a2a2a;--bg-control:#3a3a3a;--bg-control-hover:#474747;--bg-inset:#161616;--curve-ref:#f9aa5d;--border:#0a0a0a;--border-soft:#4a4a4a;--border-highlight:#5a5a5a;--text:#d4d4d4;--text-strong:#f2f2f2;--text-muted:#8c8c8c;--text-dim:#6a6a6a;--accent:#4d7fff;--accent-hover:#6b94ff;--accent-pressed:#3a63d6;--accent-soft:#4d7fff2e;--danger:#e25c5c;--danger-soft:#e25c5c1f;--radius:2px;--radius-sm:1px;--space:8px;--panel-pad:12px;--font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Roboto Mono", ui-monospace, monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-ui);background:var(--bg-base);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:14px;line-height:1.45}#app{width:100%;min-height:100vh}h1,h2,h3,h4{color:var(--text-strong);font-weight:600}.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--panel-pad)}.panel-title{color:var(--text-strong);margin-bottom:var(--panel-pad);letter-spacing:.02em;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.panel-title svg{width:15px;height:15px;color:var(--text-muted)}.btn{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--bg-control);color:var(--text);font-family:var(--font-ui);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--bg-control-hover);border-color:var(--border-highlight)}.btn:active:not(:disabled){background:var(--bg-control)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn svg{width:15px;height:15px}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active:not(:disabled){background:var(--accent-pressed);border-color:var(--accent-pressed)}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0;font-weight:600}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.input,.select{border:1px solid var(--border-soft);border-radius:var(--radius);background:var(--bg-inset);width:100%;color:var(--text);font-family:var(--font-ui);padding:6px 8px;font-size:13px;transition:border-color .15s}.input:focus,.select:focus{border-color:var(--accent);outline:none}.select{cursor:pointer;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);background-position:calc(100% - 14px),calc(100% - 9px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:26px}.select option{background:var(--bg-panel);color:var(--text)}.range{appearance:none;border-radius:var(--radius-sm);background:var(--bg-inset);cursor:pointer;outline:none;width:100%;height:4px}.range::-webkit-slider-thumb{appearance:none;background:var(--accent);border:2px solid var(--bg-base);cursor:pointer;border-radius:50%;width:14px;height:14px;transition:background .15s}.range::-webkit-slider-thumb:hover{background:var(--accent-hover)}.range::-moz-range-thumb{background:var(--accent);border:2px solid var(--bg-base);cursor:pointer;border-radius:50%;width:14px;height:14px}.range:disabled{opacity:.5;cursor:not-allowed}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ext-hint{color:var(--text-muted);background:var(--bg-inset);border:1px solid var(--border-soft);border-radius:var(--radius);flex:none;align-self:stretch;align-items:center;padding:0 6px;font-size:12px;display:inline-flex}
