.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-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}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.main:has(>.canvas-page){padding:0}.main:has(>.canvas-page)>.mobile-top{margin:0}.canvas-page{padding:20px 20px 16px;min-width:0}.canvas-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px}.canvas-page-header h1{margin:4px 0 6px}.canvas-page-header p{color:var(--ui-text-muted);margin:0;font-size:14px}.canvas-board-actions,.canvas-toolbar,.canvas-tools,.canvas-history{display:flex;align-items:center;gap:8px}.canvas-board-actions .select-wrap{min-width:190px}.canvas-board-more{position:relative}.canvas-board-more>button,.canvas-history>button,.canvas-inspector-title>button,.canvas-inputs button{background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:8px;display:inline-flex;align-items:center;justify-content:center}.canvas-board-more>div:not([hidden]){position:absolute;right:0;top:38px;z-index:15;min-width:140px;padding:5px;background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);box-shadow:var(--ui-shadow-overlay)}.canvas-board-more>div button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:9px;color:var(--ui-text)}.canvas-board-more>div button:hover{background:var(--ui-surface-hover)}.canvas-toolbar{justify-content:space-between;flex-wrap:wrap;margin-bottom:10px;gap:16px}.canvas-toolbar .button{padding:7px 10px}.canvas-history button{min-width:34px;width:auto;height:34px;white-space:nowrap;font-size:11px}.canvas-save-status{font-size:12px;color:var(--ui-text-muted);min-width:86px;text-align:right}.canvas-save-status.conflict,.canvas-save-status.error{color:var(--ui-danger, #b64d47);font-weight:700}.canvas-conflict{margin-bottom:12px;border:1px solid var(--ui-danger, #b64d47);padding:12px;border-radius:var(--ui-panel-radius);background:var(--ui-panel)}.canvas-conflict>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.canvas-workspace{display:grid;grid-template-columns:minmax(0,1fr);min-height:500px;height:calc(100dvh - 220px);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);overflow:hidden;background:var(--ui-panel)}.canvas-flow-wrap{position:relative;min-width:0;height:100%;background:var(--ui-page)}.canvas-flow-wrap .react-flow{width:100%;height:100%}.canvas-flow-wrap .react-flow__background{opacity:.45}.canvas-flow-wrap .react-flow__controls,.canvas-flow-wrap .react-flow__minimap{background:var(--ui-panel);border:1px solid var(--ui-border);box-shadow:var(--ui-shadow-panel)}.canvas-flow-wrap .react-flow__controls button{background:var(--ui-panel);color:var(--ui-text);border-color:var(--ui-border)}.canvas-flow-wrap .react-flow__edge-path{stroke:var(--ui-accent, #6884a4)}.canvas-flow-wrap .react-flow__edge-text{fill:var(--ui-text);font-size:11px}.canvas-flow-wrap .react-flow__edge-textbg{fill:var(--ui-panel)}.canvas-flow-wrap .react-flow__node{padding:0;border:0;background:transparent}.canvas-node{width:100%;height:100%;min-width:160px;min-height:100px;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);color:var(--ui-text);background:var(--ui-panel);box-shadow:var(--ui-shadow-panel)}.canvas-node.selected{border-color:var(--ui-accent, #6f83ae);outline:2px solid var(--ui-focus);outline-offset:1px}.canvas-node-heading{display:flex;align-items:center;gap:8px;padding:10px 12px;min-height:38px;border-bottom:1px solid var(--ui-border);font-size:12px}.canvas-node-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-node-prompt .canvas-node-heading{background:color-mix(in srgb,var(--ui-accent, #7287d4) 16%,var(--ui-panel))}.canvas-node-instruction .canvas-node-heading{background:var(--ui-warning-bg)}.canvas-node-image .canvas-node-heading{background:var(--ui-success-bg)}.canvas-node-body{flex:1;min-height:0;overflow:hidden;padding:10px 12px}.canvas-node-body p{font-size:12px;line-height:1.45;white-space:pre-wrap;overflow:hidden;display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;margin:0 0 7px}.canvas-node-body small{color:var(--ui-text-muted)}.canvas-node-image .canvas-node-body{padding:0;display:grid;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center}.canvas-node-body img{width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}.canvas-inline-text{display:block;width:100%;height:100%;border:0;outline:0;resize:none;background:transparent;color:var(--ui-text);font:inherit;font-size:12px;line-height:1.45}.canvas-node-prompt .canvas-node-body{display:flex;flex-direction:column;gap:6px}.canvas-node-prompt .canvas-inline-text{flex:1;min-height:0}.canvas-node-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.canvas-node-footer button,.canvas-node-action{border:1px solid var(--ui-border);border-radius:6px;background:var(--ui-panel);color:var(--ui-text);font-size:11px;padding:4px 7px}.canvas-node-action{position:absolute;bottom:7px;right:7px;display:flex;align-items:center;gap:4px}.canvas-node-status{position:absolute;top:8px;right:8px;z-index:2;max-width:88px;padding:2px 5px;border-radius:4px;background:var(--ui-panel);color:var(--ui-text-muted);font-size:9px;text-transform:capitalize}.canvas-node-status-running,.canvas-node-status-queued,.canvas-node-status-preparing{color:var(--ui-warning)}.canvas-node-status-succeeded{color:var(--ui-success)}.canvas-node-status-failed,.canvas-node-status-outcome_unknown{color:var(--ui-danger)}.canvas-node-empty{display:grid;justify-items:center;gap:8px;color:var(--ui-text-muted);font-size:12px}.canvas-handle{width:10px;height:10px;background:var(--ui-accent, #6f83ae);border:2px solid var(--ui-panel)}.canvas-resize-handle{border-radius:50%;background:var(--ui-accent, #6f83ae)}.canvas-inspector{border-left:1px solid var(--ui-border);overflow:auto;min-width:0;background:var(--ui-panel)}.canvas-inspector-close{display:flex;align-items:center;gap:6px;margin:10px 12px 0 auto;padding:5px 9px;border:1px solid var(--ui-border);border-radius:var(--ui-button-radius);background:var(--ui-surface);color:var(--ui-text-muted);font-size:12px}.canvas-inspector-main{padding:18px;display:flex;flex-direction:column;gap:14px}.canvas-inspector-title{display:flex;align-items:center;justify-content:space-between}.canvas-inspector-title small{font-size:10px;letter-spacing:.1em;color:var(--ui-text-muted)}.canvas-inspector-title h2{margin:3px 0 0;font-size:19px}.canvas-inspector .field{margin:0}.canvas-inspector textarea{resize:vertical}.canvas-inspector-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.canvas-inspector-subhead{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-top:4px}.canvas-inspector-subhead button{border:0;background:transparent;color:var(--ui-accent, #54728f);font-size:12px}.canvas-inspector-hint{color:var(--ui-text-muted);font-size:11px;line-height:1.45;margin:0}.canvas-inspector-image{height:180px;display:grid;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);background:var(--ui-page);overflow:hidden}.canvas-inspector-image img{width:100%;height:100%;object-fit:contain}.canvas-lineage{color:var(--ui-text-muted);font-size:11px;overflow-wrap:anywhere;margin:0}.canvas-lineage-links{display:flex;flex-wrap:wrap;gap:8px}.canvas-lineage-links a{font-size:11px;color:var(--ui-accent, #54728f);text-decoration:underline}.canvas-lineage-links button{border:0;padding:0;background:transparent;color:var(--ui-accent);text-decoration:underline;font-size:11px}.canvas-preview-copy{margin-top:12px;padding:10px;color:var(--ui-text);background:var(--ui-surface-sunken);border-left:3px solid var(--ui-accent)}.canvas-link{color:var(--ui-accent, #54728f);font-size:12px;text-decoration:underline}.canvas-format-list{max-height:170px;overflow:auto;border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:5px}.canvas-format-list label{display:flex;gap:7px;align-items:center;padding:5px;font-size:12px}.canvas-format-list label small{margin-left:auto;color:var(--ui-text-muted)}.canvas-custom-format{display:flex;flex-direction:column;gap:8px}.canvas-custom-chip{display:inline-flex;align-items:center;justify-content:space-between;gap:5px;padding:5px 8px;border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);background:var(--ui-page);color:var(--ui-text);font-size:11px}.canvas-asset-results{display:grid;gap:5px;max-height:180px;overflow:auto}.canvas-asset-results button{display:flex;align-items:center;gap:7px;border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:5px;color:var(--ui-text);background:var(--ui-page);text-align:left;font-size:11px}.canvas-asset-results img{width:26px;height:26px;object-fit:cover}.canvas-asset-results span{flex:1}.canvas-template-editor{display:flex;flex-direction:column;gap:10px;border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:10px}.canvas-template-editor h3{font-size:13px;margin:0}.canvas-template-editor .muted{font-size:11px;line-height:1.45;margin:0}.canvas-copy-reviewed{display:flex;gap:8px;align-items:flex-start;font-size:11px;line-height:1.4}.canvas-action-error{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.canvas-variable-fields{display:flex;flex-direction:column;gap:8px}.canvas-variable{border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:8px}.canvas-variable>div{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-bottom:5px}.canvas-variable button{border:0;background:transparent;color:var(--ui-text-muted)}.canvas-inputs{border-top:1px solid var(--ui-border);padding-top:15px}.canvas-inputs h3,.canvas-run-list h3{font-size:13px;margin:0 0 12px}.canvas-inputs>div{display:flex;gap:5px;align-items:center;margin-bottom:8px}.canvas-inputs>div strong{flex:1;font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis}.canvas-inputs .select-wrap{width:100px}.canvas-inputs select{font-size:11px;padding:5px}.canvas-inputs button{padding:4px}.canvas-inspector-empty{padding:28px 18px;color:var(--ui-text-muted)}.canvas-inspector-empty h2{font-size:18px;margin:12px 0 8px}.canvas-inspector-empty p,.canvas-inspector-empty small{font-size:12px;line-height:1.5}.canvas-run-list{border-top:1px solid var(--ui-border);padding:16px 18px}.canvas-run-row{border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:9px;margin-bottom:8px;display:flex;flex-direction:column;align-items:flex-start;gap:5px}.canvas-run-row strong{font-size:12px}.canvas-run-row small{color:var(--ui-text-muted)}.canvas-run-row>div{display:flex;gap:4px;flex-wrap:wrap}.canvas-context-menu{position:fixed;z-index:50;background:var(--ui-panel);color:var(--ui-text);padding:5px;border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);box-shadow:var(--ui-shadow-overlay)}.canvas-context-menu button{display:flex;align-items:center;gap:7px;padding:7px 9px;min-width:130px;width:100%;border:0;background:transparent;color:inherit;text-align:left;font-size:12px}.canvas-context-menu button:hover{background:var(--ui-surface-hover)}.canvas-preview{max-height:60vh;overflow:auto}.canvas-preview p{font-size:13px;line-height:1.5}.canvas-preview-warning{border-left:3px solid var(--ui-warning);padding:7px 10px;background:var(--ui-page)}.canvas-preview-trials{display:grid;gap:8px}.canvas-preview-trials>div{border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:10px}.canvas-preview-trials strong{display:block;font-size:12px}.canvas-preview-trials small{color:var(--ui-text-muted)}.canvas-preview-trials p{margin:8px 0 0;white-space:pre-wrap}.canvas-mobile-list{display:none}@media(max-width:1100px){.canvas-workspace.with-inspector{grid-template-columns:minmax(0,1fr) 285px}.canvas-page{padding:16px}}@media(max-width:760px){.canvas-page-header{align-items:stretch;flex-direction:column}.canvas-board-actions{flex-wrap:wrap}.canvas-toolbar{align-items:flex-start}.canvas-tools{overflow:auto;max-width:100%;padding-bottom:4px}.canvas-tools .button{white-space:nowrap}.canvas-history{flex-shrink:0}.canvas-workspace{display:flex;flex-direction:column;height:auto;min-height:0}.canvas-flow-wrap{display:none}.canvas-mobile-list{display:grid;gap:6px;padding:12px;background:var(--ui-page)}.canvas-mobile-list button{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:10px;background:var(--ui-panel);color:var(--ui-text)}.canvas-mobile-list button.selected{outline:2px solid var(--ui-accent, #6f83ae)}.canvas-mobile-list small{color:var(--ui-text-muted)}.canvas-inspector{border-left:0;border-top:1px solid var(--ui-border);max-height:none}}.canvas-workspace.with-inspector{grid-template-columns:minmax(0,1fr) 320px}.canvas-workspace:not(.with-inspector)>.canvas-inspector{display:none}.canvas-flow-wrap{--xy-background-pattern-color: var(--ui-border-strong);--xy-minimap-background-color: var(--ui-surface);--xy-minimap-mask-background-color: color-mix(in srgb, var(--ui-page) 72%, transparent);--xy-minimap-mask-stroke-color: var(--ui-border);--xy-minimap-node-stroke-color: var(--ui-border-strong);--xy-selection-background-color: color-mix(in srgb, var(--ui-focus) 12%, transparent);--xy-selection-border: 1px solid var(--ui-focus)}.canvas-flow-wrap .react-flow__attribution{background:var(--ui-surface);color:var(--ui-text-muted)}.canvas-flow-wrap .react-flow__attribution a{color:inherit}.canvas-flow-wrap .react-flow__node:focus-visible{outline:2px solid var(--ui-focus);outline-offset:4px}.canvas-inline-text:focus-visible{outline:2px solid var(--ui-focus);outline-offset:-2px}.canvas-node-footer button,.canvas-node-action{border-radius:var(--ui-button-radius)}.canvas-node-status{border-radius:var(--ui-tag-radius)}.canvas-node-image .canvas-node-heading{padding-right:80px}.canvas-copy-extraction{display:flex;flex-direction:column;gap:10px}.canvas-view-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.canvas-preview-images{display:flex;flex-wrap:wrap;gap:12px;padding:8px 0}.canvas-preview-images figure{margin:0;width:110px}.canvas-preview-images img{width:110px;height:90px;object-fit:contain;background:var(--ui-surface-sunken)}.canvas-preview-images figcaption{color:var(--ui-text-muted);font-size:11px;overflow-wrap:anywhere}.canvas-node-error{font-size:10px;color:var(--ui-danger);overflow:auto;max-height:75px}.canvas-node-dimensions{position:absolute;bottom:8px;left:8px;padding:3px 5px;max-width:calc(100% - 90px);background:var(--ui-panel);font-size:10px}.canvas-node-image .canvas-node-error{position:absolute;left:8px;right:8px;bottom:36px;padding:6px;background:var(--ui-panel)}@media(max-width:1100px){.canvas-workspace.with-inspector{grid-template-columns:minmax(0,1fr) 285px}}@media(max-width:760px){.canvas-page{padding:14px}.canvas-toolbar{flex-wrap:wrap;gap:8px}.canvas-tools{flex-wrap:wrap}.canvas-page-header{gap:12px}.canvas-board-actions .select-wrap{flex:1;min-width:140px}.canvas-workspace:not(.with-inspector)>.canvas-inspector{display:none}.canvas-mobile-list{max-height:45dvh;overflow:auto}.canvas-view-controls{display:none}}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-cyrillic-ext-400-normal-DwaaZvol.woff2) format("woff2"),url(/assets/lora-cyrillic-ext-400-normal-PiPRSBNu.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-cyrillic-400-normal-CbVom6TB.woff2) format("woff2"),url(/assets/lora-cyrillic-400-normal-BedExNGj.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-math-400-normal-D2gccGFf.woff2) format("woff2"),url(/assets/lora-math-400-normal-BToItYw_.woff) format("woff");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-symbols-400-normal-DmcY0X7a.woff2) format("woff2"),url(/assets/lora-symbols-400-normal-BK2bqsD8.woff) format("woff");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-vietnamese-400-normal-BxA6xcFr.woff2) format("woff2"),url(/assets/lora-vietnamese-400-normal-DlgyXXxo.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-latin-ext-400-normal-CyviI4c-.woff2) format("woff2"),url(/assets/lora-latin-ext-400-normal-B9GmMl5M.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-latin-400-normal-DnxXpLNu.woff2) format("woff2"),url(/assets/lora-latin-400-normal-DBJS-Hc6.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-cyrillic-ext-700-normal-CH2Ef3pd.woff2) format("woff2"),url(/assets/lora-cyrillic-ext-700-normal-B20D6wuF.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-cyrillic-700-normal-CicHrsUU.woff2) format("woff2"),url(/assets/lora-cyrillic-700-normal-CoUvLzhc.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-math-700-normal-BdgFUNlJ.woff2) format("woff2"),url(/assets/lora-math-700-normal-JjB0YUk-.woff) format("woff");unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-symbols-700-normal-zYsi5zvy.woff2) format("woff2"),url(/assets/lora-symbols-700-normal-DaE8wqnc.woff) format("woff");unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-vietnamese-700-normal-BHDzxyiD.woff2) format("woff2"),url(/assets/lora-vietnamese-700-normal-DyKKCAD2.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-latin-ext-700-normal-DbHby4fw.woff2) format("woff2"),url(/assets/lora-latin-ext-700-normal-XBj10pPw.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-latin-700-normal-BHK4Pzk4.woff2) format("woff2"),url(/assets/lora-latin-700-normal-Yfa97ytg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:var(--ui-font-sans, Helvetica, Arial, sans-serif);color:var(--ui-text, #222222);background:var(--ui-page, #f2f2eb);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--ui-page, #f2f2eb)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}:where(.app-shell,.auth-screen) h1,:where(.app-shell,.auth-screen) h2,:where(.app-shell,.auth-screen) h3,:where(.app-shell,.auth-screen) h4,:where(.app-shell,.auth-screen) p{margin-top:0}:where(.app-shell,.auth-screen) h1:not([data-fit]),:where(.app-shell,.auth-screen) h2,:where(.app-shell,.auth-screen) h3{letter-spacing:var(--ui-heading-tracking)}:where(.app-shell,.auth-screen) h1:not([data-fit]){font-size:clamp(38px,4vw,55px);line-height:1.04;margin:8px 0 14px;font-weight:var(--ui-heading-weight);color:var(--ui-heading)}:where(.app-shell,.auth-screen) h2{font-size:23px;line-height:1.18;margin:0;font-weight:var(--ui-heading-weight);color:var(--ui-heading)}:where(.app-shell,.auth-screen) h3{font-size:18px;margin:0;color:var(--ui-heading)}small{font-size:12px}.app-shell{min-height:100vh;display:flex}.sidebar{width:252px;flex:0 0 252px;background:var(--ui-sidebar);color:var(--ui-sidebar-text);min-height:100vh;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:30}.brand{display:flex;align-items:center;gap:12px;padding:28px 25px 25px}.brand-mark{width:35px;height:35px;background:var(--ui-sidebar-active);color:var(--ui-on-sidebar-active);border-radius:var(--ui-logo-radius, 10px);display:grid;place-items:center;font-family:var(--ui-font-display);font-size:29px;line-height:1;font-style:italic}.brand strong{display:block;font-size:17px;letter-spacing:var(--ui-heading-tracking)}.brand small{color:var(--ui-sidebar-muted);font-size:10px;letter-spacing:.065em;text-transform:uppercase}.mobile-close,.mobile-top{display:none}.project-switcher{padding:0 15px 22px;border-bottom:1px solid var(--ui-sidebar-border)}.project-switcher>span,.nav-caption{display:block;color:var(--ui-sidebar-muted);font-size:10px;font-weight:700;letter-spacing:.12em;margin:0 10px 10px}.project-current{width:100%;border:1px solid var(--ui-sidebar-border);border-radius:var(--ui-panel-radius);color:var(--ui-sidebar-muted);background:var(--ui-sidebar-surface);display:flex;align-items:center;gap:9px;padding:8px;text-align:left}.project-current strong{font-size:12px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-avatar{width:28px;height:28px;border-radius:var(--ui-panel-radius);background:var(--ui-sidebar-active);color:var(--ui-on-sidebar-active);display:grid;place-items:center;font-weight:700}.project-options{padding-top:5px;max-height:150px;overflow:auto}.project-options button{display:block;width:100%;text-align:left;background:none;border:0;color:var(--ui-sidebar-muted);padding:7px 11px;border-radius:var(--ui-button-radius);font-size:12px}.project-options button:hover{background:var(--ui-sidebar-hover)}.side-nav{padding:13px 12px;overflow:auto;flex:1}.nav-group{margin:13px 0 24px}.nav-caption{margin:0 13px 7px}.nav-group button{width:100%;height:37px;background:transparent;border:0;color:var(--ui-sidebar-muted);display:flex;align-items:center;gap:12px;text-align:left;padding:0 13px;border-radius:var(--ui-button-radius);font-size:13px;font-weight:500;margin:2px 0}.nav-group button:hover{background:var(--ui-sidebar-hover);color:var(--ui-sidebar-muted)}.nav-group button.active{background:var(--ui-sidebar-active);color:var(--ui-on-sidebar-active);font-weight:700}.nav-group button span{flex:1}.nav-pulse{width:7px;height:7px;border-radius:50%;background:var(--ui-sidebar-active)}.sidebar-bottom{padding:18px 17px 20px;border-top:1px solid var(--ui-sidebar-border)}.provider-indicator{display:flex;align-items:center;gap:9px;background:var(--ui-sidebar-surface);border-radius:var(--ui-panel-radius);padding:11px}.account-indicator{padding:0 2px 15px}.account-indicator strong,.account-indicator small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-indicator strong{font-size:12px}.account-indicator small{color:var(--ui-sidebar-muted);margin-top:3px}.account-indicator button{display:flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--ui-sidebar-active);padding:10px 0 0;font-size:11px}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,460px);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:32px;box-shadow:var(--ui-shadow-panel)}.auth-card .brand{padding:0 0 32px;color:var(--ui-text)}.auth-card .brand small{color:var(--ui-text-muted)}.auth-card h1{font-size:32px}.auth-card p{color:var(--ui-text);line-height:1.5}.auth-card .button{margin-top:16px}.users-list{display:grid}.user-row{display:grid;grid-template-columns:36px minmax(150px,1fr) 64px 70px auto;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--ui-border)}.user-row:first-child{border-top:0}.user-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--ui-panel-radius);background:var(--ui-surface-raised);color:var(--ui-accent);font-weight:700}.user-identity{min-width:0}.user-identity strong,.user-identity span{display:block;overflow:hidden;text-overflow:ellipsis}.user-identity strong{font-size:13px}.user-identity span{font-size:11px;color:var(--ui-text-muted);margin-top:3px}.user-role{text-transform:capitalize;font-size:12px}.user-enabled{font-size:11px;color:var(--ui-danger)}.user-enabled.active{color:var(--ui-text-muted)}.user-toggle{display:flex;align-items:center;gap:8px;font-size:13px}@media(max-width:650px){.user-row{grid-template-columns:36px minmax(0,1fr) auto}.user-row .user-role,.user-row .user-enabled{display:none}}.provider-dot{width:7px;height:7px;border-radius:50%;flex:none}.provider-dot.ready{background:var(--ui-sidebar-active);box-shadow:var(--ui-shadow-panel)}.provider-dot.offline{background:var(--ui-warning)}.provider-indicator strong,.provider-indicator small{display:block}.provider-indicator strong{font-size:11px}.provider-indicator small{font-size:10px;color:var(--ui-sidebar-muted);margin-top:3px}.version{display:flex;justify-content:space-between;color:var(--ui-sidebar-muted);font-size:10px;letter-spacing:.11em;margin:15px 5px 0}.main{min-width:0;flex:1;padding:38px max(30px,calc((100vw - 1500px)/2))}.page{max-width:1390px;margin:auto;padding-bottom:90px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 0 32px}.page-header p{color:var(--ui-text-muted);font-size:14px;margin:0}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:800;color:var(--ui-text-muted)}.header-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--ui-button-radius);padding:10px 15px;min-height:38px;font-size:12px;line-height:1.2;font-weight:700;white-space:nowrap;transition:.16s background,.16s transform,.16s border-color}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{background:var(--ui-action-fill);color:var(--ui-on-action);box-shadow:var(--ui-shadow-panel)}.button.primary:hover{background:var(--ui-action-hover)}.button.secondary{background:var(--ui-surface);color:var(--ui-accent);border-color:var(--ui-border)}.button.secondary:hover{border-color:var(--ui-border);background:var(--ui-surface-hover)}.button.ghost{background:transparent;color:var(--ui-accent)}.button.ghost:hover{background:var(--ui-surface-hover)}.button.danger{background:var(--ui-danger-bg);border-color:var(--ui-danger-border);color:var(--ui-danger)}.icon-button{border:0;background:transparent;color:var(--ui-accent);width:30px;height:30px;border-radius:var(--ui-button-radius);display:inline-grid;place-items:center}.icon-button:hover{background:var(--ui-surface-hover);color:var(--ui-accent)}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field-label{font-size:10px;font-weight:800;letter-spacing:.115em;color:var(--ui-accent);text-transform:uppercase}.field small{color:var(--ui-text-muted);margin-top:-2px}.input,.select-wrap select{width:100%;height:38px;border:1px solid var(--ui-border);border-radius:var(--ui-input-radius);background:var(--ui-surface);color:var(--ui-text);padding:9px 11px;font-size:12px;outline:none;transition:border-color .15s,box-shadow .15s}.input:focus,.select-wrap select:focus{border-color:var(--ui-focus);box-shadow:0 0 0 3px var(--ui-focus-halo)}.input::placeholder{color:var(--ui-text-muted)}.textarea{resize:vertical;height:auto;min-height:75px;line-height:1.5}.select-wrap{display:inline-flex;position:relative;min-width:0}.select-wrap select{appearance:none;padding-right:30px}.select-wrap>svg{pointer-events:none;position:absolute;right:10px;top:11px;color:var(--ui-text-muted)}.form-stack{display:flex;flex-direction:column;gap:17px}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.panel{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:22px;box-shadow:var(--ui-shadow-panel);margin-bottom:18px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.panel-heading h2{font-size:16px;letter-spacing:-.03em}.panel>p.muted:first-child{margin-top:0}.muted{color:var(--ui-text-muted);font-size:12px;line-height:1.55}.subtle-note{color:var(--ui-text-muted);font-size:11px;margin:14px 0 0}.text-action{border:0;background:transparent;color:var(--ui-accent);font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:4px}.text-action:hover{text-decoration:underline}.empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;color:var(--ui-accent)}.empty-icon{width:50px;height:50px;border-radius:var(--ui-panel-radius);background:var(--ui-surface-raised);color:var(--ui-accent);display:grid;place-items:center;margin-bottom:15px}.empty strong{font-size:16px;letter-spacing:-.03em}.empty p{font-size:12px;color:var(--ui-text-muted);max-width:280px;line-height:1.5;margin:7px 0 17px}.loading{display:flex;align-items:center;justify-content:center;gap:9px;padding:45px;color:var(--ui-text-muted);font-size:12px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{display:flex;align-items:flex-start;gap:9px;background:var(--ui-danger-bg);color:var(--ui-danger);border:1px solid var(--ui-danger-border);border-radius:var(--ui-panel-radius);padding:11px;font-size:12px;line-height:1.45}.status{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:700;text-transform:capitalize;color:var(--ui-text-muted);white-space:nowrap}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--ui-text-muted)}.status-succeeded{color:var(--ui-success)}.status-succeeded .status-dot{background:var(--ui-success)}.status-running,.status-preparing,.status-queued{color:var(--ui-warning)}.status-running .status-dot,.status-preparing .status-dot,.status-queued .status-dot{background:var(--ui-warning)}.status-failed,.status-canceled,.status-outcome-unknown{color:var(--ui-danger)}.status-failed .status-dot,.status-canceled .status-dot,.status-outcome-unknown .status-dot{background:var(--ui-danger)}.pill{display:inline-flex;border-radius:var(--ui-tag-radius);background:var(--ui-surface-raised);padding:4px 6px;color:var(--ui-accent);font-size:10px;font-weight:700;text-transform:capitalize}.notice{position:fixed;bottom:24px;right:26px;z-index:100;background:var(--ui-sidebar);color:var(--ui-sidebar-text);border-radius:var(--ui-panel-radius);box-shadow:var(--ui-shadow-panel);padding:13px 15px;display:flex;align-items:center;gap:10px;font-size:12px;max-width:390px}.notice.error{background:var(--ui-danger-bg);color:var(--ui-danger)}.notice button{border:0;background:none;color:inherit;margin-left:10px}.modal-backdrop,.drawer-shade{position:fixed;inset:0;background:var(--ui-overlay);z-index:70;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--ui-surface);border-radius:var(--ui-panel-radius);width:min(100%,560px);max-height:min(90vh,980px);display:flex;flex-direction:column;box-shadow:var(--ui-shadow-panel)}.modal-small{width:440px}.modal-wide{width:min(100%,980px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 23px;border-bottom:1px solid var(--ui-border)}.modal-header h2{font-size:19px}.modal-body{padding:23px;overflow:auto}.modal-footer{border-top:1px solid var(--ui-border);padding:15px 23px;display:flex;align-items:center;justify-content:flex-end;gap:9px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--ui-border);margin-bottom:21px;overflow:auto}.tabs button{border:0;background:transparent;color:var(--ui-text-muted);padding:11px 15px;border-bottom:2px solid transparent;white-space:nowrap;font-size:11px;font-weight:700}.tabs button.active{color:var(--ui-accent);border-color:var(--ui-border-strong)}.tabs button span{background:var(--ui-surface-raised);color:var(--ui-text-muted);padding:1px 5px;border-radius:var(--ui-button-radius);margin-left:5px}.back-link{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--ui-accent);font-size:12px;font-weight:700;padding:0;margin-bottom:25px}.back-link:hover{color:var(--ui-accent)}.detail-title{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:25px}.detail-title h2{font-size:30px;margin:6px 0}.detail-title p{font-size:12px;color:var(--ui-text-muted);margin:0}.check-list{border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);overflow:auto;max-height:280px}.check-list label{display:flex;align-items:center;gap:11px;padding:10px 12px;border-bottom:1px solid var(--ui-border);cursor:pointer;font-size:12px}.check-list label:last-child{border-bottom:0}.check-list label:hover{background:var(--ui-surface-hover)}.check-list input{accent-color:var(--ui-accent)}.check-list label span{display:flex;flex-direction:column;gap:3px;min-width:0}.check-list label strong{font-weight:600;overflow:hidden;text-overflow:ellipsis}.check-list label small{color:var(--ui-text-muted)}.check-list>.muted{padding:12px}.inline-between{display:flex;justify-content:space-between;align-items:center;gap:12px}.small-check{font-size:11px;color:var(--ui-text-muted);display:inline-flex;gap:6px;align-items:center;cursor:pointer}.small-check input{accent-color:var(--ui-accent)}.welcome{min-height:75vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:680px;margin:0 auto}.welcome h1{font-size:clamp(52px,6vw,84px);margin:13px 0 20px}.welcome em,.hero-banner em{font-family:var(--ui-font-display);font-weight:400;color:var(--ui-accent)}.hero-banner em{color:var(--ui-hero-contrast)}.welcome p{color:var(--ui-text-muted);font-size:16px;line-height:1.65;max-width:530px;margin-bottom:25px}.welcome-art{height:180px;width:310px;position:relative;margin-bottom:15px}.welcome-square{width:120px;height:150px;position:absolute;border-radius:var(--ui-panel-radius);box-shadow:var(--ui-shadow-panel)}.welcome-square.a{background:var(--ui-illustration-1);left:22px;top:17px;transform:rotate(-15deg)}.welcome-square.b{background:var(--ui-illustration-2);left:93px;top:6px;transform:rotate(8deg)}.welcome-square.c{background:var(--ui-illustration-3);left:163px;top:27px;transform:rotate(20deg)}.welcome-orbit{position:absolute;border:1px dashed var(--ui-border-strong);border-radius:50%;width:210px;height:210px;left:52px;top:-15px}.hero-banner{height:245px;background:var(--ui-hero);border-radius:var(--ui-panel-radius);padding:28px 32px;display:flex;justify-content:space-between;overflow:hidden;margin-bottom:20px}.hero-banner h2{font-size:34px;line-height:1.05;margin:10px 0;color:var(--ui-hero-contrast)}.hero-banner .eyebrow{color:var(--ui-hero-contrast)}.hero-banner p{font-size:12px;max-width:350px;color:var(--ui-hero-contrast);line-height:1.5;margin-bottom:18px}.hero-banner .button{background:var(--ui-surface);color:var(--ui-accent)}.hero-graphic{position:relative;width:35%;min-width:240px}.hero-card{width:150px;height:200px;border-radius:var(--ui-panel-radius);position:absolute;box-shadow:var(--ui-shadow-panel);top:8px}.hero-card.h1{background:var(--ui-illustration-1);left:15px;transform:rotate(-18deg)}.hero-card.h2{background:var(--ui-illustration-2);left:75px;transform:rotate(8deg)}.hero-card.h3{background:var(--ui-illustration-1);left:135px;transform:rotate(20deg);display:flex;align-items:flex-end;padding:20px;color:var(--ui-hero-contrast);font-size:10px;letter-spacing:.12em;line-height:1.4}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.stat-grid button{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-button-radius);text-align:left;padding:18px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;color:var(--ui-text-muted);min-height:108px}.stat-grid button:hover{border-color:var(--ui-border);transform:translateY(-1px)}.stat-grid strong{font-size:29px;color:var(--ui-heading);grid-column:1;grid-row:2;letter-spacing:-.05em}.stat-grid span{font-size:11px;color:var(--ui-text-muted);grid-column:2;grid-row:2;align-self:end}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.recent-asset,.activity-row{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid var(--ui-border)}.recent-asset:last-child,.activity-row:last-child{border-bottom:0}.recent-thumb{width:42px;height:42px;border-radius:var(--ui-panel-radius);background:var(--ui-surface-raised);display:grid;place-items:center;overflow:hidden;color:var(--ui-text-muted)}.recent-thumb img{width:100%;height:100%;object-fit:cover}.recent-asset strong,.recent-asset small,.activity-row strong,.activity-row small{display:block}.recent-asset strong,.activity-row strong{font-size:12px}.recent-asset small,.activity-row small{color:var(--ui-text-muted);font-size:10px;margin-top:4px}.activity-row>div:nth-child(2){flex:1}.activity-icon{width:32px;height:32px;display:grid;place-items:center;color:var(--ui-accent);background:var(--ui-surface);border-radius:var(--ui-panel-radius)}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:20px}.search{height:39px;max-width:430px;flex:1;display:flex;align-items:center;gap:9px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:0 12px;color:var(--ui-text-muted)}.search input{border:0;outline:0;min-width:0;flex:1;font-size:12px;color:var(--ui-text);background:transparent}.toolbar-count{margin-left:auto;color:var(--ui-text-muted);font-size:11px}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:15px}.asset-card{padding:0;border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);overflow:hidden;text-align:left;background:var(--ui-surface);min-width:0;transition:.2s transform,.2s box-shadow}.asset-card:hover{transform:translateY(-3px);box-shadow:var(--ui-shadow-hover)}.asset-preview{height:180px;background:var(--ui-canvas-stage);display:flex;align-items:center;justify-content:center;overflow:hidden}.asset-preview img{width:100%;height:100%;object-fit:cover}.file-preview{color:var(--ui-text-muted);display:flex;flex-direction:column;align-items:center;gap:8px}.file-preview span{font-size:10px;font-weight:700;letter-spacing:.1em}.asset-card-meta{padding:13px}.asset-card-meta>strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;margin-bottom:10px}.asset-card-sub{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--ui-text-muted)}.pagination{display:flex;align-items:center;justify-content:center;gap:18px;padding:26px}.pagination span{font-size:11px;color:var(--ui-text-muted)}.drop-zone{height:150px;border:1.5px dashed var(--ui-border);border-radius:var(--ui-panel-radius);background:var(--ui-surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--ui-accent);cursor:pointer}.drop-zone strong{font-size:13px}.drop-zone span{font-size:11px;color:var(--ui-text-muted)}.drop-zone input{display:none}.selected-files{display:flex;gap:5px;flex-wrap:wrap}.selected-files span{background:var(--ui-surface-selected);color:var(--ui-accent);padding:5px 7px;font-size:10px;border-radius:var(--ui-tag-radius)}.drawer-shade{justify-content:flex-end;padding:0}.drawer{height:100vh;width:min(100%,495px);background:var(--ui-surface);overflow:auto;box-shadow:var(--ui-shadow-panel)}.drawer-heading{padding:25px;display:flex;justify-content:space-between;align-items:flex-start}.drawer-heading h2{margin:5px 0 0}.drawer-heading button{border:0;background:transparent;font-size:25px;color:var(--ui-text-muted)}.drawer-preview{height:280px;background:var(--ui-canvas-stage);display:grid;place-items:center;color:var(--ui-text-muted)}.drawer-preview img{max-width:100%;max-height:100%;object-fit:contain}.drawer .tabs{margin:0 25px}.drawer-content{padding:25px}.detail-facts{display:flex;flex-direction:column;gap:5px;color:var(--ui-text-muted);font-size:11px}.version-list{display:flex;flex-direction:column}.version-row{width:100%;display:flex;align-items:center;gap:10px;padding:12px 0;border:0;border-bottom:1px solid var(--ui-border);background:transparent;text-align:left}.version-row:hover{background:var(--ui-surface-hover)}.version-row>div:nth-child(2){flex:1}.version-row strong,.version-row small{display:block}.version-row strong{font-size:11px}.version-row small{color:var(--ui-text-muted);margin-top:4px}.version-icon{height:31px;width:31px;background:var(--ui-surface-raised);color:var(--ui-accent);border-radius:var(--ui-panel-radius);display:grid;place-items:center}.lineage-head{display:flex;gap:8px;color:var(--ui-accent)}.lineage-node{padding:12px;border-left:2px solid var(--ui-border-strong);margin-left:7px;display:flex;gap:8px;align-items:center}.lineage-node strong{font-size:11px;flex:1}.lineage-node small{color:var(--ui-text-muted)}.document-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:18px;align-items:start}.document-list{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);overflow:hidden}.list-title{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--ui-text-muted);padding:18px;border-bottom:1px solid var(--ui-border)}.list-title span{float:right;color:var(--ui-accent)}.document-list>button{width:100%;display:flex;align-items:center;gap:10px;border:0;border-bottom:1px solid var(--ui-border);background:var(--ui-surface);padding:14px 12px;text-align:left}.document-list>button.active{background:var(--ui-surface-selected);border-left:3px solid var(--ui-border-strong);padding-left:9px}.document-list>button:hover{background:var(--ui-surface-hover)}.document-list>button>div:nth-child(2){flex:1;min-width:0}.document-list strong,.document-list small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-list strong{font-size:11px}.document-list small{font-size:10px;color:var(--ui-text-muted);margin-top:4px}.doc-list-icon{background:var(--ui-surface-raised);color:var(--ui-accent);border-radius:var(--ui-panel-radius);height:31px;width:31px;display:grid;place-items:center}.list-empty{padding:24px;color:var(--ui-text-muted);font-size:11px}.document-main{min-width:0}.editor{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);overflow:hidden}.editor-header{padding:25px;border-bottom:1px solid var(--ui-border);display:flex;justify-content:space-between;gap:15px}.editor-header h2{margin:6px 0 5px}.editor-header p{font-size:11px;color:var(--ui-text-muted);margin:0}.editor-actions{display:flex;align-items:flex-start;gap:8px}.editor-body{padding:25px;display:flex;flex-direction:column;gap:21px}.review-banner{display:flex;gap:12px;align-items:center;background:var(--ui-surface-raised);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:13px}.review-banner>span{width:33px;height:33px;background:var(--ui-surface-selected);color:var(--ui-warning);border-radius:var(--ui-panel-radius);display:grid;place-items:center}.review-banner>span.reviewed{background:var(--ui-surface-raised);color:var(--ui-text-muted)}.review-banner>div{flex:1}.review-banner strong{font-size:11px}.review-banner p{font-size:10px;color:var(--ui-text-muted);margin:3px 0 0}.toggle{position:relative;display:inline-block;width:34px;height:19px}.toggle input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}.toggle input:focus-visible+span{outline:2px solid var(--ui-border-strong);outline-offset:3px}.toggle span{display:block;width:34px;height:19px;border-radius:var(--ui-panel-radius);background:var(--ui-surface-sunken);position:relative;cursor:pointer}.toggle span:before{content:"";position:absolute;height:13px;width:13px;border-radius:50%;background:var(--ui-surface);top:3px;left:3px;transition:.2s}.toggle input:checked+span{background:var(--ui-accent)}.toggle input:checked+span:before{left:18px}.brief-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.citation-row{padding:13px;border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);margin:10px 0;display:flex;flex-direction:column;gap:10px}.citation-row .inline-between .field{width:110px}.editor-footer{display:flex;justify-content:space-between}.version-panel{border-radius:0;border-left:0;border-right:0;border-bottom:0;margin:0}.diff-block{margin-top:20px}.diff-block strong{font-size:11px}.diff-block pre,.compiled-preview{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--ui-canvas-stage);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:16px;color:var(--ui-accent);font:11px/1.65 ui-monospace,SFMono-Regular,monospace;max-height:350px;overflow:auto}.helper-card{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ui-text-muted);background:var(--ui-surface);padding:10px;border-radius:var(--ui-panel-radius)}.helper-card code{font-size:10px}.prompt-textarea{font:12px/1.65 ui-monospace,SFMono-Regular,monospace;min-height:240px}.variable-row{padding:14px 0;border-bottom:1px solid var(--ui-border);display:flex;align-items:end;gap:10px}.variable-fields{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:10px;flex:1}.variable-row .small-check{white-space:nowrap;padding-bottom:12px}.editor-body .panel{box-shadow:none;margin:0}.studio-topbar{display:flex;justify-content:space-between;align-items:center;gap:15px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:11px 15px;margin-bottom:15px}.studio-name{min-width:180px;max-width:350px;display:flex;align-items:center;gap:10px}.studio-name .input{border:0;font-weight:700;font-size:13px;padding:4px;max-width:200px}.studio-name span{white-space:nowrap;font-size:10px;color:var(--ui-text-muted)}.studio-top-actions{display:flex;gap:8px;justify-content:flex-end}.studio-top-actions .select-wrap{max-width:180px}.studio-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(305px,.7fr);gap:17px;align-items:start}.canvas-stage{background:var(--ui-canvas-stage);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);min-height:645px;display:flex;flex-direction:column;overflow:hidden}.canvas-stage-label{display:flex;justify-content:space-between;align-items:center;padding:14px 17px;font-size:10px;color:var(--ui-text-muted);font-weight:800;letter-spacing:.1em}.canvas-stage-label span:first-child{display:flex;align-items:center;gap:8px}.scaled-outer{flex:1;min-height:590px;width:100%;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(var(--ui-surface-sunken) 1px,transparent 1px);background-size:18px 18px}.scaled-inner{box-shadow:var(--ui-shadow-panel);overflow:hidden;background:var(--ui-surface)}.render-bar{display:flex;align-items:center;gap:10px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:17px;margin:14px 0}.render-bar>div{flex:1}.render-bar strong,.render-bar span{display:block}.render-bar strong{font-size:12px}.render-bar span{font-size:10px;color:var(--ui-text-muted);margin-top:4px}.render-bar .select-wrap{width:98px}.render-result{display:flex;align-items:center;gap:16px}.studio-controls{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);overflow:hidden;position:sticky;top:18px}.studio-controls .tabs{margin:0;padding:0 10px}.studio-controls .tabs button{padding:16px 10px}.control-body{padding:20px;max-height:80vh;overflow:auto}.control-divider{height:1px;background:var(--ui-surface-raised);margin:3px 0}.color-grid{display:flex;flex-direction:column;gap:13px}.color-input{display:flex;gap:8px}.color-input input[type=color]{height:38px;width:42px;padding:4px;border:1px solid var(--ui-border);border-radius:var(--ui-input-radius);background:var(--ui-surface);cursor:pointer}.layout-options{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.layout-options button{border:1px solid var(--ui-border);border-radius:var(--ui-button-radius);background:var(--ui-surface);text-transform:capitalize;font-size:10px;color:var(--ui-text-muted);padding:10px 4px;display:flex;flex-direction:column;align-items:center;gap:7px}.layout-options button.active{border-color:var(--ui-border-strong);background:var(--ui-surface-selected);color:var(--ui-accent)}.layout-glyph{display:block;width:32px;height:25px;border:1px solid var(--ui-border);background:linear-gradient(90deg,var(--ui-surface-sunken) 45%,var(--ui-surface-raised) 45%)}.layout-glyph.overlay{background:linear-gradient(90deg,var(--ui-accent),var(--ui-accent))}.layout-glyph.horizontal{height:14px;background:linear-gradient(90deg,var(--ui-accent) 26%,var(--ui-surface-raised) 26%)}.layout-glyph.vertical{background:linear-gradient(var(--ui-accent) 40%,var(--ui-surface-raised) 40%)}.range-row{display:flex;align-items:center;gap:8px}.range-row input[type=range]{flex:1;accent-color:var(--ui-accent)}.range-number{width:55px;border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);height:30px;padding:3px;font-size:11px;text-align:right}.range-row span{font-size:10px;color:var(--ui-text-muted);min-width:14px}.experiment-list{display:flex;flex-direction:column;gap:10px}.experiment-card{display:flex;align-items:center;gap:15px;text-align:left;width:100%;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:18px}.experiment-card:hover{border-color:var(--ui-border)}.experiment-card-icon{height:45px;width:45px;background:var(--ui-surface-raised);color:var(--ui-accent);border-radius:var(--ui-panel-radius);display:grid;place-items:center}.experiment-card>div:nth-child(2){flex:1}.experiment-card strong{font-size:13px}.experiment-card p,.experiment-card small{margin:5px 0 0;color:var(--ui-text-muted);font-size:10px}.experiment-progress{width:150px}.experiment-progress span{font-size:10px;font-weight:700;color:var(--ui-accent)}.progress-track{height:5px;background:var(--ui-surface-raised);border-radius:var(--ui-panel-radius);overflow:hidden;margin:8px 0}.progress-track i{display:block;height:100%;background:var(--ui-accent)}.builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:17px;align-items:start}.builder-side{position:sticky;top:16px}.builder-side .panel .button{width:100%;margin-top:10px}.estimate{display:flex;align-items:baseline;gap:8px}.estimate strong{font-size:35px;letter-spacing:-.06em}.estimate span{color:var(--ui-text-muted);font-size:11px}.estimate-breakdown{border-top:1px solid var(--ui-border);margin-top:17px;padding-top:10px}.estimate-breakdown>div{display:flex;justify-content:space-between;padding:6px 0;font-size:11px}.estimate-breakdown span{color:var(--ui-text-muted)}.matrix-controls{display:grid;grid-template-columns:1fr 1fr;gap:22px}.matrix-controls .check-list{max-height:280px}.variable-set,.bundle{padding:15px;border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);margin:10px 0;background:var(--ui-surface)}.variable-set .two-col{margin-top:13px}.bundle .inline-between .input{max-width:300px}.bundle .check-list{margin-top:10px}.trial-modal{height:min(90vh,900px)}.trial-preview-layout{display:grid;grid-template-columns:240px 1fr;min-height:0;flex:1;overflow:hidden}.trial-preview-list{overflow:auto;border-right:1px solid var(--ui-border)}.trial-preview-list button{width:100%;border:0;border-bottom:1px solid var(--ui-border);background:var(--ui-surface-sunken);text-align:left;padding:12px}.trial-preview-list button.active{background:var(--ui-surface-selected);box-shadow:inset 3px 0 var(--ui-focus)}.trial-preview-list strong,.trial-preview-list small,.trial-preview-list span{display:block;font-size:10px;margin:3px 0}.trial-preview-list span{color:var(--ui-text-muted);overflow:hidden;text-overflow:ellipsis}.trial-preview-detail{overflow:auto;padding:24px}.trial-preview-detail h3{font-size:14px;margin:20px 0 10px}.trial-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.trial-facts span{display:flex;flex-direction:column;gap:4px;color:var(--ui-text-muted);font-size:10px;padding:10px;background:var(--ui-surface);border-radius:var(--ui-panel-radius)}.trial-facts strong,.trial-facts code{font-size:11px;color:var(--ui-accent);overflow-wrap:anywhere}.experiment-status-grid{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:20px}.experiment-status-grid>div{min-width:120px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:13px}.experiment-status-grid strong{display:block;font-size:22px;margin-top:5px}.trial-layout{display:grid;grid-template-columns:275px 1fr;gap:17px}.trial-list{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);max-height:75vh;overflow:auto}.trial-list button{width:100%;display:flex;align-items:center;gap:10px;border:0;border-bottom:1px solid var(--ui-border);padding:12px;background:var(--ui-surface);text-align:left}.trial-list button.active{background:var(--ui-surface-selected)}.trial-index{font-size:10px;color:var(--ui-text-muted);font-weight:700}.trial-list button>div:nth-child(2){flex:1;min-width:0}.trial-list strong,.trial-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trial-list strong{font-size:11px}.trial-list small{font-size:9px;color:var(--ui-text-muted);margin-top:4px}.trial-detail{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:23px;min-width:0}.trial-detail-head{display:flex;justify-content:space-between;margin-bottom:18px}.trial-detail-head h3{margin-top:4px}.trial-detail h4{font-size:11px;color:var(--ui-accent);text-transform:uppercase;letter-spacing:.1em;margin:24px 0 10px}.trial-output{max-width:450px;margin:0 auto 20px;display:flex;flex-direction:column;align-items:center;gap:10px}.trial-output img{max-height:450px;object-fit:contain;background:var(--ui-surface-raised)}.review-strip{display:flex;gap:9px;overflow-x:auto;padding:4px 0 17px;min-height:120px}.review-strip-item{width:98px;flex:none;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);overflow:hidden}.review-strip-item.active{border-color:var(--ui-border-strong);box-shadow:var(--ui-shadow-panel)}.strip-image{width:100%;height:75px;border:0;background:var(--ui-surface-raised);display:grid;place-items:center;color:var(--ui-text-muted);padding:0}.strip-image img{width:100%;height:100%;object-fit:cover}.review-strip-item label{display:flex;align-items:center;gap:3px;font-size:9px;padding:6px;white-space:nowrap;overflow:hidden}.review-strip-item label input{accent-color:var(--ui-accent)}.review-strip-item label span{overflow:hidden;text-overflow:ellipsis}.review-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.7fr);gap:18px}.review-current{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:6px 0 18px}.review-current h2{margin:5px 0}.review-current p{font:10px ui-monospace,monospace;color:var(--ui-text-muted);margin:0}.review-nav{display:flex;gap:5px}.annotation-editor{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);overflow:hidden}.annotation-tools{display:flex;align-items:center;gap:5px;padding:10px 14px;background:var(--ui-surface);border-bottom:1px solid var(--ui-border)}.annotation-tools button{display:flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--ui-text-muted);border-radius:var(--ui-button-radius);padding:7px;font-size:10px}.annotation-tools button.active{background:var(--ui-surface-selected);color:var(--ui-accent)}.annotation-tools>span{margin-left:auto;color:var(--ui-text-muted);font-size:10px}.annotation-image{position:relative;max-width:100%;width:max-content;max-height:550px;margin:16px auto;touch-action:none;-webkit-user-select:none;user-select:none}.annotation-image>img{max-height:550px;max-width:100%;object-fit:contain}.region{position:absolute;border:0;background:var(--ui-surface-selected);color:var(--ui-accent);transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;box-shadow:var(--ui-shadow-panel)}.region.box{transform:none;background:var(--ui-surface-selected);border:2px solid var(--ui-border);border-radius:var(--ui-panel-radius)}.region.active{outline:2px solid var(--ui-border-strong);outline-offset:2px}.review-fields{padding:20px;border-top:1px solid var(--ui-border);display:flex;flex-direction:column;gap:15px}.review-fields .panel{background:var(--ui-surface);margin:0;box-shadow:none}.chip-list{display:flex;flex-wrap:wrap;gap:5px}.chip-list button{border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text-muted);padding:5px 8px;border-radius:var(--ui-button-radius);font-size:10px}.chip-list button.selected{background:var(--ui-surface-selected);border-color:var(--ui-border-strong);color:var(--ui-accent)}.compare-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.compare-grid button{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:var(--ui-button-radius);padding:5px;text-align:left;min-width:0}.compare-grid img{height:110px;width:100%;object-fit:contain;background:var(--ui-surface-raised)}.compare-grid strong,.compare-grid small{display:block;font-size:10px;margin:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-grid small{font-size:9px;color:var(--ui-text-muted)}.comparison-empty{height:130px;background:var(--ui-surface);border-radius:var(--ui-panel-radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--ui-text-muted);font-size:10px}.shortcut{display:flex;align-items:center;gap:9px;margin:7px 0;color:var(--ui-text-muted);font-size:10px}kbd{border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);background:var(--ui-surface);padding:3px 6px;color:var(--ui-accent)}.schema-field{padding:14px;border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);display:flex;flex-direction:column;gap:12px}.schema-field-head{display:flex;justify-content:space-between;align-items:center}.schema-field-head strong{font-size:12px}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:15px}.collection-card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);text-align:left;padding:0;overflow:hidden;display:flex;flex-direction:column;position:relative}.collection-card:hover{box-shadow:var(--ui-shadow-hover);transform:translateY(-2px)}.collection-cover{height:145px;background:var(--ui-collection-cover);display:flex;align-items:center;justify-content:center;color:var(--ui-hero-contrast);position:relative}.collection-cover span{position:absolute;bottom:11px;left:14px;background:var(--ui-surface);color:var(--ui-accent);border-radius:var(--ui-panel-radius);padding:5px 7px;font-size:10px;font-weight:700}.collection-meta{padding:17px;flex:1}.collection-meta strong{font-size:13px}.collection-meta p{font-size:11px;color:var(--ui-text-muted);line-height:1.4;margin:6px 0 13px}.collection-meta span{font-size:10px;color:var(--ui-text-muted)}.collection-card>svg{position:absolute;bottom:17px;right:13px;color:var(--ui-text-muted)}.collection-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.collection-picker{max-height:500px;overflow:auto;border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius)}.collection-picker label{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--ui-border);padding:9px;cursor:pointer}.collection-picker label:last-child{border-bottom:0}.collection-picker input{accent-color:var(--ui-accent)}.collection-thumb{width:40px;height:40px;border-radius:var(--ui-panel-radius);background:var(--ui-surface-raised);display:grid;place-items:center;color:var(--ui-text-muted);overflow:hidden}.collection-thumb img{width:100%;height:100%;object-fit:cover}.collection-picker label span{min-width:0}.collection-picker strong,.collection-picker small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-picker strong{font-size:11px}.collection-picker small{font-size:9px;color:var(--ui-text-muted);margin-top:3px}.snapshot-list{margin-top:20px;border-top:1px solid var(--ui-border)}.snapshot-list button{display:flex;align-items:center;gap:9px;width:100%;border:0;border-bottom:1px solid var(--ui-border);background:var(--ui-surface);text-align:left;padding:11px 3px;color:var(--ui-text-muted)}.snapshot-list button.active{background:var(--ui-surface-selected)}.snapshot-list button span{flex:1}.snapshot-list strong,.snapshot-list small{display:block}.snapshot-list strong{font-size:11px;color:var(--ui-heading)}.snapshot-list small{font-size:9px;color:var(--ui-text-muted);margin-top:3px}.snapshot-facts{background:var(--ui-surface);border-radius:var(--ui-panel-radius);padding:12px;margin-top:13px}.snapshot-facts>strong{font-size:10px}.snapshot-facts>div{display:flex;justify-content:space-between;gap:8px;margin-top:8px;color:var(--ui-text-muted);font-size:10px}.snapshot-facts code{font-size:10px}.export-controls{display:flex;gap:8px;margin-top:17px}.export-controls .select-wrap{width:90px}.export-job,.backup-status{display:flex;align-items:center;gap:10px;margin-top:16px}.export-job strong{font-size:11px}.settings-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.backup-action{display:flex;align-items:center;gap:11px;border-top:1px solid var(--ui-border);padding:17px 0}.backup-action>div:nth-child(2){flex:1}.backup-action strong,.backup-action span{display:block}.backup-action strong{font-size:11px}.backup-action span{font-size:10px;color:var(--ui-text-muted);margin-top:4px}.backup-action-icon{height:34px;width:34px;background:var(--ui-surface-raised);color:var(--ui-accent);border-radius:var(--ui-panel-radius);display:grid;place-items:center}.file-button input{display:none}.restore-confirm{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--ui-surface);padding:10px;border-radius:var(--ui-panel-radius)}.restore-confirm span{font-size:11px;overflow:hidden;text-overflow:ellipsis}.diagnostic-row{display:flex;justify-content:space-between;gap:10px;align-items:center;border-bottom:1px solid var(--ui-border);padding:13px 0}.diagnostic-row span{display:flex;align-items:center;gap:10px;color:var(--ui-text-muted);font-size:11px}.diagnostic-row strong{font-size:11px}.diagnostic-row strong.good{color:var(--ui-success)}.diagnostic-row strong.bad{color:var(--ui-danger)}.diagnostic-row strong.neutral{color:var(--ui-warning)}.queue-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.queue-stats>div{padding:11px;border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius)}.queue-stats strong,.queue-stats span{display:block}.queue-stats strong{font-size:20px}.queue-stats span{font-size:10px;text-transform:capitalize;color:var(--ui-text-muted)}.failures pre,.usage-table pre{font:10px/1.5 ui-monospace,monospace;background:var(--ui-surface);border-radius:var(--ui-panel-radius);padding:10px;overflow:auto}@media(max-width:1150px){.sidebar{width:220px;flex-basis:220px}.main{padding:28px}.studio-layout,.review-layout{grid-template-columns:1fr}.studio-controls{position:static}.control-body{max-height:none}.collection-columns,.builder-layout{grid-template-columns:1fr}.builder-side{position:static}.builder-side .panel{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.builder-side .panel-heading,.estimate,.estimate-breakdown{grid-column:1/-1}}@media(max-width:800px){.sidebar{position:fixed;left:-260px;transition:left .2s;width:250px}.sidebar.open{left:0}.mobile-shade{position:fixed;inset:0;background:var(--ui-overlay);z-index:25}.mobile-top{height:54px;display:flex;gap:12px;align-items:center;margin:-18px -18px 23px;padding:0 18px;border-bottom:1px solid var(--ui-border);background:var(--ui-surface)}.mobile-top button,.mobile-close{border:0;background:transparent;display:inline-grid;place-items:center;color:var(--ui-accent)}.mobile-close{margin-left:auto;color:var(--ui-sidebar-muted)}.main{padding:18px;width:100%}.page-header{align-items:flex-start}.page-header h1{font-size:39px}.overview-grid,.settings-grid,.document-layout{grid-template-columns:1fr}.document-list{max-height:200px;overflow:auto}.trial-layout{grid-template-columns:1fr}.trial-list{display:flex;overflow:auto;max-height:130px}.trial-list button{width:220px;flex:none}.studio-topbar{flex-direction:column;align-items:stretch}.studio-top-actions{justify-content:flex-start;flex-wrap:wrap}.hero-graphic{opacity:.35}}@media(max-width:600px){.page-header{flex-direction:column}.header-actions{width:100%}.header-actions .button{flex:1}.stat-grid{grid-template-columns:repeat(2,1fr)}.hero-banner{height:auto;min-height:220px}.hero-graphic{display:none}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-preview{height:140px}.brief-fields,.two-col,.matrix-controls,.trial-facts,.variable-fields{grid-template-columns:1fr}.variable-row{align-items:flex-start;flex-wrap:wrap}.review-current{flex-direction:column;align-items:flex-start}.review-nav{width:100%;justify-content:space-between}.annotation-tools>span{display:none}.modal-backdrop{padding:8px}.trial-preview-layout{grid-template-columns:1fr}.trial-preview-list{display:flex;max-height:95px;border-right:0;border-bottom:1px solid var(--ui-border)}.trial-preview-list button{min-width:160px}.modal-footer{flex-wrap:wrap}.modal-footer .button{flex:1}.render-bar{flex-wrap:wrap}.render-bar>div{width:100%;flex:auto}.builder-side .panel{display:block}}.custom-format{margin-top:20px;padding-top:18px;border-top:1px solid var(--ui-border)}.custom-format-row{display:grid;grid-template-columns:1.4fr .65fr .65fr .9fr auto;gap:8px;margin-top:9px}.copy-suggestion{border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:var(--ui-panel-radius);padding:13px}.copy-suggestion>strong{font-size:11px;color:var(--ui-heading)}.copy-suggestion p{font-size:11px;color:var(--ui-accent);margin:9px 0}.copy-suggestion b{color:var(--ui-accent);margin-right:5px}.copy-suggestion .button{margin-top:7px}.diff-columns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.diff-columns>div{min-width:0}.diff-columns span{font-size:9px;font-weight:800;letter-spacing:.1em;color:var(--ui-text-muted)}.diff-columns pre{font:10px/1.5 ui-monospace,monospace;overflow:auto;max-height:420px;background:var(--ui-surface);padding:10px;border-radius:var(--ui-panel-radius)}.diff-columns pre div{min-height:15px;white-space:pre}.diff-columns pre div.changed{background:var(--ui-surface-raised);color:var(--ui-accent)}.excluded-cells{border-top:1px solid var(--ui-border);padding-top:10px;margin-top:10px}.excluded-cells>strong{font-size:10px;color:var(--ui-text-muted);display:block;margin-bottom:7px}.excluded-cells button{display:flex;gap:5px;align-items:center;border:1px solid var(--ui-border);border-radius:var(--ui-button-radius);background:var(--ui-surface);color:var(--ui-text-muted);font-size:9px;margin:4px 0;padding:4px;max-width:100%}.asset-card.archived{opacity:.62}.detail-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.upload-progress{max-height:235px;overflow:auto;border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius)}.upload-entry{display:flex;align-items:center;gap:10px;padding:9px 11px;border-bottom:1px solid var(--ui-border)}.upload-entry:last-child{border-bottom:0}.upload-entry>div{flex:1;min-width:0}.upload-entry strong,.upload-entry small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-entry strong{font-size:11px}.upload-entry small{font-size:10px;color:var(--ui-text-muted);margin-top:2px}.upload-entry.failed small{color:var(--ui-danger)}.upload-entry.succeeded .upload-state{color:var(--ui-success)}.upload-entry.failed .upload-state{color:var(--ui-danger)}.upload-index{width:21px;height:21px;border-radius:var(--ui-panel-radius);background:var(--ui-surface-raised);color:var(--ui-text-muted);display:grid;place-items:center;font-size:10px;font-weight:700}.upload-state{font-size:9px;text-transform:capitalize;color:var(--ui-text-muted)}.lineage-focus{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:13px;display:flex;flex-direction:column;gap:6px;margin:17px 0}.lineage-focus strong{font-size:12px}.lineage-focus small{font:9px ui-monospace,monospace;color:var(--ui-text-muted);overflow-wrap:anywhere}.lineage-focus .button{align-self:flex-start}.lineage-section{margin:20px 0}.lineage-section h3{display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ui-heading);border-bottom:1px solid var(--ui-border);padding-bottom:9px}.lineage-section h3 span{color:var(--ui-heading)}.lineage-relation{width:100%;display:flex;align-items:center;gap:8px;background:var(--ui-surface);border:0;border-bottom:1px solid var(--ui-border);padding:10px 0;text-align:left}.lineage-relation:hover{background:var(--ui-surface-hover)}.lineage-relation strong{flex:1;min-width:0;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lineage-relation small{font-size:9px;color:var(--ui-text-muted)}.lineage-relation svg{color:var(--ui-text-muted)}.lineage-operation{border-bottom:1px solid var(--ui-border);padding:8px 0}.lineage-operation summary{cursor:pointer;display:flex;gap:10px;align-items:center;font-size:10px;color:var(--ui-text-muted)}.lineage-operation pre{font:10px/1.5 ui-monospace,monospace;background:var(--ui-surface);padding:10px;border-radius:var(--ui-panel-radius);white-space:pre-wrap;overflow-wrap:anywhere}.annotation-image-stage{width:100%;min-height:130px;display:flex;align-items:center;justify-content:center;padding:16px}.annotation-image{margin:0;max-width:none;max-height:none;flex:none}.annotation-image>img{width:100%;height:100%;max-width:none;max-height:none;object-fit:fill}.revision-upload{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:14px;margin-bottom:19px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}.revision-upload>strong{display:block;width:100%;font-size:12px}.revision-upload>p{width:100%;margin:0 0 3px}.revision-file{font-size:10px;color:var(--ui-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.revision-upload .error{width:100%}.revision-detail{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);padding:13px;margin-top:18px}.revision-detail>.inline-between strong{font-size:12px}.revision-detail>small{display:block;font:9px ui-monospace,monospace;color:var(--ui-text-muted);overflow-wrap:anywhere;margin:7px 0 11px}.revision-detail>img{max-height:250px;width:100%;object-fit:contain;background:var(--ui-surface-raised)}.revision-annotations{border-top:1px solid var(--ui-border);margin-top:13px;padding-top:12px}.revision-annotations>strong{font-size:11px}.revision-annotations pre{font:10px/1.5 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--ui-surface-raised);border-radius:var(--ui-panel-radius);padding:10px}.ordered-members{border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);margin-top:9px;overflow:hidden}.ordered-member{display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid var(--ui-border);background:var(--ui-surface)}.ordered-member:last-child{border-bottom:0}.member-index{font-size:10px;color:var(--ui-text-muted);font-weight:700;width:17px;text-align:center}.member-name{flex:1;min-width:0}.member-name strong,.member-name small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-name strong{font-size:10px}.member-name small{font-size:9px;color:var(--ui-text-muted);margin-top:3px}.member-actions{display:flex;gap:3px}.member-actions button{height:24px;width:24px;display:grid;place-items:center;border:0;border-radius:var(--ui-button-radius);background:var(--ui-surface);color:var(--ui-text-muted)}.member-actions button:hover:not(:disabled){background:var(--ui-surface-hover)}.member-actions button:disabled{opacity:.35}.historical-picker{margin-top:18px;padding-top:16px;border-top:1px solid var(--ui-border)}.historical-options{margin-top:9px;border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);max-height:220px;overflow:auto}.historical-options>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;border-bottom:1px solid var(--ui-border)}.historical-options>div:last-child{border-bottom:0}.historical-options span{font-size:10px;color:var(--ui-text-muted)}.historical-options .button{min-height:27px;padding:5px 8px;font-size:10px}:where(.app-shell,.auth-screen) :is(button,a,input,select,textarea,summary,[role=radio]):focus-visible,.theme-card:focus-within{outline:2px solid var(--ui-focus);outline-offset:2px}.sidebar :is(button,a,input,select,textarea,summary):focus-visible{outline-color:var(--ui-sidebar-active)}:where(.app-shell,.auth-screen) :is(input,select,textarea){color-scheme:inherit}:where(.app-shell,.auth-screen) ::selection{background:var(--ui-surface-selected);color:var(--ui-text)}.brand-logo-back{width:48px;height:48px;flex:none;display:grid;place-items:center;background:var(--ui-logo-bg);padding:2px}.brand-logo{width:100%;height:100%;object-fit:contain}.theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.theme-card{position:relative;display:flex;flex-direction:column;gap:8px;min-height:120px;padding:16px;border:1px solid var(--ui-border);border-radius:var(--ui-panel-radius);background:var(--ui-surface);color:var(--ui-text);cursor:pointer;text-align:left;transition:background .15s,border-color .15s}.theme-card:hover{background:var(--ui-surface-hover);border-color:var(--ui-border-strong)}.theme-card.selected{border:2px solid var(--ui-focus);padding:15px;background:var(--ui-surface-selected)}.theme-card:disabled{cursor:progress;opacity:.7}.theme-card input[type=radio]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.theme-card strong{color:var(--ui-heading);font-size:14px}.theme-card-head{display:flex;justify-content:space-between;gap:8px;padding-right:20px}.theme-card-description{color:var(--ui-text-muted);font-size:12px;line-height:1.35}.theme-card-swatches{display:flex;gap:0;width:100%;max-width:100px;height:18px;overflow:hidden;border:1px solid var(--ui-border-strong)}.theme-card-swatch{flex:1;min-width:0}.theme-card-indicator{position:absolute;top:14px;right:14px;color:var(--ui-accent)}.theme-feedback{min-height:20px;margin-top:12px;color:var(--ui-text-muted);font-size:12px}.theme-feedback [role=alert]{color:var(--ui-danger)}@media(max-width:800px){.mobile-top .brand{padding:0;gap:9px}.mobile-top .brand-logo-back{width:40px;height:40px;padding:0}.mobile-top .brand strong{font-size:15px}}@media(max-width:560px){.theme-options{grid-template-columns:1fr}}@media(max-width:600px){.custom-format-row{grid-template-columns:1fr 1fr}.custom-format-row>:first-child{grid-column:1/-1}}
