@font-face{font-family:__GeistSans_245d8d;src:url(/_next/static/media/27834908180db20f-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:__GeistSans_Fallback_245d8d;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}.__className_245d8d{font-family:__GeistSans_245d8d,__GeistSans_Fallback_245d8d}.__variable_245d8d{--font-geist-sans:"__GeistSans_245d8d","__GeistSans_Fallback_245d8d"}@font-face{font-family:__GeistMono_97c177;src:url(/_next/static/media/78fec81b34c4a365.p.woff2) format("woff2");font-display:swap;font-weight:100 900}.__className_97c177{font-family:__GeistMono_97c177,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.__variable_97c177{--font-geist-mono:"__GeistMono_97c177",ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}:root{--accent-h:155;--accent-s:63%;--accent-l:40%;--neutral-h:25;--neutral-s:3%;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--font-sans:var(--font-geist-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:var(--font-geist-mono),"SF Mono","Cascadia Code",monospace;--text-xs:11px;--text-sm:13px;--text-base:15px;--text-lg:17px;--text-xl:22px;--text-2xl:28px;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--ease-default:cubic-bezier(0.4,0,0.2,1);--duration-fast:120ms;--duration-normal:200ms;--accent:hsl(var(--accent-h),var(--accent-s),var(--accent-l));--accent-hover:hsl(var(--accent-h),var(--accent-s),35%);--accent-light:hsla(var(--accent-h),var(--accent-s),var(--accent-l),0.15);--accent-text:hsl(var(--accent-h),var(--accent-s),70%);--page-bg:#151414;--page-bg-card:#222120;--page-bg-hover:#2d2b2a;--page-bg-muted:#1a1919;--page-text:#e8e6e2;--page-text-secondary:#c5c0b9;--page-text-muted:#9a9590;--page-text-dim:#7a7570;--page-border:hsla(0,0%,100%,.1);--page-border-strong:hsla(0,0%,100%,.15);--page-border-focus:var(--accent);--status-success:#2a5;--status-error:#ef4444;--status-warning:#f59e0b;--status-info:var(--accent);--appbar-bg:#0c0c0e;--appbar-text:#fafafa;--appbar-text-muted:#71717a;--appbar-border:hsla(0,0%,100%,.06);--appbar-nav-hover:hsla(0,0%,100%,.08);--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 2px 8px rgba(0,0,0,.4);--shadow-lg:0 4px 16px rgba(0,0,0,.5)}body.studio-active{--s-bg-deepest:#100f0f;--s-bg-canvas:#151414;--s-bg-base:#1a1919;--s-bg-raised:#222120;--s-bg-overlay:#2a2928;--s-bg-hover:#32302f;--s-border-subtle:hsla(0,0%,100%,.06);--s-border-default:hsla(0,0%,100%,.1);--s-border-strong:hsla(0,0%,100%,.15);--s-text-primary:#e8e6e2;--s-text-secondary:#c5c0b9;--s-text-muted:#9a9590;--s-text-dim:#7a7570;--s-text-disabled:#6a655f;--s-accent:hsl(var(--accent-h),var(--accent-s),var(--accent-l));--s-accent-hover:hsl(var(--accent-h),var(--accent-s),48%);--s-accent-glow:hsla(var(--accent-h),var(--accent-s),var(--accent-l),0.2);--s-interactive-accent-bg:hsla(var(--accent-h),var(--accent-s),var(--accent-l),0.12);--s-interactive-accent-text:hsl(var(--accent-h),var(--accent-s),75%);--s-playhead:var(--s-accent);--s-snap-guide:hsla(var(--accent-h),var(--accent-s),60%,0.55);--s-generating-bg:var(--s-bg-overlay);--s-success:#2a5;--s-success-hover:#3b6;--s-error:#ef4444;--s-error-text:#f87171;--s-warning:#f5d90a}:root{--btn-bg:var(--accent);--btn-bg-hover:var(--accent-hover);--btn-text:#fff;--btn-border:transparent;--btn-radius:var(--radius-md);--btn-height:36px;--btn-font:var(--text-sm);--btn-weight:var(--weight-semibold);--btn-secondary-bg:transparent;--btn-secondary-bg-hover:var(--page-bg-hover);--btn-secondary-text:var(--page-text);--btn-secondary-border:var(--page-border);--btn-danger-bg:var(--status-error);--btn-danger-bg-hover:#b81e1e;--btn-danger-text:#fff;--btn-ghost-bg:transparent;--btn-ghost-bg-hover:var(--page-bg-hover);--btn-ghost-text:var(--page-text-secondary);--input-bg:var(--page-bg-card);--input-border:var(--page-border);--input-border-focus:var(--accent);--input-text:var(--page-text);--input-placeholder:var(--page-text-dim);--input-radius:var(--radius-md);--input-height:36px;--input-font:var(--text-sm);--card-bg:var(--page-bg-card);--card-border:var(--page-border);--card-border-hover:var(--accent);--card-radius:var(--radius-lg);--card-shadow:var(--shadow-sm);--card-shadow-hover:var(--shadow-md);--badge-radius:var(--radius-full);--badge-font:var(--text-xs);--badge-weight:var(--weight-semibold);--modal-bg:var(--page-bg-card);--modal-overlay:rgba(0,0,0,.7);--modal-radius:var(--radius-xl);--modal-shadow:var(--shadow-lg)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,textarea:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--input-bg,#1a1a1a) inset!important;-webkit-text-fill-color:var(--input-text,#e8e6e2)!important;caret-color:var(--input-text,#e8e6e2);-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;color:var(--page-text);background:var(--page-bg)}.app-bar{display:flex;align-items:center;height:44px;padding:0 var(--space-5);background:var(--appbar-bg);border-bottom:1px solid var(--appbar-border);gap:var(--space-4);position:-webkit-sticky;position:sticky;top:0;z-index:40}.app-bar-brand{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--appbar-text);text-decoration:none;letter-spacing:-.3px}.app-bar-nav{display:flex;gap:var(--space-1)}.app-bar-nav a{font-size:var(--text-sm);color:var(--appbar-text-muted);text-decoration:none;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.app-bar-nav a.active,.app-bar-nav a:hover{background:var(--appbar-nav-hover);color:var(--appbar-text)}.content-area{max-width:1440px;margin:0 auto;padding:var(--space-6) var(--space-5)}.pipeline-list{list-style:none}.pipeline-item{padding:var(--space-4);border:1px solid var(--page-border);border-radius:var(--radius-md);margin-bottom:var(--space-2);cursor:pointer;transition:background var(--duration-normal) var(--ease-default)}.pipeline-item:hover{background:var(--page-bg-hover)}.pipeline-item h3{font-size:18px;margin-bottom:5px}.pipeline-meta{color:var(--page-text-secondary);font-size:var(--text-base)}.pipeline-status{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-bold);margin-right:10px}.status-draft{background:rgba(230,179,26,.15);color:#edc95e}.status-active{background:hsla(var(--accent-h),var(--accent-s),var(--accent-l),.15);color:hsl(var(--accent-h),var(--accent-s),65%)}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;margin-bottom:var(--space-1);font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--page-text-secondary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-2);border:1px solid var(--input-border);border-radius:var(--input-radius);font-size:var(--input-font);background:var(--input-bg);color:var(--input-text);transition:border-color var(--duration-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--input-border-focus);box-shadow:0 0 0 2px hsla(var(--accent-h),var(--accent-s),var(--accent-l),.15)}.form-group textarea{min-height:100px;font-family:var(--font-mono)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--btn-height);padding:0 var(--space-4);border:1px solid var(--btn-border);border-radius:var(--btn-radius);font-size:var(--btn-font);font-weight:var(--btn-weight);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.btn-primary{background:var(--btn-bg);color:var(--btn-text);border-color:transparent}.btn-primary:hover{background:var(--btn-bg-hover);box-shadow:0 0 16px -2px hsla(var(--accent-h),var(--accent-s),var(--accent-l),.3)}.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border-color:var(--btn-secondary-border)}.btn-secondary:hover{background:var(--btn-secondary-bg-hover)}.btn-success{background:var(--accent);color:#fff;border-color:transparent}.btn-success:hover{background:var(--accent-hover);box-shadow:0 0 16px -2px hsla(var(--accent-h),var(--accent-s),var(--accent-l),.3)}.btn-danger{background:var(--btn-danger-bg);color:var(--btn-danger-text);border-color:transparent}.btn-danger:hover{background:var(--btn-danger-bg-hover)}.json-editor{width:100%;min-height:400px;padding:var(--space-3);border:1px solid var(--input-border);border-radius:var(--input-radius);font-family:var(--font-mono);font-size:13px;line-height:1.4;background:var(--input-bg);color:var(--input-text)}.loading{text-align:center;padding:var(--space-10);color:var(--page-text-muted)}.error{background:rgba(163,41,41,.15);color:var(--status-error);border-radius:var(--radius-md);border:1px solid rgba(163,41,41,.25)}.error,.success{padding:var(--space-4);margin-bottom:var(--space-5)}.success{background:hsla(var(--accent-h),var(--accent-s),var(--accent-l),.15);color:var(--accent-text);border-radius:var(--radius-md);border:1px solid hsla(var(--accent-h),var(--accent-s),var(--accent-l),.25)}.pipeline-detail{display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.detail-section{border:1px solid var(--page-border);border-radius:var(--radius-md);padding:var(--space-4)}.detail-section h2{font-size:18px;margin-bottom:var(--space-4)}.detail-row{display:flex;margin-bottom:var(--space-2)}.detail-label{font-weight:var(--weight-semibold);width:150px;flex-shrink:0}.detail-value{flex-grow:1}.tags{display:flex;flex-wrap:wrap;gap:5px}.tag{background:var(--page-bg-muted);padding:3px 8px;border-radius:var(--radius-sm);font-size:var(--text-sm)}.studio-shell{--s-bg-deepest:#100f0f;--s-bg-canvas:#151414;--s-bg-base:#1a1919;--s-bg-raised:#222120;--s-bg-overlay:#2a2928;--s-bg-hover:#32302f;--s-border-subtle:hsla(0,0%,100%,.06);--s-border-default:hsla(0,0%,100%,.1);--s-border-strong:hsla(0,0%,100%,.15);--s-text-primary:#e8e6e2;--s-text-secondary:#c5c0b9;--s-text-muted:#9a9590;--s-text-dim:#7a7570;--s-text-disabled:#6a655f;--s-interactive-accent-bg:hsla(var(--accent-h),var(--accent-s),var(--accent-l),0.12);--s-interactive-accent-text:hsl(var(--accent-h),var(--accent-s),75%);--s-playhead:var(--s-accent);--s-snap-guide:hsla(var(--accent-h),var(--accent-s),60%,0.55);--s-generating-bg:var(--s-bg-overlay);--s-accent:hsl(var(--accent-h),var(--accent-s),var(--accent-l));--s-accent-hover:hsl(var(--accent-h),var(--accent-s),48%);--s-accent-glow:hsla(var(--accent-h),var(--accent-s),var(--accent-l),0.2);--s-success:#2a5;--s-success-hover:#3b6;--s-error:#f44;--s-error-text:#f66;--s-warning:#f5d90a;--s-font-sans:var(--font-sans);--s-font-mono:var(--font-mono);--s-node-asset:#6ecfd8;--s-node-prompt:#7fa5e0;--s-node-text-gen:#9aabdc;--s-node-image-gen:#e49cb8;--s-node-video-gen:#d9a650;--s-node-compose:#6ebfb7;--s-node-export:#6bc99a}body.studio-active{overflow:hidden}body.studio-active .app-bar{display:none}body.studio-active .content-area{max-width:none;padding:0;margin:0}.studio-shell{position:fixed;inset:0;z-index:50;display:grid;grid-template-rows:42px 1fr;grid-template-columns:auto 1fr;background:var(--s-bg-deepest);color:var(--s-text-primary);font-family:var(--font-sans)}.studio-topbar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:var(--s-bg-base);border-bottom:1px solid var(--s-border-subtle);gap:10px;z-index:2}.studio-topbar h3{margin:0;font-size:14px;font-weight:600;color:var(--s-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.studio-topbar .btn{font-size:12px;padding:5px 12px}.studio-tool-rail{display:flex;flex-direction:column;padding:6px 4px;gap:2px;background:var(--s-bg-canvas);border-right:1px solid var(--s-border-subtle);overflow-y:auto;overflow-x:hidden;z-index:2;width:116px;min-width:116px;transition:width .3s cubic-bezier(.4,0,.2,1),min-width .3s cubic-bezier(.4,0,.2,1);scrollbar-width:none;-ms-overflow-style:none}.studio-tool-rail::-webkit-scrollbar{display:none}.studio-tool-rail:hover{width:156px;min-width:156px}.studio-tool-rail button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--s-text-muted);font-size:9px;cursor:-webkit-grab;cursor:grab;transition:all .12s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.studio-tool-rail button:hover{background:var(--s-bg-hover);color:var(--s-text-secondary);border-color:var(--s-border-default)}.studio-tool-rail button:active{cursor:-webkit-grabbing;cursor:grabbing}.studio-canvas-area{position:relative;overflow:hidden}.floating-panel{position:absolute;display:flex;flex-direction:column;border-radius:10px;background:var(--s-bg-raised);border:1px solid var(--s-border-default);box-shadow:0 8px 32px rgba(0,0,0,.4);overflow:hidden;min-width:200px;min-height:120px}.floating-panel-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--s-bg-overlay);border-bottom:1px solid var(--s-border-default);cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.floating-panel-header span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--s-text-muted)}.floating-panel-header button{background:none;border:none;color:var(--s-text-muted);cursor:pointer;font-size:14px;padding:0 4px;line-height:1}.floating-panel-header button:hover{color:var(--s-error-text)}.floating-panel-body{flex:1 1;overflow:auto;padding:10px;display:flex;flex-direction:column;scrollbar-width:none;-ms-overflow-style:none}.floating-panel-body::-webkit-scrollbar{display:none}.floating-panel .resize-handle{position:absolute;bottom:0;right:0;width:14px;height:14px;cursor:nwse-resize;opacity:.3}.floating-panel .resize-handle:hover{opacity:.7}.studio-side-drawer{position:absolute;top:0;right:0;height:100%;width:380px;background:var(--s-bg-base);border-left:1px solid var(--s-border-subtle);overflow-y:auto;z-index:30;box-shadow:-4px 0 16px rgba(0,0,0,.3);scrollbar-width:none;-ms-overflow-style:none;transform:translateX(100%);transition:transform .2s ease}.studio-side-drawer::-webkit-scrollbar{display:none}.studio-side-drawer.open{transform:translateX(0)}.studio-side-drawer-content{padding:16px}.hide-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.hide-scrollbar::-webkit-scrollbar{display:none}.studio-shell textarea{scrollbar-width:none;-ms-overflow-style:none}.studio-shell textarea::-webkit-scrollbar{display:none}.studio-shell input,.studio-shell select,.studio-shell textarea{background:var(--s-bg-overlay);border:1px solid var(--s-border-default);color:var(--s-text-primary);border-radius:4px;font-size:12px}.studio-shell input:focus,.studio-shell select:focus,.studio-shell textarea:focus{outline:none;border-color:var(--s-accent);box-shadow:0 0 0 2px var(--s-accent-glow)}.studio-shell input[type=number]::-webkit-inner-spin-button,.studio-shell input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none}.studio-shell input[type=number]{-moz-appearance:textfield}.studio-shell input[type=range]{background:transparent}.studio-shell input[type=color]{padding:1px;height:28px}.studio-shell .btn{font-size:12px;padding:5px 12px;border-radius:5px;cursor:pointer;border:1px solid transparent;transition:all .12s}.studio-shell .btn-primary{background:var(--s-accent);color:#fff;border-color:var(--s-accent-hover)}.studio-shell .btn-primary:hover{background:var(--s-accent-hover)}.studio-shell .btn-success{background:var(--s-success);color:#fff;border-color:var(--s-success-hover)}.studio-shell .btn-success:hover{background:var(--s-success-hover)}.studio-shell .btn-secondary{background:var(--s-bg-hover);color:var(--s-text-secondary);border-color:var(--s-text-dim)}.studio-shell .btn-secondary:hover{background:var(--s-border-strong)}.studio-shell .react-flow__edge:hover .studio-edge-glow{stroke-opacity:.15!important}.studio-shell .react-flow__edge.selected .studio-edge-glow{stroke-opacity:.2!important}.studio-shell .react-flow__edge:hover .studio-edge-delete{opacity:1!important}@keyframes studio-edge-flow{0%{stroke-dashoffset:16}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.studio-shell .react-flow__edge [style*=studio-edge-flow]{animation:none!important}}.studio-shell .react-flow__handle{transition:transform .12s ease,box-shadow .12s ease}.studio-shell .react-flow__handle:hover{transform:scale(1.5);box-shadow:0 0 0 3px var(--s-accent-glow)}.studio-tool-rail button{position:relative}.toolrail-node-btn .toolrail-icon{width:30px!important;height:30px!important;transition:all .3s cubic-bezier(.4,0,.2,1)}.toolrail-node-btn{font-size:10px!important;min-height:48px!important;padding:5px 2px!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.studio-tool-rail:hover .toolrail-node-btn{font-size:11px!important;min-height:64px!important;padding:8px 4px!important}.studio-tool-rail:hover .toolrail-node-btn .toolrail-icon{width:40px!important;height:40px!important}.toolrail-node-btn:hover{background:hsla(0,0%,100%,.05)!important;border-color:hsla(0,0%,100%,.1)!important}.toolrail-node-btn:hover .toolrail-icon{transform:scale(1.1);box-shadow:0 0 14px currentColor;border-color:currentColor!important}.studio-shell button{transition:all .12s ease}.studio-shell button:active{transform:scale(.98)}.studio-shell .react-flow__controls{background:var(--s-bg-raised);border:1px solid var(--s-border-default);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.3);overflow:hidden}.studio-shell .react-flow__controls-button{background:var(--s-bg-raised);border:none;border-bottom:1px solid var(--s-border-subtle);color:var(--s-text-muted);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,color .12s}.studio-shell .react-flow__controls-button:last-child{border-bottom:none}.studio-shell .react-flow__controls-button:hover{background:var(--s-bg-hover);color:var(--s-text-primary)}.studio-shell .react-flow__controls-button svg{fill:currentColor;width:14px;height:14px}.studio-shell .react-flow__node-studioNode{transition:box-shadow var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default);border:1px solid transparent;border-radius:10px}.studio-shell .react-flow__node-studioNode:hover{border-color:var(--s-border-strong)}.studio-shell .react-flow__node-studioNode.selected{border-color:var(--s-accent);box-shadow:0 0 0 2px var(--s-accent-glow)}.studio-shell .react-flow__edge-path{stroke:var(--s-border-default);stroke-width:2;transition:stroke var(--duration-fast)}.studio-shell .react-flow__edge:hover .react-flow__edge-path{stroke:var(--s-accent)}.studio-shell .react-flow__edge.selected .react-flow__edge-path{stroke:var(--s-accent);stroke-width:2.5}.studio-shell .react-flow__handle{width:8px;height:8px;background:var(--s-border-strong);border:2px solid var(--s-bg-canvas);border-radius:50%}.studio-shell .react-flow__handle:hover{background:var(--s-accent)}