.workspace-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:3px;margin-right:5px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}
.workspace-mode-switch button{height:27px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--muted);font:600 10px var(--sans);cursor:pointer}
.workspace-mode-switch button.active{background:var(--panel);color:var(--text);box-shadow:0 1px 4px #0002}
.workspace-graph{position:absolute;inset:0;overflow:auto;background-color:var(--bg);background-image:radial-gradient(var(--ui-canvas-dot) .8px,transparent .8px);background-size:24px 24px;color:var(--text)}
.workspace-graph.hidden{display:none}.workspace-graph-header{position:absolute;z-index:3;top:22px;left:50%;transform:translateX(-50%);display:flex;align-items:flex-start;gap:32px;padding:12px 15px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:var(--ui-panel-shadow);backdrop-filter:blur(14px)}
.workspace-graph-header p{margin:0 0 4px;color:var(--muted);font:9px var(--mono);letter-spacing:.09em}.workspace-graph-header h2{margin:0;font:600 14px var(--sans)}
.workspace-graph-legend{display:flex;gap:5px;align-items:center}.workspace-graph-legend span{padding:5px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font:9px var(--sans)}
.workspace-graph-canvas{position:relative;width:2050px;height:900px;overflow:visible}.workspace-graph-wires{position:absolute;inset:0;width:2050px;height:900px;overflow:visible;pointer-events:none}.workspace-graph-wires path{fill:none;stroke:color-mix(in srgb,var(--muted) 50%,transparent);stroke-width:1.5}.workspace-graph-wires path.mask-wire{stroke:var(--accent);stroke-dasharray:4 5;opacity:.75}
.workspace-graph-node{position:absolute;width:174px;min-height:68px;padding:11px 12px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);box-shadow:0 8px 25px #0002;cursor:grab;touch-action:none}.workspace-graph-node:active{cursor:grabbing}.workspace-graph-node.selected{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent),0 8px 25px #0002}.workspace-graph-node.muted{opacity:.48}.workspace-graph-node .node-kind{display:block;margin-bottom:7px;color:var(--muted);font:8px var(--mono);letter-spacing:.12em;text-transform:uppercase}.workspace-graph-node strong{display:block;font:600 12px var(--sans);text-transform:capitalize}.workspace-graph-node small{display:block;margin-top:4px;color:var(--muted);font:10px/1.3 var(--sans)}.workspace-graph-node em{display:inline-block;margin-top:8px;padding:3px 6px;border-radius:5px;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent);font:normal 8px var(--mono)}
.workspace-graph-node.media-node{padding:9px}.workspace-node-preview{display:block;width:100%;aspect-ratio:21/13;margin:0 0 10px;border:1px solid var(--line);border-radius:7px;background:#0b0d10;object-fit:cover}.workspace-graph-node.media-node .node-kind{padding:1px 2px}.workspace-graph-node.media-node :is(strong,small){margin-left:2px;margin-right:2px}
.workspace-graph-node[data-kind=analysis],.workspace-graph-legend [data-kind=analysis]{border-color:#6f8da8}.workspace-graph-node[data-kind=region],.workspace-graph-legend [data-kind=region]{border-color:#5c9b80}.workspace-graph-node[data-kind=style],.workspace-graph-legend [data-kind=style]{border-color:#9a739c}.workspace-graph-node[data-kind=graphic],.workspace-graph-legend [data-kind=graphic]{border-color:#a18455}.workspace-graph-node[data-kind=finish],.workspace-graph-legend [data-kind=finish]{border-color:#8b779e}
.workspace-build-catalog{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.workspace-catalog-kicker{margin:0 0 9px;color:var(--muted);font:9px var(--mono);letter-spacing:.1em}.workspace-catalog-card{display:flex;width:100%;gap:9px;align-items:flex-start;padding:9px 5px;border:0;border-radius:8px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.workspace-catalog-card:hover{background:var(--panel-hi)}.workspace-catalog-card i{display:grid;place-items:center;width:25px;height:25px;border:1px solid var(--line);border-radius:7px;font-style:normal}.workspace-catalog-card span{min-width:0}.workspace-catalog-card strong,.workspace-catalog-card small{display:block}.workspace-catalog-card strong{font:600 10px var(--sans)}.workspace-catalog-card small{margin-top:3px;color:var(--muted);font:9px/1.35 var(--sans)}
.workspace-node-inspector h2{font-size:15px!important;text-transform:capitalize}.workspace-node-field{display:grid;gap:7px;margin:14px 0;color:var(--muted);font:10px var(--sans)}.workspace-node-field select{height:34px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--text)}.workspace-node-field input[type=range]{width:100%}
body[data-workspace-mode=build] .tracker-hud{display:none!important}body[data-workspace-mode=build] .workspace-rail.build-hidden{opacity:.35;pointer-events:none}body[data-workspace-mode=build] .workspace-compose-dock{z-index:25}
@media(max-width:900px){.workspace-mode-switch{order:-1}.workspace-graph-header{display:none}.workspace-graph-canvas{min-width:1600px}.workspace-graph-legend{display:none}}

/* 0.29 — editable flow nodes */
.workspace-graph-tools{position:fixed;z-index:28;left:50%;bottom:calc(var(--compose-space,42px) + 22px);display:flex;width:max-content;transform:translateX(-50%);padding:4px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:var(--ui-panel-shadow);backdrop-filter:blur(14px)}
.workspace-graph-tools button{height:34px;padding:0 14px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--text);font:600 10px var(--sans);cursor:pointer}.workspace-graph-tools button:last-child{border-right:0}.workspace-graph-tools button:hover{background:var(--panel-hi)}
.workspace-graph-node{min-height:0;padding:0;overflow:visible;cursor:default;transition:width .16s ease,border-color .16s ease,box-shadow .16s ease}.workspace-graph-node:active{cursor:default}.workspace-graph-node.expanded{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 18%,transparent),0 18px 48px #0004}
.workspace-node-header{display:grid;grid-template-columns:16px max-content minmax(0,1fr) 24px 24px;align-items:center;gap:7px;min-height:43px;padding:0 9px;border-bottom:1px solid var(--line);cursor:grab;touch-action:none}.workspace-node-header:active{cursor:grabbing}.workspace-node-header .node-kind{margin:0;padding:0;color:var(--muted);font:8px var(--mono);letter-spacing:.11em}.workspace-node-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 11px var(--sans);text-transform:capitalize}.node-grip{color:var(--muted);font-size:16px;line-height:1}.node-expand,.node-power{display:grid;place-items:center;width:23px;height:23px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.node-expand:hover,.node-power:hover{background:var(--panel-hi);color:var(--text)}.node-power{color:var(--accent)}
.workspace-node-body{padding:9px 11px 11px}.workspace-node-body .node-summary{display:block;color:var(--muted);font:9px/1.35 var(--sans)}.workspace-node-body>em{display:inline-block;margin-top:7px;padding:3px 6px;border-radius:5px;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent);font:normal 8px var(--mono)}
.workspace-graph-node.media-node{padding:0}.workspace-graph-node.media-node .workspace-node-body{padding:9px}.workspace-graph-node.media-node .workspace-node-preview{margin:0 0 8px}.workspace-graph-node.media-node :is(strong,small){margin-left:0;margin-right:0}
.node-port{position:absolute;z-index:3;top:35px;width:9px;height:9px;border:1px solid var(--text);background:var(--panel);transform:translateY(-50%) rotate(45deg)}.node-port.input{left:-5px}.node-port.output{right:-5px}.workspace-graph-node[data-kind=source] .node-port.input,.workspace-graph-node[data-kind=output] .node-port.output{display:none}
.workspace-inline-editor{max-height:418px;margin:11px -2px -2px;padding-top:10px;overflow:auto;border-top:1px solid var(--line);scrollbar-width:thin}.workspace-inline-general{display:grid;gap:2px;margin-bottom:8px}.workspace-inline-field{display:grid;gap:6px;padding:7px 2px;color:var(--muted);font:9px var(--sans)}.workspace-inline-field>span{display:flex;justify-content:space-between;gap:12px}.workspace-inline-field output{color:var(--text);font-family:var(--mono)}
.workspace-inline-field :is(select,input[type=text]){width:100%;height:31px;padding:0 8px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--text);font:10px var(--sans)}.workspace-inline-field input[type=color]{width:100%;height:31px;padding:3px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2)}.workspace-inline-field input[type=range]{width:100%;accent-color:var(--accent)}.workspace-inline-field input[type=checkbox]{justify-self:end;width:16px;height:16px;accent-color:var(--accent)}
.workspace-node-control-group{border-top:1px solid var(--line)}.workspace-node-control-group summary{padding:10px 2px;color:var(--text);font:600 9px var(--mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.workspace-node-control-list{padding-bottom:5px}.workspace-node-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding-top:10px;border-top:1px solid var(--line)}.workspace-node-actions button,.workspace-inline-editor>button{min-height:32px;padding:7px;border:1px solid var(--line);border-radius:7px;background:var(--panel-2);color:var(--text);font:600 9px var(--sans);cursor:pointer}.workspace-node-actions button:hover,.workspace-inline-editor>button:hover{border-color:var(--accent)}
body[data-theme=light] .workspace-graph-node{box-shadow:0 10px 28px #23314a18}body[data-theme=light] .workspace-graph-node.expanded{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 15%,transparent),0 18px 45px #23314a22}

/* Build 0.30: the graph owns the available space instead of sitting beneath the inspector. */
body[data-workspace-mode=build] .tracker-panel:not(.keep-open){display:none!important}
body[data-workspace-mode=build].build-show-export:not(.hide-inspector) .tracker-panel{display:flex!important}
body[data-workspace-mode=build] .workspace-rail{display:none!important}
body[data-workspace-mode=build] #workspaceTools,body[data-workspace-mode=build] .workspace-library>.workspace-hint,body[data-workspace-mode=build] #openDiscover,body[data-workspace-mode=build] .workspace-artboard-menu{display:none!important}
body[data-workspace-mode=build] #workspaceGraph{left:282px;right:0;bottom:0;overflow:hidden;touch-action:none;cursor:grab}
body[data-workspace-mode=build] #workspaceGraph.is-panning,body[data-workspace-mode=build] #workspaceGraph.space-pan{cursor:grabbing}
body[data-workspace-mode=build] .workspace-graph-canvas{transform-origin:0 0;will-change:transform}
body[data-workspace-mode=build].hide-library #workspaceGraph{left:0}
body[data-workspace-mode=build].build-show-export:not(.hide-inspector) #workspaceGraph{right:314px}
body[data-workspace-mode=build] .workspace-library{width:246px;max-height:calc(100% - var(--compose-space) - 94px)}
.workspace-graph-header{position:sticky;left:18px;top:14px;transform:none;width:max-content;max-width:calc(100% - 36px);z-index:6;gap:24px;align-items:center;padding:10px 14px}
.workspace-graph-header h2 span{color:var(--muted);padding:0 7px;font-weight:400}
.workspace-graph-header>small{white-space:nowrap;color:var(--muted);font:10px var(--sans)}
.workspace-graph-tools{position:fixed;top:90px;right:18px;left:auto;bottom:auto;transform:none;align-items:center;max-width:calc(100vw - 24px);user-select:none}
.workspace-graph-tools-grip{display:grid;place-items:center;align-self:stretch;width:24px;flex:none;border-right:1px solid var(--line);color:var(--muted);font-size:17px;cursor:grab;touch-action:none}
.workspace-graph-tools-grip:active{cursor:grabbing}
.workspace-graph-zoom{display:grid;place-items:center;min-width:42px;height:34px;padding:0 5px;border-right:1px solid var(--line);color:var(--muted);font:10px var(--mono)}
.workspace-graph-tools button:nth-last-child(3),.workspace-graph-tools button:last-child{width:30px;padding:0;font:16px var(--sans)}
.workspace-build-catalog{margin-top:0;padding-top:0;border-top:0}
.workspace-build-search{width:100%;height:35px;margin:5px 0 12px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--text);font:11px var(--sans)}
.workspace-catalog-heading{margin:14px 0 4px;color:var(--muted);font:9px var(--mono);letter-spacing:.12em}
.workspace-catalog-card{gap:10px;padding:9px 5px;border-radius:7px}
.workspace-catalog-card i{flex:none;width:28px;height:28px;color:var(--accent);font-size:14px}
.workspace-catalog-card strong{font-size:11px}.workspace-catalog-card small{font-size:10px;line-height:1.4}
.workspace-graph-node{background:var(--panel);border-color:var(--line);border-radius:11px;box-shadow:0 14px 36px #0003}
.workspace-graph-node[data-kind=style],.workspace-graph-node[data-kind=temporal],.workspace-graph-node[data-kind=finish],.workspace-graph-node[data-kind=analysis],.workspace-graph-node[data-kind=region],.workspace-graph-node[data-kind=graphic]{border-color:var(--line)}
.workspace-graph-node.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 14px 36px #0003}
.workspace-graph-node .workspace-node-header{grid-template-columns:15px 61px minmax(0,1fr) 23px 23px;min-height:45px}
.workspace-graph-node .node-kind{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workspace-graph-node .workspace-node-body{padding:12px}
.workspace-graph-node.media-node .workspace-node-body{padding:11px}
.workspace-node-preview{object-fit:contain;aspect-ratio:21/13}
.workspace-graph-wires path{stroke-width:2;stroke:color-mix(in srgb,var(--accent) 53%,var(--line))}
.workspace-inline-editor{max-height:350px;overscroll-behavior:contain}
.workspace-inline-field{font-size:10px}
.workspace-inline-field :is(select,input[type=text]){font-size:11px}
.workspace-graph-tools button:focus-visible,.workspace-graph-node button:focus-visible,.workspace-build-catalog button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:950px){body[data-workspace-mode=build] #workspaceGraph{left:238px}body[data-workspace-mode=build] .workspace-library{width:200px}.workspace-graph-header>small{display:none}}
@media(max-width:640px){body[data-workspace-mode=build] #workspaceGraph{left:0}body[data-workspace-mode=build] .workspace-library{width:min(240px,72vw);max-height:48vh;opacity:.96}.workspace-graph-header{left:12px;top:8px}.workspace-graph-tools{gap:0}.workspace-graph-tools button{padding:0 6px}.workspace-graph-tools button:nth-child(3),.workspace-graph-tools button:nth-child(4){font-size:0;width:36px}.workspace-graph-tools button:nth-child(3)::after{content:'Fit';font-size:10px}.workspace-graph-tools button:nth-child(4)::after{content:'All';font-size:10px}}

/* Build hosts the real source and output elements; ignore Create's offscreen sizing. */
.workspace-preview-stack{position:relative;width:100%;aspect-ratio:21/13;overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#0b0d10;margin-bottom:8px}
body[data-workspace-mode=build] #workspaceGraph .workspace-preview-stack>:is(#sourceImage,#sourceVideo,#trackerCanvas){display:block!important;visibility:visible!important;opacity:1!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;min-width:0!important;min-height:0!important;transform:none!important;margin:0!important;object-fit:contain!important;box-shadow:none!important;pointer-events:none}
.workspace-video-play{display:block;min-height:32px;padding:7px 12px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--text);font:600 12px var(--sans);cursor:pointer;touch-action:manipulation}
.workspace-video-play[hidden]{display:none!important}.workspace-video-play:disabled{opacity:.5;cursor:default}.workspace-video-play:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.workspace-artboard-play{position:absolute;bottom:12px;left:12px;z-index:12;background:#141817e8;color:#fff;border-color:#ffffff66}
.workspace-preview-message{font:11px/1.4 var(--sans);color:var(--muted);margin:6px 0}
