.vue-flow{position:relative;width:100%;height:100%;overflow:hidden;z-index:0;direction:ltr}.vue-flow__container{position:absolute;height:100%;width:100%;left:0;top:0}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{transform-origin:0 0;z-index:2;pointer-events:none}.vue-flow__viewport{z-index:4;overflow:clip}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{pointer-events:none;overflow:visible}.vue-flow__edge-path,.vue-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.vue-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{left:50%;bottom:0;transform:translate(-50%,50%)}.vue-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.vue-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.vue-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{position:absolute;z-index:5;margin:15px}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}:root{--vf-node-bg: #fff;--vf-node-text: #222;--vf-connection-path: #b1b1b7;--vf-handle: #555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{padding:10px;border-radius:3px;width:150px;font-size:12px;text-align:center;border-width:1px;border-style:solid;color:var(--vf-node-text);background-color:var(--vf-node-bg);border-color:var(--vf-node-color)}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid #555}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color: var(--vf-node-color, #0041d0);--vf-handle: var(--vf-node-color, #0041d0);--vf-box-shadow: var(--vf-node-color, #0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color, #0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{outline:none;border:1px solid var(--vf-node-color, #0041d0)}.vue-flow__node-default{--vf-handle: var(--vf-node-color, #1a192b);--vf-box-shadow: var(--vf-node-color, #1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color, #1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{outline:none;border:1px solid var(--vf-node-color, #1a192b)}.vue-flow__node-output{--vf-handle: var(--vf-node-color, #ff0072);--vf-box-shadow: var(--vf-node-color, #ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color, #ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid var(--vf-node-color, #ff0072)}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{width:6px;height:6px;background:var(--vf-handle);border:1px solid #fff;border-radius:100%}:root{color-scheme:dark;font-family:HarmonyOS Sans SC,Noto Sans SC,Microsoft YaHei UI,Microsoft YaHei,PingFang SC,Segoe UI,system-ui,sans-serif;background:#080b0c;color:#eef2ed;--petrol: #2f7771;--petrol-deep: #142f31;--sage: #a6b892;--coral: #d77b63;--brass: #d0a64f;--ink: #080b0c;--panel: rgba(15, 20, 21, .78);--panel-strong: rgba(23, 30, 31, .92);--surface: #0c1112;--surface-2: #111819;--paper: #f8fbf3;--line: rgba(239, 245, 236, .12);--line-strong: rgba(239, 245, 236, .2);--glow-line: rgba(208, 166, 79, .18);--muted: rgba(238, 242, 237, .58);--z-overlay-drag: 5200;--z-overlay-guard: 9000}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{overflow:hidden;line-height:1.5;text-rendering:geometricPrecision}button,input,textarea,select{font:inherit}button{cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.workbench-shell{height:100%;background:linear-gradient(90deg,rgba(239,245,236,.025) 1px,transparent 1px),linear-gradient(180deg,rgba(239,245,236,.025) 1px,transparent 1px),linear-gradient(130deg,rgba(47,119,113,.14),transparent 42%),linear-gradient(205deg,rgba(208,166,79,.07),transparent 38%),#080b0c;background-size:48px 48px,48px 48px,auto}.top-nav{display:grid;grid-template-columns:276px 1fr 300px;align-items:center;height:58px;padding:0 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#111819f0,#080b0ce6),#080b0ce6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-lockup,.top-actions,.top-nav-center,.toolbar-group,.node-header,.node-control-row,.reference-row{display:flex;align-items:center}.brand-lockup{gap:10px}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(208,166,79,.4);border-radius:6px;background:linear-gradient(145deg,#2f777173,#0a0d0ef5),#0a0d0e;color:var(--brass);font-size:15px;font-weight:800}.brand-lockup strong,.brand-lockup small{display:block}.brand-lockup strong{color:var(--paper);font-size:15px}.brand-lockup small,.rail-item small,.toolbar-title small{color:#eef2ed80;font-size:11px;letter-spacing:0}.section-kicker{margin:0;color:#d0a64fe6;font-size:12px;font-weight:700;letter-spacing:0}.top-nav-center{justify-content:center;gap:8px}.nav-pill,.icon-button,.profile-button,.tool-button,.primary-action,.secondary-action,.inline-action,.row-action{border:1px solid var(--line);border-radius:6px;color:#eef2ed;background:#eff5ec0f}.nav-pill:hover,.icon-button:hover,.profile-button:hover,.tool-button:hover,.secondary-action:hover,.inline-action:hover,.row-action:hover{border-color:#a6b8925c;background:#eff5ec1a}.nav-pill{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px}.nav-pill.is-active{border-color:#a6b89261;background:#a6b89221}.top-actions{justify-content:flex-end;gap:8px}.status-chip{display:inline-flex;align-items:center;gap:7px;height:28px;border:1px solid rgba(166,184,146,.24);border-radius:6px;padding:0 9px;background:#a6b89214;color:#eef2edb8;font-size:12px}.status-chip span{width:6px;height:6px;border-radius:999px;background:var(--sage)}.icon-button,.profile-button,.tool-button{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px}.profile-button{width:38px;color:var(--brass)}.workbench-frame{display:grid;grid-template-columns:214px minmax(0,1fr);height:calc(100% - 58px)}.left-rail{padding:18px 12px;border-right:1px solid var(--line);background:linear-gradient(180deg,#111819b8,#080b0cd1),#090d0eb8}.rail-item{display:grid;grid-template-columns:32px 1fr;align-items:center;width:100%;margin-bottom:7px;padding:10px;border:1px solid transparent;border-radius:6px;background:transparent;color:#eef2eda3;text-align:left}.rail-item span{display:grid;gap:2px;font-size:13px}.rail-item.active{border-color:#2f77717a;background:linear-gradient(90deg,#2f777147,#eff5ec0b),#eff5ec09;color:#fff}.mode-surface{min-width:0;height:100%}.content-scroll{height:100%;overflow:auto;padding:24px;scrollbar-color:rgba(208,166,79,.32) rgba(255,255,255,.04)}.dashboard-content{display:grid;gap:20px}.command-board{position:relative;display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:18px;align-items:start;border:1px solid var(--line);border-radius:8px;padding:20px;background:linear-gradient(180deg,rgba(239,245,236,.06),transparent 68%),linear-gradient(90deg,rgba(47,119,113,.16),transparent 34%),#0c1011c7;box-shadow:inset 0 1px #ffffff0a,0 28px 90px #0000003d}.command-board:before{position:absolute;top:-1px;right:20px;left:20px;height:1px;background:linear-gradient(90deg,transparent,var(--glow-line),transparent);content:""}.command-copy h1{margin:7px 0 6px;color:var(--paper);font-size:32px;line-height:1.15;letter-spacing:0}.command-copy p{max-width:620px;margin:0;color:var(--muted);font-size:14px;line-height:1.7}.command-actions{display:flex;align-items:center;gap:8px}.metric-grid{display:grid;grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid rgba(239,245,236,.08);background:#eff5ec14}.metric-tile{min-height:96px;padding:14px;background:linear-gradient(180deg,#eff5ec0e,#eff5ec05),#0d1213}.metric-tile:first-child{border-left:3px solid rgba(47,119,113,.7)}.metric-tile:nth-child(2){border-left:3px solid rgba(208,166,79,.7)}.metric-tile:nth-child(3){border-left:3px solid rgba(166,184,146,.7)}.metric-tile small,.run-row small,.system-card p{color:#eef2ed75}.metric-tile strong{display:block;margin-top:10px;color:#fff;font-size:21px}.metric-tile span{display:block;margin-top:4px;color:var(--muted);font-size:12px}.section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.page-band{border:1px solid var(--line);border-radius:8px;padding:18px;background:linear-gradient(180deg,rgba(239,245,236,.055),transparent 72%),#0c1011bd}.section-header h2,.section-line h2{margin:4px 0 0;color:var(--paper);font-size:19px;letter-spacing:0}.section-header p:not(.section-kicker){max-width:560px;margin:7px 0 0;color:var(--muted);font-size:13px}.dashboard-hero h1{max-width:760px;margin:8px 0 0;color:#f8fbf3;font-size:clamp(34px,4.6vw,74px);line-height:.95;letter-spacing:0}.primary-action,.secondary-action,.project-copy button,.inline-action{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 14px;white-space:nowrap}.primary-action{border-color:#d0a64f94;background:linear-gradient(135deg,#d0a64ff0,#d77b63db),var(--brass);color:#111;font-weight:700}.primary-action:hover{transform:translateY(-1px)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px}.project-lane,.run-board{min-width:0}.section-line{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.section-line.compact{margin-bottom:10px}.inline-action{height:31px;padding:0 10px;color:#eef2edb8;font-size:12px}.project-row{display:grid;grid-template-columns:118px minmax(0,1fr) 36px;align-items:center;gap:14px;min-height:104px;margin-bottom:10px;border:1px solid var(--line);border-left:3px solid transparent;border-radius:8px;padding:10px;background:#0f1415b8}.project-row:hover{border-color:#d0a64f52;background:#171e1fe0}.project-row.accent-petrol{border-left-color:var(--petrol)}.project-row.accent-coral{border-left-color:var(--coral)}.project-row.accent-sage{border-left-color:var(--sage)}.project-map{position:relative;height:82px;overflow:hidden;border:1px solid rgba(239,245,236,.08);border-radius:5px;background:linear-gradient(90deg,rgba(239,245,236,.06) 1px,transparent 1px),linear-gradient(180deg,rgba(239,245,236,.06) 1px,transparent 1px),#101617;background-size:18px 18px}.project-map span{position:absolute;display:block;border:1px solid rgba(239,245,236,.16);background:#2f777147}.project-map span:nth-child(1){left:14px;top:16px;width:32px;height:24px}.project-map span:nth-child(2){right:14px;top:22px;width:28px;height:28px;background:#d0a64f47}.project-map span:nth-child(3){left:44px;bottom:15px;width:48px;height:16px;background:#d77b6338}.project-card,.asset-card,.template-card{border:1px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:0 24px 80px #0000003d}.project-card{padding:10px}.project-art{position:relative;height:176px;overflow:hidden;background:linear-gradient(135deg,rgba(239,245,236,.12),transparent),linear-gradient(145deg,#162829,#0b0f10)}.project-art span{position:absolute;display:block;border:1px solid rgba(239,245,236,.16);background:#eff5ec0f}.project-art span:nth-child(1){left:26px;top:28px;width:112px;height:70px}.project-art span:nth-child(2){right:28px;top:54px;width:84px;height:84px;background:#d0a64f4d}.project-art span:nth-child(3){left:128px;bottom:26px;width:132px;height:36px;background:#2f777157}.project-copy{min-width:0;padding:0}.project-copy strong,.asset-meta strong,.template-card strong{display:block;color:#f7faf2;font-weight:700}.project-copy p,.template-card p,.settings-panel p{color:#eef2ed94;font-size:13px;line-height:1.65}.row-action{display:grid;width:34px;height:34px;place-items:center}.run-board{border:1px solid var(--line);border-radius:8px;padding:14px;background:linear-gradient(180deg,rgba(166,184,146,.08),transparent 45%),#0c1011b3}.run-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;border-top:1px solid rgba(239,245,236,.08);padding:12px 0}.run-row svg{color:var(--brass)}.run-row strong,.run-row span,.run-row small{display:block}.run-row strong{font-size:13px}.run-row span{margin-top:2px;color:var(--muted);font-size:12px}.system-card{margin-top:8px;border-top:1px solid var(--line);padding-top:14px}.system-card>div{display:flex;align-items:center;gap:8px}.system-card svg{color:var(--sage)}.system-card p{margin:8px 0 0;font-size:12px;line-height:1.5}.project-copy button{border:0;padding:0;background:transparent;color:var(--brass)}.ops-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:20px;overflow:hidden;border:1px solid var(--line)}.ops-strip>div{padding:18px;background:#eff5ec0b}.ops-strip small{display:block;color:#eef2ed6b}.canvas-mode{display:grid;grid-template-rows:54px 1fr;height:100%}.canvas-toolbar{display:grid;grid-template-columns:1fr 280px 1fr;align-items:center;padding:9px 14px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#141c1de6,#0b0f10d6),#0b0f10d1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.toolbar-group{gap:7px}.toolbar-group:last-child{justify-content:flex-end}.tool-button{gap:7px}.canvas-stat{height:28px;border:1px solid rgba(239,245,236,.08);border-radius:6px;padding:6px 9px 0;color:#eef2ed8a;font-size:12px}.tool-button.wide{width:auto;padding:0 12px}.toolbar-title{text-align:center}.toolbar-title span,.toolbar-title small{display:block}.toolbar-title span{font-size:13px;font-weight:700}.canvas-viewport{position:relative;min-height:0;background:linear-gradient(90deg,rgba(239,245,236,.035) 1px,transparent 1px),linear-gradient(180deg,rgba(239,245,236,.035) 1px,transparent 1px),linear-gradient(135deg,rgba(47,119,113,.12),transparent 44%),linear-gradient(30deg,rgba(208,166,79,.06),transparent 36%),#070b0c;background-size:64px 64px,64px 64px,auto}.loop-flow{height:100%}.drop-hint{position:absolute;right:16px;bottom:16px;border:1px solid var(--line);border-radius:6px;background:#080b0cc2;padding:9px 12px;color:#eef2ed8a;font-size:12px;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.canvas-node{width:390px;border:1px solid rgba(239,245,236,.14);border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 28%),#0c1011f0;box-shadow:0 22px 60px #00000057}.canvas-node.selected{border-color:#d0a64fad;box-shadow:0 0 0 1px #d0a64f33,0 34px 90px #00000070}.node-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;justify-content:space-between;border-bottom:1px solid rgba(239,245,236,.06);padding:12px 12px 10px}.node-header>div{min-width:0}.node-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-header strong,.node-kind{display:block}.node-kind{color:var(--sage);font-size:12px;font-weight:700}.node-status{align-self:center;border:1px solid rgba(239,245,236,.1);min-width:48px;border-radius:4px;padding:4px 6px;color:#eef2ed94;font-size:11px;line-height:1;text-align:center}.node-status.processing,.node-status.submitting{border-color:#d0a64f57;color:var(--brass)}.node-status.succeeded{border-color:#a6b89257;color:var(--sage)}.node-status.failed{border-color:#d77b6370;color:var(--coral)}.node-icon-button,.reference-add,.reference-chip{display:grid;place-items:center;border:1px solid var(--line);border-radius:6px;background:#eff5ec0f;color:#fff}.node-icon-button{width:32px;height:32px}.image-preview{position:relative;display:grid;height:196px;margin:0 12px;overflow:hidden;place-items:center;border:1px solid rgba(239,245,236,.08);border-radius:6px;background:linear-gradient(90deg,rgba(239,245,236,.04) 1px,transparent 1px),linear-gradient(180deg,rgba(239,245,236,.04) 1px,transparent 1px),#0a0f10;background-size:22px 22px}.image-preview img{width:100%;height:100%;object-fit:contain}.image-preview.empty>div{display:grid;place-items:center;gap:7px;color:#eef2ed70;font-size:12px}.generation-meter{position:absolute;right:14px;bottom:12px;left:14px;height:3px;overflow:hidden;background:#eff5ec1f}.generation-meter span{display:block;height:100%;background:linear-gradient(90deg,var(--petrol),var(--brass));transition:width .4s ease}.prompt-input{display:block;width:calc(100% - 24px);min-height:86px;margin:12px;resize:vertical;border:1px solid var(--line);border-radius:6px;background:#eff5ec0b;color:#eef2ed;outline:0;padding:10px;line-height:1.6}.prompt-input:focus,.canvas-select-trigger:focus-visible{border-color:#a6b8928c}.node-control-row{display:grid;grid-template-columns:minmax(122px,1.45fr) 72px 72px 64px;gap:6px;padding:0 12px 12px}.reference-row{gap:7px;padding:0 12px 12px}.reference-label{height:32px;padding-top:8px;color:#eef2ed7a;font-size:12px;white-space:nowrap}.reference-chip,.reference-add{width:38px;height:32px;overflow:hidden}.reference-chip img{width:100%;height:100%;object-fit:cover}.shell-node{width:280px;padding-bottom:12px}.shell-node p{margin:0;padding:0 12px;color:#eef2ed94;font-size:13px;line-height:1.65}.flow-handle{width:10px;height:10px;border:1px solid #fff;background:var(--brass)}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin-top:22px}.settings-panel{display:grid;gap:14px;max-width:720px;margin-top:22px;border:1px solid var(--line);border-radius:8px;padding:18px;background:var(--panel);box-shadow:0 24px 80px #0000003d}.asset-card{overflow:hidden}.asset-card img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover}.asset-meta{padding:12px}.asset-meta span{color:#eef2ed7a;font-size:12px}.asset-card-skeleton{display:block;height:218px;border-radius:8px;background:linear-gradient(100deg,#ffffff0a 30%,#ffffff1c,#ffffff0a 70%);background-size:200% 100%;animation:source-skeleton-shimmer 1.3s ease-in-out infinite}.asset-empty-state{margin-top:22px;padding:40px 24px;border:1px dashed var(--line);border-radius:12px;background:var(--panel);color:#eef2ed8c;font-size:14px;text-align:center}@media(prefers-reduced-motion:reduce){.asset-card-skeleton{animation:none}}.template-list{display:grid;gap:12px;margin-top:22px;max-width:760px}.template-card{display:grid;grid-template-columns:42px 1fr;align-items:start;padding:16px}.template-card svg{color:var(--brass)}.settings-panel pre{max-height:280px;overflow:auto;border:1px solid var(--line);padding:12px;background:#00000038}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){body{overflow:auto}.top-nav{grid-template-columns:1fr auto}.top-nav-center{display:none}.workbench-frame{grid-template-columns:74px minmax(720px,1fr)}.rail-item{grid-template-columns:1fr;justify-items:center}.rail-item span{display:none}.project-grid,.ops-strip,.metric-grid,.dashboard-grid,.command-board{grid-template-columns:1fr}.command-actions{justify-content:flex-start}}.dashboard-page{height:100%;overflow:auto;background:#0b0b0d;color:#f4f4f5}.source-dashboard-nav{position:sticky;top:0;z-index:30;display:flex;height:52px;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08);padding:0 16px;background:#151517eb;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px)}.dashboard-brand,.dashboard-nav-links,.dashboard-nav-actions,.dashboard-filter-bar,.dashboard-tabs,.view-switch{display:flex;align-items:center;gap:8px}.dashboard-brand{gap:10px;min-width:196px}.brand-image{display:grid;width:24px;height:24px;place-items:center;overflow:hidden;border-radius:8px;background:#000;box-shadow:0 0 0 1px #ffffff1f}.brand-image img{width:100%;height:100%;object-fit:cover}.dashboard-brand strong{font-size:14px;color:#ffffffe6}.dashboard-nav-links{gap:28px;margin-right:auto;margin-left:22px}.dashboard-nav-links button,.dashboard-nav-actions button,.dashboard-tabs button{border:0;background:transparent;color:#ffffff70}.dashboard-nav-links button{font-size:14px;font-weight:600}.dashboard-nav-links button.active,.dashboard-tabs button.active{color:#fff}.dashboard-nav-actions{gap:18px}.dashboard-nav-actions button{display:inline-flex;align-items:center;gap:6px;font-size:14px}.locale-button,.user-pill{height:32px;border:1px solid rgba(255,255,255,.1)!important;border-radius:12px;padding:0 10px;background:#ffffff0a!important;color:#ffffffb8!important}.user-pill span{display:grid;width:20px;height:20px;place-items:center;border-radius:7px;background:#6ee7b7;color:#052e1a;font-size:11px;font-weight:800}.user-menu-wrap{position:relative}.user-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:60;width:220px;padding:8px;border-radius:12px;border:1px solid var(--line-strong);background:var(--panel-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 48px #00000073}.user-menu-head{display:flex;flex-direction:column;gap:2px;padding:8px 10px 10px;border-bottom:1px solid var(--line)}.user-menu-head strong{font-size:14px;color:#eef2ed}.user-menu-head span{font-size:12px;color:var(--muted);word-break:break-all}.user-menu-item{display:flex;align-items:center;gap:8px;width:100%;margin-top:6px;padding:9px 10px;border:none;border-radius:8px;background:transparent;color:#eef2edd1;font-size:13px;text-align:left}.user-menu-item:hover{background:#d77b631f;color:#f0c4b6}.dashboard-stage{max-width:1440px;margin:0 auto;padding:40px 20px 64px}.dashboard-inner{max-width:1140px;margin:0 auto}.dashboard-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.product-position-strip{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.4fr);gap:18px;margin:22px 0 24px;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:18px;background:#ffffff09}.product-position-strip>div:first-child{display:grid;align-content:center;gap:6px;min-width:0}.product-position-strip>div:first-child>span{color:#ffffff7a;font-size:11px;font-weight:700;text-transform:uppercase}.product-position-strip strong,.position-pillar-grid strong{color:#ffffffeb}.product-position-strip>div:first-child>strong{font-size:19px}.product-position-strip p{max-width:520px;margin:0;color:#ffffff8a;font-size:13px;line-height:1.6}.position-pillar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.position-pillar-grid span{display:grid;align-content:start;gap:6px;min-width:0;border-left:1px solid rgba(255,255,255,.12);padding:4px 0 4px 12px}.position-pillar-grid strong{font-size:13px}.position-pillar-grid small{color:#ffffff70;font-size:11px;line-height:1.5}.dashboard-tabs{gap:28px}.dashboard-tabs button{border-bottom:1px solid transparent;padding:0 0 8px;font-size:14px;font-weight:600}.dashboard-tabs button.active{border-bottom-color:#fff}.dashboard-filter-bar{flex-wrap:wrap;justify-content:flex-end;gap:8px}.dashboard-search,.glass-button,.icon-glass-button,.create-workspace-button,.view-switch{border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff0e;color:#ffffffc2;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dashboard-search{display:flex;width:210px;height:36px;align-items:center;gap:8px;padding:0 12px;color:#ffffff5c}.dashboard-search input{min-width:0;flex:1;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;box-shadow:none;color:#ffffffc7;outline:0;font-size:12px}.dashboard-search input:focus,.dashboard-search input:focus-visible{outline:0;box-shadow:none}.glass-button,.create-workspace-button{display:inline-flex;height:36px;align-items:center;gap:8px;padding:0 12px;font-size:12px;font-weight:700}.create-workspace-button{border-color:#ffffff2e;background:#ffffff1c;color:#fff}.icon-glass-button{display:grid;width:36px;height:36px;place-items:center}.view-switch{height:36px;padding:4px}.view-switch button{display:grid;width:32px;height:28px;place-items:center;border:0;border-radius:9px;background:transparent;color:#ffffff70}.view-switch button.active{background:#ffffff1f;color:#fff}.workspace-filter-select{width:124px}.workspace-filter-select .canvas-select-trigger{height:36px;border-radius:12px;padding:0 10px}.workspace-filter-select .canvas-select-trigger small{display:none}.workspace-filter-select .canvas-select-menu{width:max(124px,100%)}.workspace-filter-select .canvas-select-menu button{grid-template-columns:minmax(0,1fr);min-height:34px;padding:7px 9px}.workspace-filter-select .canvas-select-menu button svg{display:none}.project-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:24px}.project-card-grid.list-view{grid-template-columns:1fr}.new-project-card,.source-project-card{min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#1d1d20;padding:8px;text-align:left;color:#fff;box-shadow:0 18px 60px #00000047}.new-project-card{display:grid;min-height:214px;place-items:center;text-align:center;background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.14),transparent 36%),#171719}.new-project-icon{display:grid;width:54px;height:54px;place-items:center;border-radius:18px;background:#ffffff14;color:#ffffffd6}.new-project-copy,.new-project-card strong,.new-project-card small{display:block}.new-project-card strong{margin-top:10px;font-size:14px}.new-project-card small{color:#ffffff61}.source-project-card{display:block;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.source-project-card:hover,.new-project-card:hover{border-color:#ffffff38;background-color:#242428;transform:translateY(-4px)}.project-art-card{position:relative;display:block;height:152px;overflow:hidden;border-radius:10px}.project-art-card img{display:block;width:100%;height:100%;object-fit:cover}.project-art-card i{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.16),transparent 20%),linear-gradient(180deg,transparent,rgba(0,0,0,.22))}.project-card-copy{display:block;padding:10px 6px 6px}.project-card-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.project-card-title-row strong{min-width:0}.project-card-actions{position:relative;display:flex;justify-content:flex-end;padding-bottom:4px}.project-card-menu-trigger{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid transparent;border-radius:999px;background:transparent;color:#ffffff70;opacity:0;transform:translateY(-2px);transition:opacity .18s ease,transform .18s ease,border-color .18s ease,color .18s ease}.source-project-card:hover .project-card-menu-trigger,.source-project-card:focus-within .project-card-menu-trigger,.project-card-actions.open .project-card-menu-trigger{opacity:1;transform:translateY(0)}.project-card-menu-trigger:hover,.project-card-actions:focus-within .project-card-menu-trigger,.project-card-actions.open .project-card-menu-trigger{border-color:var(--lc-line);background-color:var(--lc-panel-1);color:var(--lc-text)}.project-card-menu{position:fixed;z-index:140;display:grid;width:184px;padding:6px;gap:2px;border:1px solid var(--lc-line);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent),#141518fa;box-shadow:0 24px 70px #0000006b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.project-card-menu button{display:flex;align-items:center;gap:8px;width:100%;min-height:26px;border:0;border-radius:9px;padding:0 10px;background:transparent;color:var(--lc-text);text-align:left;font-size:12px;cursor:pointer}.project-card-menu button:hover:not(:disabled){background:#ffffff14}.project-card-menu button.danger{color:#fca5a5}.project-card-menu button.danger:hover:not(:disabled){background:#f43f5e29;color:#fff}.project-card-menu button:disabled{opacity:.42;cursor:not-allowed}.project-card-menu button:disabled:hover{background:transparent}.project-card-menu button span{min-width:0}.project-card-copy strong,.project-card-copy small,.project-card-copy em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card-copy strong{font-size:14px}.workspace-feedback{margin:12px 0 0;border-radius:10px;padding:10px 12px;background:#ffffff14;color:#ffffffc7;font-size:12px;line-height:1.6}.workspace-feedback.error{background:#f43f5e29;color:#fca5a5}.project-card-copy small{margin-top:4px;color:#ffffff5c;font-size:12px}.project-card-copy em{margin-top:6px;color:#ffe8a875;font-size:11px;font-style:normal}.project-card-grid.list-view .new-project-card,.project-card-grid.list-view .source-project-card{display:grid;min-height:102px;align-items:center;grid-template-columns:84px minmax(0,1fr);gap:12px}.project-card-grid.list-view .new-project-card{place-items:stretch;text-align:left;padding:16px}.project-card-grid.list-view .new-project-icon{width:48px;height:48px;justify-self:center;align-self:center}.project-card-grid.list-view .new-project-copy{align-self:center}.project-card-grid.list-view .new-project-card strong{margin-top:0}.project-card-grid.list-view .project-art-card{height:96px}.project-card-grid.list-view .project-card-copy{padding:0 6px 0 0}.workspace-project-switch-enter-active,.workspace-project-switch-leave-active{transition:opacity .32s cubic-bezier(.22,1,.36,1) 40ms,transform .46s cubic-bezier(.19,1,.22,1),filter .42s ease;will-change:opacity,transform,filter}.workspace-project-switch-move{transition:transform .52s cubic-bezier(.22,1,.36,1);will-change:transform}.workspace-project-switch-enter-from,.workspace-project-switch-leave-to{opacity:0;filter:blur(8px);transform:translateY(18px) scale(.975);transform-origin:50% 20%}.unlimited-card{position:fixed;right:20px;bottom:28px;display:none;width:176px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#ffffff12;box-shadow:0 24px 70px #00000073;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px)}.unlimited-card>div{height:96px;background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.55),transparent 16%),linear-gradient(135deg,#9d8b36,#171717 62%)}.unlimited-card section{padding:12px}.unlimited-card strong{font-size:14px}.unlimited-card p{margin:4px 0 0;color:#ffffff8a;font-size:12px;line-height:1.55}.team-empty-state{display:grid;min-height:360px;margin-top:24px;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.08),transparent 36%),#ffffff09;text-align:center}.team-empty-state div{display:grid;width:54px;height:54px;margin:0 auto 14px;place-items:center;border-radius:18px;background:#ffffff14;color:#ffffffc7}.team-empty-state h2{margin:0;font-size:18px}.team-empty-state p{max-width:420px;margin:8px auto 18px;color:#ffffff75;font-size:13px;line-height:1.7}.team-empty-state button{height:36px;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:0 14px;background:#ffffff14;color:#ffffffd1;font-size:12px;font-weight:700}.workspace-project-dialog{width:min(520px,calc(100vw - 48px))}.workspace-project-form{margin-top:18px}.workspace-project-field{display:grid;gap:8px}.workspace-project-field+.workspace-project-field{margin-top:12px}.workspace-project-field span{color:#ffffffbd;font-size:12px;font-weight:700}.workspace-project-field input,.workspace-project-field textarea{width:100%;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:12px 14px;background:#ffffff0d;color:#ffffffe0;font-size:13px;line-height:1.6}.workspace-project-field textarea{min-height:112px;resize:vertical}.workspace-project-field input::placeholder,.workspace-project-field textarea::placeholder{color:#ffffff52}.workspace-project-field input:focus,.workspace-project-field textarea:focus{outline:none;border-color:#fff3;background:#ffffff12}.workspace-project-hint{margin:12px 0 0;color:#ffffff70;font-size:12px;line-height:1.7}.workspace-project-warning{margin-top:6px;color:#ffffffb3}.workspace-project-error{margin-top:12px}.workspace-project-actions{margin-top:16px}.template-page{background:radial-gradient(circle at 18% 12%,rgba(74,118,180,.16),transparent 30rem),radial-gradient(circle at 78% 18%,rgba(168,122,59,.13),transparent 26rem),#0b0b0d}.template-stage{max-width:1180px;margin:0 auto;padding:34px 20px 72px}.template-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:26px;background:linear-gradient(135deg,rgba(255,255,255,.09),transparent 58%),#ffffff0b;box-shadow:0 24px 80px #0000003d}.template-hero p,.template-hero h1,.template-hero span{display:block;margin:0}.template-hero p{color:#ffffff6b;font-size:12px;font-weight:700}.template-hero h1{max-width:760px;margin-top:8px;color:#fffffff0;font-size:30px;line-height:1.18}.template-hero span{max-width:650px;margin-top:10px;color:#ffffff85;font-size:13px;line-height:1.8}.template-hero button{display:inline-flex;height:42px;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:0 15px;background:#ffffff1f;color:#fff;font-size:13px;font-weight:800;white-space:nowrap}.template-mode-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:16px}.template-mode-bar button{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:48px;border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:8px 12px;background:#ffffff0b;color:#ffffff94;text-align:left}.template-mode-bar button.active{border-color:#ffffff38;background:#ffffff1a;color:#fff}.template-mode-bar span{min-width:0;overflow:hidden;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.template-mode-bar small{border-radius:999px;padding:2px 7px;background:#ffffff13;color:#ffffff6b;font-size:11px}.template-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px;margin-top:16px}.template-sidebar-panel,.template-grid-panel{border:1px solid rgba(255,255,255,.09);border-radius:18px;background:#ffffff0a}.template-sidebar-panel{align-self:start;padding:12px}.template-sidebar-panel p{margin:0 0 10px;padding:0 4px;color:#fff6;font-size:12px;font-weight:700}.template-sidebar-panel button{display:flex;width:100%;height:40px;align-items:center;justify-content:space-between;border:0;border-radius:13px;padding:0 10px;background:transparent;color:#ffffff94;font-size:13px;font-weight:700;text-align:left}.template-sidebar-panel button.active,.template-sidebar-panel button:hover{background:#ffffff16;color:#fff}.template-group-root{margin-bottom:4px}.template-root-chevron{flex:0 0 auto;opacity:.68;transition:transform .18s ease}.template-group-root.collapsed .template-root-chevron{transform:rotate(-90deg)}.template-sidebar-groups{display:grid;gap:4px;overflow:hidden}.template-group-option{padding-left:18px}.template-group-option small{border-radius:999px;padding:1px 7px;background:#ffffff12;color:#fff6;font-size:11px;font-weight:800}.template-group-option.active small,.template-group-option:hover small{color:#ffffffb8}.template-group-fold-enter-active,.template-group-fold-leave-active{transition:opacity .16s ease,transform .16s ease}.template-group-fold-enter-from,.template-group-fold-leave-to{opacity:0;transform:translateY(-4px)}.template-grid-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px}.template-grid-empty{display:grid;min-height:196px;place-items:center;grid-column:1 / -1;border:1px dashed rgba(255,255,255,.08);border-radius:16px;color:#ffffff80;font-size:13px;text-align:center}.template-library-card{display:grid;grid-template-columns:152px minmax(0,1fr);min-height:178px;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#1d1d20d1;box-shadow:0 18px 60px #00000038}.template-cover{position:relative;display:grid;place-items:center;color:#ffffffd1}.template-cover:after{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.34),transparent 18%),linear-gradient(180deg,transparent,rgba(0,0,0,.24));content:""}.template-cover svg{position:relative;z-index:1}.template-cover.blue{background:linear-gradient(135deg,#2f6fd6,#6b88a9 48%,#151821)}.template-cover.amber{background:linear-gradient(135deg,#402416,#a87a3b 42%,#101010)}.template-cover.green{background:linear-gradient(135deg,#283331,#766c51)}.template-cover.rose{background:linear-gradient(135deg,#51272e,#a36f77 52%,#151011)}.template-cover.slate{background:linear-gradient(135deg,#cfd4dc,#56657b 48%,#1d2430)}.template-card-body{display:flex;min-width:0;flex-direction:column;justify-content:space-between;padding:14px}.template-card-body small,.template-card-body strong,.template-card-body p{display:block}.template-card-body small{color:#ffffff5c;font-size:11px;font-weight:700}.template-card-body strong{margin-top:6px;color:#ffffffe6;font-size:15px}.template-card-body p{margin:8px 0 0;color:#ffffff80;font-size:12px;line-height:1.65}.template-card-body footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.template-card-body footer span{color:#ffffff57;font-size:11px}.template-card-body footer button{display:inline-flex;height:32px;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.1);border-radius:11px;padding:0 10px;background:#ffffff12;color:#ffffffc7;font-size:12px;font-weight:700}.template-card-body footer button:disabled{cursor:wait;opacity:.72}.template-card-skeleton{pointer-events:none}.template-card-skeleton .template-cover{background:#ffffff0d;box-shadow:none}.template-card-skeleton .template-cover:after{display:none}.skeleton-block,.skeleton-line{position:relative;overflow:hidden;background:#ffffff0f}.skeleton-block:after,.skeleton-line:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.13) 50%,transparent);transform:translate(-100%);animation:template-skeleton-sweep 1.25s ease-in-out infinite;content:""}.skeleton-line{display:block;height:12px;border-radius:6px}.skeleton-line+.skeleton-line{margin-top:10px}.skeleton-line-sm{width:38%;height:10px}.skeleton-line-title{width:64%;height:16px;margin-top:12px;margin-bottom:4px}.skeleton-line-short{width:76%}.skeleton-line-xs{width:30%;height:10px}.skeleton-button{width:92px;height:32px;border-radius:11px}.project-card-skeleton{cursor:default;pointer-events:none}.project-card-skeleton .project-art-card.skeleton-block{height:152px;background:#ffffff0d;box-shadow:none}.project-card-skeleton .project-card-copy .skeleton-line{margin-top:0}.project-card-skeleton .project-card-copy .skeleton-line+.skeleton-line{margin-top:10px}@keyframes template-skeleton-sweep{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.skeleton-block:after,.skeleton-line:after{animation:none}}.source-canvas-shell{position:relative;height:100vh;min-height:720px;overflow:hidden;background:#070909;color:#f4f4f5}html.canvas-browser-locked,body.canvas-browser-locked{overflow:hidden;overscroll-behavior:none}body.canvas-browser-locked .source-canvas-shell{overscroll-behavior:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}body.canvas-browser-locked .source-canvas-shell input,body.canvas-browser-locked .source-canvas-shell textarea,body.canvas-browser-locked .source-canvas-shell select,body.canvas-browser-locked .source-canvas-shell [contenteditable=true]{user-select:text;-webkit-user-select:text}.source-canvas-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.source-canvas-bg.glow{background:radial-gradient(circle at 20% 18%,rgba(255,255,255,.055),transparent 30rem),radial-gradient(circle at 82% 76%,rgba(255,255,255,.035),transparent 34rem),radial-gradient(circle at 52% 42%,rgba(255,255,255,.026),transparent 36rem)}.source-canvas-bg.dots{opacity:0;background:linear-gradient(90deg,rgba(255,255,255,.034) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.034) 1px,transparent 1px),radial-gradient(circle at center,rgba(255,255,255,.11) 1px,transparent 1.55px);background-size:72px 72px,72px 72px,18px 18px;transition:opacity .18s ease}.source-canvas-bg.dots.visible{opacity:.72}.source-canvas-header{position:absolute;top:20px;right:20px;left:20px;z-index:30;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.canvas-title-lockup,.source-canvas-actions{display:flex;align-items:center;pointer-events:auto}.canvas-title-lockup{gap:12px;min-width:0}.canvas-title-lockup p,.canvas-title-lockup h1{overflow:hidden;margin:0;text-overflow:ellipsis;white-space:nowrap}.canvas-title-lockup p{color:#ffffff57;font-size:10px;font-weight:600}.canvas-title-lockup h1{color:#ffffffeb;font-size:14px}.source-round-button,.save-pill,.user-chip,.sync-pill{border:0;color:#ffffffc7;background:#ffffff1a;box-shadow:0 12px 34px #00000057;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.source-round-button{position:relative;display:grid;width:32px;height:32px;place-items:center;border-radius:999px}.source-round-button i{position:absolute;top:9px;right:9px;width:6px;height:6px;border-radius:999px;background:#6ee7b7;box-shadow:0 0 10px #6ee7b7e6}.source-canvas-actions{gap:6px;border-radius:999px;padding:4px;background:#1f1f22b8;box-shadow:0 14px 44px #00000061;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.sync-pill,.save-pill,.user-chip{display:inline-flex;height:32px;align-items:center;gap:6px;border-radius:999px;padding:0 12px;font-size:12px;font-weight:700}.sync-pill{color:#ffffff9e;background:#ffffff0f}.save-pill{background:#ffffff1a}.user-chip span{display:grid;width:24px;height:24px;place-items:center;border-radius:999px;background:#ffffff1f;font-size:11px;font-weight:800}.source-canvas-viewport{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;background:transparent}.source-canvas-viewport .loop-flow{height:100%;background-color:transparent}.source-canvas-viewport.panning,.source-canvas-viewport.panning .vue-flow__pane{cursor:grab}.source-canvas-viewport.panning:active,.source-canvas-viewport.panning:active .vue-flow__pane{cursor:grabbing}.source-canvas-sidebar{position:absolute;top:50%;left:16px;z-index:32;display:flex;transform:translateY(-50%);flex-direction:column;align-items:center;border-radius:18px;padding:6px;background:#1f1f22bd;box-shadow:0 20px 72px #00000075;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px)}.source-sidebar-button{display:grid;width:36px;height:36px;margin-bottom:4px;place-items:center;border:0;border-radius:12px;background:transparent;color:#ffffff8f}.source-sidebar-button:last-child{margin-bottom:0}.source-sidebar-button:hover,.source-sidebar-button.active{background:#ffffff1f;color:#fff}.source-sidebar-flyout{--source-panel-padding-x: 10px;--source-panel-icon-column: 32px;--source-panel-gap: 10px;--source-panel-text-indent: calc(var(--source-panel-padding-x) + var(--source-panel-icon-column) + var(--source-panel-gap));position:absolute;top:50%;left:64px;z-index:32;width:300px;max-height:min(620px,calc(100vh - 120px));transform:translateY(-50%);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border-radius:15px;padding:10px;background:#252525eb;color:#fff;box-shadow:0 26px 84px #0000008f;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px)}.source-panel-list{display:grid;gap:8px}.source-panel-list>p,.source-capability-panel>p,.source-panel-heading p{margin:0;padding:0 var(--source-panel-padding-x) 4px;color:#fff6;font-size:12px;font-weight:600}.source-panel-list button{display:grid;grid-template-columns:var(--source-panel-icon-column) minmax(0,1fr);align-items:center;gap:var(--source-panel-gap);min-height:52px;border:0;border-radius:16px;padding:8px var(--source-panel-padding-x);background:#ffffff0e;color:#ffffffc2;text-align:left}.source-panel-list button.has-thumb{--source-panel-icon-column: 56px}.source-panel-list button:hover{background:#ffffff1a;color:#fff}.source-panel-list button.is-disabled{cursor:not-allowed;opacity:.58}.source-panel-list button.is-disabled:hover{background:#ffffff0e;color:#ffffffc2}.source-panel-list button>span:not(.asset-thumb){display:grid;width:var(--source-panel-icon-column);height:32px;place-items:center;border-radius:12px;background:#ffffff12;color:#ffffffd6}.source-panel-copy{display:grid;gap:2px;min-width:0}.source-panel-copy strong,.source-panel-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-panel-copy strong{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;font-size:13px;line-height:1.25}.source-panel-copy small{display:block;color:#ffffff61;font-size:11px;line-height:1.3}.source-status-chip{display:inline-flex;height:17px;flex:0 0 auto;align-items:center;border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:0 6px;color:#ffffff94;font-size:10px;font-style:normal;font-weight:700}.source-status-chip.ready{border-color:#7ee78733;background:#7ee78714;color:#b0f5b7e0}.source-status-chip.mock{border-color:#80baff38;background:#80baff14;color:#b8d7ffe0}.source-status-chip.planned{border-color:#ffffff1f;background:#ffffff0b}.source-panel-note{border-radius:8px;padding:10px 12px;background:#ffffff0b;color:#ffffff70;font-size:11px;line-height:1.55}.source-workflow-steps{display:grid;gap:8px;border-radius:8px;padding:10px 12px;background:#ffffff09}.source-workflow-steps div{display:grid;gap:3px}.source-workflow-steps strong{color:#ffffffc2;font-size:11px}.source-workflow-steps span{color:#ffffff61;font-size:11px;line-height:1.45}.source-capability-panel,.source-capability-group{display:grid;gap:8px}.source-capability-group{border-top:1px solid rgba(255,255,255,.07);padding-top:10px}.source-capability-heading,.source-capability-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.source-capability-heading{padding:0 8px}.source-capability-heading strong{color:#ffffffc7;font-size:12px}.source-capability-heading span{color:#ffffff52;font-size:11px}.source-capability-row{border-radius:8px;padding:8px;background:#ffffff0a}.source-capability-row>span{display:grid;gap:3px;min-width:0}.source-capability-row strong,.source-capability-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-capability-row strong{color:#ffffffc2;font-size:12px}.source-capability-row small{color:#ffffff61;font-size:10px}.asset-thumb{grid-row:1 / span 2;width:56px;height:42px;overflow:hidden;border-radius:12px;background:#ffffff0f}.asset-thumb img{width:100%;height:100%;object-fit:cover}.source-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.source-panel-heading{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between}.source-panel-heading span{border-radius:999px;padding:2px 8px;background:#ffffff0f;color:#ffffff57;font-size:10px}.source-history-grid button{min-width:0;border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:6px;background:#ffffff09;color:#fff;text-align:left}.source-history-grid img{display:block;width:100%;aspect-ratio:1;border-radius:9px;object-fit:cover}.source-history-grid strong,.source-history-grid small{display:block;overflow:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap}.source-history-grid strong{margin-top:6px;color:#ffffffb8;font-size:11px}.source-history-grid small{color:#ffffff52;font-size:10px}.source-asset-context-menu{position:fixed;z-index:140;width:220px;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:6px;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent),#151619f5;box-shadow:0 18px 48px #0000006b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.source-asset-context-menu button{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;width:100%;border:0;border-radius:10px;padding:10px 12px;background:transparent;color:#ffffffc7;text-align:left;transition:background .18s ease,color .18s ease}.source-asset-context-menu button:hover{background:#ffffff14;color:#fff}.source-asset-context-menu button span{display:grid;place-items:center}.source-asset-context-menu .source-panel-copy{min-width:0}.source-asset-context-menu .source-panel-copy strong,.source-asset-context-menu .source-panel-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-asset-context-menu .source-panel-copy strong{color:#ffffffdb;font-size:12px}.source-asset-context-menu .source-panel-copy small{margin-top:2px;color:#fff6;font-size:10px}.source-flyout-enter-active,.source-flyout-leave-active{transition:opacity .2s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1),filter .2s ease;transform-origin:left center;will-change:opacity,transform,filter}.source-flyout-enter-from,.source-flyout-leave-to{opacity:0;filter:blur(6px);transform:translateY(-50%) translate(-12px) scale(.97)}.source-context-menu-enter-active,.source-context-menu-leave-active{transition:opacity .15s ease,transform .16s cubic-bezier(.22,1,.36,1),filter .16s ease;transform-origin:top left;will-change:opacity,transform,filter}.source-context-menu-enter-from,.source-context-menu-leave-to{opacity:0;filter:blur(4px);transform:scale(.94) translateY(-4px)}@media(prefers-reduced-motion:reduce){.source-flyout-enter-active,.source-flyout-leave-active,.source-context-menu-enter-active,.source-context-menu-leave-active{transition-duration:.01ms}}.source-empty-panel{border-radius:16px;padding:28px 14px;background:#ffffff0a;color:#ffffff6b;font-size:12px;text-align:center}.source-radar-controls{position:absolute;right:18px;bottom:22px;z-index:32;display:flex;gap:6px;border-radius:999px;padding:6px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.08),transparent),#171919c7;box-shadow:0 20px 72px #00000070;-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.source-radar-controls button{display:grid;place-items:center;border:0;color:#ffffffb8;background:#ffffff14}.source-radar-controls button{display:grid;width:34px;height:34px;place-items:center;border-radius:999px;opacity:.78;transform:scale(1);transition:opacity .18s ease,transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.source-radar-controls button:hover,.source-radar-controls button.active{opacity:1;color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.14),transparent),#ffffff1f;box-shadow:inset 0 0 0 1px #ffffff1f,0 0 18px #ffffff14}.source-radar-controls.ctrl-drag-active{border-color:#ffffff38;background:linear-gradient(180deg,rgba(255,255,255,.1),transparent),#171919e6}.source-radar-controls.ctrl-drag-active button.resting{opacity:.42;transform:scale(.94)}.source-radar-controls button.temporary-active{opacity:1;transform:scale(1.06);box-shadow:inset 0 0 0 1px #ffffff38,0 0 0 5px #ffffff12,0 18px 44px #00000080}.source-canvas-shell .canvas-node{position:relative;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.055),transparent 30%),#18191ce0;color:#fff;box-shadow:0 24px 74px #0000006b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.source-canvas-shell .canvas-node.selected{border-color:#ffffff3d;box-shadow:0 28px 90px #0000008f,0 0 0 1px #ffffff0f}.source-canvas-shell .node-header{border-bottom-color:#ffffff12;padding:14px 14px 11px}.source-canvas-shell .node-kind{color:#ffffff75;font-size:11px}.source-canvas-shell .node-status{min-width:52px;border-radius:999px;background:#ffffff0f;color:#ffffff94}.node-top-toolbar{position:absolute;right:10px;bottom:calc(100% + 8px);z-index:40;display:flex;gap:6px;border-radius:999px;padding:6px;background:#1f1f22d1;box-shadow:0 18px 58px #00000085;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.node-top-toolbar button{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:999px;background:#ffffff14;color:#ffffffb8}.node-top-toolbar button:hover{background:#ffffff24;color:#fff}.source-canvas-shell .image-preview{height:206px;border-color:#ffffff14;border-radius:12px;background:radial-gradient(circle at center,rgba(255,255,255,.08) 1px,transparent 1px),#111113;background-size:18px 18px}.canvas-select{position:relative;min-width:0}.canvas-select-trigger{display:grid;width:100%;height:34px;grid-template-columns:minmax(0,1fr) 14px;align-items:center;gap:7px;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:0 9px;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent),#ffffff0e;color:#ffffffd6;text-align:left}.canvas-select-trigger:hover,.canvas-select.open .canvas-select-trigger{border-color:#ffe8a83d;background:linear-gradient(180deg,rgba(255,255,255,.085),transparent),#ffffff14}.canvas-select-trigger span,.canvas-select-menu button span{min-width:0}.canvas-select-trigger b,.canvas-select-trigger small,.canvas-select-menu b,.canvas-select-menu small{display:block;overflow:hidden;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.canvas-select-trigger b,.canvas-select-menu b{font-size:12px;font-weight:800}.canvas-select-trigger small,.canvas-select-menu small{margin-top:2px;color:#ffffff61;font-size:10px}.canvas-select-trigger svg{color:#ffffff7a;transition:transform .16s ease}.canvas-select.open .canvas-select-trigger svg{transform:rotate(180deg)}.canvas-select-menu{position:fixed;z-index:1000;display:grid;width:158px;max-height:220px;overflow:hidden;overscroll-behavior:contain;gap:6px;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:6px;background:linear-gradient(180deg,rgba(255,255,255,.075),transparent 36%),#151818f5;box-shadow:0 20px 64px #00000085;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.canvas-select-options{display:grid;max-height:208px;overflow:auto;overscroll-behavior:contain;gap:4px}.canvas-select-menu button{display:grid;min-height:38px;grid-template-columns:minmax(0,1fr) 14px;align-items:center;gap:8px;border:0;border-radius:10px;padding:7px 8px;background:transparent;color:#ffffffb8;text-align:left}.canvas-select-menu button:hover,.canvas-select-menu button.selected{background:linear-gradient(180deg,rgba(255,255,255,.12),transparent),#fff1;color:#fff}.canvas-select-menu button svg{color:#ffffffd1}.canvas-select-option-copy{display:block}.canvas-select-menu:not(.has-description) .canvas-select-option-meta{margin-top:2px;max-height:0;opacity:0;transform:translateY(-3px);transition:max-height .18s ease,opacity .18s ease,transform .18s ease}.canvas-select-menu:not(.has-description) .canvas-select-option-meta.is-visible{max-height:72px;opacity:1;transform:translateY(0);white-space:normal;color:#ffffff85;line-height:1.35}.canvas-select-menu.has-description button{align-items:start;min-height:36px;height:auto;transition:background-color .18s ease,color .18s ease}.canvas-select-menu.has-description button:hover,.canvas-select-menu.has-description button:focus-visible,.canvas-select-menu.has-description button.selected{background:#ffffff1a}.canvas-select-menu.has-description small.canvas-select-option-meta{white-space:normal;text-overflow:clip}.canvas-select-menu.has-description .canvas-select-option-meta{display:block;max-height:0;margin-top:0;opacity:0;overflow:hidden;transform:none;white-space:normal;text-overflow:clip;line-height:1.35;color:#ffffff85;transition:max-height .2s ease,margin-top .2s ease,opacity .2s ease}.canvas-select-menu.has-description .canvas-select-option-meta.is-visible{max-height:120px;margin-top:3px;opacity:1}.canvas-select-menu.has-description .canvas-select-option-meta-text{display:block;font-size:8px;white-space:normal;overflow-wrap:break-word}.canvas-select-menu.has-description .canvas-select-options{scrollbar-width:none}.canvas-select-menu.has-description .canvas-select-options::-webkit-scrollbar{width:0;height:0;display:none}.canvas-select.compact .canvas-select-trigger{height:32px;border-radius:9px;padding:0 8px}.canvas-select.compact .canvas-select-menu{width:max(100%,112px)}.output-strip{display:flex;gap:7px;margin:10px 12px 0;overflow-x:auto}.output-strip button{width:48px;height:38px;flex:0 0 auto;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:9px;padding:0;background:#ffffff0e}.output-strip button.active{border-color:#ffe8a885;box-shadow:0 0 0 2px #ffe8a81a}.output-strip img{width:100%;height:100%;object-fit:cover}.source-canvas-shell .prompt-input{border-color:#ffffff1a;background:#ffffff0e}.source-canvas-shell .node-icon-button,.source-canvas-shell .reference-add,.source-canvas-shell .reference-chip{border-color:#ffffff1a;background:#ffffff13}.source-canvas-shell .node-icon-button:disabled,.source-canvas-shell .shell-run-button:disabled{cursor:progress;opacity:.72}.source-canvas-shell .video-shell-node{width:390px}.video-preview{position:relative;display:grid;height:178px;margin:0 12px;overflow:hidden;place-items:center;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:linear-gradient(120deg,rgba(64,124,115,.12),transparent 42%),radial-gradient(circle at center,rgba(255,255,255,.08) 1px,transparent 1px),#101113;background-size:auto,18px 18px}.video-preview img{width:100%;height:100%;object-fit:cover}.video-preview.empty>div{display:grid;max-width:250px;place-items:center;gap:8px;color:#ffffff7a;font-size:12px;line-height:1.55;text-align:center}.shell-prompt-input{min-height:74px}.video-control-row{display:flex;align-items:center;gap:7px;padding:0 12px 12px}.video-control-row>span{margin-right:auto;color:#ffffff7a;font-size:12px;white-space:nowrap}.video-control-row .canvas-select{width:86px;flex:0 0 86px}.shell-run-button{display:inline-flex;height:34px;align-items:center;justify-content:center;gap:8px;margin:0 12px 12px;border:0;border-radius:10px;background:#ffffff24;color:#fff;font-size:12px;font-weight:700}.shell-run-button:hover{background:#fff3}.source-canvas-shell .drop-hint{right:16px;bottom:128px;border-color:#ffffff1a;border-radius:18px;background:#1f1f22bd;color:#ffffff8a;pointer-events:none;transform:translateY(0)}.source-canvas-shell .drop-hint.upload-notice{right:auto;bottom:auto;top:20px;left:50%;padding:10px 16px;color:#ffffffd1;font-size:13px;font-weight:600;transform:translate(-50%)}.drop-hint-fade-enter-active,.drop-hint-fade-leave-active{transition:opacity .42s ease,transform .42s ease}.source-canvas-shell .drop-hint-fade-enter-from,.source-canvas-shell .drop-hint-fade-leave-to{opacity:0;transform:translateY(8px)}.source-canvas-shell .drop-hint.upload-notice.drop-hint-fade-enter-from,.source-canvas-shell .drop-hint.upload-notice.drop-hint-fade-leave-to{opacity:0;transform:translate(-50%) translateY(8px)}.canvas-drop-overlay{position:absolute;top:12px;right:12px;bottom:12px;left:12px;z-index:60;display:grid;place-items:center;border:2px dashed rgba(255,255,255,.32);border-radius:20px;background:#0c0c0e6b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none}.canvas-drop-overlay-card{display:grid;justify-items:center;gap:6px;border-radius:16px;padding:22px 30px;background:#1c1c1feb;box-shadow:0 24px 70px #00000080;color:#ffffffdb;text-align:center}.canvas-drop-overlay-card strong{font-size:15px;font-weight:700}.canvas-drop-overlay-card span{color:#ffffff8f;font-size:12px}.source-panel-item.is-draggable,.source-history-grid button.is-draggable{cursor:grab}.canvas-node-dragging,.canvas-node-dragging *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.canvas-node-drag-ghost{position:fixed;top:0;left:0;z-index:5200;max-width:220px;padding:8px 14px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:#141819f0;box-shadow:0 20px 56px #00000085;color:#eef2edeb;font-size:12.5px;font-weight:600;line-height:1.2;white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:border-color .16s ease,box-shadow .16s ease}.canvas-node-drag-ghost.is-over-canvas{border-color:#d0a64f99;box-shadow:0 22px 60px #00000094,0 0 0 1px #d0a64f52}.source-canvas-shell .vue-flow__controls,.source-canvas-shell .react-flow__controls{overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#ffffff14;box-shadow:0 18px 70px #0000006b;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.source-canvas-shell .vue-flow__controls{right:18px;bottom:126px}.source-canvas-shell .source-minimap{left:16px!important;bottom:16px!important;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.07),transparent 30%),#121215d6;box-shadow:0 20px 64px #00000070;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.source-canvas-shell .source-minimap.pannable{cursor:grab}.source-canvas-shell .source-minimap.pannable:active{cursor:grabbing}.source-canvas-shell .source-minimap svg{display:block}.source-canvas-shell .source-minimap .vue-flow__minimap-mask{fill:#0000007a;stroke:#ffe8a8b8}.source-minimap-node{cursor:pointer}.source-minimap-node-bg{fill:#ffffff14}.source-minimap-node-outline{fill:none;stroke:#fff3;stroke-width:1.6}.source-minimap-node.active .source-minimap-node-outline{stroke:#ffe8a8eb;stroke-width:2.4}.source-minimap-node.media .source-minimap-node-bg{fill:#ffffff29}.source-minimap-image .source-minimap-node-bg{fill:#407c7370}.source-minimap-shell.kind-video .source-minimap-node-bg{fill:#ffffff1c}.source-minimap-shell.kind-script .source-minimap-node-bg,.source-minimap-shell.kind-text .source-minimap-node-bg{fill:#ffffff1a}.source-minimap-lines rect{fill:#ffffff47}.source-canvas-shell .flow-handle{width:12px;height:12px;border:0;border-radius:999px;background:#ffe8a8e0;box-shadow:0 0 0 4px #ffe8a814,0 0 18px #ffe8a847}:root{--lc-panel-1: rgba(18, 18, 20, .82);--lc-panel-2: rgba(27, 27, 30, .88);--lc-panel-3: rgba(39, 39, 43, .9);--lc-line: rgba(255, 255, 255, .095);--lc-line-strong: rgba(255, 255, 255, .18);--lc-text: rgba(255, 255, 255, .92);--lc-text-muted: rgba(255, 255, 255, .52);--lc-text-faint: rgba(255, 255, 255, .34);--lc-focus: rgba(255, 255, 255, .34);--lc-focus-soft: rgba(255, 255, 255, .08);--lc-shadow: 0 24px 74px rgba(0, 0, 0, .38);--lc-shadow-strong: 0 32px 96px rgba(0, 0, 0, .54)}.source-app-shell{display:grid;height:100%;grid-template-rows:52px minmax(0,1fr);overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 42%),#0b0b0d;color:#f4f4f5}.source-app-shell>.source-dashboard-nav{position:relative;top:auto;min-height:0}.source-app-content{min-height:0;overflow:hidden}.source-app-content>.dashboard-page{height:100%;min-height:0}.utility-page{background:radial-gradient(circle at 12% 0%,rgba(255,255,255,.055),transparent 28rem),#0b0b0d}.utility-page .content-scroll{height:100%}.dashboard-page,.source-canvas-shell{scrollbar-color:rgba(255,255,255,.22) transparent}.dashboard-page::-webkit-scrollbar,.source-canvas-shell *::-webkit-scrollbar{width:10px;height:10px}.dashboard-page::-webkit-scrollbar-thumb,.source-canvas-shell *::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background:#fff3;background-clip:content-box}button:focus-visible,input:focus-visible,textarea:focus-visible,.canvas-select-trigger:focus-visible{outline:0;box-shadow:0 0 0 1px var(--lc-focus),0 0 0 5px var(--lc-focus-soft)}.source-dashboard-nav{position:sticky;box-shadow:0 18px 52px #0000003d}.source-dashboard-nav:after{position:absolute;right:0;bottom:-1px;left:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);content:"";opacity:.45}.dashboard-nav-links button{position:relative;display:inline-flex;height:52px;align-items:center;justify-content:center;width:92px;padding:0;z-index:2;border-radius:0;transition:color .18s ease,transform .18s ease}.dashboard-nav-links button:after{display:none}.dashboard-nav-links{position:relative;isolation:isolate;gap:0;margin-left:24px;padding:0;overflow:visible}.dashboard-nav-indicator{position:absolute;bottom:0;left:0;z-index:1;width:92px;height:2px;border-radius:999px 999px 0 0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.94) 20%,rgba(255,255,255,.94) 80%,transparent),#ffffffb3;box-shadow:0 -10px 26px #ffffff1f;transform:translate(var(--nav-indicator-x, 0));transition:transform .34s cubic-bezier(.22,1,.36,1),width .22s ease;will-change:transform}.dashboard-nav-links:before{position:absolute;right:0;bottom:0;left:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);content:"";opacity:.7}.dashboard-nav-links button:hover{color:#ffffffb8}.dashboard-nav-links button.active{color:#fff}.dashboard-nav-actions button:hover,.glass-button:hover,.icon-glass-button:hover,.create-workspace-button:hover,.view-switch button:hover,.template-hero button:hover,.template-card-body footer button:hover,.shell-run-button:hover,.save-pill:hover,.sync-pill:hover,.source-round-button:hover,.source-sidebar-button:hover{border-color:var(--lc-line-strong);color:#fff;background-color:#ffffff1f}.dashboard-search,.glass-button,.icon-glass-button,.create-workspace-button,.view-switch,.locale-button,.user-pill,.template-sidebar-panel,.template-grid-panel,.source-canvas-actions,.source-canvas-sidebar,.source-sidebar-flyout,.source-radar-controls,.source-canvas-shell .source-minimap,.source-canvas-shell .vue-flow__controls,.node-top-toolbar,.canvas-select-menu{border-color:var(--lc-line);background-color:var(--lc-panel-1)}.source-canvas-actions,.source-canvas-sidebar,.source-sidebar-flyout,.node-top-toolbar{border:1px solid var(--lc-line)}.dashboard-search:focus-within{border-color:var(--lc-line-strong);background:#ffffff13;box-shadow:0 0 0 1px #ffffff0a,0 14px 40px #00000047}.new-project-card,.source-project-card,.template-library-card,.team-empty-state{position:relative;isolation:isolate}.new-project-card:before,.source-project-card:before,.template-library-card:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.1),transparent 36%),radial-gradient(circle at 24% 0%,rgba(255,255,255,.1),transparent 28%);content:"";opacity:0;transition:opacity .22s ease}.new-project-card>*,.source-project-card>*,.template-library-card>*{position:relative;z-index:1}.new-project-card:hover:before,.source-project-card:hover:before,.template-library-card:hover:before{opacity:1}.new-project-card,.source-project-card{border-color:var(--lc-line);background-color:var(--lc-panel-2);box-shadow:var(--lc-shadow)}.source-project-card:hover,.new-project-card:hover{border-color:var(--lc-line-strong);background-color:var(--lc-panel-3);box-shadow:var(--lc-shadow-strong);transform:translateY(-3px)}.project-art-card{box-shadow:inset 0 0 0 1px #ffffff1f,inset 0 -40px 80px #00000038}.project-card-copy strong,.template-card-body strong{color:var(--lc-text)}.project-card-copy small,.template-card-body p,.template-hero span,.team-empty-state p{color:var(--lc-text-muted)}.template-page{background:radial-gradient(circle at 12% 0%,rgba(255,255,255,.07),transparent 30rem),radial-gradient(circle at 88% 12%,rgba(74,118,180,.1),transparent 28rem),linear-gradient(180deg,rgba(255,255,255,.018),transparent 40%),#0b0b0d}.template-hero{position:relative;overflow:hidden;isolation:isolate;border-color:var(--lc-line);background:linear-gradient(135deg,rgba(255,255,255,.1),transparent 46%),linear-gradient(180deg,#ffffff0e,#ffffff07),#ffffff0a;box-shadow:var(--lc-shadow)}.template-hero>div,.template-hero>button{position:relative;z-index:2}.template-hero:before,.template-hero:after{position:absolute;pointer-events:none;content:""}.template-hero:before{top:-42%;right:-42%;bottom:-42%;left:-42%;z-index:0;background:repeating-linear-gradient(112deg,rgba(255,255,255,.052) 0 1px,transparent 1px 54px),repeating-linear-gradient(0deg,rgba(255,255,255,.036) 0 1px,transparent 1px 44px),linear-gradient(115deg,transparent 28%,rgba(255,255,255,.085) 48%,transparent 68%);background-size:88px 88px,54px 54px,190% 100%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 84%,transparent 100%);opacity:.72;transform:rotate(-6deg) translateZ(0);animation:templateHeroLattice 26s linear infinite;will-change:transform,background-position}.template-hero:after{top:-18%;bottom:-18%;left:-36%;z-index:1;width:46%;background:linear-gradient(96deg,transparent 0%,rgba(255,255,255,.035) 24%,rgba(255,255,255,.135) 49%,rgba(255,255,255,.04) 66%,transparent 100%);filter:blur(.2px);opacity:.82;transform:skew(-18deg) translateZ(0);animation:templateHeroSweep 9.8s ease-in-out infinite;will-change:transform,opacity}.template-hero h1{max-width:820px;letter-spacing:0}.template-hero button{box-shadow:inset 0 0 0 1px #ffffff0f,0 14px 42px #00000047}@keyframes templateHeroLattice{0%{background-position:0 0,0 0,0% 50%;transform:rotate(-6deg) translate3d(-1%,-1%,0)}50%{background-position:88px 0,0 54px,72% 50%;transform:rotate(-6deg) translate3d(1.2%,.8%,0)}to{background-position:176px 0,0 108px,140% 50%;transform:rotate(-6deg) translate3d(-1%,-1%,0)}}@keyframes templateHeroSweep{0%,18%{opacity:0;transform:skew(-18deg) translateZ(0)}38%,68%{opacity:.76}88%,to{opacity:0;transform:skew(-18deg) translate3d(330%,0,0)}}.template-mode-bar button,.template-sidebar-panel button,.template-card-body footer button,.canvas-select-trigger,.canvas-select-menu button,.source-radar-controls button,.node-top-toolbar button{transition:border-color .18s ease,background .18s ease,color .18s ease,opacity .18s ease,transform .18s ease,box-shadow .18s ease}.template-mode-bar button{position:relative;border-color:var(--lc-line);background:linear-gradient(180deg,rgba(255,255,255,.042),transparent),#ffffff09}.template-mode-bar button:before{position:absolute;top:9px;bottom:9px;left:0;width:2px;border-radius:0 999px 999px 0;background:#ffffffbd;content:"";opacity:0;transform:translate(-1px);transition:opacity .18s ease,transform .18s ease}.template-mode-bar button:hover{border-color:var(--lc-line-strong);color:#ffffffd1;transform:translateY(-1px)}.template-mode-bar button.active{border-color:var(--lc-line-strong);background:linear-gradient(180deg,rgba(255,255,255,.11),transparent),#ffffff14;box-shadow:0 14px 44px #00000038}.template-mode-bar button.active:before{opacity:1;transform:translate(0)}.template-sidebar-panel,.template-grid-panel{box-shadow:0 18px 58px #0003;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.template-sidebar-panel p{color:var(--lc-text-faint)}.template-sidebar-panel button{position:relative;min-height:40px}.template-library-card{border-color:var(--lc-line);background:linear-gradient(180deg,rgba(255,255,255,.045),transparent 32%),#1d1d20db;box-shadow:var(--lc-shadow);transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.template-library-card:hover{border-color:var(--lc-line-strong);background-color:#26262aeb;box-shadow:var(--lc-shadow-strong);transform:translateY(-2px)}.template-cover{box-shadow:inset -1px 0 #ffffff14}.template-card-body footer button svg{transition:transform .18s ease}.template-card-body footer button:hover svg{transform:translate(1px,-1px)}.source-canvas-bg.base{background:linear-gradient(140deg,#0c0d0dfc,#080a0afc 46%,#050606fc),#070909}.source-canvas-bg.glow{opacity:.84;background:radial-gradient(circle at 18% 14%,rgba(255,255,255,.06),transparent 28rem),radial-gradient(circle at 80% 78%,rgba(255,255,255,.038),transparent 34rem),radial-gradient(circle at 52% 40%,rgba(255,255,255,.026),transparent 34rem)}.source-canvas-bg.dots{background:linear-gradient(90deg,rgba(255,255,255,.033) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.033) 1px,transparent 1px),radial-gradient(circle at center,rgba(255,255,255,.12) 1px,transparent 1.55px);background-size:72px 72px,72px 72px,18px 18px}.source-canvas-bg.dots.visible{opacity:.5}.source-canvas-actions,.source-canvas-sidebar,.source-sidebar-flyout,.source-radar-controls,.node-top-toolbar,.source-canvas-shell .source-minimap{box-shadow:var(--lc-shadow-strong)}.save-pill,.sync-pill,.user-chip,.source-round-button,.source-sidebar-button,.node-top-toolbar button,.source-radar-controls button{box-shadow:inset 0 0 0 1px #ffffff0b}.source-radar-controls.ctrl-drag-active{border-color:#ffffff38;box-shadow:0 0 0 1px #ffffff0a,0 28px 86px #00000094}.source-radar-controls button:hover,.source-radar-controls button.active{background:linear-gradient(180deg,rgba(255,255,255,.14),transparent),#ffffff1c;box-shadow:inset 0 0 0 1px #ffffff1a,0 12px 34px #0000005c}.source-radar-controls button.temporary-active{background:linear-gradient(180deg,rgba(255,255,255,.18),transparent),#ffffff29;box-shadow:inset 0 0 0 1px #ffffff38,0 0 0 5px #ffffff12,0 18px 44px #00000080}.source-canvas-shell .canvas-node{border-color:var(--lc-line);background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 26%),#161619e6;box-shadow:var(--lc-shadow)}.source-canvas-shell .canvas-node.selected{border-color:#ffffff42;box-shadow:0 0 0 1px #ffffff0f,0 32px 94px #00000094}.canvas-select-menu{background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 34%),#121314fa}.template-page .canvas-select-menu button.selected{box-shadow:inset 2px 0 #ffffffc7}.source-canvas-shell .source-minimap{background:linear-gradient(180deg,rgba(255,255,255,.075),transparent 32%),#0e0e10e6}.source-canvas-shell .source-minimap .vue-flow__minimap-mask{fill:#0000008a;stroke:#ffffffa3}.source-minimap-node.active .source-minimap-node-outline{stroke:#ffffffeb}.source-canvas-shell{background:#050505}.source-canvas-bg.base{background:linear-gradient(140deg,#09090afa,#050506fa 48%,#020203fa),#050505}.source-canvas-bg.glow{opacity:.72;background:radial-gradient(circle at 18% 14%,rgba(255,255,255,.05),transparent 28rem),radial-gradient(circle at 82% 78%,rgba(255,255,255,.034),transparent 34rem),radial-gradient(circle at 52% 40%,rgba(255,255,255,.022),transparent 34rem)}.source-canvas-bg.dots{background:linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.032) 1px,transparent 1px),radial-gradient(circle at center,rgba(255,255,255,.11) 1px,transparent 1.55px);background-size:72px 72px,72px 72px,18px 18px}.source-canvas-shell .generation-meter span{background:linear-gradient(90deg,#fff,#ffffff80)}.source-canvas-shell .vue-flow__selection{border:1px solid rgba(255,255,255,.68);border-radius:10px;background:linear-gradient(135deg,#ffffff1f,#ffffff09),#0c0d0f3d;box-shadow:0 0 0 1px #0000006b,inset 0 0 0 1px #ffffff1a,0 16px 34px #00000038;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);pointer-events:none}.source-canvas-shell .vue-flow__edge-path,.source-canvas-shell .vue-flow__connection-path{stroke:#ffffffa8;stroke-width:1.7}.source-canvas-shell .vue-flow__edge.selected .vue-flow__edge-path,.source-canvas-shell .vue-flow__edge:focus .vue-flow__edge-path{stroke:#ffffffeb;filter:drop-shadow(0 0 8px rgba(255,255,255,.18))}.source-canvas-shell .vue-flow__edge-interaction{stroke-width:18}.source-canvas-shell .flow-handle{z-index:80;width:24px;height:24px;border:0;border-radius:999px;background:transparent;box-shadow:none;cursor:crosshair!important;opacity:.94;pointer-events:auto;touch-action:none;transition:opacity .16s ease,transform .16s ease}.source-canvas-shell .flow-handle *,.source-canvas-shell .flow-handle:after{cursor:crosshair!important}.source-canvas-shell .flow-handle:after{position:absolute;top:7px;right:7px;bottom:7px;left:7px;content:"";border-radius:999px;background:#fff;box-shadow:0 0 0 1px #000000c7,0 0 0 5px #ffffff14;transition:inset .16s ease,box-shadow .16s ease,background .16s ease}.source-canvas-shell .flow-handle:hover,.source-canvas-shell .flow-handle.vue-flow__handle-connecting,.source-canvas-shell .flow-handle.vue-flow__handle-valid{opacity:1;transform:scale(1.04)}.source-canvas-shell .flow-handle:hover:after,.source-canvas-shell .flow-handle.vue-flow__handle-connecting:after,.source-canvas-shell .flow-handle.vue-flow__handle-valid:after{top:5px;right:5px;bottom:5px;left:5px;box-shadow:0 0 0 1px #000000db,0 0 0 8px #ffffff21,0 0 22px #ffffff2e}.source-canvas-shell .flow-handle.vue-flow__handle-left{left:-13px}.source-canvas-shell .flow-handle.vue-flow__handle-right{right:-13px}.node-top-toolbar{border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 42%),#0f0f10e6}.node-top-toolbar:after{position:absolute;right:22px;bottom:-5px;width:9px;height:9px;border-right:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);background:#0f0f10f0;content:"";transform:rotate(45deg)}.node-top-toolbar button{position:relative;z-index:1}.node-top-toolbar button:disabled{cursor:not-allowed;opacity:.45}.node-top-toolbar button.danger:hover{background:#ffffff29;color:#fff;box-shadow:inset 0 0 0 1px #ffffff2e,0 10px 28px #00000057}.source-canvas-shell .source-minimap .vue-flow__minimap-mask{fill:#0000008f;stroke:#ffffffa8}.source-minimap-image .source-minimap-node-bg,.source-minimap-shell.kind-video .source-minimap-node-bg,.source-minimap-shell.kind-script .source-minimap-node-bg,.source-minimap-shell.kind-text .source-minimap-node-bg{fill:#ffffff1c}.source-minimap-node.media .source-minimap-node-bg{fill:#ffffff2b}.source-radar-controls button:hover,.source-radar-controls button.active,.source-radar-controls button.temporary-active{color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.16),transparent),#ffffff1f;box-shadow:inset 0 0 0 1px #ffffff24,0 14px 38px #0000006b}.source-radar-controls.ctrl-drag-active{border-color:#ffffff3d}.canvas-select-trigger:hover,.canvas-select.open .canvas-select-trigger{border-color:#ffffff3d;background:linear-gradient(180deg,rgba(255,255,255,.12),transparent),#ffffff1a}.canvas-select-menu button:hover,.canvas-select-menu button.selected{background:#ffffff1a}.source-canvas-shell .vue-flow__node.selected:not(.vue-flow__node-groupNode){z-index:45!important}.source-canvas-shell .vue-flow__node-groupNode{z-index:0!important}.source-canvas-shell .vue-flow__nodesselection,.source-canvas-shell .vue-flow__nodesselection-rect{border:0!important;background:transparent!important;box-shadow:none!important}.source-canvas-shell .vue-flow__node:has(.canvas-node.menu-open){z-index:1000!important}.source-canvas-shell .source-flow-node{width:500px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#ffffffdb;-webkit-backdrop-filter:none;backdrop-filter:none}.source-canvas-shell .source-flow-node.image-node{max-width:100%;transition:width .18s ease}.source-canvas-shell .source-flow-node.video-shell-node{width:320px}.source-canvas-shell .source-flow-node.text-shell-node{width:256px}.source-canvas-shell .source-flow-node.selected{border-color:transparent;box-shadow:none}.node-mini-label{position:absolute;bottom:calc(100% + 4px);left:0;display:inline-flex;max-width:100%;align-items:center;gap:4px;color:#ffffff7a;font-size:10px;font-weight:700;white-space:nowrap}.node-mini-label span{overflow:hidden;text-overflow:ellipsis;cursor:text}.node-mini-label.editing{color:#ffffffd1}.node-mini-label-input{min-width:80px;max-width:220px;padding:1px 4px;color:#eef2ed;font:inherit;line-height:1.2;border:1px solid rgba(255,255,255,.28);border-radius:4px;background:#141819f5;outline:none}.node-mini-label-input:focus{border-color:#ffffff80}.node-preview-card{position:relative;display:grid;width:100%;height:312px;overflow:hidden;place-items:center;border:1px solid rgba(255,255,255,.075);border-radius:8px;background:#201f1ff5;box-shadow:0 18px 44px #0000003d;cursor:default}.video-shell-node .node-preview-card{height:180px}.text-shell-node .node-preview-card{min-height:320px;align-content:center;padding:24px;border-radius:16px;background:#1c1b1bb8;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.source-flow-node.selected .node-preview-card{border-color:#ffffff75;box-shadow:0 0 0 1px #ffffff0d,0 22px 56px #00000057}.node-preview-card img{width:100%;height:100%;object-fit:cover}.node-preview-empty{display:grid;place-items:center;color:#ffffff3d}.text-preview-card p{display:-webkit-box;overflow:hidden;margin:0;color:#ffffff8c;font-size:12px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.text-preview-empty{gap:12px;padding:8px;text-align:center}.text-preview-card.has-text-result{place-items:stretch;align-content:stretch}.text-result{width:100%;max-height:100%;overflow-y:auto;white-space:pre-wrap;word-break:break-word;color:#ffffffdb;font-size:13px;line-height:1.66;text-align:left}.port-context-menu{position:absolute;top:18px;left:calc(100% + 26px);z-index:95;display:grid;width:240px;height:420px;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;gap:6px;border:1px solid rgba(255,255,255,.11);border-radius:14px;padding:16px;background:#242424fa;box-shadow:0 28px 90px #00000085;transform:scale(var(--canvas-inverse-zoom, 1));transform-origin:0 0}.port-context-menu h3{margin:0 0 8px;color:#ffffffa8;font-size:15px}.port-context-menu button{display:grid;min-height:44px;grid-template-columns:34px minmax(0,auto) 1fr;align-items:center;gap:10px;border:0;border-radius:10px;padding:4px 6px 4px 0;background:transparent;color:#fff;text-align:left}.port-context-menu button:not(:disabled):hover{background:#ffffff12}.port-context-menu button:disabled{color:#ffffff42}.port-menu-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;background:#ffffff1a}.port-context-menu strong{font-size:15px}.port-context-menu em{justify-self:start;border-radius:4px;padding:2px 5px;background:#ffffff24;color:#ffffff94;font-size:10px;font-style:normal;font-weight:800}.port-context-menu em.new{color:#ffffffc7}.port-menu-enter-active,.port-menu-leave-active{transition:opacity .18s cubic-bezier(.22,1,.36,1),transform .18s cubic-bezier(.22,1,.36,1),filter .18s ease}.port-menu-enter-from,.port-menu-leave-to{opacity:0;filter:blur(4px);transform:translate(-10px) scale(.98)}.node-action-pop-enter-active,.node-action-pop-leave-active,.node-panel-pop-enter-active,.node-panel-pop-leave-active{transition:opacity .22s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1),filter .22s ease}.node-action-pop-enter-from,.node-action-pop-leave-to{opacity:0;filter:blur(4px);transform:translate(-50%) translateY(10px) scale(calc(var(--canvas-inverse-zoom, 1) * .96))}.node-panel-pop-enter-from,.node-panel-pop-leave-to{opacity:0;filter:blur(6px);transform:translate(-50%) translateY(-12px) scale(calc(var(--canvas-inverse-zoom, 1) * .96))}.node-editor-panel{position:absolute;top:calc(100% + 16px);left:50%;z-index:90;display:grid;width:500px;min-height:210px;transform:translate(-50%);border:1px solid rgba(255,255,255,.13);border-radius:16px;padding:16px;background:#141414b8;box-shadow:0 30px 110px #00000094;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:visible}.node-editor-panel>*{min-width:0}.image-editor-panel{width:672px}.video-editor-panel{width:580px;min-height:260px}.text-editor-panel{width:450px;min-height:128px}.editor-expand{position:absolute;top:14px;right:14px;display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:8px;background:transparent;color:#ffffff8f}.editor-tool-strip,.video-mode-tabs,.editor-control-bar{display:flex;align-items:center}.editor-tool-strip{gap:8px;padding-right:42px}.editor-tool-strip button,.video-mode-tabs button,.editor-icon-action,.editor-reference-thumb{display:inline-flex;height:44px;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(255,255,255,.11);border-radius:8px;background:#ffffff0b;color:#ffffffb3;font-size:12px;font-weight:700}.editor-tool-strip button{min-width:48px;flex-direction:column}.editor-tool-strip button:hover,.video-mode-tabs button.active,.editor-icon-action:hover{border-color:#ffffff57;color:#fff;background:#ffffff17}.editor-reference-thumb{position:relative;width:48px;overflow:hidden;padding:0}.editor-reference-thumb img{width:100%;height:100%;object-fit:cover}.editor-reference-thumb i{position:absolute;top:3px;right:3px;display:grid;min-width:14px;height:14px;place-items:center;border-radius:999px;background:#000000b8;color:#fff;font-size:9px;font-style:normal}.editor-reference-strip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0;padding-right:42px}.reference-chip{position:relative;width:48px;height:48px;overflow:visible;isolation:isolate}.reference-chip:hover,.reference-chip:focus-within{z-index:8}.reference-chip-image{display:block;width:100%;height:100%;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:3px;background:#ffffff0a;transition:border-color .15s ease,background .15s ease}.reference-chip-image img{display:block;width:100%;height:100%;object-fit:cover;border-radius:5px}.reference-chip-index{position:absolute;top:3px;right:3px;display:grid;min-width:14px;height:14px;place-items:center;border-radius:999px;background:#000000b8;color:#fff;font-size:9px;font-style:normal;transition:opacity .12s ease}.reference-chip:hover .reference-chip-index{opacity:0}.reference-chip:hover .reference-chip-image,.reference-chip:focus-within .reference-chip-image{border-color:#ffffff3d;background:#ffffff12}.reference-chip-close{position:absolute;top:-7px;right:-7px;z-index:12;display:grid;width:18px;height:18px;place-items:center;border:1px solid rgba(255,255,255,.26);border-radius:999px;padding:0;background:#161616f5;color:#fff;opacity:0;transform:scale(.8);transition:opacity .13s ease,transform .13s ease,background .13s ease,border-color .13s ease;cursor:pointer}.reference-chip:hover .reference-chip-close{opacity:1;transform:scale(1)}.reference-chip-close:hover{border-color:#f43f5e99;background:#f43f5e38}.reference-chip-preview{position:absolute;bottom:calc(100% + 8px);left:50%;z-index:10;width:132px;height:132px;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:#1c1c1c;box-shadow:0 18px 50px #00000080;opacity:0;transform:translate(-50%) scale(.96);transform-origin:50% 100%;pointer-events:none;transition:opacity .14s ease,transform .14s ease}.reference-chip-preview img{display:block;width:100%;height:100%;object-fit:cover}.reference-chip:hover .reference-chip-preview{opacity:1;transform:translate(-50%) scale(1)}.editor-prompt-wrap{position:relative}.editor-prompt-highlight{position:absolute;z-index:0;overflow:hidden;pointer-events:none}.editor-prompt-highlight-inner{border-style:solid;border-color:transparent;color:transparent;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word;will-change:transform}.editor-prompt-wrap .editor-prompt{position:relative;z-index:1}.prompt-mention-token{position:relative;display:inline-block;z-index:0;isolation:isolate}.prompt-mention-token:before{content:"";position:absolute;top:-1px;right:0;bottom:-1px;left:0;z-index:-1;border:1px solid rgba(255,255,255,.12);border-radius:5px;background:#ffffff0a}.prompt-mention-token.is-video:before{border-color:#ffffff1f;background:#ffffff0a}.prompt-mention-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:40;display:grid;gap:2px;width:224px;max-height:230px;overflow-y:auto;overscroll-behavior:contain;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:6px;background:#202020fa;box-shadow:0 22px 60px #00000085}.prompt-mention-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:40px;border:0;border-radius:8px;padding:4px 8px;background:transparent;color:#fff;font-size:14px;text-align:left;cursor:pointer}.prompt-mention-item:hover{background:#ffffff14}.prompt-mention-thumb{display:block;width:34px;height:34px;overflow:hidden;border-radius:6px;background:#ffffff14}.prompt-mention-thumb img{display:block;width:100%;height:100%;object-fit:cover}.prompt-mention-item em{font-style:normal;font-size:12px;color:#ffffff80}.editor-prompt{display:block;width:100%;max-width:100%;min-width:0;min-height:76px;margin:14px 0 8px;resize:none;border:0;background:transparent;color:#ffffffdb;outline:0;font-size:15px;line-height:1.6}.video-editor-prompt{min-height:78px;margin-top:10px}.video-mode-tabs{gap:7px;margin-bottom:8px;padding-right:42px}.video-mode-tabs button{height:32px;padding:0 12px}.video-mode-tabs button:disabled{opacity:.34}.editor-control-bar{min-height:38px;gap:10px;margin-top:auto;min-width:0;overflow:hidden}.editor-control-bar .model-select{min-width:124px}.editor-control-bar .canvas-select{width:86px}.editor-camera-pill,.model-inline,.editor-count,.editor-cost{display:inline-flex;height:32px;align-items:center;gap:5px;color:#ffffffc7;font-size:12px;font-weight:700;white-space:nowrap}.editor-cost{margin-left:auto;color:#ffffff6b}.editor-submit{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:9px;background:#ffffffeb;color:#111}.editor-submit:disabled{opacity:.62}.editor-output-strip{margin:0 0 8px}.mainline-rail{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:9px 11px;background:#ffffff09;color:#ffffffb3;font-size:12px;font-weight:700}.mainline-rail-action,.video-mainline-action{border:0;border-radius:8px;padding:7px 10px;background:#ffffffeb;color:#101010;font-size:12px;font-weight:800;white-space:nowrap}.video-mainline-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px 12px;background:#ffffff09}.video-mainline-card.ready{border-color:#ffffff29;background:#ffffff0d}.video-mainline-copy{display:grid;gap:4px;min-width:0}.video-mainline-copy strong{color:#ffffffe6;font-size:13px;font-weight:800}.video-mainline-copy small{color:#ffffff8f;font-size:12px;line-height:1.5}.source-canvas-shell .flow-handle{width:16px;height:16px;border:1px solid #444;border-radius:999px;background:#1a1a1a;box-shadow:none;cursor:pointer!important;opacity:1;pointer-events:auto;touch-action:none;transition:opacity .12s ease,border-color .12s ease,background .12s ease,box-shadow .12s ease}.source-canvas-shell .flow-handle *,.source-canvas-shell .flow-handle:after{cursor:pointer!important;pointer-events:none}.source-canvas-viewport.port-interaction,.source-canvas-viewport.port-interaction .vue-flow__pane,.source-canvas-viewport.port-interaction .vue-flow__node,.source-canvas-viewport.port-interaction .canvas-node{cursor:crosshair!important}.source-canvas-shell .flow-handle:after{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;content:"+";background:transparent;box-shadow:none;color:#888;font-size:10px;font-weight:700;line-height:1;transition:color .12s ease}.source-canvas-shell .flow-handle:hover,.source-canvas-shell .flow-handle.vue-flow__handle-connecting,.source-canvas-shell .flow-handle.vue-flow__handle-valid{opacity:1;border-color:#ffffff80;background:#242424;box-shadow:0 0 0 4px #ffffff14,0 0 18px #ffffff29}.source-canvas-shell .flow-handle:hover:after,.source-canvas-shell .flow-handle.vue-flow__handle-connecting:after,.source-canvas-shell .flow-handle.vue-flow__handle-valid:after{top:0;right:0;bottom:0;left:0;box-shadow:none;color:#fff}.source-canvas-header{top:0;right:24px;left:24px;z-index:120;align-items:center;padding:18px 0}.canvas-title-lockup{gap:20px}.canvas-brand-menu-wrap{position:relative}.canvas-brand-button{display:grid;gap:2px;border:0;padding:0;background:transparent;color:#fff;font-size:20px;font-weight:700;line-height:1.15;text-align:left}.canvas-brand-button:hover,.canvas-brand-button[aria-expanded=true]{color:#ffffffe0}.canvas-top-menu{position:absolute;top:100%;left:-2px;z-index:160;display:grid;width:200px;overflow:visible;border:0;border-radius:16px;padding:10px 0 8px;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.canvas-top-menu:before{position:absolute;top:10px;right:0;bottom:0;left:0;z-index:0;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:#242424f5;box-shadow:0 24px 76px #00000085;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);content:"";pointer-events:none}.canvas-top-menu button{position:relative;z-index:1;display:flex;height:48px;justify-content:flex-start;align-items:center;border:0;border-radius:0;padding:0 18px;background:transparent;color:#ffffffe0;font-size:15px;font-weight:700;text-align:left}.canvas-top-menu button:nth-child(3){border-top:1px solid rgba(255,255,255,.08);margin-top:4px;padding-top:4px}.canvas-top-menu button:hover,.canvas-top-menu button:focus-visible{background:#ffffff14;color:#fff}.canvas-menu-pop-enter-active,.canvas-menu-pop-leave-active{transition:opacity .15s ease,transform .15s cubic-bezier(.22,1,.36,1),filter .15s ease}.canvas-menu-pop-enter-from,.canvas-menu-pop-leave-to{opacity:0;filter:blur(4px);transform:translateY(-6px) scale(.98)}.canvas-title-lockup>i{width:1px;height:24px;background:#ffffff2e}.canvas-title-lockup h1{display:flex;align-items:center;gap:10px;min-width:0;color:#e5e2e1ad;font-size:14px;font-weight:600}.canvas-dirty-pill{display:inline-flex;height:22px;flex:0 0 auto;align-items:center;border:1px solid rgba(255,255,255,.13);border-radius:999px;padding:0 8px;background:#fff1;color:#ffffffb8;font-size:11px;font-weight:700}.canvas-saved-hint{display:inline-flex;align-items:center;vertical-align:middle;color:#ffffff47;font-size:11px;font-weight:500}.canvas-project-lockup{display:grid;gap:6px;min-width:0}.canvas-position-badges{display:flex;max-width:min(620px,calc(100vw - 430px));flex-wrap:wrap;gap:6px}.canvas-position-badges span{display:inline-flex;height:20px;align-items:center;border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:0 8px;background:#ffffff0e;color:#ffffff80;font-size:10px;font-weight:700;white-space:nowrap}.source-canvas-actions{gap:16px;border:0;padding:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.canvas-header-icon,.canvas-user-avatar{display:grid;place-items:center;border:0;background:transparent;color:#e5e2e1a8}.canvas-header-icon{width:30px;height:30px}.canvas-user-avatar{width:36px;height:36px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#201f1fc7}.canvas-header-icon:hover,.canvas-user-avatar:hover{color:#fff}.source-canvas-sidebar{left:24px;width:56px;gap:18px;border-radius:999px;padding:24px 0;background:#141414b8;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.source-sidebar-button{width:40px;height:40px;margin-bottom:0;border-radius:999px}.source-sidebar-button:hover,.source-sidebar-button.active{background:#ffffff1a}.source-sidebar-flyout{left:96px;border-radius:16px;background:#141414d6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.source-radar-controls{right:auto;bottom:24px;left:24px;z-index:121;gap:12px;border-radius:999px;padding:8px 14px;background:#141414b8;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.source-radar-controls button{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;padding:0;line-height:0;background:transparent}.source-radar-controls button svg{display:block}.source-canvas-shell .source-minimap{display:none}.source-zoom-controls{position:absolute;right:24px;bottom:24px;z-index:121;display:flex;align-items:center;gap:18px;height:48px;border:1px solid rgba(255,255,255,.11);border-radius:999px;padding:0 16px;background:#141414b8;box-shadow:0 8px 32px #0000005e;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.source-zoom-controls button{display:grid;width:26px;height:26px;place-items:center;border:0;border-radius:999px;background:transparent;color:#e5e2e1b8}.source-zoom-controls button:hover{color:#fff}.source-zoom-controls span{min-width:42px;color:#e5e2e1b8;font-family:Geist Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;font-weight:700;text-align:center}.canvas-unsaved-guard{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay-guard);display:grid;place-items:center;padding:24px;background:#04050680;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.canvas-unsaved-dialog{width:min(460px,calc(100vw - 48px));border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:20px 20px 18px;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 32%),#141414e0;box-shadow:0 28px 90px #00000085;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}.canvas-unsaved-kicker{display:inline-flex;align-items:center;height:28px;border-radius:999px;padding:0 10px;background:#ffffff14;color:#ffffff94;font-size:11px;font-weight:700}.canvas-unsaved-kicker.danger{background:#ffffff1a;color:#ffffffb8}.canvas-unsaved-dialog h2,.canvas-unsaved-dialog p{margin:0}.canvas-unsaved-dialog h2{margin-top:14px;color:#ffffffeb;font-size:24px;line-height:1.2}.canvas-unsaved-dialog p{margin-top:10px;color:#ffffff85;font-size:13px;line-height:1.7}.canvas-unsaved-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px}.canvas-unsaved-secondary,.canvas-unsaved-primary,.canvas-unsaved-danger{justify-content:center;min-width:112px;border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:0 14px;font-size:12px;font-weight:700}.canvas-unsaved-secondary,.canvas-unsaved-primary{border:0}.canvas-unsaved-danger{height:32px;background:#ffffff0f;color:#ffffffc7}.canvas-unsaved-danger:hover{border-color:#ffffff2e;background:#ffffff1a;color:#fff}.canvas-unsaved-pop-enter-active,.canvas-unsaved-pop-leave-active{transition:opacity .2s cubic-bezier(.22,1,.36,1),transform .2s cubic-bezier(.22,1,.36,1)}.canvas-unsaved-pop-enter-from,.canvas-unsaved-pop-leave-to{opacity:0}.canvas-unsaved-pop-enter-from .canvas-unsaved-dialog,.canvas-unsaved-pop-leave-to .canvas-unsaved-dialog{transform:translateY(14px) scale(.98)}.source-canvas-shell{background:#070707}.source-canvas-bg.glow{opacity:.18;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.032),transparent 32rem)}.source-canvas-bg.dots{background:radial-gradient(circle at center,rgba(255,255,255,.12) 1px,transparent 1.45px);background-size:16px 16px;opacity:.36}.source-canvas-shell .source-flow-node{width:270px;color:#ffffffd6}.source-canvas-shell .source-flow-node.video-shell-node{width:270px}.node-mini-label{bottom:calc(100% + 5px);gap:4px;color:#ffffff75;font-size:12px;font-weight:700}.node-preview-card{height:152px;border-color:#ffffff42;border-radius:4px;background:#242424;box-shadow:none}.video-shell-node .node-preview-card{height:152px}.source-flow-node.selected .node-preview-card{border-color:#ffffff6b;box-shadow:none}.node-preview-empty{color:#ffffff3d}.node-floating-actions{position:absolute;bottom:calc(100% + 34px);left:50%;z-index:91;display:inline-flex;gap:8px;transform:translate(-50%) scale(var(--canvas-inverse-zoom, 1));transform-origin:50% 100%}.node-upload-pill{display:inline-flex;min-width:68px;height:30px;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(255,255,255,.11);border-radius:8px;padding:0 9px;background:#252525f5;color:#ffffffe6;font-size:13px;font-weight:700;box-shadow:0 16px 50px #00000070;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.node-upload-pill span{white-space:nowrap}.node-upload-pill:hover{border-color:#ffffff3d;background:#2f2f2ffa}.node-upload-pill:disabled{opacity:.46;cursor:not-allowed}.source-image-card.uploadable{cursor:pointer}.source-image-empty{display:grid;gap:6px;justify-items:center;padding:16px;text-align:center}.source-image-empty span{color:#ffffffa8;font-size:13px;font-weight:700}.source-image-empty em{color:#ffffff57;font-size:11px;font-style:normal}.source-image-card.uploadable:hover{border-color:#ffffff6b}.source-image-card.uploadable:hover .source-image-empty{color:#fff6}.source-image-error,.editor-error{margin-top:8px;border-radius:8px;padding:7px 10px;background:#f43f5e29;color:#fca5a5;font-size:12px;line-height:1.5}.node-editor-panel{top:calc(100% + 8px);min-height:196px;transform:translate(-50%) scale(var(--canvas-inverse-zoom, 1));transform-origin:50% 0;border-color:#ffffff1f;border-radius:10px;padding:10px;background:#262626;box-shadow:0 28px 92px #0000008a;-webkit-backdrop-filter:none;backdrop-filter:none}.image-editor-panel{width:600px;min-height:196px}.video-editor-panel{width:600px;min-height:228px}.text-editor-panel{width:420px;min-height:118px}.editor-expand{top:10px;right:10px;width:28px;height:28px;color:#ffffff8f}.editor-tool-strip{gap:8px;padding-right:44px}.editor-tool-strip button,.video-mode-tabs button,.editor-icon-action,.editor-reference-thumb{border-color:#ffffff21;border-radius:7px;background:#ffffff09;color:#ffffffa3}.editor-tool-strip button,.editor-reference-thumb{width:48px;height:48px}.editor-tool-strip button{min-width:48px}.editor-tool-strip button:hover,.editor-icon-action:hover{border-color:#ffffff47;background:#ffffff14}.video-mode-tabs{gap:6px;margin-bottom:8px;padding-right:44px}.video-mode-tabs button{height:28px;padding:0 12px;font-size:12px}.video-mode-tabs button.active{border-color:#ffffffdb;background:#ffffffe6;color:#101010}.video-mode-tabs button:disabled{opacity:.38}.video-tools button{width:48px}.editor-prompt{min-height:76px;margin:13px 0 6px;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 12px;background:#ffffff05;color:#ffffffd6;box-shadow:inset 0 1px #ffffff08;font-size:14px;font-weight:650;line-height:1.55;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease}.editor-prompt::placeholder{color:#ffffff6b}.editor-prompt:hover{border-color:#ffffff14;background:transparent}.editor-prompt:focus{border-color:#ffffff3d;background:#ffffff08;box-shadow:0 0 0 2px #ffffff09}.image-editor-panel .editor-prompt,.image-editor-panel .editor-prompt:hover,.image-editor-panel .editor-prompt:focus{border-color:transparent;background:transparent;box-shadow:none}.text-editor-panel .editor-prompt{min-height:92px;margin-top:0;margin-bottom:12px}.video-editor-prompt{min-height:64px;margin-top:10px}.editor-control-bar{min-height:34px;gap:8px;overflow:hidden}.editor-control-bar .canvas-select{width:auto;flex:0 0 auto}.editor-control-bar .model-select{width:max-content;min-width:0;max-width:280px}.editor-control-bar .model-select .canvas-select-trigger{width:max-content;max-width:100%;grid-template-columns:max-content 12px;gap:4px;padding-right:2px}.editor-control-bar .model-select .canvas-select-trigger>span,.editor-control-bar .model-select .canvas-select-copy{min-width:max-content}.editor-control-bar .model-select .canvas-select-trigger b,.editor-control-bar .model-select .canvas-select-trigger small{overflow:visible;text-overflow:clip}.editor-control-bar .editor-format-select{width:118px}.video-editor-panel .editor-format-select{width:148px}.editor-control-bar .editor-count-select{width:68px}.editor-control-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;margin-left:auto}.canvas-select-trigger>span{display:inline-flex;min-width:0;align-items:center;gap:6px}.canvas-select-leading,.model-inline svg{display:inline-flex;flex:0 0 auto;color:#ffffffdb}.canvas-select-copy{min-width:0}.node-editor-panel .canvas-select-trigger{height:32px;border:0;grid-template-columns:minmax(0,1fr) 12px;padding:0 2px;background:transparent;color:#ffffffdb}.node-editor-panel .canvas-select-trigger:hover,.node-editor-panel .canvas-select.open .canvas-select-trigger{border-color:transparent;background:#ffffff0e}.node-editor-panel .canvas-select-trigger b{font-size:13px;font-weight:700}.node-editor-panel .canvas-select-trigger small{display:none}.canvas-select-trigger .canvas-select-chevron{width:12px;color:#ffffff7a}.canvas-select.open .canvas-select-trigger .canvas-select-leading svg{transform:none}.canvas-select.open .canvas-select-trigger .canvas-select-chevron{transform:rotate(180deg)}.editor-camera-pill,.model-inline,.editor-count{height:32px;gap:5px;color:#ffffffdb;font-size:13px;font-weight:700}.model-inline{flex:0 0 auto}.seedance-model{width:144px}.model-badge{display:inline-block;width:12px;height:12px;border-radius:999px;background:#f5bd38;box-shadow:inset 0 0 0 2px #0000002e}.editor-icon-action{width:32px;height:32px}.editor-count{margin-left:auto}.editor-submit{width:30px;height:30px;border-radius:9px;background:#ffffffeb}.source-canvas-shell .flow-handle{width:12px;height:12px;border:1px solid rgba(255,255,255,.34);background:#1e1e1e;cursor:pointer!important}.source-canvas-shell .flow-handle:after{top:3px;right:3px;bottom:3px;left:3px;content:"";border-radius:999px;background:#ffffff59;box-shadow:none}.source-canvas-shell .flow-handle:hover,.source-canvas-shell .flow-handle.vue-flow__handle-connecting,.source-canvas-shell .flow-handle.vue-flow__handle-valid{border-color:#ffffff94;background:#242424;box-shadow:0 0 0 4px #ffffff0f}.source-canvas-shell .flow-handle:hover:after,.source-canvas-shell .flow-handle.vue-flow__handle-connecting:after,.source-canvas-shell .flow-handle.vue-flow__handle-valid:after{top:3px;right:3px;bottom:3px;left:3px;background:#ffffffb8}.source-canvas-shell .flow-handle.vue-flow__handle-left{left:0;transform:translate(-50%,-50%)}.source-canvas-shell .flow-handle.vue-flow__handle-right{right:0;transform:translate(50%,-50%)}@media(prefers-reduced-motion:reduce){.dashboard-nav-links button,.dashboard-nav-indicator,.new-project-card,.source-project-card,.template-library-card,.template-mode-bar button,.template-group-option:before,.template-hero:before,.template-hero:after,.source-radar-controls,.source-radar-controls button,.canvas-unsaved-guard,.canvas-unsaved-dialog{transition-duration:.01ms!important;animation:none!important}}@media(min-width:1280px){.unlimited-card{display:block}}@media(max-width:1120px){.project-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-nav-actions{display:none}}@media(max-width:760px){.dashboard-controls{align-items:stretch;flex-direction:column}.product-position-strip,.position-pillar-grid{grid-template-columns:1fr}.canvas-position-badges{display:none}.project-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-nav-links,.source-canvas-actions .sync-pill,.source-canvas-actions .user-chip{display:none}}.node-file-input{display:none}.source-canvas-shell,.source-canvas-bg.base{background:#0d0e0f}.source-canvas-bg.glow{opacity:.16;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.03),transparent 32rem)}.canvas-viewport,.source-canvas-viewport{background:transparent}.image-preview-card{background:#0d0e0f;max-width:100%;margin:0 auto;cursor:pointer;transition:width .18s ease,height .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .2s ease,transform .2s cubic-bezier(.22,1,.36,1),filter .2s ease}.image-preview-card.is-collapsed{opacity:0;visibility:hidden;transform:scale(.96);filter:blur(6px)}.image-preview-card img{width:100%;height:100%;object-fit:contain;cursor:inherit}.generation-progress{position:absolute;top:0;right:0;bottom:0;left:0;z-index:26;pointer-events:none;overflow:hidden;background:#080b0c38;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:generation-veil-in .24s ease both}@keyframes generation-veil-in{0%{opacity:0;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1}}.generation-progress .generation-sweep{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.16) 45%,rgba(255,255,255,.26) 50%,rgba(255,255,255,.16) 55%,transparent 100%);transform:translate(-100%);animation:generation-sweep-move 1.25s ease-in-out infinite}.generation-progress .generation-ring{position:absolute;top:50%;left:50%;width:42px;height:42px;margin:-21px 0 0 -21px}.generation-progress .generation-ring:before,.generation-progress .generation-ring:after{content:"";position:absolute;border-radius:50%}.generation-progress .generation-ring:before{top:0;right:0;bottom:0;left:0;background:conic-gradient(from 0deg,#fff0,#fff0 130deg,#ffffff52 250deg,#ffffffeb 340deg,#fff 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));filter:drop-shadow(0 0 5px rgba(255,255,255,.4));animation:generation-ring-spin 1.15s cubic-bezier(.62,.04,.36,.98) infinite}.generation-progress .generation-ring:after{top:6px;right:6px;bottom:6px;left:6px;background:conic-gradient(from 0deg,#fff0,#fff0 230deg,#ffffff8c 320deg,#ffffffd9 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 1.5px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,transparent calc(100% - 1.5px),#000 calc(100% - 1px));animation:generation-ring-spin .92s cubic-bezier(.5,0,.5,1) infinite reverse}@keyframes generation-sweep-move{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes generation-ring-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.generation-progress{animation:none}.generation-progress .generation-sweep{animation:none;opacity:.4}.generation-progress .generation-ring:before{animation-duration:2.2s;animation-timing-function:linear}.generation-progress .generation-ring:after{animation:none;opacity:.5}}.image-quick-actions{left:auto;right:0;bottom:calc(100% + 20px);align-items:flex-start;gap:6px;transform:scale(var(--canvas-inverse-zoom, 1));transform-origin:100% 100%}.image-quick-actions button{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#141416eb;color:#ffffffd1;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.image-quick-actions button:hover:not(:disabled){border-color:#ffffff47;background:#26262af5;color:#fff}.image-quick-actions button:disabled{opacity:.4;cursor:not-allowed}.image-edit-action-wrap{position:relative}.image-quick-actions .image-edit-action-trigger{display:inline-flex;width:auto;min-width:94px;padding:0 10px;gap:6px;white-space:nowrap}.image-edit-action-trigger span{font-size:13px;font-weight:800}.image-edit-action-menu,.image-crop-ratio-menu{position:absolute;z-index:110;display:grid;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:#303030fa;box-shadow:0 22px 70px #0000007a}.image-edit-action-menu{top:calc(100% + 7px);left:0;width:132px;padding:4px}.image-edit-action-menu button,.image-crop-ratio-menu button{display:flex;width:100%;height:34px;align-items:center;justify-content:flex-start;gap:8px;border:0;border-radius:6px;padding:0 9px;background:transparent;color:#ffffffd1;font-size:13px;font-weight:800}.image-edit-action-menu button:hover,.image-crop-ratio-menu button:hover,.image-crop-ratio-menu button.active{background:#ffffff1f;color:#fff}.image-edit-topbar,.image-edit-bottombar{left:50%;right:auto;align-items:center;border:1px solid rgba(255,255,255,.13);border-radius:10px;padding:8px;background:#2a2a2afa;box-shadow:0 24px 76px #0000008f;transform:translate(-50%) scale(var(--canvas-inverse-zoom, 1));transform-origin:50% 100%}.image-edit-topbar{bottom:calc(100% + 22px)}.image-crop-topbar{gap:10px}.image-erase-topbar{gap:9px;min-width:535px;justify-content:center}.image-edit-bottombar{top:calc(100% + 16px);bottom:auto;min-width:520px;justify-content:space-between;gap:18px;padding:8px 10px 8px 18px;transform-origin:50% 0}.image-edit-bottombar span{color:#ffffffeb;font-size:14px;font-weight:800;white-space:nowrap}.image-edit-close,.image-edit-tool,.image-edit-mode-title,.image-crop-ratio-trigger,.image-edit-confirm{display:inline-flex;height:34px;align-items:center;justify-content:center;gap:7px;border:0;border-radius:8px;background:transparent;color:#ffffffe6;font-size:14px;font-weight:850}.image-edit-close{width:36px}.image-edit-mode-title{min-width:86px;justify-content:flex-start;padding:0 8px}.image-edit-tool{width:36px}.image-edit-tool.active,.image-edit-close:hover,.image-edit-tool:hover:not(:disabled),.image-edit-mode-title:hover,.image-crop-ratio-trigger:hover{background:#ffffff1a}.image-edit-tool:disabled{opacity:.36;cursor:not-allowed}.image-edit-divider{width:1px;height:27px;background:#ffffff1a}.image-crop-ratio-wrap{position:relative}.image-crop-ratio-trigger{min-width:118px;padding:0 10px}.image-crop-ratio-menu{top:calc(100% + 8px);left:0;width:126px;padding:4px}.image-edit-confirm{min-width:74px;background:#fffffff0;color:#050505}.image-edit-confirm:hover:not(:disabled){background:#fff}.image-edit-confirm:disabled{opacity:.7;cursor:wait}.image-edit-confirm.square{width:42px;min-width:42px;height:42px;border-radius:12px}.image-erase-size{display:inline-flex;width:150px;align-items:center;gap:9px;color:#ffffffe0}.image-erase-size input{width:102px;accent-color:#fff}.image-redraw-bottombar{flex-direction:column;align-items:stretch;gap:10px;min-width:520px;width:max(520px,min(600px,100%));max-width:600px;box-sizing:border-box;padding:12px 14px 10px}.image-redraw-input{width:100%;min-height:56px;max-height:140px;resize:none;margin:0;border:0;border-radius:0;padding:4px 2px 6px;background:transparent;box-shadow:none;color:#ffffffd6;font-size:14px;font-weight:650;line-height:1.55;outline:none}.image-redraw-input::placeholder{color:#ffffff6b;font-weight:650}.image-redraw-input:hover,.image-redraw-input:focus{border:0;background:transparent;box-shadow:none;outline:none}.image-redraw-controls{display:flex;align-items:center;justify-content:space-between;gap:14px}.image-redraw-params{display:inline-flex;align-items:center;gap:14px}.image-redraw-params span{color:#ffffffeb;font-size:14px;font-weight:800;white-space:nowrap}.image-edit-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:24;overflow:hidden}.image-erase-overlay.is-generating,.image-expand-overlay.is-generating{pointer-events:none}.image-quick-actions.is-busy-locked,.node-editor-panel.is-busy-locked,.image-edit-topbar.is-busy-locked,.image-edit-bottombar.is-busy-locked{opacity:.55;cursor:not-allowed}.image-expand-overlay.is-generating .image-crop-handle{opacity:0;pointer-events:none}.generation-progress.image-expand-generating{inset:auto;right:auto;bottom:auto;z-index:28;border-radius:2px}.image-edit-crop-shade{position:absolute;background:#00000057;pointer-events:none}.image-crop-box{position:absolute;border:3px solid rgba(255,255,255,.96);box-shadow:0 0 0 999px #0000002e,inset 0 0 0 1px #0000006b;cursor:move}.image-crop-box:before,.image-crop-box:after{content:"";position:absolute;inset:33.333% 0 auto;border-top:1px solid rgba(255,255,255,.44)}.image-crop-box:after{inset:66.666% 0 auto}.image-crop-handle{position:absolute;width:12px;height:12px;border:2px solid #fff;background:#fff}.image-crop-handle.handle-n,.image-crop-handle.handle-s{left:50%;margin-left:-6px;cursor:ns-resize}.image-crop-handle.handle-e,.image-crop-handle.handle-w{top:50%;margin-top:-6px;cursor:ew-resize}.image-crop-handle.handle-n{top:-8px}.image-crop-handle.handle-s{bottom:-8px}.image-crop-handle.handle-e{right:-8px}.image-crop-handle.handle-w{left:-8px}.image-crop-handle.handle-ne,.image-crop-handle.handle-se,.image-crop-handle.handle-sw,.image-crop-handle.handle-nw{width:14px;height:14px}.image-crop-handle.handle-ne{top:-9px;right:-9px;cursor:nesw-resize}.image-crop-handle.handle-se{right:-9px;bottom:-9px;cursor:nwse-resize}.image-crop-handle.handle-sw{bottom:-9px;left:-9px;cursor:nesw-resize}.image-crop-handle.handle-nw{top:-9px;left:-9px;cursor:nwse-resize}.node-preview-card.is-expanding{overflow:visible}.source-canvas-shell .vue-flow__node:has(.image-preview-card.is-expanding){z-index:1000!important}.image-expand-overlay{overflow:visible;background:transparent}.image-expand-canvas{position:absolute;z-index:1;border-radius:2px;background-color:#0a0e0ff0;background-image:linear-gradient(45deg,rgba(255,255,255,.07) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.07) 75%),linear-gradient(45deg,rgba(255,255,255,.07) 25%,transparent 25%,transparent 75%,rgba(255,255,255,.07) 75%);background-size:16px 16px;background-position:0 0,8px 8px;box-shadow:0 18px 60px #00000080;pointer-events:none}.image-expand-image{position:absolute;z-index:2;object-fit:fill;border-radius:1px;box-shadow:0 0 0 1px #00000073;pointer-events:none}.image-expand-frame{position:absolute;z-index:3;border:2px solid rgba(255,255,255,.96);box-shadow:inset 0 0 0 1px #0006;pointer-events:none}.image-expand-frame .image-crop-handle{pointer-events:auto}.image-expand-params{display:inline-flex;align-items:center;gap:16px}.image-expand-params span{color:#ffffffeb;font-size:14px;font-weight:800;white-space:nowrap}.image-expand-bottombar{gap:14px;min-width:420px;justify-content:space-between;padding:8px 10px 8px 12px}.image-erase-mask-canvas{position:absolute;z-index:2;pointer-events:none}.image-erase-overlay{cursor:none;touch-action:none;-webkit-user-select:none;user-select:none}.image-erase-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff0f;pointer-events:none}.image-erase-cursor{position:absolute;z-index:4;left:0;top:0;border:2px solid rgba(255,255,255,.86);border-radius:999px;background:#ffffff24;box-shadow:0 0 0 1px #00000038,0 10px 24px #00000047;pointer-events:none}.image-erase-rect-preview{position:absolute;z-index:5;border:2px solid rgba(255,255,255,.92);background:#ffffff2e;box-shadow:inset 0 0 0 1px #0000003d,0 0 0 999px #00000014;pointer-events:none}.image-stack-layer{position:absolute;top:0;left:0;z-index:0;width:100%;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#1a1919f5;box-shadow:0 14px 36px #00000047;pointer-events:none}.image-stack-layer img{width:100%;height:100%;object-fit:cover;filter:brightness(.82)}.node-preview-card.is-stacked{position:relative;z-index:1}.image-count-badge{position:absolute;top:10px;right:10px;z-index:30;display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#0c0c0ec7;color:#ffffffeb;font-size:12px;font-weight:700;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .15s ease,background .15s ease}.image-count-badge:hover{border-color:#ffffff4d;background:#202024e6}.image-gallery-panel{position:absolute;top:0;left:50%;z-index:95;display:flex;flex-direction:column;transform:translate(-50%)}.image-gallery-row{display:grid;grid-template-columns:repeat(2,auto);gap:12px;justify-content:center}.image-gallery-item{position:relative;margin:0;overflow:hidden;border-radius:12px;background:#201f1ff5;cursor:pointer}.image-gallery-item img{display:block;width:100%;height:100%;object-fit:cover}.image-gallery-item.active{box-shadow:inset 0 0 0 2px #ffe8a89e}.image-gallery-item-actions{position:absolute;top:8px;right:8px;left:8px;display:flex;align-items:center;justify-content:space-between;gap:8px}.image-gallery-item-actions button{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 11px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#0c0c0ec7;color:#ffffffeb;font-size:12px;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .15s ease,background .15s ease}.image-gallery-item-actions button:hover{border-color:#ffffff4d;background:#202024eb}.image-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4000;display:flex;align-items:stretch;justify-content:center;box-sizing:border-box;padding:72px 32px 96px;background:#040506eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:zoom-out}.image-lightbox-stage{position:relative;flex:1 1 auto;width:100%;min-height:0;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:32px;overflow:hidden}.image-lightbox-viewport{display:flex;align-items:center;justify-content:center;flex:0 1 auto;max-width:100%;max-height:100%;transform-origin:center center;transition:transform .16s ease;filter:drop-shadow(0 16px 40px rgba(0,0,0,.5));touch-action:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;cursor:default}.image-lightbox-viewport.is-pannable{cursor:grab}.image-lightbox-viewport.is-dragging{cursor:grabbing;transition:none}.image-lightbox-viewport img{display:block;width:100%;height:100%;object-fit:contain;border-radius:8px}.image-lightbox-toolbar{position:absolute;top:18px;right:18px;display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#141416eb}.image-lightbox-toolbar span{min-width:46px;text-align:center;color:#ffffffd1;font-size:13px;font-weight:700}.image-lightbox-toolbar button{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:8px;background:transparent;color:#ffffffd1;cursor:pointer}.image-lightbox-toolbar button:hover:not(:disabled){background:#ffffff1a;color:#fff}.image-lightbox-toolbar button:disabled{opacity:.4;cursor:not-allowed}.lightbox-fade-enter-active,.lightbox-fade-leave-active{transition:opacity .18s ease}.lightbox-fade-enter-from,.lightbox-fade-leave-to{opacity:0}.node-creator-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4300}.node-creator-connector{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4301;width:100%;height:100%;pointer-events:none;overflow:visible}.node-creator-connector path{fill:none;stroke:#ffffffc7;stroke-width:1.7;stroke-linecap:round}.node-context-menu{display:grid;width:max-content;min-width:148px;max-width:220px;max-height:280px;overflow-y:auto;overscroll-behavior:contain;gap:4px;border:1px solid rgba(255,255,255,.11);border-radius:12px;padding:6px;background:#242424fa;box-shadow:0 24px 70px #00000085}.node-context-menu button{display:flex;align-items:center;gap:10px;min-height:40px;border:0;border-radius:9px;padding:0 12px;background:transparent;color:#fff;font-size:14px;text-align:left;cursor:pointer}.node-context-menu button:hover:not(:disabled){background:#ffffff14}.node-context-menu button:disabled{opacity:.4;cursor:not-allowed}.node-context-menu button.danger:hover:not(:disabled){background:#f43f5e2e;color:#fca5a5}.edge-cutter{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:50%;padding:0;background:#242424fa;color:#fff;box-shadow:0 14px 40px #00000080;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.edge-cutter:hover{border-color:#f43f5e99;background:#f43f5e2e;color:#fca5a5}.image-spec-select{position:relative;display:inline-flex;flex:0 0 auto}.image-spec-trigger{display:inline-flex;height:32px;align-items:center;gap:7px;padding:0 8px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff0a;color:#ffffffdb;cursor:pointer;transition:border-color .15s ease,background .15s ease}.image-spec-trigger:hover,.image-spec-select.open .image-spec-trigger{border-color:#ffffff3d;background:#ffffff12}.image-spec-trigger-copy{display:inline-flex;align-items:baseline;gap:5px;min-width:0}.image-spec-trigger-copy b{font-size:13px;font-weight:700}.image-spec-trigger-copy small{color:#ffffff80;font-size:11px;font-weight:700}.spec-ratio-glyph{display:inline-block;flex:0 0 auto;border:1.5px solid rgba(255,255,255,.62);border-radius:2px;background:transparent}.spec-ratio-glyph.adaptive{border-style:dashed;border-radius:4px}.image-spec-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4190}.image-spec-menu{position:fixed;z-index:4200;width:268px;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:#1e1e20fa;box-shadow:0 30px 90px #00000094;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.image-spec-section+.image-spec-section{margin-top:14px}.image-spec-section h5{margin:0 0 9px;color:#ffffff85;font-size:12px;font-weight:700}.image-spec-resolutions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.image-spec-resolutions button{height:34px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff08;color:#ffffffd1;font-size:13px;font-weight:700;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease}.image-spec-resolutions button:hover{border-color:#ffffff42}.image-spec-resolutions button.active{border-color:#ffffffd9;background:#ffffff1a;color:#fff}.image-spec-ratios{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.image-spec-ratios button{display:grid;height:56px;align-content:center;justify-items:center;gap:6px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff08;color:#ffffff9e;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease}.image-spec-ratios button:hover{border-color:#ffffff3d;color:#ffffffdb}.image-spec-ratios button.active{border-color:#ffffffd9;background:#ffffff14;color:#fff}.image-spec-ratios button.spec-ratio-auto{grid-column:span 2}.image-spec-ratios .spec-ratio-glyph{border-color:currentColor}.image-spec-ratios em{max-width:100%;font-size:11px;font-style:normal;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-spec-hint{margin:12px 0 0;color:#ffffff80;font-size:11px;line-height:1.5}.image-camera-select{position:relative;display:inline-flex;flex:0 0 auto}.image-camera-trigger{width:max-content;max-width:180px;padding:0 2px;border:0;border-radius:7px;background:transparent;cursor:pointer}.image-camera-trigger:hover,.image-camera-select.open .image-camera-trigger{background:#ffffff12}.image-camera-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-camera-trigger-chevron{flex:0 0 auto;color:#ffffff75;transition:transform .16s ease}.image-camera-select.open .image-camera-trigger-chevron{transform:rotate(180deg)}.image-camera-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4210;background:transparent}.image-camera-menu{position:fixed;z-index:4220;display:grid;gap:18px;max-width:calc(100vw - 32px);padding:20px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#262626;box-shadow:0 30px 96px #0000009e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.image-camera-menu-header,.image-camera-menu-footer{display:flex;align-items:center}.image-camera-menu-header{justify-content:space-between;gap:14px}.image-camera-menu-header h4{margin:0;color:#fffffff0;font-size:17px;font-weight:800}.image-camera-close{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:8px;background:transparent;color:#ffffff9e}.image-camera-close:hover{background:#ffffff14;color:#fff}.image-camera-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.image-camera-column{position:relative;display:grid;grid-template-rows:24px 120px 24px 36px;align-items:center;justify-items:center;min-width:0}.image-camera-column+.image-camera-column:before{position:absolute;left:-9px;top:46px;width:1px;height:78px;background:#ffffff14;content:""}.image-camera-cycle{display:grid;width:30px;height:24px;place-items:center;border:0;border-radius:7px;background:transparent;color:#ffffff75}.image-camera-cycle:hover{background:#ffffff12;color:#ffffffd1}.image-camera-card{display:grid;width:min(110px,100%);height:120px;align-content:center;justify-items:center;gap:12px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:#ffffff0a;color:#ffffffdb}.image-camera-card:hover{border-color:#ffffff47;background:#ffffff12}.image-camera-card-title{color:#ffffff7a;font-size:14px;font-weight:800}.camera-visual{position:relative;display:grid;width:66px;height:44px;place-items:center;color:#ffffffdb}.camera-visual-focal strong{font-size:30px;font-weight:900;line-height:1}.camera-body-block,.camera-lens-barrel,.camera-lens-ring,.camera-lens-cap,.camera-aperture-ring,.camera-aperture-core{position:absolute;display:block;border:1px solid rgba(255,255,255,.32);background:#ffffff29;box-shadow:inset 0 0 12px #00000052}.camera-body-back{left:2px;bottom:8px;width:22px;height:18px;border-radius:5px}.camera-body-core{left:18px;bottom:5px;width:28px;height:24px;border-radius:4px}.camera-body-lens{right:2px;bottom:9px;width:24px;height:15px;border-radius:999px 4px 4px 999px}.camera-body-handle{left:22px;top:5px;width:26px;height:9px;border-radius:999px}.camera-lens-barrel{left:11px;top:12px;width:44px;height:22px;border-radius:5px}.camera-lens-ring-a{left:18px;top:9px;width:7px;height:28px;border-radius:4px;background:#fff3}.camera-lens-ring-b{right:16px;top:8px;width:8px;height:30px;border-radius:4px;background:#fff3}.camera-lens-cap{right:8px;top:10px;width:10px;height:26px;border-radius:3px}.camera-aperture-ring{width:44px;height:44px;border-radius:50%;background:radial-gradient(circle,#ffffff38,#ffffff14 48%,#00000052 49%)}.camera-aperture-ring-mid{width:30px;height:30px;border-color:#ffffff3d;background:#ffffff14}.camera-aperture-core{width:13px;height:13px;border-radius:50%;background:#0000008c}.image-camera-selected{display:grid;justify-items:center;gap:2px;width:100%;margin:0;color:#ffffff8a;font-size:13px;line-height:1.25;text-align:center}.image-camera-selected strong{max-width:100%;overflow:hidden;color:#ffffff9e;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.image-camera-selected span{color:#ffffff6b;font-size:12px;font-weight:700}.image-camera-menu-footer{justify-content:flex-end}.image-camera-use{height:40px;min-width:64px;border:0;border-radius:10px;padding:0 18px;background:#22c8f0;color:#fff;font-size:14px;font-weight:800}.image-camera-use:hover{background:#36d3fb;transform:translateY(-1px)}.image-node .image-preview-card img,.source-image-node .source-image-card img,.shell-node .node-preview-card img,.shell-node .node-preview-card p{transition:filter .22s ease,transform .22s ease}.image-node.running.has-output .image-preview-card img,.image-node.running.has-output .image-expand-image,.image-node.running.has-output .image-expand-canvas,.source-image-node.running.has-output .source-image-card img,.shell-node.running .node-preview-card img,.shell-node.running .node-preview-card p{filter:blur(7px) brightness(.78);transform:scale(1.015)}.source-canvas-shell .flow-handle{--port-attract-x: 0px;--port-attract-y: 0px;--port-opacity: 1;width:14px;height:14px;position:absolute;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.34);border-radius:999px;background:#1f1f20;opacity:var(--port-opacity);transform-origin:center center;transition:transform .12s cubic-bezier(.22,1,.36,1),opacity .16s ease 70ms}.source-canvas-shell .flow-handle:before,.source-canvas-shell .flow-handle:after{content:none}.source-canvas-shell .flow-handle-icon{width:10px;height:10px;display:block;color:#ffffff9e;pointer-events:none}.source-canvas-shell .flow-handle-icon svg{display:block;width:100%;height:100%;fill:currentColor}.source-canvas-shell .flow-handle.vue-flow__handle-left{left:0;transform:translate(calc(-50% + var(--port-attract-x)),calc(-50% + var(--port-attract-y)))}.source-canvas-shell .flow-handle.vue-flow__handle-right{right:0;transform:translate(calc(50% + var(--port-attract-x)),calc(-50% + var(--port-attract-y)))}.source-canvas-shell .flow-handle.connecting,.source-canvas-shell .flow-handle.valid,.source-canvas-shell .flow-handle.vue-flow__handle-connecting,.source-canvas-shell .flow-handle.vue-flow__handle-valid{border-color:#ffffffd9;background:#2a2a2a}.source-canvas-shell .flow-handle.connecting .flow-handle-icon,.source-canvas-shell .flow-handle.valid .flow-handle-icon,.source-canvas-shell .flow-handle.vue-flow__handle-connecting .flow-handle-icon,.source-canvas-shell .flow-handle.vue-flow__handle-valid .flow-handle-icon{color:#fff}.source-canvas-shell .flow-handle.port-proximity-active{transition:opacity .16s ease 70ms,border-color .14s ease,background .14s ease;z-index:96}.source-canvas-shell .flow-handle.port-proximity-active:before{content:"";position:absolute;top:-30px;right:-26px;bottom:-22px;left:-26px;border-radius:999px;background:transparent;pointer-events:auto}.source-canvas-shell .flow-handle.port-snap-enter{transition:transform .18s cubic-bezier(.22,1,.36,1),opacity .16s ease 70ms,border-color .14s ease,background .14s ease}.source-canvas-viewport.port-interaction .flow-handle{--port-attract-x: 0px;--port-attract-y: 0px;--port-opacity: 0;pointer-events:none}@media(prefers-reduced-motion:reduce){.source-canvas-shell .flow-handle,.source-canvas-shell .flow-handle.port-snap-enter{transition:none}.source-canvas-shell .flow-handle:after{transition:none}.image-node .image-preview-card img,.image-node .image-expand-image,.image-node .image-expand-canvas,.source-image-node .source-image-card img,.shell-node .node-preview-card img,.shell-node .node-preview-card p{transition:none}}.source-group-body{display:grid;gap:8px}.source-category-tabs{display:flex;flex-wrap:nowrap;gap:4px;padding:0 2px 4px}.source-panel-list .source-category-tab{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:28px;flex:1 1 0;border:0;border-radius:999px;padding:4px;background:transparent;color:#ffffff80;font-size:12px;font-weight:600;cursor:pointer}.source-panel-list .source-category-tab:hover{background:transparent;color:#ffffffd1}.source-panel-list .source-category-tab.active{background:transparent;color:#fff}.source-panel-list .source-category-tab>span:not(.asset-thumb){display:inline;width:auto;height:auto;border-radius:0;background:transparent;color:inherit}.source-category-tab em{flex:0 0 auto;border-radius:999px;padding:1px 6px;background:#ffffff1f;color:#ffffff9e;font-size:10px;font-style:normal}.source-panel-list .source-category-tab.active em{background:#ffffff38;color:#fff}.source-panel-list .source-history-grid button{display:block;grid-template-columns:none;min-height:0;border-radius:12px}.source-panel-loading{display:grid;gap:8px;padding:0 2px}.source-skeleton-row{height:52px;border-radius:16px;background:linear-gradient(100deg,#ffffff0d 30%,#ffffff21,#ffffff0d 70%);background-size:200% 100%;animation:source-skeleton-shimmer 1.3s ease-in-out infinite}@keyframes source-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.source-skeleton-row{animation:none}}.group-node-shell{position:relative;width:100%;height:100%}.group-node{position:relative;box-sizing:border-box;width:100%;height:100%;overflow:hidden;border:1px solid var(--lc-line);border-radius:20px;background:linear-gradient(180deg,rgba(255,255,255,.028),transparent 50%,rgba(0,0,0,.07)),#161619e6;box-shadow:var(--lc-shadow),inset 0 0 0 1px #ffffff0a,inset 0 1px #ffffff17,inset 0 -34px 58px #00000029;color:var(--lc-text);isolation:isolate;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.group-node.selected{border-color:#ffffff57;background:linear-gradient(180deg,rgba(255,255,255,.045),transparent 50%,rgba(0,0,0,.07)),#161619e6;box-shadow:var(--lc-shadow-strong),0 0 0 1px #ffffff14,0 0 0 5px #ffffff0b,inset 0 1px #ffffff1f,inset 0 -34px 58px #00000029}.group-node:before{position:absolute;top:40px;right:12px;bottom:12px;left:12px;border-radius:14px;background:linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 86%,transparent);mask-image:linear-gradient(180deg,transparent,#000 20%,#000 86%,transparent);opacity:.28;pointer-events:none;content:""}.group-node:after{position:absolute;top:0;right:0;left:0;height:40px;background:inherit;opacity:0;pointer-events:none;content:"";z-index:0}.group-node-bar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:10px;height:40px;padding:0 10px 0 13px;pointer-events:auto;z-index:1}.group-node-title{display:inline-flex;min-width:0;align-items:center;gap:7px;color:#ffffffd1;font-size:12px;font-weight:680;letter-spacing:.01em}.group-node-title:before{width:6px;height:6px;flex:0 0 auto;border-radius:999px;background:#ffffffd1;box-shadow:0 0 0 4px #ffffff12;content:""}.group-node-title>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-node-layout{flex:0 0 auto;border-radius:999px;padding:2px 7px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,rgba(255,255,255,.08),transparent),#ffffff0b;color:#ffffff80;font-size:10px;font-weight:700;letter-spacing:0}.group-node-layout-menu{display:inline-flex;flex:0 0 auto;gap:3px;border:1px solid rgba(255,255,255,.105);border-radius:999px;padding:2px;background:linear-gradient(180deg,rgba(255,255,255,.07),transparent),#07080aa8;box-shadow:inset 0 1px #ffffff0f,0 10px 26px #00000047;pointer-events:auto}.group-node-layout-menu button{display:grid;width:23px;height:22px;place-items:center;border:0;border-radius:999px;padding:0;background:transparent;color:#ffffff75;transition:background .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease}.group-node-layout-menu button:hover{background:#ffffff1b;color:#ffffffd1;transform:translateY(-1px)}.group-node-layout-menu button.active{background:#ffffffe6;color:#0e0e10eb;box-shadow:0 8px 18px #00000042,inset 0 0 0 1px #ffffff2e;transform:translateY(-1px)}.group-action-toolbar{position:absolute;bottom:calc(100% + 14px);left:50%;z-index:6;display:flex;align-items:center;gap:4px;width:max-content;max-width:none;padding:6px;border:1px solid var(--lc-line);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.06),transparent 38%),#141417f5;box-shadow:var(--lc-shadow),inset 0 1px #ffffff12;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translate(-50%) scale(var(--canvas-inverse-zoom, 1));transform-origin:50% 100%;cursor:default}.group-action-badge{display:grid;flex:0 0 auto;width:30px;height:30px;place-items:center;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:radial-gradient(circle at 50% 32%,rgba(255,255,255,.16),transparent 70%),#ffffff0d;color:#ffffffd1}.group-action-toolbar .group-node-layout-menu{gap:2px;padding:2px;border-color:#ffffff16;background:#ffffff0a;box-shadow:inset 0 1px #ffffff0d}.group-action-divider{width:1px;height:20px;flex:0 0 auto;margin:0 3px;background:#ffffff1a}.group-action-item{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;height:32px;padding:0 11px;border:0;border-radius:9px;background:transparent;color:#ffffffd6;font-size:12.5px;font-weight:620;letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease}.group-action-item svg{flex:0 0 auto;display:block;color:#fff9;transition:color .15s ease}.group-action-item:hover:not(:disabled){background:#ffffff14;color:#fff}.group-action-item:hover:not(:disabled) svg{color:#ffffffeb}.group-action-item.is-primary{background:#ffffff1a;color:#fff}.group-action-item.is-primary svg{color:#fffffff5}.group-action-item.is-primary:hover:not(:disabled){background:#ffffff29}.group-action-item:disabled{opacity:.36;cursor:not-allowed}.group-toolbar-enter-active,.group-toolbar-leave-active{transition:opacity .16s ease,translate .18s cubic-bezier(.2,.8,.2,1)}.group-toolbar-enter-from,.group-toolbar-leave-to{opacity:0;translate:0 6px}@media(prefers-reduced-motion:reduce){.group-toolbar-enter-active,.group-toolbar-leave-active{transition:opacity .12s ease}.group-toolbar-enter-from,.group-toolbar-leave-to{translate:0 0}}.selection-pending-frame{box-sizing:border-box;border-radius:16px;background:linear-gradient(135deg,#ffffff0f,#ffffff03),#0a0b0d2e;box-shadow:0 0 0 1px #0000005c,inset 0 0 24px #ffffff0d,0 22px 50px #0000003d;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);pointer-events:none;animation:selection-frame-pop .18s ease-out}@keyframes selection-frame-pop{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.selection-marquee{position:absolute;top:0;right:0;bottom:0;left:0;display:block;overflow:visible}.selection-marquee-track{fill:none;stroke:#ffffff29;stroke-width:1.5}.selection-marquee-dash{fill:none;stroke:#ffffffdb;stroke-width:1.5;stroke-dasharray:7 5;stroke-linecap:round;filter:drop-shadow(0 0 5px rgba(255,255,255,.28));animation:selection-marquee-march .5s linear infinite}@keyframes selection-marquee-march{to{stroke-dashoffset:-12}}@media(prefers-reduced-motion:reduce){.selection-pending-frame,.selection-marquee-dash{animation:none}}.selection-group-menu{min-width:116px;gap:2px;padding:4px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#101214d1;-webkit-backdrop-filter:blur(14px) saturate(125%);backdrop-filter:blur(14px) saturate(125%);box-shadow:0 1px #ffffff0a inset,0 8px 22px #00000047}.selection-group-menu button{min-height:33px;gap:9px;border-radius:7px;padding:0 11px;font-size:13px;letter-spacing:.01em;color:#eef2edeb}.selection-group-menu button:hover:not(:disabled){background:#ffffff0f;color:#fff}.auth-shell{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:32px 24px;background-color:#0a0a0a;color:#e5e2e1;overflow-x:hidden;overflow-y:auto}.auth-lume{position:fixed;top:calc(50% - 400px);left:-25%;width:800px;height:800px;border-radius:50%;background:radial-gradient(circle,#0566d926,#0566d900 70%);filter:blur(80px);z-index:0;pointer-events:none;animation:auth-drift 20s infinite alternate ease-in-out}.auth-lume-2{position:fixed;bottom:-250px;right:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,#e9c34914,#e9c34900 70%);filter:blur(100px);z-index:0;pointer-events:none}@keyframes auth-drift{0%{transform:translate(-10%,-10%)}to{transform:translate(10%,10%)}}.auth-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:100%;max-width:440px;margin:auto}.auth-brand{display:flex;flex-direction:column;align-items:center;margin-bottom:32px;text-align:center}.auth-brand-mark{display:flex;align-items:center;justify-content:center;width:72px;height:72px;margin-bottom:18px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:#ffffff0d;overflow:hidden;color:#fff}.auth-brand-mark img{width:100%;height:100%;object-fit:cover}.auth-brand h1{margin:0 0 8px;font-size:32px;font-weight:600;letter-spacing:-.02em;color:#fff}.auth-brand p{margin:0;max-width:280px;font-size:14px;line-height:1.5;color:#c4c7c8}.auth-card{width:100%;padding:32px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 25px 50px -12px #0000008c}.auth-form{display:flex;flex-direction:column;gap:24px}.auth-field{display:flex;flex-direction:column;gap:8px}.auth-label{margin-left:4px;font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:#c4c7c8}.auth-label-row{display:flex;align-items:center;justify-content:space-between;margin-left:4px}.auth-label-row .auth-label{margin-left:0}.auth-link-mini{font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:#c4c7c8;text-decoration:none;transition:color .16s ease}.auth-link-mini:hover{color:#fff}.auth-input-wrap{position:relative}.auth-input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);display:flex;color:#c4c7c8;pointer-events:none}.auth-input{width:100%;padding:14px 16px 14px 48px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fff;font-size:14px;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.auth-input.has-trailing{padding-right:48px}.auth-input::placeholder{color:#5d6163}.auth-input:focus{border-color:#ffffff4d;box-shadow:0 0 15px #0566d94d}.auth-input:disabled{opacity:.6;cursor:not-allowed}.auth-toggle{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:flex;padding:2px;border:none;background:none;color:#c4c7c8;transition:color .16s ease}.auth-toggle:hover{color:#fff}.auth-error{margin:0;padding:10px 12px;border-radius:8px;border:1px solid rgba(255,180,171,.4);background:#ffb4ab1f;color:#ffb4ab;font-size:13px}.auth-submit{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:8px;padding:16px;border:none;border-radius:8px;background:#fff;color:#2f3131;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;overflow:hidden;transition:opacity .16s ease,transform .1s ease}.auth-submit:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(45deg,#ffffff1a,#fff0);pointer-events:none}.auth-submit:hover:not(:disabled){opacity:.9}.auth-submit:active:not(:disabled){transform:scale(.98)}.auth-submit:disabled{opacity:.7;cursor:not-allowed}.auth-spin{animation:auth-spin .9s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-divider{position:relative;margin:32px 0;text-align:center}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;border-top:1px solid rgba(255,255,255,.06)}.auth-divider span{position:relative;padding:0 12px;background:#1a1a1a;color:#8e9192;font-size:12px;letter-spacing:.05em;text-transform:uppercase}.auth-social{display:grid;grid-template-columns:1fr 1fr;gap:16px}.auth-social button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#e5e2e1;font-size:12px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;transition:background .16s ease}.auth-social button:hover{background:#ffffff1a}.auth-footer{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:32px}.auth-footer-switch{margin:0;font-size:14px;color:#c4c7c8}.auth-footer-switch a{margin-left:4px;color:#fff;font-weight:500;text-decoration:none;text-underline-offset:4px;text-decoration-color:#ffffff4d}.auth-footer-switch a:hover{text-decoration:underline}.auth-footer-links{display:flex;gap:24px}.auth-footer-links a{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#8e9192;text-decoration:none;transition:color .16s ease}.auth-footer-links a:hover{color:#c4c7c8}.auth-floater{position:fixed;right:48px;bottom:48px;width:256px;z-index:1;opacity:.4;transition:opacity .3s ease}.auth-floater:hover{opacity:.8}.auth-floater-card{padding:16px}.auth-floater-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.auth-floater-chip{width:32px;height:32px;border-radius:6px;background:linear-gradient(45deg,#0566d9,#ffe088);filter:blur(1px)}.auth-floater-bar{flex:1;height:8px;border-radius:9999px;background:#ffffff1a}.auth-floater-lines{display:flex;flex-direction:column;gap:8px}.auth-floater-line{height:8px;border-radius:9999px;background:#ffffff0d}.auth-floater-line.short{width:75%}.auth-floater-foot{display:flex;align-items:center;justify-content:space-between;margin-top:16px}.auth-floater-tag{width:40px;height:16px;border-radius:4px;background:#ffffff0d}.auth-floater-icon{color:#fff}.auth-orbit{position:fixed;top:48px;left:48px;z-index:1;opacity:.3;pointer-events:none}.auth-orbit-ring{display:flex;align-items:center;justify-content:center;border-radius:50%}.auth-orbit-ring.r1{width:128px;height:128px;border:1px solid rgba(255,255,255,.05);animation:auth-pulse 4s ease-in-out infinite}.auth-orbit-ring.r2{width:96px;height:96px;border:1px solid rgba(255,255,255,.1)}.auth-orbit-ring.r3{width:64px;height:64px;border:1px solid rgba(255,255,255,.2)}@keyframes auth-pulse{0%,to{opacity:1}50%{opacity:.6}}@media(max-width:1023px){.auth-floater,.auth-orbit{display:none}}
