.react-flow{--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:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--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:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--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:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--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 #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.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:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--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:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--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:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--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 #00000014;--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{width:100%;height:100%;position:absolute;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{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.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;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:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.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:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;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%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;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{z-index:5;margin:15px;position:absolute}.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{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.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{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.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{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;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));padding:10px;font-size:12px}.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{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.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-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.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))}*{box-sizing:border-box}:root{--surface-0:#0f1115;--surface-1:#14171c;--surface-2:#1a1f28;--line-1:#232830;--line-2:#2a313c;--ink-1:#e6e8eb;--ink-2:#8a93a3;--ink-3:#6c7587;--ink-4:#5b6472;--accent:#4f6db5;--accent-hover:#5878c2;--accent-border:#5a7cc8;--status-ok:#22c55e;--status-error:#ef4444;--status-warn:#fbbf24;--sketch-ground:#090b10;--sketch-rule:#171b23;--sketch-accent:#7dd3fc;--story-accent:#e8b45c;--font-xs:10px;--font-sm:11px;--font-md:12px;--font-lg:13px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px}html,body,#root{background-color:var(--surface-0);height:100%;color:var(--ink-1);margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}html{touch-action:manipulation}button,input,textarea{font:inherit;color:inherit}button{padding:0}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent-border);outline-offset:1px}.chip-name-link{cursor:pointer;border-radius:2px}.chip-name-link:hover{text-underline-offset:2px;text-decoration:underline}.app-shell{flex-direction:column;height:100vh;display:flex}.app-header{background-color:var(--surface-1);border-bottom:1px solid var(--line-1);align-items:center;gap:10px;padding:10px 16px;display:flex}.app-brand{align-items:center;gap:9px;display:inline-flex}.app-logo-mark{background:linear-gradient(145deg, var(--accent-hover), var(--accent));color:#fff;border-radius:6px;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:grid;box-shadow:inset 0 1px #ffffff40}.app-title{letter-spacing:.02em;margin:0;font-size:15px;font-weight:600}.app-header-spacer{flex:1}.workspace-label{font-size:var(--font-md);color:var(--ink-1);white-space:nowrap;font-weight:600}.shared-badge{font-size:var(--font-sm);color:var(--ink-1);background-color:color-mix(in srgb, var(--accent) 20%, transparent);border:1px solid var(--accent);white-space:nowrap;border-radius:999px;padding:3px 10px;font-weight:600}.shared-readonly [data-testid=add-node-button],.shared-readonly [data-testid^=quickadd],.shared-readonly .explorer-row-actions,.shared-readonly .sidebar-add-button{display:none!important}.share-dialog-card{max-width:520px}.share-dialog-hint{color:var(--ink-2);font-size:var(--font-sm)}.share-dialog-row{gap:8px;margin:12px 0;display:flex}.share-dialog-url{background-color:var(--surface-0);border:1px solid var(--line-2);color:var(--ink-1);border-radius:4px;flex:1;padding:6px 8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px}.share-dialog-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.share-dialog-error{color:var(--danger,#e5484d)}.members-dialog-card{max-width:560px}.members-dialog-hint{color:var(--ink-2);font-size:var(--font-sm)}.members-dialog-subheading{font-size:var(--font-sm);color:var(--ink-2);margin-top:16px}.members-list{flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.members-list-row{align-items:center;gap:8px;display:flex}.members-list-person{flex-direction:column;flex:1;min-width:0;display:flex}.members-list-name,.members-list-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.members-list-email{color:var(--ink-3);font-size:var(--font-sm)}.members-list-role{color:var(--ink-2);font-size:var(--font-sm)}.members-list-row .members-list-role-select{width:auto;font-size:var(--font-sm);flex:none;padding:4px 8px}.members-invite-row{align-items:center;gap:8px;margin:6px 0;display:flex}.members-invite-role{width:52px;color:var(--ink-2);font-size:var(--font-sm)}.workspace-readonly-badge{font-size:var(--font-sm);color:var(--ink-2);border:1px solid var(--line-2);border-radius:999px;padding:1px 8px}.workspace-meta-role{color:var(--ink-2);font-size:var(--font-sm);margin-left:8px}.version-badge{font-size:var(--font-sm);color:var(--ink-2);border:1px solid var(--line-2);background-color:#1d212a;border-radius:999px;padding:4px 10px}.version-badge--action{font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-sm);cursor:pointer;transition:color .1s,border-color .1s,background-color .1s}.version-badge--action:hover{color:var(--ink-1);border-color:var(--accent-border)}.workspace-context{background-color:var(--surface-2);border:1px solid var(--line-2);border-radius:8px;align-items:center;gap:8px;padding:3px 4px 3px 12px;display:inline-flex}.app-main{flex:1;min-height:0;display:flex;position:relative}.empty-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:40px;display:flex}.empty-state h2{margin:0;font-size:18px}.empty-state p{color:var(--ink-2);max-width:480px;margin:0;line-height:1.5}.sidebar{border-right:1px solid var(--line-1);background-color:var(--surface-1);flex-direction:column;flex-shrink:0;width:260px;display:flex;overflow-y:auto}.sidebar--collapsed{align-items:center;width:42px;min-width:42px;padding:10px 0}.explorer-resize-handle{background:var(--line-1);cursor:col-resize;flex-shrink:0;width:5px;transition:background .15s}.explorer-resize-handle:hover,.explorer-resize-handle.dragging{background:var(--accent)}.sidebar-section{border-bottom:1px solid #1c2028;padding:12px 16px}.sidebar-section h3{font-size:var(--font-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px;font-weight:600}.sidebar-section-head{justify-content:space-between;align-items:center;display:flex}.sidebar-section-head h3{margin-bottom:8px}.sidebar-section-add{width:18px;height:18px;color:var(--ink-3);cursor:pointer;background:0 0;border:1px solid #2c333f;border-radius:4px;justify-content:center;align-items:center;margin-bottom:8px;font-size:13px;line-height:1;display:inline-flex}.sidebar-section-add:hover{color:var(--ink-1);background:#1c2028;border-color:#3d4553}.tree-node{cursor:pointer;font-size:var(--font-lg);-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:8px;padding:6px 8px;display:flex}.tree-node:hover{background-color:#1d212a}.tree-node.selected{color:#c5d6ff;background-color:#25334d}.tree-node-children{border-left:1px solid var(--line-1);margin-left:14px;padding-left:6px}.tree-toggle{color:#6b7280;font-size:var(--font-xs);cursor:pointer;background:0 0;border:none;flex-shrink:0;width:16px;padding:0}.tree-toggle:disabled{cursor:default}.tree-visibility{cursor:pointer;appearance:none;border:1px solid var(--line-2);background-color:var(--surface-0);background-position:50%;background-repeat:no-repeat;background-size:9px 9px;border-radius:3px;flex-shrink:0;width:13px;height:13px;margin:0;transition:background-color .12s,border-color .12s}.tree-visibility:hover{border-color:var(--accent-border)}.tree-visibility:checked{background-color:var(--accent);border-color:var(--accent-border);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23e6e8eb' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8.2l3.2 3.2L13 4.6'/%3E%3C/svg%3E")}.tree-visibility:focus-visible{outline:2px solid var(--accent-border);outline-offset:1px}.tree-kind-tag{font-size:var(--font-xs);background-color:var(--line-2);color:#9ba6b8;letter-spacing:.04em;text-transform:uppercase;border-radius:3px;padding:1px 6px;display:inline-block}.tree-kind-tag.domain{color:#95b5e0;background-color:#2a3a4d}.tree-kind-tag.bc{color:#c19be0;background-color:#3a2c4d}.tree-kind-tag.aggregate{color:var(--status-warn);background-color:#3d3520}.tree-kind-tag.command{color:#60a5fa;background-color:#1e3a5f}.tree-kind-tag.event{color:#fdba74;background-color:#4a2c1a}.tree-kind-tag.read-model{color:#86efac;background-color:#1a3a2a}.tree-kind-tag.query{color:#67e8f9;background-color:#1a3a4a}.tree-kind-tag.policy{color:#f0abfc;background-color:#3a1a3a}.tree-kind-tag.event-handler{color:#7dd3fc;background-color:#0c2d3f}.tree-kind-tag.feature{color:#14b8a6;background-color:#0000;border:1px solid #14b8a6}.tree-node-folder{color:var(--ink-2);font-style:italic}.tree-folder-icon{font-size:var(--font-sm);opacity:.7}.tree-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tree-delete-btn{color:var(--ink-3);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:14px;line-height:1;display:none}.tree-node:hover .tree-delete-btn{display:inline-block}.tree-delete-btn:hover{color:#f87171}.rename-active{outline:1px solid #3b82f6;background-color:var(--surface-2)!important;border-color:#3b82f6!important}.toast-container{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:16px;right:16px}.toast{pointer-events:auto;font-size:var(--font-lg);background:var(--surface-2);border:1px solid var(--line-2);color:var(--ink-1);border-radius:6px;align-items:center;gap:10px;padding:10px 14px;animation:.2s ease-out toast-in;display:flex;box-shadow:0 4px 12px #0006}.toast-success{border-color:#16a34a}.toast-error{color:#fca5a5;border-color:#dc2626}.toast-action{border:1px solid var(--accent-border);color:#a8c1f0;font-size:var(--font-md);cursor:pointer;background:0 0;border-radius:4px;padding:3px 10px;font-weight:600}.toast-action:hover{background:var(--accent);color:#fff}.confirm-dialog-message{font-size:var(--font-lg);color:var(--ink-2);white-space:pre-line;max-width:420px;margin:0}.toast-close{color:var(--ink-3);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:16px}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.workarea{background-color:var(--surface-0);flex-direction:column;flex:1;min-width:0;display:flex}.canvas-tabs{background:#1a1d24;border-bottom:1px solid #2a2f38;flex-shrink:0;gap:2px;padding:4px 12px 0;display:flex}.canvas-tab{color:#8b95a5;cursor:pointer;background:0 0;border:none;border-radius:4px 4px 0 0;padding:6px 14px;font-size:.8rem;transition:background .15s,color .15s}.canvas-tab:hover{background:var(--line-1);color:#c8d0dc}.canvas-tab--active{background:var(--surface-0);color:#e2e8f0;border-bottom:2px solid #6366f1}.canvas-tab--add{color:#6366f1;font-weight:500}.area-tab-bar{background:#1a1d24;border-bottom:1px solid #2a2f38;flex-shrink:0;align-items:stretch;display:flex}.area-tab-bar .canvas-tabs,.area-tab-bar .sketch-tabs{background:0 0;border-bottom:none;flex:1;min-width:0}.area-tab-bar .sketch-tabs{padding:4px 12px 0}.area-switch{background:var(--surface-1);border:1px solid #2a2f38;border-radius:6px;flex-shrink:0;align-items:center;gap:2px;margin:4px 4px 4px 8px;padding:3px;display:flex}.area-switch-btn{letter-spacing:.02em;color:#8b95a5;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 10px;font-size:.72rem;font-weight:600;transition:background .15s,color .15s}.area-switch-btn:hover{color:#c8d0dc}.area-switch-btn--active{color:#e2e8f0;background:#2a2f38}.area-switch-btn--sketch.area-switch-btn--active{background:color-mix(in srgb, var(--sketch-accent) 30%, transparent);color:color-mix(in srgb, var(--sketch-accent) 85%, #fff);box-shadow:0 0 10px -6px var(--sketch-accent)}.canvas-host{flex:1;min-width:0;min-height:100px;position:relative;overflow:auto}.detail-resize-handle{background:var(--line-1);cursor:row-resize;flex-shrink:0;height:5px;transition:background .15s}.detail-resize-handle:hover,.detail-resize-handle.dragging{background:var(--accent)}.detail-resize-handle--vertical{cursor:col-resize;width:5px;height:auto}.detail-resize-handle,.explorer-resize-handle{touch-action:none;position:relative}.detail-resize-handle:before{content:"";position:absolute;inset:-3px 0}.detail-resize-handle--vertical:before,.explorer-resize-handle:before{content:"";position:absolute;inset:0 -3px}@media (pointer:coarse){.detail-resize-handle:before{top:-10px;bottom:-10px}.detail-resize-handle--vertical:before,.explorer-resize-handle:before{inset:0 -10px}}.work-body{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.work-body--right{flex-direction:row}.detail-dock{background:var(--surface-1);flex-direction:column;flex-shrink:0;min-width:0;min-height:0;display:flex}.detail-dock--collapsed{border-top:1px solid var(--line-1)}.work-body--right .detail-dock--collapsed{border-top:none;border-left:1px solid var(--line-1)}.detail-dock-bar{border-bottom:1px solid var(--line-1);flex-shrink:0;align-items:center;gap:8px;padding:2px 8px;display:flex}.detail-dock--collapsed .detail-dock-bar{border-bottom:none}.detail-dock-spacer{flex:1}.detail-dock-btn{color:var(--ink-3);font-size:var(--font-lg);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 6px;line-height:1.4}.detail-dock-btn:hover{color:var(--ink-1);background:var(--line-1)}.detail-dock .detail-panel{flex:1;min-height:0;max-height:none;container-type:inline-size}.detail-head{background:var(--surface-1);z-index:2;margin:0 -20px 12px;padding:16px 20px 0;position:sticky;top:-16px}.detail-head h3{margin-bottom:8px}.detail-tab-content input[type=text],.detail-tab-content input:not([type]),.detail-tab-content textarea,.detail-tab-content select{max-width:380px}@container (width>=900px){.detail-tab-content{columns:2;column-gap:32px}.detail-tab-content>*{break-inside:avoid}}.detail-name-row{align-items:center;gap:6px;display:flex}.detail-name-row input{flex:1}.detail-rename-btn{color:var(--ink-3);cursor:pointer;font-size:var(--font-lg);background:0 0;border:none;border-radius:3px;padding:2px 4px}.detail-rename-btn:hover{color:var(--ink-1);background:var(--line-1)}.react-flow__edges{z-index:5!important}.react-flow__node-bounded-context.selected,.react-flow__node-sketch-area.selected{z-index:0!important}.canvas-key-handler{outline:none;width:100%;height:100%}.read-model-node{box-sizing:border-box;background:#0a2618;border:2px solid #16a34a;border-radius:8px;min-width:200px;max-width:280px;padding:8px 10px 10px;position:relative}.read-model-node.selected{border-color:var(--status-ok);box-shadow:0 0 0 2px #22c55e4d}.read-model-node-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin-bottom:4px;display:flex}.read-model-node-tag{font-size:var(--font-xs);color:#fff;background:#16a34a;border-radius:3px;flex-shrink:0;padding:1px 5px;font-weight:700}.read-model-node-name{color:#bbf7d0;font-weight:600;font-size:var(--font-lg);flex:1}.read-model-node-paradigm{font-size:var(--font-xs);color:#6b7280;font-style:italic}.rm-no-projections{font-size:var(--font-sm);color:#6b7280;padding:2px 0}.rm-collapsed-count{font-size:var(--font-xs);color:#16a34a;background:#16a34a1f;border-radius:10px;padding:1px 6px}.rm-toggle{font-size:var(--font-xs);color:#6b7280}.rm-body{border-top:1px solid #16a34a33}.rm-empty{font-size:var(--font-sm);color:#6b7280;padding:6px 10px}.rm-section-label{text-transform:uppercase;letter-spacing:.05em;color:#16a34a;padding:4px 10px 2px;font-size:9px;font-weight:700}.rm-groups{flex-direction:column;gap:4px;padding:0 8px 4px;display:flex}.rm-group{background:#16a34a12;border-left:2px solid #22c55e59;border-radius:4px;flex-direction:column;gap:3px;padding:3px 5px;display:flex}.rm-group-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:9px;font-weight:600}.rm-group-chips{flex-wrap:wrap;gap:3px;padding:0 8px 2px;display:flex}.rm-event-chip{font-size:var(--font-sm);color:#bbf7d0;cursor:default;background:#22c55e1f;border:1px solid #22c55e4d;border-radius:3px;align-items:center;padding:1px 5px;transition:background .12s,border-color .12s;display:inline-flex}.rm-event-chip:hover{background:#22c55e40;border-color:#4ade8099}.rm-event-chip-unlink{color:#6b7280;font-size:var(--font-sm);cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;border-radius:3px;padding:1px 3px;line-height:1;transition:opacity .1s,color .1s,background .1s}.rm-event-chip:hover .rm-event-chip-unlink{opacity:1}.rm-event-chip-unlink:hover{color:var(--status-warn);background:#fbbf2426}.rm-query-section{margin-bottom:4px}.rm-query-chips{flex-wrap:wrap;gap:4px;padding:0 2px;display:flex}.rm-query-pill{font-size:var(--font-sm);color:#a5f3fc;white-space:nowrap;background:#06b6d41a;border:1.5px solid #06b6d459;border-radius:14px;align-items:center;gap:4px;padding:2px 8px 2px 3px;font-weight:600;display:inline-flex}.rm-query-pill-badge{color:#fff;background:#0891b2;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;font-size:8px;font-weight:700;display:inline-flex}.rm-query-pill-delete{color:#6b7280;font-size:var(--font-xs);cursor:pointer;opacity:0;background:0 0;border:none;padding:0 0 0 3px;line-height:1;transition:opacity .1s,color .1s}.rm-query-pill:hover .rm-query-pill-delete{opacity:1}.rm-query-pill-delete:hover{color:#f87171}.rm-inline-add{padding:4px 10px 6px}.rm-inline-input{width:100%;font-size:var(--font-sm);color:#e5e7eb;background:#06b6d414;border:1px solid #06b6d44d;border-radius:4px;outline:none;padding:3px 6px}.rm-inline-input:focus{border-color:#06b6d4}.rm-inline-error{font-size:var(--font-xs);color:#f87171;margin-top:2px}.rm-runs-handle{background:#7c3aed!important;border:2px solid #0a2618!important;border-radius:50%!important;width:8px!important;min-width:8px!important;height:8px!important;min-height:8px!important;top:-5px!important;left:50%!important;transform:translate(-50%)!important}.rm-assign-btn{color:#16a34a;width:calc(100% - 20px);font-size:var(--font-xs);cursor:pointer;text-align:center;background:0 0;border:1px dashed #16a34a66;border-radius:4px;margin:4px 10px 6px;padding:3px 0;transition:border-color .1s,color .1s;display:block}.rm-assign-btn:hover{border-color:var(--status-ok);color:var(--status-ok)}.rm-assign-panel{border-top:1px solid #16a34a26;flex-direction:column;gap:5px;padding:5px 10px 6px;display:flex}.rm-assign-empty{font-size:var(--font-xs);color:#6b7280}.rm-assign-chips{flex-wrap:wrap;gap:3px;display:flex}.rm-assign-chip{font-size:var(--font-sm);color:#bbf7d0;cursor:pointer;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:3px;padding:2px 6px;transition:background .1s,border-color .1s}.rm-assign-chip:hover{border-color:var(--status-ok);background:#4ade8033}.rm-assign-cancel{font-size:var(--font-xs);color:#6b7280;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.rm-assign-cancel:hover{color:#9ca3af}.rm-handle--group{position:absolute!important}.query-node{box-sizing:border-box;background:#0a1e2e;border:2px solid #0891b2;border-radius:8px;width:200px;padding:8px 12px;position:relative}.query-node.selected{border-color:#06b6d4;box-shadow:0 0 0 2px #06b6d44d}.query-node-header{align-items:center;gap:6px;display:flex}.query-node-tag{font-size:var(--font-xs);color:#fff;background:#0891b2;border-radius:3px;padding:1px 5px;font-weight:700}.query-node-name{color:#a5f3fc;font-weight:600;font-size:var(--font-lg)}.query-node-meta{font-size:var(--font-sm);color:#a8a29e;margin-top:2px}.detail-panel{background-color:var(--surface-1);border-top:none;height:100%;min-height:120px;max-height:70vh;padding:16px 20px;overflow-y:auto}.detail-panel h3{font-size:var(--font-lg);margin:0 0 12px;font-weight:600}.detail-panel .form-row{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.detail-panel label{font-size:var(--font-sm);color:var(--ink-2);letter-spacing:.04em;text-transform:uppercase}.detail-panel input,.detail-panel textarea{background-color:var(--surface-0);border:1px solid var(--line-2);color:var(--ink-1);font-size:var(--font-lg);border-radius:4px;outline:none;padding:8px 10px}.detail-panel input:focus,.detail-panel textarea:focus{border-color:var(--accent)}.detail-panel select{background-color:var(--surface-0);border:1px solid var(--line-2);color:var(--ink-1);font-size:var(--font-md);border-radius:4px;width:100%;padding:6px 8px}.detail-panel textarea{resize:vertical;min-height:60px;font-family:inherit}.detail-tabs{border-bottom:1px solid var(--line-2);gap:0;margin-bottom:12px;display:flex}.detail-tab{font-size:var(--font-sm);color:var(--ink-2);cursor:pointer;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 12px;font-weight:500}.detail-tab:hover:not(:disabled){color:var(--ink-1)}.detail-tab.active{color:var(--ink-1);border-bottom-color:var(--accent)}.detail-tab:disabled{opacity:.4;cursor:default}.detail-tab-content{margin-top:4px}.yaml-toolbar{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.yaml-toolbar-actions{gap:6px;display:flex}.yaml-label{font-size:var(--font-sm);color:var(--ink-3)}.yaml-label.yaml-editing{color:#f97316;font-weight:500}.yaml-cm-container{border:1px solid var(--line-2);border-radius:4px;overflow:hidden}.yaml-cm-container .cm-editor{max-height:60vh}.yaml-error{font-size:var(--font-sm);color:#fca5a5;background:#2d1515;border:1px solid #7f1d1d;border-radius:4px;margin-top:6px;padding:6px 10px}.yaml-code{background:var(--surface-0);border:1px solid var(--line-2);font-size:var(--font-md);color:#c8cdd5;white-space:pre;border-radius:4px;max-height:180px;margin:0;padding:12px;line-height:1.5;overflow:auto}.backref-list{margin:4px 0 0;padding:0;list-style:none}.backref-item{font-size:var(--font-md);align-items:center;gap:8px;padding:4px 6px;display:flex}.backref-link{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px}.backref-link:hover,.backref-link:focus-visible{background-color:#1c2027}.backref-link:hover code{text-decoration:underline}.backref-kind{font-size:var(--font-xs);text-transform:uppercase;color:var(--ink-3);min-width:80px}.backref-via{font-size:var(--font-xs);color:var(--accent)}.suggestion-picker{background:var(--surface-2);border:1px solid var(--line-2);border-radius:4px;margin-top:8px;padding:10px}.suggestion-picker-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.suggestion-picker-title{font-size:var(--font-md);font-weight:500}.suggestion-source-select{background:var(--surface-0);border:1px solid var(--line-2);width:100%;color:var(--ink-1);font-size:var(--font-md);border-radius:4px;margin-bottom:8px;padding:4px 8px}.suggestion-source-label{font-size:var(--font-md);color:var(--ink-2);margin-bottom:6px}.suggestion-field-list{max-height:120px;overflow-y:auto}.suggestion-field-row{font-size:var(--font-md);cursor:pointer;align-items:center;gap:6px;padding:3px 0;display:flex}.suggestion-field-row.exists{opacity:.5}.suggestion-field-type{color:var(--ink-3);font-size:var(--font-sm)}.suggestion-field-exists{color:#f97316;font-size:var(--font-xs);margin-left:auto}.suggestion-picker-actions{justify-content:space-between;margin-top:8px;display:flex}.combobox-field{position:relative}.combobox-options{background:var(--surface-2);border:1px solid var(--line-2);border-radius:4px;max-height:160px;margin:2px 0 0;padding:4px;list-style:none;overflow-y:auto}.combobox-option{width:100%;color:var(--ink-1);font-size:var(--font-md);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:space-between;align-items:center;gap:8px;padding:4px 6px;display:flex}.combobox-option:hover{background:var(--surface-1)}.combobox-option-source{color:var(--ink-3);font-size:var(--font-xs)}.schema-fields-actions{gap:8px;margin-top:6px;display:flex}.schema-opaque-json{background:var(--surface-0);border:1px solid var(--line-2);max-height:220px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--font-sm);color:var(--ink-2);white-space:pre;border-radius:4px;margin:6px 0;padding:8px 10px;overflow:auto}.schema-convert-dialog{background:#2d2410;border:1px solid #92400e;border-radius:4px;margin-top:8px;padding:10px 12px}.schema-convert-losses{max-height:140px;font-size:var(--font-sm);color:var(--status-warn);margin:6px 0;padding-left:18px;overflow:auto}.projection-item{background:var(--surface-2);border:1px solid var(--line-2);font-size:var(--font-md);border-radius:4px;margin-top:4px;padding:6px 10px}.projection-item-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.projection-event{color:var(--ink-1);font-weight:500}.projection-bc{color:var(--ink-3);font-weight:400}.projection-rule{color:var(--ink-2);margin-top:4px;font-style:italic;display:block}.projection-add-form{flex-direction:column;gap:6px;margin-top:8px;display:flex}.projection-select,.projection-rule-input{background-color:var(--surface-0);border:1px solid var(--line-2);color:var(--ink-1);font-size:var(--font-md);border-radius:4px;padding:6px 8px}.projection-hints{background:var(--surface-0);border:1px dashed var(--line-2);border-radius:4px;align-items:stretch;gap:8px;margin-top:6px;padding:6px 8px;display:flex}.projection-hint-col{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.projection-hint-arrow{color:var(--ink-3);align-self:center;font-size:14px}.projection-hint-label{font-size:var(--font-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);font-weight:600}.projection-hint-fields{flex-wrap:wrap;gap:4px;display:flex}.projection-hint-field{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--font-sm);background:var(--surface-2);border:1px solid var(--line-2);color:#c5cdd9;border-radius:3px;padding:1px 6px}.projection-hint-field.matched{color:#86efac;background:#14241a;border-color:#16a34a}.projection-hint-empty,.projection-hint-missing{font-size:var(--font-sm);color:var(--ink-3);font-style:italic}.projection-hint-missing{color:#f87171}.btn{color:#c5d6ff;cursor:pointer;font-size:var(--font-lg);background-color:#2a3a4d;border:1px solid #3a506b;border-radius:4px;padding:8px 16px;font-weight:500;transition:background-color .1s}.btn:hover:not(:disabled){background-color:#344860}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--accent);border-color:var(--accent-border);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--accent-hover)}.btn-danger{color:#f5b8b8;background-color:#5a2a2a;border-color:#7a3535}.btn-danger:hover:not(:disabled){background-color:#6a3535}.btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){color:var(--ink-1);background-color:#1d212a}.btn-sm{font-size:var(--font-md);padding:4px 10px}.bc-node{box-sizing:border-box;cursor:grab;background-color:#1d212a;border:1px solid #3a2c4d;border-radius:8px;flex-direction:column;width:100%;height:100%;padding:0;display:flex;position:relative;box-shadow:0 1px 3px #0000004d}.bc-node:active{cursor:grabbing}.bc-node.selected{border-color:#c19be0;box-shadow:0 0 0 2px #c19be04d}.bc-node-header{border-bottom:1px solid var(--line-2);align-items:center;gap:8px;padding:10px 14px;display:flex;position:relative}.bc-node-titleblock{flex-direction:column;flex:1;min-width:0;display:flex}.bc-node-tag{font-size:var(--font-xs);color:#c19be0;letter-spacing:.04em;background-color:#3a2c4d;border-radius:3px;flex-shrink:0;padding:2px 7px;font-weight:600;display:inline-block}.bc-node-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.bc-node-domain{font-size:var(--font-sm);color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bc-node-empty{text-align:center;color:#4a4f59;font-size:var(--font-md);padding:14px;font-style:italic}.bc-node-add{background-color:var(--accent);color:#fff;border:2px solid var(--surface-1);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:14px;font-weight:700;line-height:1;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.bc-node-add:hover{background-color:var(--accent-hover)}.aggregate-node{box-sizing:border-box;cursor:grab;background-color:#2a2510;border:1px solid #a68b09;border-radius:6px;width:200px;padding:8px 12px;position:relative;box-shadow:0 1px 2px #0000004d}.aggregate-node:after,.command-node:after,.event-node:after,.read-model-node:after,.query-node:after{content:"";z-index:-1;position:absolute;inset:-10px -30px}.aggregate-node:active{cursor:grabbing}.aggregate-node.selected{border-color:#eab308;box-shadow:0 0 0 2px #eab3084d}.aggregate-node-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.aggregate-node-tag{font-size:var(--font-xs);color:#fef9c3;letter-spacing:.04em;background-color:#a68b09;border-radius:3px;padding:1px 6px;font-weight:600;display:inline-block}.aggregate-node-name{font-size:var(--font-lg);font-weight:600}.aggregate-node-meta{font-size:var(--font-sm);color:var(--ink-3);justify-content:space-between;display:flex}.aggregate-node-fields{font-variant-numeric:tabular-nums}.agg-handle,.cmd-handle,.evt-handle,.rm-handle,.q-handle,.policy-handle,.actor-handle,.event-handler-handle,.es-handle,.domain-service-handle,.pm-handle{transition:opacity .1s;background-color:var(--ink-3)!important;opacity:0!important;border:2px solid #1d212a!important;width:10px!important;height:10px!important}.react-flow__node:hover :is(.agg-handle,.cmd-handle,.evt-handle,.rm-handle,.q-handle,.policy-handle,.actor-handle,.event-handler-handle,.es-handle,.domain-service-handle,.pm-handle),.react-flow__node.selected :is(.agg-handle,.cmd-handle,.evt-handle,.rm-handle,.q-handle,.policy-handle,.actor-handle,.event-handler-handle,.es-handle,.domain-service-handle,.pm-handle),:is(.agg-handle,.cmd-handle,.evt-handle,.rm-handle,.q-handle,.policy-handle,.actor-handle,.event-handler-handle,.es-handle,.domain-service-handle,.pm-handle):is(.connectingfrom,.connectingto){opacity:1!important}.agg-handle:hover,.cmd-handle:hover,.evt-handle:hover,.rm-handle:hover,.q-handle:hover,.policy-handle:hover,.actor-handle:hover,.event-handler-handle:hover,.es-handle:hover,.domain-service-handle:hover{transform:scale(1.3);background-color:#3b82f6!important}.agg-handle{background-color:#a68b09!important}.cmd-handle{background-color:#3b82f6!important}.rm-handle{background-color:var(--status-ok)!important}.q-handle{background-color:#06b6d4!important}.command-node{box-sizing:border-box;cursor:grab;background-color:#0c1a2e;border:1px solid #2563eb;border-radius:6px;width:200px;padding:8px 12px;position:relative;box-shadow:0 1px 2px #0000004d}.command-node:active{cursor:grabbing}.command-node.selected{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f64d}.command-node-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.command-node-tag{font-size:var(--font-xs);color:#dbeafe;letter-spacing:.04em;background-color:#2563eb;border-radius:3px;padding:1px 6px;font-weight:600;display:inline-block}.command-node-name{font-size:var(--font-lg);font-weight:600}.command-node-meta{font-size:var(--font-sm);color:var(--ink-3);justify-content:space-between;display:flex}.command-node-publishes{font-variant-numeric:tabular-nums;font-size:var(--font-xs);color:#3b82f6}.event-node{box-sizing:border-box;cursor:grab;background-color:#2c1a0a;border:1px solid #c2410c;border-radius:6px;width:200px;padding:8px 12px;position:relative;box-shadow:0 1px 2px #0000004d}.event-node:active{cursor:grabbing}.event-node.selected{border-color:#f97316;box-shadow:0 0 0 2px #f973164d}.event-node-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.event-node-tag{font-size:var(--font-xs);color:#ffedd5;letter-spacing:.04em;background-color:#c2410c;border-radius:3px;padding:1px 6px;font-weight:600;display:inline-block}.event-node-name{font-size:var(--font-lg);font-weight:600}.event-node-meta{font-size:var(--font-sm);color:var(--ink-3)}.event-node-freestanding{color:#f97316;font-style:italic}.evt-handle{background-color:#c2410c}.quickadd-backdrop{z-index:1000;background-color:#0006;justify-content:center;align-items:flex-start;padding:80px 16px 24px;display:flex;position:fixed;inset:0;overflow-y:auto}.quickadd-card{background-color:var(--surface-1);border:1px solid var(--accent);border-radius:8px;flex-direction:column;flex-shrink:0;gap:8px;width:360px;padding:14px 16px;display:flex;box-shadow:0 8px 24px #00000080}.quickadd-header{flex-direction:column;gap:2px;display:flex}.quickadd-tagline{font-size:var(--font-lg);color:#c5d6ff;font-weight:600}.quickadd-relation{font-size:var(--font-sm);color:var(--ink-3);font-style:italic;font-weight:400}.quickadd-source{font-size:var(--font-sm);color:var(--ink-3)}.quickadd-input{background-color:var(--surface-0);border:1px solid var(--line-2);color:var(--ink-1);border-radius:4px;outline:none;padding:8px 10px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:14px}.quickadd-input:focus{border-color:var(--accent)}.quickadd-select{background-color:var(--surface-0);border:1px solid var(--line-2);width:100%;color:var(--ink-1);border-radius:4px;outline:none;margin-bottom:6px;padding:8px 10px;font-size:14px}.quickadd-select:focus{border-color:var(--accent)}.quickadd-select:disabled{opacity:.5;cursor:not-allowed}.quickadd-field{flex-direction:column;gap:4px;display:flex}.quickadd-field-label{font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--ink-3);padding:0}.quickadd-radio-group{border:0;flex-direction:column;gap:4px;min-inline-size:0;margin:0;padding:0;display:flex}.quickadd-radio-option{color:var(--ink-1);cursor:pointer;align-items:center;gap:6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;display:flex}.quickadd-radio-option input{accent-color:var(--accent);cursor:pointer;margin:0}.quickadd-hint{font-size:var(--font-sm);color:var(--ink-3)}.quickadd-hint kbd{background-color:var(--line-2);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--font-xs);border:1px solid #3a414c;border-radius:3px;margin:0 1px;padding:1px 5px;display:inline-block}.quickadd-picker,.quickadd-picker-group{flex-direction:column;gap:4px;display:flex}.quickadd-picker-group+.quickadd-picker-group{margin-top:6px}.quickadd-picker-group-label{font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--ink-3)}.quickadd-picker-item{border:1px solid var(--line-2);color:var(--ink-1);cursor:pointer;font-size:var(--font-lg);text-align:left;background-color:#1d212a;border-radius:4px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.quickadd-picker-item:hover{border-color:var(--accent);background-color:#25334d}.quickadd-picker-kind{font-weight:600}.quickadd-picker-relation{font-size:var(--font-sm);color:var(--ink-3);font-style:italic}.quickadd-actions{gap:6px;margin-top:4px;display:flex}.node-add{color:#fff;border:2px solid var(--surface-1);cursor:pointer;z-index:5;background-color:#3a4a64;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:14px;font-weight:700;line-height:1;display:flex;position:absolute;box-shadow:0 1px 3px #0006}.node-add:hover{background-color:var(--accent);transform:scale(1.1)}.node-add-input{top:50%;left:-26px;transform:translateY(-50%)}.node-add-input:hover{transform:translateY(-50%)scale(1.1)}.node-add-output{top:50%;right:-26px;transform:translateY(-50%)}.node-add-output:hover{transform:translateY(-50%)scale(1.1)}.state-editor{border-top:1px solid var(--line-1);margin-top:16px;padding-top:16px}.state-editor-title{font-size:var(--font-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px;font-weight:600}.state-editor-empty{color:var(--ink-3);font-size:var(--font-md);margin:0;padding:8px 0;font-style:italic}.state-editor-help{color:var(--ink-2);font-size:var(--font-sm);margin:0 0 6px}.publishes-row{background:var(--surface-2);border:1px solid var(--line-2);font-size:var(--font-md);border-radius:4px;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;padding:4px 10px;display:flex}.publishes-name{color:#fdba74}.publishes-select{background:var(--surface-0);border:1px solid var(--line-2);width:100%;color:var(--ink-1);font-size:var(--font-md);border-radius:4px;margin-top:8px;padding:6px 8px}.editor-hint{color:var(--ink-2);font-size:var(--font-sm);margin:0 0 8px;font-style:italic}.named-rules-editor{flex-direction:column;gap:6px;display:flex}.named-rule-row{align-items:center;gap:4px;display:flex}.named-rule-name{background:var(--surface-0);border:1px solid var(--line-2);width:120px;min-width:80px;color:var(--ink-1);font-size:var(--font-sm);border-radius:4px;padding:4px 6px;font-family:monospace}.named-rule-rule{background:var(--surface-0);border:1px solid var(--line-2);color:var(--ink-1);font-size:var(--font-sm);border-radius:4px;flex:1;padding:4px 6px}.named-rules-editor .remove-btn{color:var(--status-error);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:14px}.named-rules-editor .add-btn{border:1px dashed var(--line-2);color:var(--ink-2);cursor:pointer;font-size:var(--font-sm);background:0 0;border-radius:4px;margin-top:4px;padding:4px 8px}.named-rules-editor .add-btn:hover{color:var(--ink-1);border-color:#4a5568}.paradigm-select{background:var(--surface-0);border:1px solid var(--line-2);width:100%;color:var(--ink-1);font-size:var(--font-md);border-radius:4px;padding:6px 8px}.field-list{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.field-row{grid-template-columns:minmax(0,1fr) 110px auto auto auto;align-items:center;gap:8px;display:grid}.field-nested{border-left:2px solid var(--line-2);margin:4px 0 8px 16px;padding-left:10px}.field-name-input,.field-type-select{background-color:var(--surface-0);border:1px solid var(--line-2);color:var(--ink-1);font-size:var(--font-md);border-radius:4px;outline:none;padding:6px 8px;font-family:ui-monospace,SF Mono,Menlo,monospace}.field-name-input:focus,.field-type-select:focus{border-color:var(--accent)}.field-required-toggle{font-size:var(--font-sm);color:var(--ink-2);white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.field-required-toggle input{margin:0}.modal-backdrop{z-index:1000;background-color:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background-color:var(--surface-1);border:1px solid var(--line-2);border-radius:8px;flex-direction:column;gap:12px;width:480px;max-width:90vw;padding:24px;display:flex}.modal h2{margin:0;font-size:16px}.modal .modal-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.modal .form-row{flex-direction:column;gap:6px;display:flex}.modal label{font-size:var(--font-sm);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}.modal input,.modal textarea{background-color:var(--surface-0);border:1px solid var(--line-2);color:var(--ink-1);font-size:var(--font-lg);border-radius:4px;outline:none;padding:8px 10px}.modal input:focus,.modal textarea:focus,.modal select:focus{border-color:var(--accent)}.modal--compact{width:auto;min-width:320px;padding:20px}.modal h3{color:var(--ink-1);margin:0 0 4px;font-size:15px}.modal-field{font-size:var(--font-md);color:var(--ink-2);flex-direction:column;gap:4px;display:flex}.modal select{background-color:var(--surface-0);border:1px solid var(--line-2);color:var(--ink-1);font-size:var(--font-lg);border-radius:4px;outline:none;width:100%;padding:8px 10px}.modal-error{color:var(--status-error);font-size:var(--font-md);margin:0}.modal-hint{color:#94a3b8;font-size:var(--font-sm);margin:0}.modal-link{color:#60a5fa;font-size:var(--font-sm);cursor:pointer;text-align:left;background:0 0;border:none;padding:2px 0;text-decoration:underline}.changelog-modal{max-height:80vh;overflow:hidden}.changelog-modal-head{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.changelog-modal-head h2{margin:0}.changelog-modal-close{font-size:16px;line-height:1}.changelog-modal-body{min-height:0;overflow-y:auto}.early-stage-banner{font-size:var(--font-md);color:var(--ink-2);background:#facc1514;border-bottom:1px solid #facc1559;align-items:center;gap:12px;padding:8px 16px;line-height:1.5;display:flex}.early-stage-banner>span{flex:1}.early-stage-banner-dismiss{flex-shrink:0}.changelog-early-note{font-size:var(--font-md);color:var(--ink-2);background:#facc1514;border:1px solid #facc1559;border-radius:6px;margin:0 0 14px;padding:8px 12px;line-height:1.5}.changelog-modal-actions{flex-shrink:0}.changelog-version+.changelog-version{margin-top:16px}.changelog-version h3{font-size:var(--font-lg);color:#c5d6ff;margin:0}.changelog-intro{font-size:var(--font-lg);color:var(--ink-2);margin:6px 0 0}.changelog-list{flex-direction:column;gap:4px;margin:8px 0 0;padding-left:18px;display:flex}.changelog-list li{font-size:var(--font-lg);color:#d1d5db;white-space:pre-line;line-height:1.5}.changelog-history{border-top:1px solid var(--line-1);margin-top:16px;padding-top:12px}.changelog-history summary{cursor:pointer;font-size:var(--font-md);color:var(--ink-2);letter-spacing:.02em}.changelog-history summary:hover{color:var(--ink-1)}.changelog-history .changelog-version{margin-top:12px}.violation-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.violation-item{color:#f5b8b8;font-size:var(--font-md);background-color:#3d2020;border-left:3px solid #b54f4f;border-radius:4px;padding:6px 10px}.notice{color:#d8c878;font-size:var(--font-md);background-color:#2c2a1d;border-left:3px solid #b59a4f;border-radius:4px;margin-bottom:12px;padding:8px 12px}.policy-node{min-width:200px;max-width:300px;color:var(--ink-1);font-size:var(--font-md);background:#1a0a1a;border:2px solid #be185d;border-radius:8px;position:relative}.policy-node.selected{border-color:#ec4899;box-shadow:0 0 0 2px #ec48994d}.policy-node-header-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;padding:7px 10px;display:flex}.policy-node-tag{font-size:var(--font-xs);color:#fff;background:#be185d;border-radius:3px;flex-shrink:0;padding:1px 5px;font-weight:700}.policy-node-name{font-weight:600;font-size:var(--font-lg);flex:1}.policy-guarantee{color:#9d174d;background:#be185d26;border-radius:3px;flex-shrink:0;padding:1px 4px;font-size:9px}.policy-collapsed-count{font-size:var(--font-xs);color:#9d174d;background:#be185d1f;border-radius:10px;padding:1px 6px}.policy-toggle{font-size:var(--font-xs);color:#6b7280}.policy-body{border-top:1px solid #be185d40}.policy-section{padding:4px 0}.policy-section+.policy-section{border-top:1px dashed #be185d33}.policy-section-label{text-transform:uppercase;letter-spacing:.05em;color:#9d174d;padding:3px 10px 2px;font-size:9px;font-weight:700}.policy-empty{font-size:var(--font-xs);color:#6b7280;padding:2px 10px 4px}.policy-group{align-items:flex-start;gap:4px;padding:2px 10px 2px 8px;display:flex;position:relative}.policy-group--left{flex-direction:row}.policy-group--right{flex-direction:row;justify-content:flex-end}.policy-agg-label{color:#6b7280;white-space:nowrap;flex-shrink:0;padding-top:3px;font-size:9px}.policy-chips{flex-wrap:wrap;flex:1;gap:2px;display:flex}.policy-chip{font-size:var(--font-sm);cursor:default;border-radius:3px;padding:1px 5px;transition:background .1s;display:inline-flex}.policy-chip--evt{color:#fce7f3;background:#ec48991f;border:1px solid #ec48994d}.policy-chip--evt:hover{background:#ec489940}.policy-chip--cmd{color:#fce7f3;background:#be185d1f;border:1px solid #be185d4d}.policy-chip--cmd:hover{background:#be185d40}.policy-chip-unlink{color:#6b7280;font-size:var(--font-sm);cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;border-radius:3px;padding:1px 3px;line-height:1;transition:opacity .1s,color .1s,background .1s}.policy-chip:hover .policy-chip-unlink{opacity:1}.policy-chip-unlink:hover{color:var(--status-warn);background:#fbbf2426}.policy-assign-btn{color:#be185d;width:calc(100% - 20px);font-size:var(--font-xs);cursor:pointer;text-align:center;background:0 0;border:1px dashed #ec489966;border-radius:4px;margin:4px 10px 2px;padding:3px 0;transition:border-color .1s,color .1s;display:block}.policy-assign-btn:hover{color:#ec4899;border-color:#ec4899}.policy-assign-panel{border-top:1px solid #ec489926;flex-direction:column;gap:5px;padding:5px 10px 6px;display:flex}.policy-assign-empty{font-size:var(--font-xs);color:#6b7280}.policy-assign-chips{flex-wrap:wrap;gap:3px;display:flex}.policy-assign-chip{font-size:var(--font-sm);color:#fce7f3;cursor:pointer;background:#ec48991a;border:1px solid #ec48994d;border-radius:3px;padding:2px 6px;transition:background .1s,border-color .1s}.policy-assign-chip:hover{background:#ec489933;border-color:#ec4899}.policy-assign-cancel{font-size:var(--font-xs);color:#6b7280;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.policy-assign-cancel:hover{color:#9ca3af}.policy-section--rules{background:#be185d0a}.policy-rule{font-size:var(--font-xs);gap:4px;padding:1px 10px;display:flex}.policy-rule-bullet{color:#9d174d;flex-shrink:0}.policy-rule-name{color:#e5e7eb}.policy-rule-text{color:#6b7280;margin-left:4px;font-style:italic}.policy-handle{background-color:#ec4899!important}.policy-handle--inline{flex-shrink:0;margin-top:3px;background:#be185d!important;border:2px solid #1a0a1a!important;width:8px!important;height:8px!important;position:relative!important}.event-handler-node{min-width:200px;max-width:300px;color:var(--ink-1);font-size:var(--font-md);background:#0c1a2a;border:2px solid #0ea5e9;border-radius:8px;position:relative}.event-handler-node.selected{border-color:#38bdf8;box-shadow:0 0 0 2px #0ea5e94d}.event-handler-node-header-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;padding:7px 10px;display:flex}.event-handler-node-tag{font-size:var(--font-xs);color:#fff;background:#0369a1;border-radius:3px;flex-shrink:0;padding:1px 5px;font-weight:700}.event-handler-node-name{font-weight:600;font-size:var(--font-lg);flex:1}.eh-guarantee{color:#7dd3fc;background:#0369a147;border-radius:3px;flex-shrink:0;padding:1px 4px;font-size:9px}.eh-collapsed-count{font-size:var(--font-xs);color:#7dd3fc;white-space:nowrap;background:#0369a133;border-radius:10px;padding:1px 6px}.eh-toggle{font-size:var(--font-xs);color:#6b7280}.eh-warn-dot{background:var(--status-warn,#f59e0b);border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 0 2px #f59e0b2e}.eh-body{border-top:1px solid #0ea5e947}.eh-section{padding:4px 0}.eh-section+.eh-section{border-top:1px dashed #0ea5e933}.eh-section-label{text-transform:uppercase;letter-spacing:.05em;color:#38bdf8;padding:3px 10px 2px;font-size:9px;font-weight:700}.eh-empty{font-size:var(--font-xs);color:#6b7280;padding:2px 10px 4px}.eh-group{align-items:flex-start;gap:4px;padding:2px 10px 2px 8px;display:flex;position:relative}.eh-agg-label{color:#6b7280;white-space:nowrap;flex-shrink:0;padding-top:3px;font-size:9px}.eh-chips{flex-wrap:wrap;flex:1;gap:2px;display:flex}.eh-effect{padding:2px 10px;position:relative}.eh-effect-rule{color:#6b7280;padding:1px 0 2px 2px;font-size:9px;font-style:italic}.eh-chip{font-size:var(--font-sm);cursor:default;border-radius:3px;align-items:center;gap:3px;padding:1px 5px;transition:background .1s;display:inline-flex}.eh-chip--evt{color:#fdba74;background:#f9731629}.eh-chip--fx{color:#f9a8d4;background:#ec489926}.eh-chip-arrow{color:#6b7280}.eh-chip-other{font-style:italic}.eh-chip-unlink{color:#ffffff4d;font-size:var(--font-xs);cursor:pointer;background:0 0;border:0;padding:0;line-height:1}.eh-chip-unlink:hover{color:#fff}.eh-assign-btn{color:#6b7280;cursor:pointer;background:0 0;border:1px dashed #ffffff26;border-radius:3px;margin:2px 10px;padding:1px 6px;font-size:9px}.eh-assign-btn:hover{color:var(--ink-1);border-color:#ffffff59}.eh-assign-panel{padding:2px 10px 4px}.eh-assign-chips{flex-wrap:wrap;gap:3px;display:flex}.eh-assign-chip{font-size:var(--font-sm);color:#7dd3fc;cursor:pointer;background:#0369a133;border:0;border-radius:3px;padding:1px 6px}.eh-assign-chip:hover{background:#0369a166}.eh-assign-empty{font-size:var(--font-xs);color:#6b7280}.eh-assign-cancel{color:#6b7280;cursor:pointer;background:0 0;border:0;padding:2px 0 0;font-size:9px}.eh-assign-cancel:hover{color:var(--ink-1)}.eh-idem{font-size:var(--font-sm);flex-wrap:wrap;align-items:center;gap:4px;padding:2px 10px 4px;display:flex}.eh-idem-key{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:9px}.eh-idem-val{color:#7dd3fc}.eh-alert{border-left:2px solid var(--status-warn,#f59e0b);font-size:var(--font-xs);color:#fcd34d;background:#f59e0b1a;border-radius:0 3px 3px 0;align-items:flex-start;gap:5px;margin:2px 8px 5px;padding:4px 6px;line-height:1.4;display:flex}.event-handler-handle{background-color:#0ea5e9!important}.event-handler-handle--inline{margin-top:3px;background:#0ea5e9!important;border:2px solid #0c1a2a!important;position:relative!important;top:auto!important;left:auto!important;right:auto!important;transform:none!important}.side-effects-editor h4{font-size:var(--font-md);color:var(--ink-2);text-transform:uppercase;letter-spacing:.5px;margin:12px 0 6px}.side-effect-row{background:#1a1f2e;border:1px solid #2a3040;border-radius:6px;flex-direction:column;gap:4px;margin-bottom:6px;padding:8px;display:flex}.side-effect-type-badge{font-size:var(--font-xs);color:#0ea5e9;font-weight:600}.side-effect-select,.side-effect-rule{width:100%;font-size:var(--font-md);color:var(--ink-1);background:#0d1117;border:1px solid #2a3040;border-radius:4px;padding:4px 6px}.side-effects-actions{gap:8px;margin-top:4px;display:flex}.policy-editor .radio-group{gap:16px;margin-bottom:8px;display:flex}.policy-editor .radio-group label{font-size:var(--font-lg);cursor:pointer;align-items:center;gap:4px;display:flex}.reference-list{margin:4px 0 12px;padding:0;list-style:none}.reference-list li{font-size:var(--font-md);border-radius:3px;justify-content:space-between;align-items:center;padding:4px 6px;font-family:ui-monospace,SF Mono,Menlo,monospace;display:flex}.reference-list li:hover{background:#1a1f2a}.reference-label{color:#c4c9d4}.string-list-add-row{align-items:center;gap:4px;margin-top:4px;display:flex}.string-list-add-row input{flex:1;min-width:0}.string-list-add-row .add-btn{border:1px dashed var(--line-2);color:var(--ink-2);cursor:pointer;font-size:var(--font-sm);background:0 0;border-radius:4px;flex-shrink:0;padding:4px 8px}.string-list-add-row .add-btn:hover{color:var(--ink-1);border-color:#4a5568}.actor-node{min-width:180px;max-width:280px;color:var(--ink-1);font-size:var(--font-md);background:#1a1025;border:2px solid #7c3aed;border-radius:8px;position:relative;overflow:visible}.actor-node.selected{border-color:#a78bfa;box-shadow:0 0 0 2px #a78bfa4d}.actor-node-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:8px 10px;display:flex}.actor-icon{flex-shrink:0;font-size:14px}.actor-node-name{font-weight:600;font-size:var(--font-lg);flex:1}.actor-cmd-count{font-size:var(--font-xs);color:#7c3aed;background:#7c3aed26;border-radius:10px;padding:1px 6px}.actor-toggle{font-size:var(--font-xs);color:#6b7280}.actor-body{border-top:1px solid #7c3aed40}.actor-empty{font-size:var(--font-sm);color:#6b7280;padding:6px 10px}.actor-bc-section{border-bottom:1px solid #7c3aed26}.actor-bc-section:last-child{border-bottom:none}.actor-section-label,.actor-bc-header{text-transform:uppercase;letter-spacing:.05em;color:#6d28d9;padding:4px 10px 2px;font-size:9px;font-weight:700}.actor-agg-group{align-items:flex-start;gap:4px;padding:3px 10px 4px;display:flex;position:relative}.actor-agg-label{font-size:var(--font-xs);color:#6b7280;white-space:nowrap;flex-shrink:0;padding-top:2px}.actor-cmd-chips{flex-wrap:wrap;flex:1;gap:3px;display:flex}.actor-cmd-chip{font-size:var(--font-sm);color:#ddd6fe;cursor:default;background:#7c3aed1f;border:1px solid #7c3aed4d;border-radius:3px;padding:1px 5px;transition:background .12s,border-color .12s;display:inline-block}.actor-cmd-chip:hover{background:#a78bfa40;border-color:#c4b5fd99}.actor-chip-unlink{color:#6b7280;font-size:var(--font-sm);cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;border-radius:3px;padding:1px 3px;line-height:1;transition:opacity .1s,color .1s,background .1s}.actor-cmd-chip:hover .actor-chip-unlink{opacity:1}.actor-chip-unlink:hover{color:var(--status-warn);background:#fbbf2426}.actor-handle{background-color:#a78bfa!important}.actor-handle-out{flex-shrink:0;margin-top:3px;background:#7c3aed!important;border:2px solid #1a1025!important;width:8px!important;height:8px!important;position:relative!important}.actor-query-section{border-top:1px solid #7c3aed1f;padding:3px 10px 4px}.actor-query-section-label{color:#6d28d9;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;font-size:9px;font-weight:700;display:block}.actor-query-chip{color:#c4b5fd!important;background:#8b5cf61a!important;border-color:#8b5cf64d!important}.actor-assign-btn{color:#6d28d9;width:calc(100% - 20px);font-size:var(--font-xs);cursor:pointer;text-align:center;background:0 0;border:1px dashed #7c3aed66;border-radius:4px;margin:4px 10px 6px;padding:3px 0;transition:border-color .1s,color .1s;display:block}.actor-assign-btn:hover{color:#a78bfa;border-color:#a78bfa}.actor-assign-panel{border-top:1px solid #7c3aed33;flex-direction:column;gap:6px;padding:6px 10px 8px;display:flex}.actor-assign-empty{font-size:var(--font-xs);color:#6b7280}.actor-assign-group{flex-direction:column;gap:3px;display:flex}.actor-assign-group-label{color:#6d28d9;text-transform:uppercase;letter-spacing:.05em;font-size:9px;font-weight:700}.actor-assign-chips{flex-wrap:wrap;gap:3px;display:flex}.actor-assign-chip{font-size:var(--font-sm);color:#ddd6fe;cursor:pointer;background:#7c3aed1a;border:1px solid #7c3aed4d;border-radius:3px;padding:2px 6px;transition:background .1s,border-color .1s}.actor-assign-chip:hover{background:#a78bfa33;border-color:#a78bfa}.actor-assign-cancel{font-size:var(--font-xs);color:#6b7280;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.actor-assign-cancel:hover{color:#9ca3af}.external-system-node{min-width:160px;color:var(--ink-1);font-size:var(--font-md);background:#1a0a14;border:2px dashed #fb7185;border-radius:8px;padding:8px 12px;position:relative}.external-system-node:after{content:"";pointer-events:auto;z-index:-1;position:absolute;inset:-26px}.external-system-node-header{align-items:center;gap:6px;display:flex}.external-system-node-tag{text-transform:uppercase;letter-spacing:.5px;color:#fb7185;font-size:9px;font-weight:600}.external-system-node-name{font-weight:600;font-size:var(--font-lg)}.es-handle{background-color:#fb7185!important}.domain-service-node{min-width:140px;color:var(--ink-1);font-size:var(--font-md);background:#1a1030;border:2px solid #4f46e5;border-radius:8px;padding:8px 12px;position:relative}.domain-service-node:after{content:"";pointer-events:auto;z-index:-1;position:absolute;inset:-26px}.domain-service-node.selected{border-color:#6366f1;box-shadow:0 0 0 2px #6366f14d}.domain-service-node-header{align-items:center;gap:6px;display:flex}.domain-service-node-tag{font-size:14px}.domain-service-node-name{font-weight:600;font-size:var(--font-lg)}.domain-service-node-meta{font-size:var(--font-xs);color:var(--ink-2);margin-top:2px}.domain-service-handle{background-color:#4f46e5!important}.domain-service-editor h4{font-size:var(--font-sm);text-transform:uppercase;letter-spacing:.5px;color:var(--ink-2);margin:12px 0 4px}.domain-service-functions-list{margin:0;padding:0;list-style:none}.domain-service-function-item{border:1px solid #2a2e38;border-radius:4px;margin-bottom:4px;padding:6px 8px}.ds-fn-header{justify-content:space-between;align-items:center;display:flex}.ds-fn-toggle{color:var(--ink-1);cursor:pointer;font-size:var(--font-md);text-align:left;background:0 0;border:none;padding:0}.ds-fn-toggle strong{font-size:var(--font-md)}.ds-fn-details{border-top:1px solid #2a2e38;margin-top:8px;padding-top:8px}.ds-fn-label{font-size:var(--font-sm);color:var(--ink-2);margin-bottom:8px;display:block}.ds-fn-label .inline-input{width:100%;margin-top:3px;display:block}.ds-fn-schema-section{margin-top:8px}.ds-fn-schema-label{font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.5px;color:#6b7280;margin-bottom:4px;display:block}.ds-add-form{gap:4px;margin-top:4px;display:flex}.domain-service-function-item strong{font-size:var(--font-md)}.domain-service-function-item .remove-btn{color:var(--ink-2);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.domain-service-function-item .remove-btn:hover{color:var(--status-error)}.domain-service-editor .inline-btn{color:#c8cdd5;font-size:var(--font-sm);cursor:pointer;background:#2a2e38;border:1px solid #3a3f4a;border-radius:4px;padding:3px 8px}.domain-service-editor .inline-btn:hover{color:var(--ink-1);background:#3a3f4a}.domain-service-editor .inline-input{color:var(--ink-1);font-size:var(--font-sm);background:#1a1e28;border:1px solid #3a3f4a;border-radius:4px;flex:1;padding:3px 8px}.function-description{font-size:var(--font-sm);color:var(--ink-2);margin:2px 0 0}.actor-editor h4{font-size:var(--font-sm);text-transform:uppercase;letter-spacing:.5px;color:#a78bfa;margin:12px 0 4px}.inline-add{gap:4px;margin-top:4px;display:flex}.inline-add .input-sm{font-size:var(--font-md);color:var(--ink-1);background:#1a1a2e;border:1px solid #333;border-radius:4px;flex:1;padding:4px 8px}.error-boundary{color:#f3f4f6;z-index:10000;background:#1f2937;justify-content:center;align-items:center;padding:24px;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;display:flex;position:fixed;inset:0}.error-boundary-content{border:1px solid var(--status-error);background:#111827;border-radius:8px;width:100%;max-width:720px;padding:32px;box-shadow:0 20px 50px #00000080}.error-boundary-content h1{color:#f87171;margin:0 0 12px;font-size:24px}.error-boundary-content p{color:#d1d5db;margin:0 0 20px;line-height:1.6}.error-boundary-actions{gap:8px;margin-bottom:24px;display:flex}.error-boundary-details{background:#0b1120;border:1px solid #374151;border-radius:4px;margin-top:16px;padding:12px}.error-boundary-details summary{cursor:pointer;color:#9ca3af;font-size:var(--font-lg);-webkit-user-select:none;user-select:none}.error-boundary-details pre{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--font-md);color:#fca5a5;white-space:pre-wrap;word-break:break-word;max-height:320px;margin:12px 0 0;overflow-y:auto}.flow-canvas{flex-direction:column;gap:12px;height:100%;padding:12px 16px;display:flex;overflow:auto}.flow-tabs{flex-shrink:0;gap:4px;display:flex}.flow-tab{color:#94a3b8;font-size:var(--font-lg);cursor:pointer;background:#1a1d24;border:1px solid #334155;border-radius:4px 4px 0 0;padding:6px 14px}.flow-tab--active{color:#f1f5f9;background:#1e293b;border-bottom-color:#0000}.flow-tab--add{color:#64748b;border-style:dashed}.flow-tab-close{opacity:.4;cursor:pointer;margin-left:6px;font-size:14px}.flow-tab-close:hover{opacity:1}.flow-tab-rename{opacity:.5;cursor:pointer;margin-left:6px;font-size:12px;display:none}.sketch-tab-dot{vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.sketch-tab-dot--domain-story{background:var(--story-accent)}.sketch-tab-dot--free{display:none}.new-board-type-choice{flex-direction:column;gap:8px;display:flex}.new-board-type{text-align:left;border:1px solid var(--line-2);background:var(--surface-0);cursor:pointer;border-radius:6px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.new-board-type--on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface-0))}.new-board-type-title{color:var(--ink-1);font-size:var(--font-lg);font-weight:600}.new-board-type-desc{color:var(--ink-3);font-size:var(--font-sm)}.flow-tab--renaming{align-items:center;padding:3px 8px;display:inline-flex}.flow-tab-rename-input{width:140px;font-size:var(--font-lg);color:#f1f5f9;border:1px solid var(--accent);background:#0f1216;border-radius:3px;outline:none;padding:2px 4px}.flow-empty{color:#6b7280;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;font-size:14px;display:flex}.flow-central-add{color:#94a3b8;cursor:pointer;background:#1e293b;border:2px dashed #475569;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;transition:all .2s;display:flex}.flow-central-add:hover{color:#f1f5f9;background:#334155;border-color:#94a3b8}.flow-grid-container{flex:1;align-items:flex-start;min-height:0;display:flex;position:relative;overflow:auto}.flow-edges-svg{display:none}.flow-grid{width:100%;min-width:max-content;display:grid}.flow-col-header{cursor:grab;background:#1e293b;border:1px solid #334155;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:0;padding:6px 8px;display:flex}.flow-col-header__name{font-size:var(--font-md);color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:600;overflow:hidden}.flow-connector-chip{font-size:var(--font-xs);color:#94a3b8;white-space:nowrap;border:1px solid;border-radius:3px;padding:1px 6px}.flow-cell{background:var(--surface-1);border:1px solid #1e293b;border-radius:6px;flex-direction:column;justify-content:center;align-items:stretch;gap:4px;padding:4px;display:flex;position:relative}.flow-cell--empty-hint{color:#334155;font-size:var(--font-sm);text-align:center;font-style:italic}.flow-tile{background:#1a1d24;border:2px solid;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px 10px;transition:background .15s,box-shadow .15s;display:flex;position:relative}.flow-tile:hover{background:#1e2530;box-shadow:0 0 0 1px #ffffff0d}.flow-tile__kind{font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.flow-tile__name{font-size:var(--font-lg);color:#e2e8f0;font-weight:500}.flow-tile__pm-line{font-size:var(--font-xs);color:#cbd5e1;opacity:.85}.flow-tile--pm-invalid{background:#ef444414;border-style:dashed!important}.flow-tile__pm-warning{font-size:var(--font-xs);color:var(--status-error);text-align:center;font-weight:600}.flow-tile__example{cursor:pointer;text-align:left;flex-direction:column;align-self:stretch;gap:1px;margin-top:6px;padding-top:4px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10.5px;line-height:1.5;display:flex}.flow-tile__example-row{grid-template-columns:auto 1fr;gap:6px;min-width:0;display:grid}.flow-tile__example-key{color:var(--ink-4);white-space:nowrap}.flow-tile__example-val{color:var(--ink-1);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.flow-tile__example-row.is-stale{color:#f59e0b;background:#f59e0b1a;border-radius:3px;margin:0 -3px;padding:0 3px}.flow-tile__example-row.is-stale .flow-tile__example-key,.flow-tile__example-row.is-stale .flow-tile__example-val{color:#f59e0b}.flow-tile__example--stale{border-left:2px solid #f59e0b66;margin-left:-6px;padding-left:6px}.flow-tile__example-more{color:var(--ink-4);font-size:var(--font-xs);text-align:center}.flow-tile__example--table{overflow-x:auto}.flow-tile__example-table{border-collapse:collapse;width:100%;font-size:9.5px;line-height:1.5}.flow-tile__example-table th{color:var(--ink-4);text-align:left;border-bottom:1px solid #22303f;padding:0 6px 1px 0;font-weight:600}.flow-tile__example-table td{color:var(--ink-1);white-space:nowrap;padding:1px 6px 0 0}.flow-tile__example-add{color:#5b6472b3;font-size:var(--font-xs);cursor:pointer;text-align:center;opacity:0;background:0 0;border:1px dashed #33405280;border-radius:4px;align-self:stretch;margin-top:5px;padding:3px 0;font-family:inherit;transition:opacity .12s}.flow-tile:hover .flow-tile__example-add{opacity:1}.flow-tile__example-add:hover{color:#94a3b8;border-color:#475569}.flow-example-popover__backdrop{z-index:60;background:0 0;position:fixed;inset:0}.flow-example-popover{z-index:61;background:var(--surface-1);border:1px solid var(--line-2);border-radius:8px;flex-direction:column;width:280px;max-width:calc(100vw - 24px);display:flex;position:fixed;box-shadow:0 12px 32px #00000080}.flow-example-popover--wide{width:420px}.flow-example-popover__head{border-bottom:1px solid var(--line-1);color:#e2e8f0;padding:8px 12px;font-size:11.5px;font-weight:600}.flow-example-popover__head .sub{color:var(--ink-2);font-weight:400}.flow-example-popover__body{max-height:320px;padding:10px 12px;overflow-y:auto}.flow-example-popover__table-scroll{overflow-x:auto}.flow-example-popover__error{color:#f43f5e;font-size:var(--font-sm);margin:0;padding:0 12px 6px}.flow-example-popover__foot{align-items:center;gap:6px;padding:8px 12px 10px;display:flex}.flow-example-popover__foot-spacer{flex:1}.flow-tile__connect{cursor:pointer;opacity:0;background:0 0;border:none;font-size:14px;transition:opacity .15s;position:absolute;top:4px;left:6px}.flow-tile:hover .flow-tile__connect{opacity:1}.flow-tile__delete{color:#6b7280;cursor:pointer;opacity:0;background:0 0;border:none;font-size:14px;transition:opacity .15s;position:absolute;top:4px;right:6px}.flow-tile:hover .flow-tile__delete{opacity:1}.flow-tile__delete:hover{color:var(--status-error)}.flow-insert-btn{color:#94a3b8;cursor:pointer;opacity:0;background:#1e293b;border:1px dashed #475569;border-radius:50%;flex-shrink:0;justify-content:center;align-self:center;align-items:center;width:24px;height:24px;font-size:14px;transition:opacity .2s;display:flex}.flow-slice-col-wrap:hover .flow-insert-btn,.flow-insert-btn:hover{opacity:1}.flow-insert-btn:hover{color:#f1f5f9;background:#334155;border-color:#94a3b8}.flow-bc-row{flex:1;align-items:flex-start;gap:16px;min-height:0;padding:8px;display:flex}.flow-bc-box{flex-direction:column;display:flex;position:relative;overflow:visible}.flow-bc-box:before{content:"";z-index:0;background:#111318;border:1px solid #334155;border-radius:10px;position:absolute;inset:0}.flow-bc-box--standalone:before{background:#0b1620;border-style:dashed;border-color:#0e7490}.flow-bc-box__header,.flow-bc-box__slices{z-index:2;position:relative}.flow-bc-box__header{font-size:var(--font-md);color:#a78bfa;text-transform:uppercase;letter-spacing:.04em;background:#1a1528;border-bottom:1px solid #334155;padding:6px 12px;font-weight:600}.flow-bc-box__header--domain{color:#38bdf8;background:#0d1f2b;border-bottom-color:#0e7490}.flow-bc-box__slices{flex:1;align-items:flex-start;gap:4px;padding:8px;display:flex}.flow-slice-col-wrap{flex:0 200px;align-items:stretch;gap:4px;max-width:220px;display:flex}.flow-slice-col-wrap[data-slice-type=read-model]{flex:0 0 260px;max-width:340px}.flow-slice-col{background:#141820;border:1px solid #1e293b;border-radius:8px;flex-direction:column;flex:1;min-width:140px;display:flex;overflow:visible}.flow-slice-col[data-slice-type=command]{background:#0c1a2e;border-color:#1e3a5f}.flow-slice-col[data-slice-type=read-model]{background:#0a2618;border-color:#1a4a35}.flow-slice-col__header{cursor:grab;border-bottom:1px solid #334155;padding:6px 10px}.flow-slice-col--dragging{opacity:.4;border-style:dashed}.flow-slice-col[data-slice-type=command] .flow-slice-col__header{background:#0f2340}.flow-slice-col[data-slice-type=read-model] .flow-slice-col__header{background:#0d3324}.flow-slice-col__name{font-size:var(--font-md);color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.flow-slice-col__header{justify-content:space-between;align-items:center;display:flex}.flow-slice-col__stale{font-size:var(--font-sm);color:#f59e0b;cursor:help;white-space:nowrap;margin-left:4px;font-weight:600;position:relative}.flow-slice-col__stale-tip{z-index:70;background:var(--surface-1);min-width:200px;max-width:300px;font-size:var(--font-sm);color:#e2e8f0;white-space:normal;text-align:left;cursor:default;opacity:0;visibility:hidden;pointer-events:none;border:1px solid #f59e0b66;border-radius:6px;flex-direction:column;gap:4px;margin-top:6px;padding:8px 10px;font-weight:400;line-height:1.5;transition:opacity .12s;display:flex;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #0006}.flow-slice-col__stale:hover .flow-slice-col__stale-tip,.flow-slice-col__stale:focus-visible .flow-slice-col__stale-tip{opacity:1;visibility:visible}.flow-slice-col__delete{color:#6b7280;cursor:pointer;opacity:0;background:0 0;border:none;padding:0 2px;font-size:14px;transition:opacity .15s}.flow-slice-col__header:hover .flow-slice-col__delete{opacity:1}.flow-slice-col__delete:hover{color:var(--status-error)}.flow-slice-cell{flex-direction:column;flex:none;justify-content:center;align-items:stretch;gap:4px;min-height:56px;padding:6px;display:flex}.flow-slice-cell+.flow-slice-cell{border-top:1px solid #1e293b}.flow-slice-cell__empty{font-size:var(--font-xs);color:#64748b;text-align:center;font-style:italic}.flow-slice-cell[data-lane=trigger]{z-index:5;position:relative}.flow-tile__rule{font-size:var(--font-xs);color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:2px;font-style:italic;overflow:hidden}.flow-tile__backing{font-size:var(--font-xs);color:#f9a8d4;text-overflow:ellipsis;white-space:nowrap;background:#ec489924;border-radius:3px;max-width:100%;margin-top:2px;padding:1px 5px;overflow:hidden}.actor-backed-by{font-size:var(--font-xs);flex-wrap:wrap;align-items:center;gap:4px;padding:0 10px 6px;display:flex}.actor-backed-by__arrow{color:#6b7280}.actor-backed-by__name{color:#f9a8d4;cursor:pointer;background:#ec489924;border-radius:3px;padding:1px 5px}.actor-backed-by__name:hover{background:#ec489947}.external-system-direction{font-size:var(--font-xs);color:#f9a8d4;letter-spacing:.04em;background:#ec489929;border-radius:3px;margin-top:3px;padding:1px 5px;display:inline-block}.external-system-direction--conflict{color:#fcd34d;cursor:help;background:#f59e0b29}.external-system-direction__warn{font-size:9px}.external-system-conflict{border-left:2px solid var(--status-warn);font-size:var(--font-xs);color:#fcd34d;background:#f59e0b1a;border-radius:0 3px 3px 0;max-width:240px;margin-top:4px;padding:4px 6px;line-height:1.4}.external-system-conflict__line+.external-system-conflict__line{margin-top:3px}.flow-actor-type-row{gap:10px;padding:4px 0;display:flex}.flow-actor-type-option{font-size:var(--font-sm);color:#94a3b8;cursor:pointer;align-items:center;gap:4px;display:flex}.flow-actor-type-option input[type=radio]{accent-color:#7c3aed;cursor:pointer}.slice-type-btn{color:#e2e8f0;width:100%;font-size:var(--font-lg);text-align:left;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:6px;margin-bottom:6px;padding:10px 14px;transition:background .15s;display:block}.slice-type-btn:hover{background:#334155}.slice-type-btn--cancel{color:#6b7280;text-align:center;background:0 0;border-color:#0000}.connect-menu{background:#1a1e2e;border:1px solid #374151;border-radius:8px;min-width:240px;padding:12px;box-shadow:0 8px 24px #00000080}.connect-menu__title{color:#f1f5f9;margin:0 0 8px;font-size:14px}.connect-menu__item{text-align:left;color:#e2e8f0;width:100%;font-size:var(--font-lg);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:8px 12px;display:block}.connect-menu__item:hover:not(:disabled){background:#374151}.connect-menu__item:disabled{color:#6b7280;cursor:default}.connect-menu__cancel{color:#6b7280;margin-top:4px}.connect-menu__label{font-size:var(--font-sm);color:#9ca3af;margin:0;padding:4px 12px 2px}.slice-palette{flex-wrap:wrap;flex-shrink:0;gap:4px;display:flex}.slice-palette__btn{color:#e2e8f0;font-size:var(--font-md);cursor:pointer;white-space:nowrap;background:0 0;border:1.5px solid;border-radius:4px;padding:4px 10px;transition:background .15s}.slice-palette__btn:hover{background:#1e293b}.flow-edge-col{pointer-events:none;z-index:1;position:relative}.flow-edge-segment{border-left:2px dashed;width:0;position:absolute;left:50%}.flow-edge-segment--top{height:50%;top:0}.flow-edge-segment--bottom{height:50%;top:50%}.flow-insert-col-btn{color:#94a3b8;cursor:pointer;opacity:0;z-index:5;background:#1e293b;border:1px dashed #475569;border-radius:50%;justify-content:center;place-self:center end;align-items:center;width:24px;height:24px;margin-right:-12px;font-size:14px;transition:opacity .2s;display:flex;position:relative}.flow-grid:hover .flow-insert-col-btn{opacity:.4}.flow-insert-col-btn:hover{color:#f1f5f9;background:#334155;border-color:#94a3b8;opacity:1!important}.flow-insert-col-btn--append{justify-self:start;margin-left:8px;margin-right:0}.flow-tile--selected{background:#1e2530;box-shadow:0 0 0 2px #6366f199,0 0 8px #6366f14d}.flow-tile{cursor:pointer}.flow-add-node-btn{color:#94a3b8;cursor:pointer;background:#1e293b;border:1px dashed #475569;border-radius:50%;justify-content:center;align-self:center;align-items:center;width:28px;height:28px;font-size:16px;transition:background .15s,border-color .15s,color .15s;display:flex}.flow-add-node-btn:hover{color:#f1f5f9;background:#334155;border-color:#94a3b8}.flow-inline-input-wrap{flex-direction:column;gap:4px;width:100%;display:flex}.flow-inline-input{color:#e2e8f0;width:100%;font-size:var(--font-md);background:#0f172a;border:1px solid #475569;border-radius:4px;padding:4px 8px}.flow-inline-input:focus{border-color:#6366f1;outline:none}.flow-inline-select{color:#e2e8f0;width:100%;font-size:var(--font-md);background:#0f172a;border:1px solid #475569;border-radius:4px;padding:4px 8px}.flow-inline-select:focus{border-color:#6366f1;outline:none}.flow-inline-error{font-size:var(--font-sm);color:var(--status-error)}.flow-event-picker-actions{flex-wrap:wrap;gap:4px;display:flex}.flow-event-picker-btn{min-width:0;font-size:var(--font-sm);color:#e2e8f0;cursor:pointer;background:#334155;border:1px solid #475569;border-radius:4px;flex:auto;padding:2px 10px;transition:background .15s,border-color .15s}.flow-event-picker-actions>.flow-inline-select{flex:auto;width:auto;min-width:0}.flow-event-picker-btn:hover:not(:disabled){background:#475569;border-color:#94a3b8}.flow-event-picker-btn:disabled{opacity:.4;cursor:not-allowed}.flow-event-picker-btn--cancel{background:0 0;border-color:#334155}.flow-event-picker-btn--cancel:hover{background:#1e293b}.flow-pick-hint{font-size:var(--font-sm);margin:0;padding:2px 0;line-height:1.4}.flow-pick-hint--already{color:#4ade80;opacity:.8}.flow-pick-hint--new{color:var(--status-warn)}.flow-pick-hint--info{color:#94a3b8;font-style:italic}.flow-pick-preview{font-size:var(--font-sm);background:#1e293b;border:1px solid #334155;border-radius:4px;flex-direction:column;gap:2px;padding:4px 6px;display:flex}.flow-pick-preview__item{display:block}.flow-pick-preview__item--already{color:#4ade80;opacity:.8}.flow-pick-preview__item--new{color:var(--status-warn)}.static-toolbar{z-index:10;gap:6px;display:flex;position:absolute;top:12px;right:12px}.static-toolbar-btn{color:#a8b4c4;cursor:pointer;background:#1e2330;border:1px solid #3b4252;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex}.static-toolbar-btn:hover:not(:disabled){color:#fff;background:#2a3040}.static-toolbar-btn-active{color:#fff;background:#2a3040;border-color:#5b8dd6}.agg-container{background:#2a2510;border:1.5px solid #a68b09;border-radius:8px;min-width:160px;padding-bottom:8px;position:relative}.agg-container.selected{border-color:#facc15;box-shadow:0 0 0 2px #facc1540}.agg-container.agg-expanded{min-width:220px}.agg-container-header{cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid #3d3410;align-items:center;gap:6px;padding:6px 10px;display:flex}.agg-container-tag{font-size:var(--font-xs);color:#a68b09;background:#3d3410;border-radius:3px;padding:1px 4px;font-weight:700}.agg-container-name{font-size:var(--font-md);color:#e5d88c;flex:1;font-weight:600}.agg-container-toggle{font-size:var(--font-xs);color:#a68b09}.agg-container-body{flex-direction:column;gap:2px;padding:4px 10px;display:flex}.agg-lanes{flex-direction:column;gap:4px;padding:6px 10px 4px;display:flex}.agg-lane{border-radius:4px;align-items:center;gap:4px;min-height:20px;padding:3px 6px;display:flex}.agg-lane:hover{background:#a68b0914}.agg-lane-cmd-name{font-size:var(--font-xs);color:#93c5fd;white-space:nowrap;margin-right:6px}.agg-lane-expanded{border-bottom:1px solid #a68b092e;grid-template-columns:1fr 1fr;align-items:start;gap:8px;margin:0 4px;padding:6px 4px;display:grid}.agg-lane-expanded:last-of-type{border-bottom:none}.agg-lane-lines{display:none}.agg-lane-events{flex-direction:column;gap:4px;display:flex}.agg-empty{font-size:var(--font-sm);color:#6b7280;font-style:italic}.agg-container-add{color:#a68b09;cursor:pointer;background:0 0;border:1px solid #3d3410;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:14px;display:flex;position:absolute;bottom:4px;right:6px}.agg-container-add:hover{color:#facc15;background:#3d3410}.agg-dot-tip{display:inline-flex;position:relative}.agg-dot-tip:after{content:attr(data-tooltip);color:#fdba74;font-size:var(--font-sm);white-space:nowrap;pointer-events:none;opacity:0;z-index:50;background:#1e2330;border:1px solid #c2410c;border-radius:4px;padding:3px 8px;font-weight:600;transition:opacity .12s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.agg-dot-tip:hover:after{opacity:1}.agg-dot-group{cursor:default;border-radius:4px;align-items:center;gap:3px;padding:4px 6px;display:flex;position:relative}.agg-dot{border-radius:50%;width:8px!important;height:8px!important;position:relative!important;top:auto!important;left:auto!important;right:auto!important;transform:none!important}.agg-dot-cmd{background:#3b82f6!important;border:none!important}.agg-dot-evt{background:#f97316!important;border:none!important}.agg-dot-empty{opacity:.4;background:#4b5563!important}.agg-dot-line{background:#6b7280;width:8px;height:1.5px}.agg-cmd-box{white-space:nowrap;background:#0c1a2e;border:1.5px solid #2563eb;border-radius:5px;padding:4px 10px;position:relative}.agg-cmd-box-name{font-size:var(--font-sm);color:#93c5fd;font-weight:600}.agg-evt-box{white-space:nowrap;background:#2c1a0a;border:1.5px solid #c2410c;border-radius:5px;padding:4px 10px;position:relative}.agg-evt-box-name{font-size:var(--font-sm);color:#fdba74;font-weight:600}.agg-handle-cmd{background:#3b82f6!important;border:2px solid #0c1a2e!important;width:10px!important;height:10px!important;top:50%!important;left:-5px!important;transform:translateY(-50%)!important}.agg-handle-evt{background:#f97316!important;border:2px solid #2c1a0a!important;width:10px!important;height:10px!important;top:50%!important;left:auto!important;right:-5px!important;transform:translateY(-50%)!important}.agg-header-delete{opacity:0;color:var(--status-error);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:0 3px;font-size:14px;line-height:1;transition:opacity .1s,background .1s}.agg-container-header:hover .agg-header-delete{opacity:1}.agg-header-delete:hover{color:#f87171;background:#ef44442e}.agg-lane-delete{opacity:0;color:var(--status-error);font-size:var(--font-sm);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:0 3px;line-height:1;transition:opacity .1s,background .1s}.agg-lane:not(.agg-lane-expanded):hover .agg-lane-delete,.agg-cmd-box:hover .agg-lane-delete,.agg-evt-box:hover .agg-lane-delete{opacity:1}.agg-lane-delete:hover{color:#f87171;background:#ef44442e}.agg-container.selected .agg-header-delete,.agg-container.selected .agg-lane-delete,.flow-tile--selected .flow-tile__delete,.flow-tile--selected .flow-tile__model-delete{opacity:1}.node-chevron{min-width:32px;min-height:32px;color:var(--ink-3);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;margin:-8px -4px;display:inline-flex}.node-chevron:hover,.node-chevron:focus-visible{color:var(--ink-1);background:var(--line-1)}.node-chevron-icon{flex-shrink:0;transition:transform .12s}.agg-header-delete,.agg-lane-delete{margin:-6px -4px;padding:7px 8px}:is(.react-flow__node:has(.agg-expanded),.react-flow__node:has(.rm-expanded),.react-flow__node:has(.actor-expanded),.react-flow__node:has(.policy-expanded)){z-index:3!important}.tree-actions{flex-shrink:0;gap:2px;margin-left:auto;display:none}.tree-node:hover .tree-actions,.tree-node.selected .tree-actions{display:inline-flex}@media (pointer:coarse){.tree-node:hover:not(.selected) .tree-actions{display:none}}.tree-action{color:var(--ink-3);font-size:var(--font-sm);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:4px 5px;line-height:1}.tree-action:hover{color:var(--ink-1);background:var(--line-2)}.tree-action--danger:hover{color:#f87171;background:#ef44442e}.tree-rename-input{min-width:0;font-size:var(--font-md);background:var(--surface-0);border:1px solid var(--accent);color:var(--ink-1);border-radius:3px;outline:none;flex:1;padding:1px 4px}.flow-slice-col__move{color:var(--ink-4);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:4px 5px;font-size:9px}.flow-slice-col__move:hover:not(:disabled){color:var(--ink-1);background:var(--line-1)}.flow-slice-col__move:disabled{opacity:.25;cursor:default}@media (pointer:coarse){.node-add{min-width:34px;min-height:34px;font-size:18px}.flow-tile__delete,.flow-tile__model-delete{padding:8px}}.agg-evt-unlink{color:#6b7280;font-size:var(--font-sm);cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;border-radius:3px;flex-shrink:0;padding:1px 3px;line-height:1;transition:opacity .1s,color .1s,background .1s}.agg-evt-box:hover .agg-evt-unlink{opacity:1}.agg-evt-unlink:hover{color:var(--status-warn);background:#fbbf2426}.agg-cmd-box,.agg-evt-box{align-items:center;gap:4px;display:flex}.agg-cmd-box-name,.agg-evt-box-name{flex:1}.agg-dot-evt--shared{opacity:.45;background:#f97316!important;border:none!important}.agg-evt-box--shared{opacity:.7;border-style:dashed!important}.agg-evt-shared-indicator{font-size:var(--font-xs);color:#a68b09;flex-shrink:0}.agg-lane-cmd-name--orphan{color:#6b7280}.agg-cmd-box--orphan{background:#1a1a1a!important;border-color:#6b7280!important}.agg-cmd-box-name--orphan{color:#6b7280;font-style:italic}.agg-evt-box--orphan{opacity:.75}.agg-lanes--expanded{padding-bottom:6px}.agg-lane--orphan .agg-lane-events{gap:6px}.agg-evt-add-panel{background:#f973160f;border:1px dashed #c2410c;border-radius:4px;flex-direction:column;gap:3px;margin-top:2px;padding:4px 6px;display:flex}.agg-evt-link-chip{color:#fdba74;font-size:var(--font-xs);cursor:pointer;text-align:left;background:#2c1a0a;border:1px solid #c2410c;border-radius:3px;padding:2px 6px;transition:background .1s}.agg-evt-link-chip:hover{background:#3d2210}.agg-col-add-btn--evt{font-size:var(--font-xs);margin-top:2px;padding:2px 5px}.agg-assign-chips{flex-wrap:wrap;gap:3px;margin-top:3px;display:flex}.agg-assign-chip{color:#6b7280;font-size:var(--font-xs);cursor:pointer;background:0 0;border:1px solid #374151;border-radius:3px;padding:1px 5px;transition:border-color .1s,color .1s}.agg-assign-chip:hover{color:#93c5fd;border-color:#93c5fd}.agg-add-cmd-row{padding:4px 10px 2px}.agg-inline-add{flex-direction:column;gap:2px;display:flex}.agg-inline-input{color:#e5e7eb;font-size:var(--font-sm);box-sizing:border-box;background:#111827;border:1px solid #374151;border-radius:4px;outline:none;width:100%;padding:3px 6px}.agg-inline-input:focus{border-color:#3b82f6}.agg-inline-error{font-size:var(--font-xs);color:#f87171}.agg-col-add-btn{color:#6b7280;font-size:var(--font-xs);cursor:pointer;text-align:left;background:0 0;border:1px dashed #374151;border-radius:4px;padding:3px 6px;transition:border-color .1s,color .1s}.agg-col-add-btn:hover{color:#9ca3af;border-color:#6b7280}.cmd-dialog-evt-row{align-items:center;gap:4px;margin-bottom:4px;display:flex}.cmd-dialog-evt-remove{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:16px}.cmd-dialog-evt-remove:hover{color:var(--status-error)}.flow-projection-edges{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:visible}.flow-edges--lifted{z-index:6}.flow-edge{transition:opacity .15s,stroke-width .15s}.flow-projection-tag{font-size:var(--font-sm);color:#fdba74;background:#f9731614;border:1px solid #f97316;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;display:flex}.flow-projection-tag__name{opacity:.9}.flow-projection-tag__remove{color:#fdba74;cursor:pointer;font-size:var(--font-lg);opacity:.6;background:0 0;border:none;padding:0 2px}.flow-projection-tag__remove:hover{opacity:1}.flow-projection-tag__delete{color:var(--status-error);cursor:pointer;font-size:var(--font-xs);opacity:.5;background:0 0;border:none;padding:0 2px}.flow-projection-tag__delete:hover{opacity:1}.flow-tile__model-delete{color:var(--status-error);cursor:pointer;font-size:var(--font-xs);opacity:0;background:0 0;border:none;padding:0 2px;position:absolute;bottom:2px;right:2px}.flow-tile:hover .flow-tile__model-delete{opacity:.5}.flow-tile:hover .flow-tile__model-delete:disabled{opacity:.2;cursor:not-allowed}.flow-tile__model-delete:hover:not(:disabled){opacity:1!important}.feature-scenario-card{border:1px solid var(--line-2);border-radius:4px;margin-bottom:6px}.feature-scenario-header{cursor:pointer;font-size:var(--font-md);align-items:center;gap:6px;padding:6px 8px;display:flex}.feature-scenario-toggle{color:var(--ink-2);font-size:var(--font-xs)}.feature-scenario-actions{gap:2px;margin-left:auto;display:flex}.feature-scenario-body{flex-direction:column;gap:4px;padding:0 8px 8px;display:flex}.feature-scenario-body label{font-size:var(--font-sm);color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.feature-scenario-body textarea{background:var(--surface-0);border:1px solid var(--line-2);color:var(--ink-1);font-size:var(--font-sm);resize:vertical;border-radius:4px;padding:6px;font-family:monospace}.scenarios-view{max-width:1100px;padding:18px 22px 40px}.scenarios-empty{color:var(--ink-3);font-size:var(--font-lg);padding:40px 22px;font-style:italic}.feature-block{margin-bottom:26px}.feature-block--new{border:1px dashed #2b3442;border-radius:8px;padding:12px 14px}.feature-block--new .feature-block-name{color:var(--ink-3)}.new-feature-row{align-items:center;gap:8px;max-width:560px;display:flex}.new-feature-row .gwt-select{font-size:var(--font-md);flex:1;padding:6px 8px}.new-feature-row .gwt-input{font-size:var(--font-md);flex:1;padding:5px 8px}.feature-block-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.feature-block-name{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:14px;font-weight:600}.feature-block-target{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--font-sm);color:var(--ink-2);border:1px solid var(--line-2);border-radius:4px;align-items:center;gap:5px;padding:2px 8px;display:inline-flex}.feature-block-target .swatch{background:var(--ink-3);border-radius:2px;width:8px;height:8px;display:inline-block}.feature-block-target.swatch-aggregate .swatch{background:var(--status-warn)}.feature-block-target.swatch-read-model .swatch{background:var(--status-ok)}.status-pill{font-size:var(--font-xs);letter-spacing:.03em;text-transform:uppercase;border-radius:10px;margin-left:auto;padding:2px 9px;font-weight:600}.status-pill.ready{color:var(--status-ok);background:#22c55e1f}.status-pill.draft{color:#f59e0b;background:#f59e0b1f}.scenario{background:#171a20;border:1px solid #1d222a;border-radius:8px;margin-bottom:10px;overflow:hidden}.scenario-strip{border-bottom:1px solid #1d222a;align-items:center;gap:8px;padding:7px 12px;font-size:11.5px;display:flex}.scenario-strip .sname{color:var(--ink-1);font-family:ui-monospace,SF Mono,Menlo,monospace}.scenario-strip .outcome{border-radius:8px;padding:1px 7px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:9.5px}.outcome.pass{color:var(--status-ok);background:#22c55e1a}.outcome.rejects{color:#f43f5e;background:#f43f5e1a}.scenario-strip-actions{gap:2px;margin-left:auto;display:flex}.gwt-row{grid-template-columns:1.15fr auto 1fr auto 1.15fr;align-items:stretch;padding:14px 12px 16px;display:grid}.lane{flex-direction:column;min-width:0;display:flex}.lane-label{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-4);margin-bottom:7px;padding-left:2px;font-size:9.5px;font-weight:700}.lane-cards{flex-direction:column;gap:5px;display:flex}.arrow{color:var(--ink-4);justify-content:center;align-items:center;margin-top:20px;padding:0 10px;font-size:15px;display:flex}.card{border:1px solid #0000;border-radius:6px;padding:7px 9px;font-size:11.5px}.card-head{align-items:center;gap:6px;margin-bottom:4px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:600;display:flex}.card-head .dot{background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px}.card-data{color:var(--ink-2);line-height:1.6}.card-data .k{color:var(--ink-4)}.card-data .v{color:var(--ink-1);font-family:ui-monospace,SF Mono,Menlo,monospace}.card.event{color:#f97316;background:#f9731612;border-color:#f9731640}.card.command{color:#3b82f6;background:#3b82f612;border-color:#3b82f640}.card.query{color:#14b8a6;background:#14b8a612;border-color:#14b8a640}.card.rejection{color:#f43f5e;background:#f43f5e14;border-color:#f43f5e4d}.card.result{color:var(--status-ok);background:#22c55e0f;border-color:#22c55e38}.actor-tag{font-size:var(--font-xs);color:#a78bfa;align-items:center;gap:4px;margin-top:2px;display:inline-flex}.actor-tag .dot{background:#a78bfa;border-radius:50%;width:6px;height:6px}.empty-given{font-size:var(--font-sm);color:var(--ink-4);padding:8px 2px;font-style:italic}.result-table{border-collapse:collapse;width:100%;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10.5px}.result-table th{text-align:left;color:var(--ink-4);border-bottom:1px solid #1d222a;padding:2px 6px 4px 0;font-weight:500}.result-table td{color:var(--ink-2);padding:3px 6px 3px 0}.gwt-select{border:1px solid var(--line-1);width:100%;color:var(--ink-1);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--font-sm);background:#10131a;border-radius:5px;padding:3px 6px}.gwt-select:focus{border-color:#3b82f6;outline:none}.gwt-select-head{margin-bottom:7px;font-weight:600}.gwt-x{color:var(--ink-4);cursor:pointer;font-size:var(--font-lg);background:0 0;border:none;margin-left:auto;padding:0 2px;line-height:1}.gwt-x:hover{color:#f43f5e}.gwt-add-select{margin-top:2px;padding:4px 7px;font-size:10.5px}.gwt-field-grid{grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;margin-top:2px;display:grid}.gwt-field-row{display:contents}.gwt-field-label{font-size:var(--font-xs);color:var(--ink-4);text-align:right;white-space:nowrap;font-family:ui-monospace,SF Mono,Menlo,monospace}.gwt-field-label .req{color:#f43f5e;margin-left:2px}.gwt-input{border:1px solid var(--line-1);color:var(--ink-1);background:#10131a;border-radius:4px;width:100%;min-width:0;padding:2px 6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10.5px}.gwt-input:focus{outline:1px solid #3b82f6}.gwt-input-num{max-width:90px}.gwt-no-fields{font-size:var(--font-xs);color:var(--ink-4);margin-top:2px;font-style:italic}.gwt-raw-textarea{border:1px solid var(--line-1);width:100%;color:var(--ink-1);resize:vertical;background:#10131a;border-radius:5px;margin-top:4px;padding:6px 8px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10.5px}.chips{flex-wrap:wrap;align-items:center;gap:5px;margin-top:8px;display:flex}.chiplabel{color:var(--ink-4);font-size:9.5px}.chip{font-size:var(--font-xs);border:1px solid var(--line-1);color:var(--ink-4);cursor:pointer;background:0 0;border-radius:9px;padding:2px 9px;font-family:ui-monospace,SF Mono,Menlo,monospace}.chip.on{color:#a78bfa;background:#a78bfa17;border-color:#a78bfa80}.seg{border:1px solid var(--line-1);background:#10131a;border-radius:6px;gap:2px;margin-bottom:7px;padding:2px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10.5px;display:inline-flex}.seg button{color:var(--ink-4);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:4px;padding:2px 10px}.seg button.ok{color:var(--status-ok);background:#22c55e24}.seg button.rej{color:#f43f5e;background:#f43f5e29}.gwt-rule-hint{font-size:var(--font-xs);color:var(--ink-4);margin:5px 0 0;line-height:1.5}.gwt-legacy-reason{font-size:var(--font-xs);color:var(--status-warn);margin:5px 0 0;line-height:1.5}.card.rejection .card-note{font-size:var(--font-xs);color:var(--status-warn);margin-top:3px}.gwt-result-table{margin-top:2px}.gwt-result-table input{border:1px solid var(--line-1);width:100%;color:var(--ink-1);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--font-xs);background:#10131a;border-radius:4px;padding:2px 5px}.gwt-result-table .rowx{color:var(--ink-4);text-align:center;cursor:pointer;width:16px}.gwt-result-table .rowx:hover{color:#f43f5e}.gwt-addrow{margin-top:5px}.gwt-violations{font-size:var(--font-sm);color:#f43f5e;border-top:1px solid #1d222a;margin:0;padding:8px 14px 10px;list-style:none}.gwt-violations li{margin:2px 0}.gwt-violations li.gwt-violation--warning{color:#f59e0b}.glossary-view{gap:var(--space-4);flex-direction:column;max-width:1100px;padding:18px 22px 40px;display:flex}.glossary-bar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.glossary-filter{background:var(--surface-0);border:1px solid var(--line-2);min-width:200px;font-size:var(--font-md);border-radius:4px;flex:280px;padding:6px 10px}.glossary-filter::placeholder{color:var(--ink-4)}.glossary-count{font-size:var(--font-sm);color:var(--ink-3);flex:none}.glossary-empty{font-size:var(--font-md);color:var(--ink-3);max-width:60ch;margin:0}.glossary-redirects{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.glossary-redirect{align-items:flex-start;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface-1);border:1px solid var(--line-2);border-left:2px solid var(--status-warn);border-radius:5px;display:flex}.glossary-redirect-verdict{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--status-warn);flex:none;padding-top:2px}.glossary-redirect-body{font-size:var(--font-md);color:var(--ink-2);min-width:0}.glossary-redirect-body strong{color:var(--ink-1)}.glossary-redirect-reason{color:var(--ink-3)}.glossary-context{border:1px solid var(--line-1);background:var(--surface-1);border-radius:6px;overflow:hidden}.glossary-context-head{align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--line-1);flex-wrap:wrap;display:flex}.glossary-context-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-lg);color:var(--ink-1)}.glossary-sd,.glossary-team{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-xs);letter-spacing:.09em;text-transform:uppercase;border:1px solid var(--line-2);color:var(--ink-3);border-radius:999px;padding:2px 8px}.glossary-sd--core{color:#c9a227;border-color:#6b5a1e}.glossary-sd--supporting{color:#6e93d6;border-color:#35507f}.glossary-team{text-transform:none;letter-spacing:0;border-style:dashed}.glossary-context .ul-editor{padding:var(--space-3)}.ul-avoid--matched{outline:1px solid var(--status-warn);outline-offset:1px;border-radius:3px}.ul-summary-terms{margin-top:var(--space-2);flex-direction:column;gap:4px;display:flex}.ul-summary-entry{align-items:baseline;gap:8px;min-width:0;display:flex}.ul-summary-term{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-sm);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line-1);border-radius:3px;flex-shrink:0;padding:2px 7px}.ul-summary-definition{font-size:var(--font-sm);color:var(--ink-4);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ul-summary-more{font-size:var(--font-sm);color:var(--ink-4);margin-top:2px}.login-screen{background-color:#0f1216;justify-content:center;align-items:center;height:100vh;display:flex}.login-card{background-color:var(--surface-1);border:1px solid var(--line-1);border-radius:8px;flex-direction:column;align-items:center;gap:14px;padding:40px 56px;display:flex}.login-subtitle{font-size:var(--font-lg);color:var(--ink-2);margin:0}.login-notice{max-width:340px;font-size:var(--font-md);color:#f59e0b;text-align:center;margin:0}.login-notice--error{color:#f43f5e}.login-consent{max-width:300px;font-size:var(--font-md);color:var(--ink-2);cursor:pointer;align-items:flex-start;gap:8px;margin:2px 0 6px;line-height:1.5;display:flex}.login-consent input{cursor:pointer;flex:none;margin-top:2px}.login-consent a{color:var(--accent);text-decoration:none}.login-consent a:hover{text-decoration:underline}.login-examples{border-top:1px solid var(--line-1);flex-direction:column;align-items:stretch;gap:6px;width:100%;max-width:300px;margin-top:10px;padding-top:12px;display:flex}.login-examples-lead{font-size:var(--font-md);color:var(--ink-3);margin:0 0 2px}.login-example-link{border:1px solid var(--line-1);color:var(--ink-1);border-radius:6px;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 10px;text-decoration:none;display:flex}.login-example-link:hover{border-color:var(--accent);background-color:color-mix(in srgb, var(--accent) 8%, transparent)}.login-example-title{font-weight:600;font-size:var(--font-md)}.login-example-scale{font-size:var(--font-sm);color:var(--ink-3);text-align:right}.login-legal{font-size:var(--font-md);color:var(--ink-3);align-items:center;gap:8px;margin-top:4px;display:flex}.login-legal a{color:var(--ink-2);text-decoration:none}.login-legal a:hover{color:var(--ink-1);text-decoration:underline}.app-footer{background-color:var(--surface-1);border-top:1px solid var(--line-1);font-size:var(--font-sm);justify-content:center;gap:16px;padding:5px 12px;display:flex}.app-footer a{color:var(--ink-3);text-decoration:none}.app-footer a:hover{color:var(--ink-1);text-decoration:underline}.admin-modal{width:860px;max-width:calc(100vw - 48px);max-height:calc(100vh - 64px);overflow:hidden}.admin-signup-mode{border:1px solid var(--line-1);font-size:var(--font-md);color:var(--ink-2);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:8px 10px;display:flex}.admin-toolbar{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;display:flex}.modal .admin-search{min-width:160px;font-size:var(--font-md);flex:220px;padding:6px 10px}.admin-filters{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.admin-filter{border:1px solid var(--line-1);color:var(--ink-2);font-size:var(--font-md);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;display:inline-flex}.admin-filter:hover{color:var(--ink-1);border-color:var(--line-2)}.admin-filter.is-active{color:var(--ink-1);border-color:var(--accent-border);background:#4f6db529}.admin-filter-count{color:var(--ink-3);font-variant-numeric:tabular-nums}.admin-filter.is-active .admin-filter-count{color:var(--ink-2)}.admin-table-wrap{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent;flex:auto;min-height:0;overflow:auto}.admin-table{border-collapse:collapse;width:100%;font-size:var(--font-md)}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line-1);vertical-align:middle;padding:6px 10px}.admin-table th{color:var(--ink-2);z-index:1;background-color:var(--surface-1);box-shadow:inset 0 -1px 0 var(--line-1);border-bottom:none;font-weight:500;position:sticky;top:0}.admin-empty{color:var(--ink-3);font-size:var(--font-md);margin:0;padding:16px 10px}.admin-count{color:var(--ink-3);font-size:var(--font-sm);font-variant-numeric:tabular-nums;flex-shrink:0;margin:0}.admin-user-name{display:block}.admin-user-email{color:var(--ink-2);font-size:var(--font-sm);display:block}.admin-badge{border:1px solid var(--line-1);font-size:var(--font-sm);color:var(--ink-2);border-radius:8px;margin-top:2px;padding:0 6px;display:inline-block}.admin-status--pending{color:#f59e0b}.admin-status--active{color:#34d399}.admin-status--banned{color:#f43f5e}.shortcut-modal{width:560px}.shortcut-modal-head{justify-content:space-between;align-items:center;display:flex}.shortcut-modal-head h2{margin:0}.shortcut-modal-close{font-size:16px;line-height:1}.shortcut-sections{flex-direction:column;gap:16px;display:flex}.shortcut-section h3{font-size:var(--font-md);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);margin:0 0 8px;font-weight:600}.shortcut-row{align-items:baseline;gap:14px;padding:3px 0;display:flex}.shortcut-keys{text-align:right;flex:0 0 190px}.shortcut-plus{color:var(--ink-2);font-size:var(--font-sm);margin:0 4px}.shortcut-keys kbd{font-family:ui-monospace,Menlo,monospace;font-size:var(--font-sm);border:1px solid var(--line-2);white-space:nowrap;background-color:#1c2027;border-bottom-width:2px;border-radius:4px;padding:2px 7px}.shortcut-what{font-size:var(--font-lg);color:#c6cdd8}.explorer-filter-row{align-items:center;gap:6px;margin:2px 0 8px;display:flex}.explorer-filter{box-sizing:border-box;width:100%;min-width:0;font-size:var(--font-md);color:#c6cdd8;border:1px solid var(--line-2);background-color:#0f1216;border-radius:5px;flex:1;padding:5px 8px}.explorer-filter::placeholder{color:#5b6572}.explorer-filter:focus{border-color:var(--accent);outline:none}.explorer-draft-toggle{font-size:var(--font-sm);color:var(--ink-3);border:1px solid var(--line-2);cursor:pointer;background:0 0;border-radius:5px;flex-shrink:0;align-items:center;gap:5px;padding:5px 8px;display:inline-flex}.explorer-draft-toggle:hover{color:var(--ink-1);border-color:#3d4553}.explorer-draft-toggle--active{background:var(--line-1);color:var(--ink-1);border-color:var(--accent)}.explorer-draft-count{background:var(--accent);color:#0f1216;border-radius:7px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.header-menu{display:inline-flex;position:relative}.header-menu-list{background-color:var(--surface-2);border:1px solid var(--line-2);z-index:100;border-radius:10px;min-width:224px;padding:6px;animation:.12s header-menu-pop;position:absolute;top:calc(100% + 8px);box-shadow:0 20px 44px -18px #000000d9}.header-menu-list--end{right:0}.header-menu-list--start{left:0}@keyframes header-menu-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.header-menu-list{animation:none}}.header-menu-item{width:100%;font-size:var(--font-lg);color:var(--ink-1);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:10px;padding:8px 10px;display:flex}.header-menu-item:hover,.header-menu-item:focus-visible{background-color:#1d212a}.header-menu-item-ic{text-align:center;width:16px;color:var(--ink-2);font-size:var(--font-lg)}.header-menu-item-label{flex:1}.header-menu-item-hint{font-size:var(--font-xs);color:var(--ink-4);font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace}.header-menu-item--danger{color:#f2a2a2}.header-menu-item--danger:hover,.header-menu-item--danger:focus-visible{background-color:#ef44441f}.header-menu-item--danger .header-menu-item-ic{color:#e07a7a}.header-menu-label{font-size:var(--font-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);padding:8px 10px 4px;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace}.header-menu-sep{background-color:var(--line-1);height:1px;margin:6px 4px}.header-menu-head{border-bottom:1px solid var(--line-1);margin-bottom:6px;padding:8px 10px 10px}.header-menu-head-name{font-size:var(--font-lg);color:var(--ink-1);font-weight:600}.header-menu-head-sub{font-size:var(--font-md);color:var(--ink-3);overflow-wrap:anywhere}.header-icon-btn,.workspace-menu-trigger{padding:4px 9px;line-height:1}.workspace-menu-trigger{color:var(--ink-2)}.user-menu-trigger{cursor:pointer;color:var(--ink-1);background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 8px 3px 3px;display:inline-flex}.user-menu-trigger:hover{background-color:#1d212a}.user-avatar{width:28px;height:28px;font-size:var(--font-md);color:#fff;border:1px solid var(--line-2);background:linear-gradient(145deg,#6d7fa8,#46567d);border-radius:50%;place-items:center;font-weight:600;display:grid}.user-menu-caret{font-size:var(--font-xs);color:var(--ink-3)}.save-status{font-size:var(--font-sm);white-space:nowrap;border-radius:10px;padding:3px 8px}.save-status--saving{color:var(--ink-2)}.save-status--saved{color:#6fbf8f}.save-status--error{color:#ef7676;background-color:#ef44441f}.save-status--conflict,.save-status--retrying,.save-status--signed-out{color:#e5a13d;background-color:#e5a13d24}.save-status a{color:inherit;text-decoration:underline}.save-status-reload-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.canvas-key-handler .react-flow__edge .react-flow__edge-path{opacity:.45;transition:opacity .15s,stroke .15s}.canvas-key-handler .react-flow__edge.edge-hi .react-flow__edge-path{opacity:1;stroke:#cbd5e1!important}.canvas-key-handler .react-flow__node{transition:filter .15s}.canvas-key-handler .react-flow__node.node-hi{filter:brightness(1.25)drop-shadow(0 0 6px #94a3b859)}.ul-editor{column-span:all;margin-top:14px}.detail-tab-content .ul-editor input{max-width:none}.ul-count{color:#8b95a5;margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px}.ul-entry{background:#1f242d;border:1px solid #2a2f38;border-radius:5px;margin-bottom:8px;padding:7px 9px}.ul-entry-head{align-items:center;gap:8px;margin-bottom:5px;display:flex}.ul-entry-term{color:#d99b4e;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.ul-remove{color:#8b95a5;cursor:pointer;background:0 0;border:1px solid #2a2f38;border-radius:3px;margin-left:auto;padding:1px 6px;font-size:10px}.ul-remove:hover{color:#c3cbd8;border-color:#3d4553}.ul-definition,.ul-avoid-reason,.ul-avoid-input,.ul-add-input{color:#d6dde8;background:#171b22;border:1px solid #2a2f38;border-radius:3px;width:100%;padding:3px 7px;font-size:11.5px}.ul-definition:focus,.ul-avoid-reason:focus,.ul-avoid-input:focus,.ul-add-input:focus{border-color:#d99b4e;outline:none}.ul-avoid-list{border-left:2px solid #4a4132;margin-top:6px;padding-left:9px}.ul-avoid{align-items:center;gap:6px;margin-bottom:3px;display:flex}.ul-avoid-term{color:#b9a077;flex:none;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;text-decoration:line-through}.ul-add{gap:6px;margin-top:8px;display:flex}.ul-add-btn{color:#d99b4e;cursor:pointer;background:#1f242d;border:1px solid #2a2f38;border-radius:3px;flex:none;padding:2px 9px;font-size:11px}.ctx-tile-terms{font:inherit;letter-spacing:inherit;text-transform:inherit;color:#6e7889;cursor:pointer;background:0 0;border:none;margin-left:7px;padding:0}.ctx-tile-terms:hover{color:#d99b4e;text-decoration:underline}.subdomain-row{cursor:pointer;align-items:center;gap:8px;padding:4px 14px;display:flex}.subdomain-row:hover{background:#ffffff08}.subdomain-row.is-selected{background:#d99b4e21;box-shadow:inset 2px 0 #d99b4e}.subdomain-dot{border-radius:2px;flex:0 0 7px;width:7px;height:7px}.subdomain-dot--core{background:#d99b4e}.subdomain-dot--supporting{background:#6f8199}.subdomain-dot--generic{background:#55607a}.subdomain-dot--unset{background:0 0;border:1px dashed #4d4436}.subdomain-meta{white-space:nowrap;color:#8b95a5;margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9.5px}.ctx-map{flex-direction:column;width:100%;height:100%;display:flex;position:relative}.ctx-map-surface{flex:1;min-height:0;position:relative}.static-toolbar-btn:disabled{opacity:.4;cursor:default}.react-flow__controls{border-radius:6px;overflow:hidden;box-shadow:0 1px 4px #0006}.react-flow__controls-button{background:var(--surface-2);border-bottom:1px solid var(--line-1);fill:var(--ink-2)}.react-flow__controls-button:hover{background:var(--line-2);fill:var(--ink-1)}.react-flow__controls-button:disabled{fill:var(--ink-4)}.react-flow__minimap{background-color:var(--surface-1);border-radius:6px;box-shadow:0 1px 4px #0006}.react-flow__minimap-node{fill:var(--line-2)}.react-flow__minimap-mask{fill:#00000073}.ctx-tile{background:#1f242d;border:1px solid #333a46;border-left:3px solid #6f8199;border-radius:6px;width:190px;padding:10px 13px 11px;position:relative;box-shadow:0 2px 10px #00000059}.ctx-tile--external{box-shadow:none;background:0 0;border:1px dashed #495569;border-radius:22px;padding:9px 18px 10px}.ctx-tile--external .ctx-tile-name{color:#aab5c5}.ctx-tile--external .ctx-tile-tag{color:#6a7588}.ctx-tile--draft{border-color:#52483a #52483a #52483a #b9a077}.ctx-tile--selected{border-color:#d99b4e;box-shadow:0 0 0 1px #d99b4e,0 6px 18px #00000073}.ctx-tile-name{letter-spacing:-.01em;color:#eef2f7;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px}.ctx-tile-tag{letter-spacing:.1em;text-transform:uppercase;color:#78839a;margin-top:3px;font-size:8.5px}.ctx-tile-draft{letter-spacing:.08em;text-transform:uppercase;color:#b9a077;border:1px solid #4d4436;border-radius:3px;margin-top:6px;padding:0 5px;font-size:9px;display:inline-block}.ctx-tile-chips{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.ctx-chip{cursor:pointer;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:3px;padding:0 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:8.5px;line-height:14px}.ctx-chip--core{color:#e3b273;background:#d99b4e1c;border-color:#d99b4e73}.ctx-chip--supporting{color:#9fb2c7;background:#6f81991f;border-color:#6f81996b}.ctx-chip--generic{color:#9098ad;background:#7882a01a;border-color:#7882a06b}.ctx-chip--unset{color:#b9a077;background:0 0;border-style:dashed;border-color:#4d4436}.ctx-chip--none{color:#79839a;background:0 0;border-style:dashed;border-color:#3d4553}.ctx-chip--on{box-shadow:0 0 0 1px}.ctx-chip--add{color:#8b95a5;background:0 0;border-style:dashed;border-color:#3d4553;padding:0 6px;font-size:11px;line-height:13px}.ctx-chip--add:hover{color:var(--ink-1);background:#7882a01f;border-color:#55607280}.ctx-tile-assign{display:inline-flex;position:relative}.ctx-tile-menu-backdrop{z-index:40;position:fixed;inset:0}.ctx-tile-menu{z-index:41;background:#12151b;border:1px solid #2c333f;border-radius:6px;flex-direction:column;gap:1px;min-width:150px;margin-top:4px;padding:4px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 8px 24px #00000073}.ctx-tile-menu-item{width:100%;color:var(--ink-1);font-size:var(--font-sm);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:7px;padding:5px 7px;display:flex}.ctx-tile-menu-item:hover{background:#1c2230}.ctx-tile-menu-item--new{color:var(--ink-3);border-top:1px solid #232a35;border-radius:0 0 4px 4px;margin-top:2px}.ctx-tile-menu-empty{font-size:var(--font-sm);color:var(--ink-3);padding:5px 7px}.ctx-tile-team{letter-spacing:.05em;text-transform:uppercase;color:#8b95a5;border:1px solid #3a414e;border-radius:3px;margin-top:6px;padding:0 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:8.5px;line-height:14px;display:inline-block}.ctx-tile--straddles{border-color:#52483a}.ctx-tile-note{letter-spacing:.05em;text-transform:uppercase;color:#b9a077;border:1px solid #4d4436;border-radius:3px;margin-top:6px;padding:0 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:8.5px;line-height:14px;display:inline-block}.ctx-tile--dimmed{opacity:.32}.ctx-tile-hide{z-index:5;letter-spacing:.06em;text-transform:uppercase;color:#8b95a5;cursor:pointer;background:#1b2029;border:1px solid #3d4553;border-radius:3px;padding:0 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:8.5px;line-height:15px;position:absolute;top:-9px;right:-9px}.ctx-tile-hide:hover{color:var(--ink-1);background:#232a35;border-color:#556072}.ctx-tile-note--hidden{color:#8b95a5;border-color:#3d4553}.ctx-hidden{display:inline-flex;position:relative}.ctx-hidden-chip{color:#e3b273;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:#d99b4e21;border:1px solid #d99b4e73;border-radius:16px;height:32px;padding:0 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px}.ctx-hidden-chip:hover{color:#f2d3a5;background:#d99b4e38}.ctx-hidden-panel{z-index:41;background:#12151b;border:1px solid #2c333f;border-radius:6px;flex-direction:column;gap:1px;min-width:180px;margin-top:6px;padding:4px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #00000073}.ctx-hidden-item{justify-content:space-between;gap:12px}.ctx-hidden-name{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.ctx-hidden-action{letter-spacing:.07em;text-transform:uppercase;color:#6e7889;font-size:8.5px}.ctx-hidden-item:hover .ctx-hidden-action{color:#d99b4e}.ctx-tile-handle{opacity:0;background:#6b7a92;border:1px solid #1f242d;width:9px;height:9px;transition:opacity .12s,background .12s,transform .12s}.ctx-tile:hover .ctx-tile-handle,.react-flow__node.selected .ctx-tile-handle,.ctx-tile-handle:is(.connectingfrom,.connectingto){opacity:1}.ctx-tile-handle:hover,.ctx-tile-handle.react-flow__handle-connecting{opacity:1;background:#d99b4e}.ctx-tile-handle.react-flow__handle-valid{opacity:1;background:#6fbf7f}.ctx-tile-handle:before{content:"";border-radius:4px;position:absolute}.ctx-tile-handle.react-flow__handle-left:before{inset:-11px -4px -11px -18px}.ctx-tile-handle.react-flow__handle-right:before{inset:-11px -18px -11px -4px}.ctx-tile-handle.react-flow__handle-top:before{inset:-18px -11px -4px}.ctx-tile-handle.react-flow__handle-bottom:before{inset:-4px -11px -18px}.ctx-edge-path{fill:none;stroke:#7d8ba1;stroke-width:1.6px;transition:stroke .12s,stroke-width .12s}.ctx-edge-path.ctx-edge--peer{stroke-dasharray:7 5}.ctx-edge-path.ctx-edge--severed{stroke:#5c6675;stroke-dasharray:2 5;stroke-linecap:round}.ctx-edge-path.ctx-edge--opposing{stroke:#c98a5a}.ctx-edge-path.ctx-edge--selected{stroke:#d99b4e;stroke-width:2.4px}.ctx-edge-hit{stroke:#0000;stroke-width:18px}.ctx-map .react-flow__edgelabel-renderer{z-index:6}.ctx-edge-label{pointer-events:none;letter-spacing:.01em;color:#aab4c4;white-space:nowrap;background:#12161d;border-radius:3px;flex-direction:column;align-items:center;gap:1px;padding:2px 7px;font-size:10.5px;line-height:1.45;display:flex;position:absolute}.ctx-edge-label--selected{color:#e8d4b6;background:#241b10}.ctx-edge-pattern{color:inherit}.ctx-edge-role{pointer-events:none;letter-spacing:.04em;white-space:nowrap;background:#12161d;border:1px solid #2c3441;border-radius:3px;padding:0 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9px;font-weight:600;line-height:16px;position:absolute}.ctx-edge-role--up{color:#d2a469;border-color:#4a3d26}.ctx-edge-role--down{color:#7fa8b8;border-color:#294450}.ctx-map-empty{pointer-events:none;color:#8b95a5;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:13px;display:flex;position:absolute;inset:0}.ctx-map-empty-hint{color:#6e7889;font-size:12px}.ctx-dialog-backdrop{z-index:20;background:#0a0d128c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ctx-dialog{background:#1a1d24;border:1px solid #39404d;border-radius:8px;width:300px;padding:12px 0 10px;box-shadow:0 14px 34px #0000008c}.ctx-dialog-title{color:#e2e8f0;padding:0 14px 8px;font-size:13px}.ctx-dialog-group{letter-spacing:.12em;text-transform:uppercase;color:#8b95a5;padding:6px 14px 3px;font-size:9px}.ctx-dialog-option{cursor:pointer;color:#c8d0dc;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:4px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;display:flex}.ctx-dialog-option:hover,.ctx-dialog-option:focus-visible{color:#f0e2cd;background:#d99b4e29}.ctx-dialog-option-abbr{color:#8b95a5;margin-left:auto;font-size:9px}.ctx-dialog-option-hint{text-align:right;color:#8b95a5;max-width:260px;margin-left:auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:10.5px;line-height:1.4}.ctx-dialog-option--on{background:#d99b4e24}.ctx-dialog-option--on .ctx-dialog-option-name{color:#e0b071}.ctx-dialog-input{color:#e2e8f0;background:#1f242d;border:1px solid #3d4553;border-radius:4px;margin:2px 14px 8px;padding:5px 9px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.ctx-dialog-input:focus{border-color:#d99b4e;outline:none}.ctx-dialog-type{color:#d99b4e;padding:0 14px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.ctx-dialog-sentence{color:#c3cbd8;margin:0;padding:0 14px 4px;font-size:12px;line-height:1.5}.ctx-dialog-sentence--muted{color:#79839a;font-style:italic}.ctx-dialog-actions{justify-content:flex-end;gap:6px;padding:10px 14px 0;display:flex}.ctx-dialog-btn{color:#c3cbd8;cursor:pointer;background:#14181f;border:1px solid #2a2f38;border-radius:4px;padding:4px 10px;font-size:11.5px}.ctx-dialog-btn--primary{color:#17202c;background:#d99b4e;border-color:#d99b4e;font-weight:600}.ctx-dialog-btn:disabled{opacity:.5;cursor:default}.ctx-detail{padding:10px 14px 12px}.ctx-detail-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ctx-detail-kind{letter-spacing:.1em;text-transform:uppercase;color:#d99b4e;border:1px solid #d99b4e73;border-radius:3px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9.5px}.ctx-detail-title{color:#e2e8f0;align-items:center;gap:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;display:flex}.ctx-detail-endpoint{color:#e2e8f0;background:0 0;border:1px solid #0000;border-radius:3px;max-width:160px;padding:2px 4px;font-family:inherit;font-size:13px}.ctx-detail-endpoint:hover{border-color:#2a2f38}.ctx-detail-endpoint:focus{background:#171b22;border-color:#d99b4e;outline:none}.ctx-detail-endpoint option{color:#e2e8f0;background:#171b22}.ctx-detail-list{gap:4px;margin:10px 0 0;padding:0;list-style:none;display:grid}.ctx-detail-row{background:#1f242d;border:1px solid #2a2f38;border-radius:4px;align-items:flex-start;gap:10px;padding:4px 8px;display:flex}.ctx-detail-type{color:#e2e8f0;margin-top:3px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.ctx-detail-desc{resize:none;min-width:0;font:inherit;color:#c3cbd8;background:0 0;border:1px solid #0000;border-radius:3px;flex:1;padding:2px 6px;font-size:11.5px;line-height:1.4;overflow:hidden}.ctx-detail-desc::placeholder{color:#6e7889}.ctx-detail-desc:hover{border-color:#2a2f38}.ctx-detail-desc:focus{color:#e2e8f0;background:#171b22;border-color:#d99b4e;outline:none}.ctx-detail-add-pattern{color:#9aa4b2;cursor:pointer;background:#1f242d;border:1px dashed #2a2f38;border-radius:4px;margin-top:6px;padding:3px 6px;font-size:11.5px}.ctx-detail-add-pattern:hover{color:#e2e8f0;border-color:#d99b4e}.ctx-detail-export{color:#6e7889;margin-left:auto;margin-right:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px}.ctx-detail-remove{color:#c3cbd8;cursor:pointer;background:0 0;border:1px solid #2a2f38;border-radius:4px;margin-top:1px;margin-left:auto;padding:2px 8px;font-size:11px}.ctx-detail-direction{align-items:center;gap:12px;margin-top:10px;display:flex}.ctx-detail-sentence{color:#8b95a5;margin:0;font-size:11.5px}.ctx-detail-swap{color:#c3cbd8;cursor:pointer;white-space:nowrap;background:#14181f;border:1px solid #2a2f38;border-radius:4px;margin-left:auto;padding:3px 9px;font-size:11px}.example-picker{flex-wrap:wrap;gap:.75rem;margin-top:.75rem;display:flex}.example-card{text-align:left;background:var(--surface-2);border:1px solid var(--line-2);cursor:pointer;max-width:26rem;color:inherit;font:inherit;border-radius:8px;flex-direction:column;flex:20rem;gap:.3rem;padding:.85rem 1rem;display:flex}.example-card:hover{border-color:var(--accent-border);background:#1f2530}.example-card-title{color:var(--ink-1);font-size:.95rem;font-weight:600}.example-card-scale{color:var(--ink-3);letter-spacing:.02em;font-size:.72rem}.example-card-blurb{color:var(--ink-2);font-size:.8rem;line-height:1.45}.sketch-canvas{flex-direction:row;flex:1;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.sketch-canvas-body{flex-direction:column;flex:1;gap:12px;min-width:0;min-height:0;padding:12px 16px 0;display:flex;overflow:hidden}.sketch-flow{background-color:var(--sketch-ground);flex:1;min-height:0}.sketch-work-body{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.sketch-work-body--right{flex-direction:row}.sketch-work-body--right .detail-dock--collapsed{border-top:none;border-left:1px solid var(--line-1)}.sketch-flow .react-flow__renderer{background:radial-gradient(70% 60% at 50% 45%,#788cc812,#0000 70%)}.zettelkasten-panel{border-right:1px solid var(--sketch-rule);background:var(--surface-1);flex-direction:column;flex:none;width:264px;min-width:264px;display:flex;overflow:hidden}.zettelkasten-panel--collapsed{align-items:center;gap:7px;width:42px;min-width:42px;padding:10px 0;overflow-y:auto}.zettelkasten-head{flex-shrink:0;align-items:center;gap:8px;padding:10px 12px 8px;display:flex}.zettelkasten-title{letter-spacing:-.01em;color:var(--ink-1);flex:1;font-size:12px;font-weight:600}.nav-icon-btn{border:1px solid var(--line-2);width:20px;height:20px;color:var(--ink-3);cursor:pointer;background:0 0;border-radius:5px;flex-shrink:0;place-items:center;font-size:11px;display:grid}.nav-icon-btn:hover{color:var(--ink-1);border-color:var(--line-1)}.story-panel-title{letter-spacing:-.01em;color:var(--ink-1);white-space:nowrap;font-size:12px;font-weight:600}.story-panel-settings{color:var(--ink-3);border:1px solid var(--line-2);background:var(--surface-0);border-radius:5px;padding:2px 7px;font-size:10.5px}.story-panel-body{flex-direction:column;flex:1;gap:10px;min-height:0;padding:0 12px 12px;display:flex;overflow-y:auto}.story-panel-empty{color:var(--ink-3);font-size:11px}.story-sentence{align-items:flex-start;gap:8px;display:flex}.story-sentence-number{background:var(--story-accent);width:18px;height:18px;color:var(--surface-0);border-radius:50%;flex-shrink:0;place-items:center;font-size:10px;font-weight:700;display:grid}.story-sentence-edges{flex-direction:column;gap:2px;font-size:11.5px;line-height:1.5;display:flex}.story-role{color:var(--ink-1);font-weight:600}.story-role--work-object{font-weight:500}.story-sentence-label{color:var(--ink-3)}.story-panel-findings{border-top:1px solid var(--sketch-rule);flex-direction:column;gap:4px;padding-top:10px;display:flex}.story-panel-findings-title{color:var(--ink-2);font-size:11px;font-weight:600}.story-finding{color:var(--ink-3);margin:0;font-size:11px}.story-finding--error{color:var(--danger,#c0392b)}.zk-search{border:1px solid var(--line-2);color:var(--ink-1);background:var(--surface-0);border-radius:6px;flex-shrink:0;margin:0 12px 10px;padding:5px 9px;font-size:11px}.zettelkasten-body{flex-direction:column;flex:1;gap:14px;min-height:0;padding:0 12px 12px;display:flex;overflow-y:auto}.zk-group-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);align-items:center;gap:8px;margin-bottom:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px;display:flex}.zk-group-label:after{content:"";border-top:1px solid var(--line-1);flex:1}.zk-group-grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.zk-chip-wrap{align-items:center;gap:4px;display:flex;position:relative}.zk-chip{--c:#fb923c;color:color-mix(in srgb, var(--c) 55%, #fff);border:1px dashed var(--c);background:color-mix(in srgb, var(--c) 9%, transparent);box-shadow:0 0 12px -7px var(--c);cursor:pointer;border-radius:7px;flex:1;align-items:center;gap:6px;min-width:0;padding:5px 8px;font-size:11px;display:flex}.zk-chip:hover{background:color-mix(in srgb, var(--c) 18%, transparent)}.zk-chip-glyph{color:var(--c);text-align:center;flex:none;width:12px;font-size:11px}.zk-chip-label{overflow-wrap:break-word;white-space:normal;min-width:0;line-height:1.25}.zk-chip-count{color:var(--ink-4);flex:none;margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px}.zk-chip--ghost{--c:var(--line-2);color:var(--ink-3);box-shadow:none;background:0 0;grid-column:1/-1;justify-content:center}.zk-chip-edit{border:1px solid var(--line-2);background:var(--surface-1);width:16px;height:16px;color:var(--ink-3);cursor:pointer;border-radius:50%;place-items:center;font-size:9px;display:none;position:absolute;top:-5px;right:-5px}.zk-chip-wrap:hover .zk-chip-edit{display:grid}.zk-chip-edit:hover{color:var(--ink-1);border-color:var(--accent-border)}.zk-chip-eye{border:1px solid var(--line-2);background:var(--surface-1);width:16px;height:16px;color:var(--ink-3);cursor:pointer;opacity:0;pointer-events:none;border-radius:50%;flex:none;place-items:center;line-height:0;transition:opacity .1s;display:grid}.zk-chip-wrap:hover .zk-chip-eye{opacity:1;pointer-events:auto}.zk-chip-eye:hover{color:var(--ink-1);border-color:var(--accent-border)}.zk-chip-wrap--hidden .zk-chip{opacity:.45;box-shadow:none}.zk-chip-wrap--hidden .zk-chip-eye{opacity:1;pointer-events:auto;border-color:var(--c);color:var(--c)}.zk-group-lens-actions{text-transform:none;letter-spacing:normal;gap:6px;margin-left:auto;display:inline-flex}.zk-group-lens-action{color:var(--ink-3);cursor:pointer;background:0 0;border:none;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px}.zk-group-lens-action:hover:not(:disabled){color:var(--ink-1);text-decoration:underline}.zk-group-lens-action:disabled{color:var(--ink-4);cursor:default}.zk-rail-dot{border:1px dashed var(--c);background:color-mix(in srgb, var(--c) 10%, transparent);width:24px;height:24px;color:var(--c);cursor:pointer;border-radius:7px;flex-shrink:0;place-items:center;font-size:11px;display:grid}.zk-rail-dot--hidden{opacity:.55;background:0 0}.sk-save-as-kind{color:var(--ink-3);border:1px dashed var(--line-2);cursor:pointer;background:0 0;border-radius:5px;align-self:flex-start;margin-top:4px;padding:2px 7px;font-size:10px}.sk-save-as-kind:hover{color:var(--ink-1);border-color:var(--ink-3)}.story-chip-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.story-chip-wrap{display:flex;position:relative}.story-chip{--c:#8a93a3;aspect-ratio:1;color:var(--c);border:1px dashed var(--c);background:color-mix(in srgb, var(--c) 9%, transparent);cursor:pointer;border-radius:7px;flex:1;place-items:center;padding:8px;display:grid}.story-chip:hover{background:color-mix(in srgb, var(--c) 18%, transparent)}.story-chip svg{width:100%;height:100%}.story-chip--ghost{border-style:dashed;border-color:var(--line-2);color:var(--ink-3);font-size:16px;font-weight:300}.story-chip--ghost:hover{color:var(--ink-1);border-color:var(--ink-3)}.story-chip-edit{position:absolute;top:-5px;right:-5px}.zk-rail-dot svg{width:100%;height:100%}.story-palette-empty{grid-column:1/-1}.sk-role-toggle{gap:6px;display:flex}.sk-role-btn{border:1px solid var(--line-2);background:var(--surface-0);color:var(--ink-3);cursor:pointer;border-radius:6px;flex:1;padding:6px 10px;font-size:12px}.sk-role-btn--on{border-color:var(--ink-1);color:var(--ink-1);font-weight:600}.sk-symbol-grid{grid-template-columns:repeat(6,1fr);gap:6px;max-height:220px;margin-top:8px;display:grid;overflow-y:auto}.sk-symbol-btn{--c:#8a93a3;aspect-ratio:1;border:1px solid var(--line-2);background:var(--surface-0);color:var(--ink-2);cursor:pointer;border-radius:6px;place-items:center;padding:6px;display:grid}.sk-symbol-btn svg{width:100%;height:100%}.sk-symbol-btn:hover{border-color:var(--c);color:var(--c)}.sk-symbol-btn--on{border-color:var(--c);color:var(--c);background:color-mix(in srgb, var(--c) 12%, transparent)}.story-node{--c:#8a93a3;flex-direction:column;align-items:center;gap:4px;width:96px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;position:relative}.story-node-icon{width:52px;height:52px;color:var(--c);filter:drop-shadow(0 0 10px color-mix(in srgb, var(--c) 55%, transparent))}.story-node-icon svg{width:100%;height:100%}.story-node-caption{text-align:center;color:color-mix(in srgb, var(--c) 70%, var(--ink-1) 30%);word-break:break-word;font-size:12px;font-weight:600;line-height:1.3}.story-node-caption-input{text-align:center;width:100%;font:inherit;background:var(--sketch-ground);border:none;border-bottom:1px dashed var(--c);color:color-mix(in srgb, var(--c) 70%, var(--ink-1) 30%);outline:none;font-weight:600}.story-node--selected .story-node-icon{filter:drop-shadow(0 0 14px color-mix(in srgb, var(--c) 85%, transparent))}.story-node--selected .story-node-caption{color:var(--ink-1)}div.story-node .story-node-handle{opacity:0;width:14px!important;height:14px!important}.story-node:hover .story-node-handle{opacity:1}.story-node--preview{width:auto;padding:10px 14px}.story-node--annotation{width:148px}.story-node-note-body{background:color-mix(in srgb, var(--c) 16%, var(--sketch-ground));border:1px solid color-mix(in srgb, var(--c) 45%, transparent);width:100%;min-height:44px;color:var(--ink-1);word-break:break-word;white-space:pre-wrap;border-radius:3px;padding:8px 10px;font-size:12px;line-height:1.35;box-shadow:0 2px 6px #0000001f}.story-node-note-input{resize:none;width:100%;min-height:44px;font:inherit;color:inherit;background:0 0;border:none;outline:none}.story-node-color-toggle{border:1.5px solid var(--sketch-ground);background:var(--c);cursor:pointer;border-radius:50%;width:16px;height:16px;padding:0;position:absolute;top:-8px;right:-8px}.story-node-color-dot{border-radius:50%;width:100%;height:100%;display:block}.story-node-swatches{background:var(--surface-1);border:1px solid var(--line-1);z-index:10;border-radius:8px;gap:4px;padding:5px;display:flex;position:absolute;top:-34px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px -6px #00000080}.story-swatch-btn{--c:#8a93a3;background:var(--c);cursor:pointer;border:1.5px solid #0000;border-radius:50%;width:16px;height:16px;padding:0}.story-swatch-btn--on{border-color:var(--ink-1)}.story-node-toolbar{display:flex}.story-node-toolbar-btn{border:1px solid var(--line-1);background:var(--surface-1);width:22px;height:22px;color:var(--ink-1);cursor:pointer;border-radius:50%;place-items:center;font-size:14px;line-height:1;display:grid;box-shadow:0 2px 8px -3px #00000080}.story-node-toolbar-btn:hover{border-color:var(--c);color:var(--c)}.story-append-menu{z-index:10;background:var(--surface-1);border:1px solid var(--line-1);border-radius:10px;flex-direction:column;gap:6px;min-width:176px;max-height:min(60vh,380px);padding:8px;display:flex;position:absolute;top:calc(100% + 8px);left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 8px 24px -8px #0000008c}.story-append-group-label{letter-spacing:.03em;text-transform:uppercase;color:var(--ink-2);margin-bottom:3px;font-size:10px;font-weight:700;display:block}.story-append-grid{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.story-append-chip{--c:#8a93a3;width:32px;height:32px}.story-append-empty{color:var(--ink-2);grid-column:1/-1;padding:4px 2px;font-size:11px}.custom-kind-dialog{width:640px}.custom-kind-dialog-cols{gap:20px;display:flex}.custom-kind-dialog-form{flex-direction:column;flex:1;gap:14px;min-width:0;display:flex}.custom-kind-dialog-preview{border-left:1px solid var(--line-1);flex-direction:column;flex:none;align-items:flex-start;gap:10px;width:190px;padding-left:20px;display:flex}.custom-kind-dialog-preview .zk-chip{flex:none}.ck-preview-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9.5px}.ck-preview-placeholder{color:var(--ink-4);font-style:italic;font-weight:400}.ck-swatches{flex-wrap:wrap;gap:7px;display:flex}.ck-sw{--c:#8a93a3;border:1.5px dashed var(--c);background:color-mix(in srgb, var(--c) 22%, transparent);cursor:pointer;border-radius:7px;width:22px;height:22px}.ck-sw--on{box-shadow:0 0 0 2px var(--surface-1), 0 0 0 3.5px var(--c)}.ck-sw-picker{--c:#8a93a3;cursor:pointer;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:7px;place-items:center;width:22px;height:22px;padding:2px;display:grid}.ck-sw-picker input[type=color]{cursor:pointer;border:none;border-radius:5px;width:100%;height:100%;padding:0}.ck-sw-picker input[type=color]::-webkit-color-swatch-wrapper{border-radius:5px;padding:0}.ck-sw-picker input[type=color]::-webkit-color-swatch{border:none;border-radius:5px}.ck-sw-picker input[type=color]::-moz-color-swatch{border:none;border-radius:5px}.ck-glyphs{grid-template-columns:repeat(10,1fr);gap:4px;display:grid}.ck-gl{aspect-ratio:1;border:1px solid var(--line-1);color:var(--ink-2);background:var(--surface-0);cursor:pointer;border-radius:6px;place-items:center;font-size:12px;display:grid}.ck-gl--on{border:1px dashed var(--accent-border);color:var(--ink-1);background:color-mix(in srgb, var(--accent) 20%, transparent)}.ck-hint{color:var(--ink-4);margin:0;font-size:10.5px}@media (width<=720px){.custom-kind-dialog{width:90vw}.custom-kind-dialog-cols{flex-direction:column}.custom-kind-dialog-preview{border-left:none;border-top:1px solid var(--line-1);width:auto;padding-top:14px;padding-left:0}}.sk{--c:#fb923c;border:1.5px dashed var(--c);background:linear-gradient(180deg, #ffffff09, transparent 55%), color-mix(in srgb, var(--c) 9%, #0b0e14);width:186px;box-shadow:0 0 18px -6px color-mix(in srgb, var(--c) 60%, transparent), inset 0 0 22px -14px color-mix(in srgb, var(--c) 90%, transparent);cursor:grab;border-radius:10px;flex-direction:column;gap:2px;padding:10px 13px 11px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;display:flex;position:relative}.sk:active{cursor:grabbing}.sk-selected{outline:2px solid var(--ink-1);outline-offset:3px}.sk-title{color:color-mix(in srgb, var(--c) 62%, #fff);letter-spacing:-.01em;align-items:baseline;gap:7px;font-size:15px;font-weight:600;line-height:1.2;display:flex}.sk-glyph{color:var(--c);flex:none;font-size:12px;line-height:1}.sk-title-input{border:none;border-bottom:1px dashed var(--c);min-width:0;color:inherit;font:inherit;background:0 0;outline:none;flex:1;padding:0}.sk-kind{color:var(--ink-2);font-size:11.5px;line-height:1.35}.sk-handle{opacity:0;transition:opacity .1s;border:1.5px solid var(--c)!important;background:#0b0e14!important;border-radius:3px!important;width:9px!important;height:9px!important}.sk:hover .sk-handle,.sk--notiz:hover .sk-handle{opacity:1}@media (any-pointer:coarse){.react-flow__node .react-flow__handle.sk-handle{opacity:1;width:14px!important;height:14px!important}.react-flow__node .react-flow__handle.sk-handle:before{content:"";position:absolute}.react-flow__node .react-flow__handle.sk-handle.react-flow__handle-left:before{inset:-12px -3px -12px -20px}.react-flow__node .react-flow__handle.sk-handle.react-flow__handle-right:before{inset:-12px -20px -12px -3px}.react-flow__node .react-flow__handle.sk-handle.react-flow__handle-top:before{inset:-20px -12px -3px}.react-flow__node .react-flow__handle.sk-handle.react-flow__handle-bottom:before{inset:-3px -12px -20px}}.sk-card-toolbar{border:1px solid var(--line-1);background:var(--surface-1);border-radius:9px;gap:4px;padding:3px;display:flex;box-shadow:0 4px 14px -4px #0000008c}.sk-card-toolbar-btn{width:28px;height:28px;color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;font-size:14px;line-height:1;display:grid}.sk-card-toolbar-btn:hover{background:var(--line-2);color:var(--ink-1)}.sk-card-toolbar-btn--danger:hover{color:#f87171;background:#ef44442e}@media (any-pointer:coarse){.sk-card-toolbar-btn{width:38px;height:38px;font-size:17px}}.sketch-flow-wrapper--connecting .react-flow__pane{cursor:crosshair}.react-flow__node.sk-connect-source>*{outline:2px dashed var(--accent);outline-offset:4px}.react-flow__node.sk-connect-target{cursor:pointer}.react-flow__node.sk-connect-refused{opacity:.35}.sketch-flow-wrapper--selecting .react-flow__pane{touch-action:none}.sketch-touch-selection{z-index:6;pointer-events:none;border:1px dashed var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);border-radius:2px;position:absolute}.sketch-connect-hint{z-index:6;border:1px solid var(--accent);background:var(--surface-1);color:var(--ink-1);border-radius:8px;align-items:center;gap:10px;padding:6px 8px 6px 12px;font-size:12px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000059}.sketch-connect-hint button{border:1px solid var(--line-2);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:6px;min-height:28px;padding:4px 10px;font-size:12px}.sk-preview{border-top:1px dashed color-mix(in srgb, var(--c) 32%, transparent);color:color-mix(in srgb, var(--c) 30%, #dfe3e9);flex-direction:column;gap:5px;margin-top:7px;padding-top:6px;font-size:10px;line-height:1.5;display:flex}.sk-preview-group{flex-direction:column;gap:1px;display:flex}.sk-preview-group-label{text-transform:uppercase;letter-spacing:.04em;color:color-mix(in srgb, var(--c) 55%, #9099a6);opacity:.85;font-family:inherit;font-size:8.5px;font-weight:600}.sk-preview-row{text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.sk-preview-text{text-overflow:ellipsis;white-space:nowrap;font-style:italic;overflow:hidden}.sk-preview-more{color:var(--ink-3);font-style:italic}.detail-dock .sk-detail{flex-direction:column;flex:1;gap:14px;min-height:0;padding:14px;display:flex;overflow-y:auto}.sk-detail-empty{color:var(--ink-3);margin:0;font-size:12px}.sk-detail-title{color:var(--ink-1);font-size:13px;font-weight:600}.sk-detail-section{flex-direction:column;gap:5px;display:flex}.sk-detail-section-label{color:var(--ink-2);font-size:11px;font-weight:600}.sk-detail-textarea{background:var(--surface-2);border:1px solid var(--line-2);width:100%;min-height:70px;color:var(--ink-1);resize:vertical;border-radius:4px;padding:6px 8px;font-size:12px}.sk-detail-fields{flex-direction:column;gap:5px;display:flex}.sk-detail-field-row{grid-template-columns:1fr 70px 1fr auto;align-items:center;gap:4px;display:grid}.sk-detail-field-row input,.sk-detail-field-row select{background:var(--surface-2);border:1px solid var(--line-2);width:100%;min-width:0;color:var(--ink-1);border-radius:4px;padding:3px 6px;font-size:11px}.sk-detail-field-json{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.sk-detail-field-del{color:var(--ink-4);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:13px}.sk-detail-field-del:hover{color:var(--status-error)}.sk-detail-field-add{border:1px dashed var(--line-2);color:var(--ink-3);cursor:pointer;background:0 0;border-radius:4px;align-self:flex-start;padding:2px 7px;font-size:10.5px}.sk-detail-field-add:hover{color:var(--ink-1);border-color:var(--ink-3)}.sk-detail-actions{justify-content:flex-end;display:flex}.sk-detail-save{border:1px solid var(--ink-3);color:var(--ink-1);cursor:pointer;background:0 0;border-radius:4px;padding:4px 12px;font-size:11px}.sk-detail-save:disabled{opacity:.4;cursor:default}.ck-sections{flex-direction:column;gap:6px;display:flex}.ck-section-row{grid-template-columns:1fr 120px auto auto auto;align-items:center;gap:4px;display:grid}.ck-section-row input,.ck-section-row select{background:var(--surface-2);border:1px solid var(--line-2);width:100%;min-width:0;color:var(--ink-1);border-radius:4px;padding:4px 7px;font-size:12px}.ck-section-row button{border:1px solid var(--line-2);color:var(--ink-2);cursor:pointer;background:0 0;border-radius:4px;padding:3px 7px}.ck-section-row button:disabled{opacity:.35;cursor:default}.ck-section-del:hover{color:var(--status-error)}.ck-section-add{border:1px dashed var(--line-2);color:var(--ink-3);cursor:pointer;background:0 0;border-radius:4px;align-self:flex-start;padding:4px 10px;font-size:11px}.ck-section-add:hover{color:var(--ink-1);border-color:var(--ink-3)}.sk--notiz{--c:#b8a88c;box-shadow:0 0 16px -8px #b8a88c80}.sk-body{color:#ddd5c6;min-height:1.4em;font-size:12.5px;line-height:1.45}.sk-body-input{color:#ddd5c6;width:100%;min-height:60px;font:inherit;resize:vertical;background:0 0;border:none;outline:none;font-size:12.5px;line-height:1.45}.sk-area{--c:#8a93a3;border:1.5px dashed var(--c);background:color-mix(in srgb, var(--c) 5%, transparent);width:100%;height:100%;box-shadow:inset 0 0 30px -20px color-mix(in srgb, var(--c) 80%, transparent);border-radius:14px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;position:relative}.sk-area-selected{outline:2px solid var(--ink-1);outline-offset:3px}.sk-area-head{cursor:grab;align-items:baseline;gap:8px;display:flex;position:absolute;top:-13px;left:12px;right:12px}.sk-area-head:active{cursor:grabbing}.sk-area-title{color:color-mix(in srgb, var(--c) 70%, #fff);background:var(--sketch-ground);letter-spacing:-.01em;padding:0 6px;font-size:13px;font-weight:600}.sk-area-title-input{background:var(--sketch-ground);border:none;border-bottom:1px dashed var(--c);min-width:0;color:color-mix(in srgb, var(--c) 70%, #fff);outline:none;flex:1;padding:0 6px;font-size:13px;font-weight:600}.sk-area-kind{color:var(--ink-2);background:var(--sketch-ground);padding:0 6px;font-size:10.5px}.sk-area-delete{background:var(--sketch-ground);color:var(--ink-2);cursor:pointer;border:none;margin-left:auto;padding:0 4px;font-size:14px;line-height:1}.sk-area-delete:hover{color:var(--status-error)}.sk-area-rename{background:var(--sketch-ground);color:var(--ink-3);cursor:pointer;border:none;padding:0 4px;font-size:11px;line-height:1}.sk-area-rename:hover{color:var(--ink-1)}.sk-area-hide{background:var(--sketch-ground);color:var(--ink-3);cursor:pointer;border:none;padding:0 4px;font-size:10px;line-height:1}.sk-area-hide:last-child{margin-left:auto}.sk-area-hide:hover{color:var(--ink-1)}.sk-area-collapse-toggle{background:var(--sketch-ground);color:var(--ink-2);cursor:pointer;border:none;padding:0 2px;font-size:9px;line-height:1}.sk-area-collapse-toggle:hover{color:var(--ink-1)}.sk-area-collapsed{border-style:solid}.sk-area-handle{opacity:0;pointer-events:none}.sk-area--preview{width:220px;height:90px}.sk-edge-label{pointer-events:all;color:var(--ink-2);background:var(--sketch-ground);cursor:text;border-radius:3px;align-items:center;gap:4px;padding:1px 5px;font-size:10px;display:flex;position:absolute}.sk-edge-delete{color:var(--ink-2);cursor:pointer;background:0 0;border:none;padding:0 1px;font-size:13px;line-height:1}.sk-edge-delete:hover{color:var(--status-error)}.sk-edge-grip{pointer-events:all;touch-action:none;border:2px solid var(--ink-1);background:var(--sketch-ground);cursor:grab;z-index:1;border-radius:50%;width:12px;height:12px;position:absolute}.sk-edge-grip:hover{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 45%, transparent)}.sk-edge-grip-count{background:var(--accent);color:#fff;pointer-events:none;border-radius:7px;padding:0 4px;font-size:9px;font-weight:600;line-height:13px;position:absolute;top:-14px;left:8px}.react-flow__node.sk-reconnect-target{outline:2px solid var(--accent-border);outline-offset:3px;border-radius:10px}.sk-edge-rename:hover{color:var(--ink-1)}.sk-edge-number{pointer-events:auto;cursor:text;background:var(--story-accent,#f5a524);color:#0b0e14;border-radius:50%;place-items:center;width:16px;height:16px;font-size:9.5px;font-weight:700;display:grid;position:absolute}.sk-edge-number-input{width:22px;height:14px;color:inherit;font:inherit;text-align:center;background:0 0;border:none;outline:none;padding:0;font-size:9.5px}.sketch-flow .react-flow__edgelabel-renderer{z-index:6}.area-tab-tail{flex-shrink:0;align-items:center;gap:10px;margin-left:auto;padding:0 12px;display:flex}.sketch-tabs-tail{align-items:center;gap:10px;margin-left:auto;padding-bottom:2px;display:flex}.sketch-share-btn{border:1px solid var(--accent-border);color:var(--accent);font-size:var(--font-md);cursor:pointer;background:0 0;border-radius:4px;padding:5px 12px}.sketch-share-btn:hover{background:var(--accent-bg-hover,#818cf81f)}.sketch-presence{align-items:center;display:flex}.sketch-presence-dot{background:var(--c);width:10px;height:10px;box-shadow:0 0 6px 0 var(--c);border:2px solid var(--sketch-ground);border-radius:50%;margin-left:-4px}.sketch-presence-dot:first-child{margin-left:0}.sketch-presence-more{color:var(--ink-3);margin-left:4px;font-size:10px}.workspace-presence{cursor:default;border-radius:999px;outline:none;align-items:center;padding:4px 6px;display:inline-flex;position:relative}.workspace-presence:hover,.workspace-presence:focus-visible{background:var(--surface-2)}.workspace-presence:focus-visible{box-shadow:0 0 0 2px var(--line-2)}.workspace-presence-tip{z-index:70;border:1px solid var(--line-2);background:var(--surface-1);min-width:180px;max-width:280px;font-size:var(--font-sm);color:var(--ink-1);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;border-radius:6px;flex-direction:column;gap:6px;padding:8px 10px;transition:opacity .12s;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #00000059}.workspace-presence:hover .workspace-presence-tip,.workspace-presence:focus-visible .workspace-presence-tip{opacity:1;visibility:visible}.workspace-presence-tip-head{color:var(--ink-3);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.04em}.workspace-presence-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.workspace-presence-row{text-overflow:ellipsis;align-items:center;gap:8px;display:flex;overflow:hidden}.workspace-presence-swatch{background:var(--c);border-radius:50%;flex:none;width:8px;height:8px}.sketch-share-row{margin:14px 0}.sketch-share-row h3{font-size:var(--font-md);color:var(--ink-1);margin:0 0 2px}.sketch-guest-shell .app-header{gap:10px}.sketch-guest-main{padding:0}.sketch-guest-main .sketch-canvas-body{height:100%;padding:12px 16px 0}.sketch-flow-wrapper{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative}.sketch-flow-wrapper--drag-over:after{content:"";border:2px dashed var(--accent-border);pointer-events:none;z-index:5;border-radius:10px;position:absolute;inset:8px}.sketch-lens-toolbar{z-index:6;gap:8px;display:flex;position:absolute;top:12px;right:12px}.sketch-lens-toolbar-btn{border:1px solid var(--line-1);background:var(--surface-1);width:30px;height:30px;color:var(--ink-2);cursor:pointer;border-radius:7px;place-items:center;font-size:14px;display:grid;box-shadow:0 2px 8px #0000004d}.sketch-lens-toolbar-btn:hover{color:var(--ink-1);border-color:var(--accent-border)}.sketch-lens-toolbar-btn--active{color:var(--accent-1,#67e8f9);border-color:var(--accent-border);background:color-mix(in srgb, var(--accent-1,#67e8f9) 12%, var(--surface-1))}.sketch-lens-band{z-index:6;border:1px solid var(--line-1);background:var(--surface-1);color:var(--ink-2);border-radius:8px;align-items:center;gap:10px;padding:6px 8px 6px 12px;font-size:11.5px;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000059}.sketch-lens-band-reset{border:1px solid var(--line-2);color:var(--ink-1);cursor:pointer;background:0 0;border-radius:6px;padding:3px 8px;font-size:11px}.sketch-lens-band-reset:hover{border-color:var(--accent-border)}.sketch-cursors-overlay{pointer-events:none;z-index:5;position:absolute;inset:0;overflow:hidden}.sketch-cursor{will-change:transform;align-items:flex-start;gap:4px;transition:transform 60ms linear;display:flex;position:absolute;top:0;left:0}.sketch-cursor-glyph{filter:drop-shadow(0 1px 2px #00000080);flex-shrink:0}.sketch-cursor-label{background:var(--c);color:#0b0d12;white-space:nowrap;border-radius:3px;margin-top:12px;padding:1px 6px;font-size:10px;font-weight:600;box-shadow:0 1px 3px #0006}.sketch-presence-menu{position:relative}.sketch-presence-trigger{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 8px 3px 4px;display:flex}.sketch-presence-trigger:hover{border-color:var(--line-2);background:var(--surface-2)}.sketch-presence-trigger-label{font-size:var(--font-sm);color:var(--ink-3)}.sketch-presence-popover{z-index:20;border:1px solid var(--line-2);background:var(--surface-1);border-radius:6px;flex-direction:column;gap:10px;width:220px;padding:12px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #00000059}.sketch-presence-field{font-size:var(--font-sm);color:var(--ink-2);flex-direction:column;gap:4px;display:flex}.sketch-presence-name-input{border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink-1);font-size:var(--font-md);border-radius:4px;padding:5px 8px}.sketch-presence-toggle{font-size:var(--font-sm);color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;display:flex}.sketch-presence-close{align-self:flex-end}.sk-edge-label input{background:var(--surface-2);border:1px solid var(--line-2);color:var(--ink-1);border-radius:3px;outline:none;padding:1px 5px;font-size:10px}.app-shell.presentation-active>.app-header,.app-shell.presentation-active>.early-stage-banner,.app-shell.presentation-active>.app-footer,.app-shell.presentation-active .sidebar,.app-shell.presentation-active .explorer-resize-handle,.app-shell.presentation-active .detail-dock,.app-shell.presentation-active .static-toolbar,.app-shell.presentation-active .react-flow__attribution,.app-shell.presentation-active .agg-add-cmd-row,.app-shell.presentation-active .agg-col-add-btn,.app-shell.presentation-active .agg-lane-delete,.app-shell.presentation-active .agg-header-delete,.app-shell.presentation-active .flow-tabs,.app-shell.presentation-active .flow-add-node-btn,.app-shell.presentation-active .flow-insert-btn,.app-shell.presentation-active .flow-insert-col-btn,.app-shell.presentation-active .flow-slice-col__move,.app-shell.presentation-active .flow-slice-col__delete,.app-shell.presentation-active .flow-tile__example-add,.app-shell.presentation-active .flow-projection-tag__delete,.app-shell.presentation-active .flow-slice-col__stale{display:none}.app-shell.presentation-active .detail-dock.detail-dock--present{width:480px;display:flex}.app-shell.presentation-active .yaml-cm-container .cm-editor{max-height:none}.app-shell.presentation-active .detail-dock-bar,.app-shell.presentation-active .detail-resize-handle,.app-shell.presentation-active .yaml-toolbar{display:none}.app-shell.presentation-active .canvas-tabs,.app-shell.presentation-active .area-tab-bar{opacity:.35;transition:opacity .2s}.app-shell.presentation-active .canvas-tabs:hover,.app-shell.presentation-active .area-tab-bar:hover{opacity:1}.presentation-caption-layer{z-index:9998;pointer-events:none;justify-content:center;padding:0 10vw;display:flex;position:fixed;bottom:48px;left:0;right:0}.presentation-caption{text-align:center;text-wrap:balance;max-width:60ch;color:var(--ink-1);border:1px solid var(--line-2);background:#14171ceb;border-radius:10px;margin:0;padding:14px 24px;font-size:22px;line-height:1.4;animation:.28s ease-out presentation-caption-in;box-shadow:0 8px 28px #0000008c}@keyframes presentation-caption-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.react-flow__node.presentation-dimmed,.react-flow__edge.presentation-dimmed{opacity:.16;filter:saturate(.35);transition:opacity .35s,filter .35s}.react-flow__node.presentation-lit{filter:drop-shadow(0 0 14px #78a0ff73);transition:filter .35s}.react-flow__node.sk-lens-dimmed,.react-flow__edge.sk-lens-dimmed{opacity:.2;filter:saturate(.4);transition:opacity .25s,filter .25s}.react-flow__node.sk-lens-tag-ring .sk{box-shadow:0 0 0 2px var(--tag-ring)}.flow-tile.presentation-dimmed{opacity:.14;filter:saturate(.3);transition:opacity .35s,filter .35s}.flow-tile.presentation-lit{transition:box-shadow .35s;box-shadow:0 0 0 2px #78a0ff80,0 0 18px #78a0ff59}.flow-edge.presentation-dimmed{transition:opacity .35s;opacity:.12!important}.flow-edge.presentation-lit{filter:drop-shadow(0 0 6px #78c8a0a6);transition:opacity .35s,filter .35s}.detail-panel .kind-field.presentation-dimmed{opacity:.25;transition:opacity .35s}.detail-panel .kind-field.presentation-lit{border-radius:4px;transition:box-shadow .35s;box-shadow:0 0 0 2px #78a0ff80}.app-shell.presentation-active .flow-projection-edges{z-index:6}.presentation-veil{z-index:9000;background:var(--surface-0);opacity:0;pointer-events:none;transition:opacity .26s;position:fixed;inset:0}.presentation-veil--on{opacity:1}.app-shell.presentation-active .flow-empty{visibility:hidden}.app-shell.presentation-active .flow-canvas{transition:zoom .3s}.app-shell.presentation-active .flow-grid-container{align-items:safe center}.app-shell.presentation-active .flow-bc-row{justify-content:safe center}.pm-node{min-width:210px;max-width:320px;color:var(--ink-1);font-size:var(--font-md);background:#17091f;border:2px solid #7e22ce;border-radius:8px;position:relative}.pm-node.selected{border-color:#a855f7;box-shadow:0 0 0 2px #a855f74d}.pm-node-header-row{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;padding:7px 10px 4px;display:flex}.pm-node-tag{font-size:var(--font-xs);color:#fff;background:#7e22ce;border-radius:3px;flex-shrink:0;padding:1px 5px;font-weight:700}.pm-node-name{font-weight:600;font-size:var(--font-lg);flex:1}.pm-guarantee{color:#d8b4fe;background:#7e22ce4d;border-radius:3px;flex-shrink:0;padding:1px 4px;font-size:9px}.pm-collapsed-count{font-size:var(--font-xs);color:#d8b4fe;white-space:nowrap;background:#7e22ce38;border-radius:10px;padding:1px 6px}.pm-toggle{font-size:var(--font-xs);color:#6b7280}.pm-warn-dot{background:var(--status-warn);border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 0 2px #f59e0b2e}.pm-correlation{font-size:var(--font-sm);align-items:baseline;gap:5px;padding:0 10px 7px;display:flex}.pm-correlation-key{text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-size:9px}.pm-correlation-val{color:#d8b4fe;font-family:ui-monospace,monospace;font-size:var(--font-sm)}.pm-correlation-val--missing{color:var(--status-warn);font-family:inherit;font-style:italic}.pm-body{border-top:1px solid #7e22ce4d}.pm-section{padding:4px 0}.pm-section+.pm-section{border-top:1px dashed #7e22ce38}.pm-section-label{text-transform:uppercase;letter-spacing:.05em;color:#c084fc;padding:3px 10px 2px;font-size:9px;font-weight:700}.pm-empty{font-size:var(--font-xs);color:#6b7280;padding:2px 10px 4px;font-style:italic}.pm-group{align-items:flex-start;gap:4px;padding:2px 10px 2px 8px;display:flex;position:relative}.pm-agg-label{color:#6b7280;white-space:nowrap;flex-shrink:0;padding-top:3px;font-size:9px}.pm-chips{flex-wrap:wrap;flex:1;gap:2px;display:flex}.pm-chip{font-size:var(--font-sm);border-radius:3px;align-items:center;gap:3px;padding:1px 5px;line-height:1.4;display:inline-flex}.pm-chip--evt{color:#fdba74;background:#f9731629}.pm-chip--cmd{color:#93c5fd;background:#3b82f629}.pm-chip--timer{color:#fcd34d;background:#f59e0b29}.pm-reaction{padding:3px 10px 4px}.pm-reaction+.pm-reaction{border-top:1px dotted #7e22ce2e}.pm-reaction-head{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.pm-reaction-emits{color:#6b7280;font-size:var(--font-xs);align-items:center;gap:3px;display:inline-flex}.pm-reaction-rule{color:#6b7280;padding:2px 0 0 2px;font-size:9px;font-style:italic}.pm-reaction-timers{flex-wrap:wrap;gap:4px;padding-top:2px;display:flex}.pm-timer-op{color:#fcd34d;opacity:.8;font-size:9px}.pm-timer-op--cancel{color:#94a3b8}.pm-timer{align-items:baseline;gap:6px;padding:2px 10px;display:flex}.pm-timer-label{color:#6b7280;font-family:ui-monospace,monospace;font-size:9px}.pm-end{padding:2px 10px 3px}.pm-end-name{font-size:var(--font-sm);color:#d8b4fe}.pm-end-condition{color:#6b7280;font-size:9px;font-style:italic;display:block}.pm-handle{background-color:#a855f7!important}.pm-handle--inline{margin-top:3px;background:#a855f7!important;border:2px solid #17091f!important;position:relative!important;top:auto!important;left:auto!important;right:auto!important;transform:none!important}.pm-editor-section{margin:14px 0 0}.pm-editor-section h4{font-size:var(--font-md);color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px}.pm-editor-hint{font-size:var(--font-xs);color:var(--ink-3);margin:0 0 8px;line-height:1.5}.pm-editor-empty{font-size:var(--font-sm);color:var(--ink-3);margin:0 0 6px;font-style:italic}.pm-editor-row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.pm-editor-name{flex:0 auto;width:150px;min-width:100px}.pm-editor-rule{flex:200px;min-width:140px}.pm-editor-num{flex:none;width:64px}.detail-panel .pm-editor-select{flex:none;width:auto;max-width:190px}.detail-panel .pm-editor-name{flex:0 auto;width:150px;min-width:100px}.detail-panel .pm-editor-rule{flex:180px;min-width:130px}.detail-panel .pm-editor-num{flex:none;width:64px}.pm-editor-remove{color:var(--status-error);cursor:pointer;font-size:var(--font-md);opacity:.6;background:0 0;border:0;padding:0 4px}.pm-editor-remove:hover:not(:disabled){opacity:1}.pm-editor-remove:disabled{opacity:.2;cursor:not-allowed}.pm-editor-reaction{border:1px solid var(--line,#ffffff14);background:#a855f70d;border-left:2px solid #a855f7;border-radius:0 5px 5px 0;margin-bottom:8px;padding:8px}.pm-editor-reaction .pm-editor-row{margin-bottom:6px}.pm-editor-multi{flex-wrap:wrap;align-items:center;gap:4px;margin-top:5px;display:flex}.pm-editor-multi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);min-width:46px;font-size:9px}.pm-editor-chip{font-size:var(--font-sm);color:#d8b4fe;background:#7e22ce38;border-radius:3px;align-items:center;gap:3px;padding:1px 5px;display:inline-flex}.pm-editor-chip button{color:#ffffff59;cursor:pointer;font-size:var(--font-xs);background:0 0;border:0;padding:0;line-height:1}.pm-editor-chip button:hover{color:#fff}.pm-editor-add-chip{color:var(--ink-3);cursor:pointer;font-size:var(--font-xs);background:0 0;border:1px dashed #ffffff2e;border-radius:3px;padding:0 6px}.pm-editor-add-chip:hover{color:var(--ink-1);border-color:#ffffff5c}.note-layer{z-index:1001;pointer-events:none;position:absolute;inset:0;overflow:visible}.note-leaders{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.note-card,.note-pill{pointer-events:auto;z-index:4}.note-card{background:#1e1b15;border:1px solid #453d2e;border-radius:5px;width:252px;box-shadow:0 6px 20px #00000080}.note-card-head{cursor:grab;align-items:center;gap:6px;padding:7px 10px 0;display:flex}.note-card-head:active{cursor:grabbing}.note-card-tag{letter-spacing:.1em;text-transform:uppercase;color:#b9a077;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:8.5px}.note-card-collapse{color:#8a8570;cursor:pointer;background:0 0;border:1px solid #453d2e;border-radius:3px;width:15px;height:15px;margin-left:auto;font-size:11px;line-height:1}.note-card-collapse:hover{color:#d8d3c6;border-color:#6e6245}.note-card-date{letter-spacing:.05em;color:#5b6472;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:8.5px}.note-text-editor{box-sizing:border-box;resize:none;width:100%;font:inherit;color:#d8d3c6;background:0 0;border:none;min-height:34px;margin:5px 0 0;padding:0 10px;font-size:12px;line-height:1.55;display:block;overflow:hidden}.note-text-editor:focus{outline:none}.note-text-editor::placeholder{color:#6c6552}.note-card-targets{flex-wrap:wrap;gap:4px;padding:6px 10px 9px;display:flex}.note-target-chip{color:#c9c2b0;cursor:pointer;background:#b9a07714;border:1px solid #b9a07759;border-radius:3px;align-items:center;gap:4px;padding:1px 4px 1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9px;display:inline-flex}.note-target-chip--elsewhere{opacity:.75;border-style:dashed}.note-target-dot{border-radius:1px;flex-shrink:0;width:5px;height:5px}.note-target-remove{color:#7a7460;cursor:pointer;background:0 0;border:none;padding:0;font-size:10px;line-height:1}.note-target-remove:hover{color:#e05252}.note-target-add{color:#6c7587;cursor:pointer;background:0 0;border:1px dashed #453d2e;border-radius:3px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9px}.note-target-add:hover{color:#b9a077;border-color:#6e6245}.note-target-add--picking{color:#cfe0f7;background:#5b8dd626;border-style:solid;border-color:#5b8dd6}.note-card-foot{border-top:1px solid #2c2717;align-items:center;gap:8px;margin-top:2px;padding:6px 10px 8px;display:flex}.note-card-resolve{color:#b9a077;cursor:pointer;background:0 0;border:1px solid #453d2e;border-radius:3px;padding:2px 7px;font-size:10.5px}.note-card-resolve:hover{background:#b9a0771f}.note-card-resolve--done{color:#6c7587}.note-card-delete{color:#6c7587;cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:11px}.note-card-delete:hover{color:#e05252}.note-card-delete-confirm{gap:6px;margin-left:auto;font-size:10.5px;display:flex}.note-card-delete-confirm button{color:#d8d3c6;cursor:pointer;background:0 0;border:1px solid #453d2e;border-radius:3px;padding:1px 6px}.note-card-delete-confirm button:first-child{color:#f2a5a5;border-color:#6e3a3a}.note-pill{color:#b9a077;cursor:grab;white-space:nowrap;background:#1e1b15;border:1px solid #453d2e;border-radius:12px;align-items:center;gap:6px;padding:3px 9px 3px 7px;display:inline-flex;box-shadow:0 3px 10px #00000073}.note-pill:active{cursor:grabbing}.note-pill-text{letter-spacing:.05em;color:#a79878;text-overflow:ellipsis;max-width:160px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9px;overflow:hidden}.notes-menu{display:inline-flex;position:relative}.notes-menu-chip{color:#c9b892;cursor:pointer;white-space:nowrap;background:#241f16;border:1px solid #4d4436;border-radius:16px;align-items:center;gap:7px;height:32px;padding:0 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:600;display:inline-flex}.notes-menu-chip:hover{background:#2c2519}.notes-menu-chip--hidden{opacity:.55;font-weight:400}.notes-menu-panel{z-index:41;background:#12151b;border:1px solid #2c333f;border-radius:6px;flex-direction:column;gap:1px;min-width:190px;margin-top:6px;padding:4px;display:flex;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #00000073}.notes-menu-item{width:100%;color:var(--ink-1);font-size:var(--font-sm);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:7px;padding:5px 7px;display:flex}.notes-menu-item:hover{background:#1c2230}.notes-menu-item--link{color:#b9a077;border-top:1px solid #232a35;border-radius:0 0 4px 4px;margin-top:2px}.notes-elsewhere-mark{letter-spacing:.05em;text-transform:uppercase;color:#b9a077;cursor:pointer;border:1px solid #4d4436;border-radius:3px;align-items:center;gap:4px;margin-top:6px;padding:0 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:8.5px;line-height:14px;display:inline-flex}.notes-elsewhere-mark:hover{background:#b9a0771a}.notes-panel-filter{font-size:var(--font-sm);color:var(--ink-2);align-items:center;gap:6px;margin-bottom:14px;display:flex}.notes-panel-section{margin-bottom:18px}.notes-panel-section h4{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin:0 0 6px;font-size:11px}.notes-panel-group{margin-bottom:10px}.notes-panel-group-label{font-size:var(--font-sm);color:var(--ink-2);align-items:center;gap:6px;padding:4px 0;font-weight:600;display:flex}.notes-panel-group-count{color:var(--ink-3);border:1px solid var(--line-2);border-radius:3px;padding:0 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9px}.notes-panel-row{background:var(--surface-2);border:1px solid var(--line-1);border-radius:6px;align-items:flex-start;gap:6px;width:100%;margin-bottom:6px;padding:8px 10px;display:flex}.notes-panel-row:hover{border-color:#453d2e}.notes-panel-row-main{text-align:left;min-width:0;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;flex:1;margin:0;padding:0}.notes-panel-row-delete{color:var(--ink-3);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:2px;font-size:11px}.notes-panel-row-delete:hover{color:#e05252}.notes-panel-row-delete-confirm{flex-shrink:0;gap:4px;font-size:10px;display:flex}.notes-panel-row-delete-confirm button{border:1px solid var(--line-2);color:var(--ink-1);cursor:pointer;background:0 0;border-radius:3px;padding:1px 5px}.notes-panel-row-delete-confirm button:first-child{color:#f2a5a5;border-color:#6e3a3a}.notes-panel-row-body{color:var(--ink-1);white-space:pre-wrap;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:5px;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.notes-panel-row-meta{flex-wrap:wrap;gap:4px;display:flex}.notes-panel-row-chip{border:1px solid var(--line-2);color:var(--ink-2);border-radius:3px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:9px}.notes-panel-row-chip--none{color:var(--ink-3);border-style:dashed}.notes-panel-empty,.notes-panel-hint{font-size:var(--font-sm);color:var(--ink-3)}.notes-panel-hint kbd{border:1px solid var(--line-2);border-radius:3px;padding:0 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.inspector-panel-tabs{gap:2px;display:flex}.inspector-panel-tab{color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;display:inline-flex}.inspector-panel-tab:hover{color:var(--ink-1)}.inspector-panel-tab--active{background:var(--line-1);color:var(--ink-1);font-weight:600}.inspector-panel-tab-marker{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px}.tag-chip{--tc:#8a93a3;border:1px solid color-mix(in srgb, var(--tc) 45%, transparent);background:color-mix(in srgb, var(--tc) 14%, transparent);min-width:0;max-width:100%;color:color-mix(in srgb, var(--tc) 70%, var(--ink-1));white-space:nowrap;line-height:1.4;font:inherit;border-radius:8px;align-items:center;gap:5px;display:inline-flex}.tag-chip--xs{max-width:120px;padding:0 6px;font-size:9px}.tag-chip--sm{padding:2px 8px;font-size:10.5px}.tag-chip--button{cursor:pointer;text-align:left}.tag-chip--button:hover{background:color-mix(in srgb, var(--tc) 24%, transparent)}.tag-chip--active{background:color-mix(in srgb, var(--tc) 32%, transparent);border-color:var(--tc);color:var(--ink-1)}.tag-chip--more{--tc:var(--ink-4);color:var(--ink-3)}.tag-chip-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.tag-chip-count{opacity:.75;font-variant-numeric:tabular-nums;margin-left:auto;font-size:.9em}.tag-chip-remove{color:inherit;opacity:.6;cursor:pointer;background:0 0;border:none;padding:0 0 0 2px;font-size:11px;line-height:1}.tag-chip-remove:hover{opacity:1;color:var(--status-error)}.tag-chip-row{flex-wrap:wrap;gap:4px;min-width:0;margin-top:4px;display:flex}.tag-input{flex-direction:column;gap:4px;display:flex}.tag-input-chips{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.tag-input-field{border:1px dashed var(--line-2);min-width:70px;color:var(--ink-1);background:0 0;border-radius:10px;flex:1;padding:2px 8px;font-size:10.5px}.tag-input-hint,.tag-input-empty{color:var(--ink-3);font-size:10.5px}.tag-filter{flex-direction:column;gap:6px;display:flex}.tag-filter-head{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);align-items:center;gap:6px;font-size:10px;font-weight:600;display:flex}.tag-filter-actions{gap:4px;margin-left:auto;display:flex}.tag-filter-action{border:1px solid var(--line-2);color:var(--ink-2);cursor:pointer;text-transform:none;letter-spacing:0;background:0 0;border-radius:6px;padding:1px 6px;font-size:10px}.tag-filter-action--on{border-color:var(--ink-3);color:var(--ink-1)}.tag-filter-list{flex-direction:column;gap:4px;display:flex}.tag-filter-list .tag-chip{width:100%}.tag-menu-backdrop{z-index:1000;position:fixed;inset:0}.tag-menu{z-index:1001;border:1px solid var(--line-2);background:var(--surface-1);border-radius:10px;flex-direction:column;min-width:220px;padding:6px;display:flex;position:fixed;box-shadow:0 8px 28px #00000059}.tag-menu-head{padding:4px 6px 8px}.tag-menu button{text-align:left;color:var(--ink-1);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 8px;font-size:12px}.tag-menu button:hover{background:var(--surface-2)}.tag-menu .tag-menu-danger{color:var(--status-error)}.tag-menu-sep{background:var(--line-2);height:1px;margin:4px 0}.tag-dialog-hint{color:var(--ink-3);margin:0 0 12px;font-size:12px}.tag-style-preview{margin:4px 0 12px}.tag-rename-scope{flex-direction:column;gap:4px;margin-bottom:10px;font-size:12px;display:flex}.tag-manager{width:min(640px,92vw)}.tag-manager-search{width:100%;margin-bottom:10px}.tag-manager-list{flex-direction:column;gap:10px;max-height:55vh;display:flex;overflow:auto}.tag-manager-group{flex-direction:column;gap:4px;display:flex}.tag-manager-group-head{border-bottom:1px solid var(--line-2);align-items:center;gap:6px;padding-bottom:2px;display:flex}.tag-manager-group-name{color:var(--ink-2);flex:1;font-size:12px;font-weight:600}.tag-manager-row{grid-template-columns:minmax(0,1fr) auto auto auto;place-items:center start;gap:10px;display:grid}.tag-manager-count{color:var(--ink-3);white-space:nowrap;font-size:11px}.tag-manager-actions{gap:4px;display:flex}.tag-manager-empty{color:var(--ink-3);font-size:12px}.tag-lens{display:inline-flex;position:relative}.tag-lens-pill{color:#e3b273;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:#d99b4e21;border:1px solid #d99b4e73;border-radius:16px;height:32px;padding:0 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px}.tag-lens-pill:hover{color:#f2d3a5;background:#d99b4e38}.tag-lens-panel{z-index:41;background:#12151b;border:1px solid #2c333f;border-radius:6px;flex-direction:column;gap:10px;width:240px;max-height:60vh;margin-top:6px;padding:10px;display:flex;position:absolute;top:100%;right:0;overflow:auto;box-shadow:0 8px 24px #00000073}.tag-lens-colorby{color:var(--ink-3);justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.react-flow__node.tag-lens-dim,.react-flow__edge.tag-lens-dim{opacity:.22}.ctx-tile--accent:not(.ctx-tile--selected){border-color:color-mix(in srgb, var(--tile-accent) 55%, #333a46);border-left-color:var(--tile-accent)}.ctx-tile--external.ctx-tile--accent:not(.ctx-tile--selected){border-color:var(--tile-accent)}.ctx-detail-row-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.tag-dots{pointer-events:auto;z-index:2;background:#12151b;border-radius:6px;align-items:center;gap:3px;padding:1px 3px;display:flex;position:absolute;top:-5px;right:10px}.tag-dot{background:var(--tc);border-radius:50%;width:7px;height:7px}.tag-dots-more{color:var(--ink-3);font-size:8px;line-height:1}.flow-tabs-spacer{flex:1}.flow-slice-col-wrap--tag-dim{opacity:.25}.sk-edge-swatch{flex:none;display:block}[data-testid=zettelkasten-arrows] .zk-chip-glyph{width:auto}.zk-chip--armed{background:color-mix(in srgb, var(--c) 22%, transparent);box-shadow:0 0 0 1px var(--c);border-style:solid}.sk-edge-kind-select{pointer-events:all;max-width:130px;color:var(--ink-1);background:var(--surface-2);border:1px solid var(--line-2);border-radius:3px;padding:0 2px;font-size:10px}.ek-line-options{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.ek-line-option{border:1px solid var(--line-2);cursor:pointer;background:0 0;border-radius:5px;align-items:center;padding:6px 8px;display:flex}.ek-line-option--active{border-color:var(--accent-border);background:color-mix(in srgb, var(--accent) 18%, transparent)}.ek-directed{color:var(--ink-2);align-items:center;gap:4px;margin-left:6px;font-size:11px;display:flex}.ek-preview{align-items:center;gap:4px;max-width:100%;padding:14px 0;display:flex}.ek-preview-card{border:1px dashed var(--ink-4);border-radius:6px;flex:none;width:28px;height:26px}.ck-hint--error{color:var(--status-error)}@media (any-pointer:coarse){.rm-event-chip-unlink,.rm-query-pill-delete,.policy-chip-unlink,.actor-chip-unlink,.agg-evt-unlink,.agg-header-delete,.agg-lane-delete,.flow-tile__connect,.flow-tile__delete,.flow-tile__model-delete,.flow-tile__example-add,.flow-slice-col__delete,.flow-insert-btn,.flow-insert-col-btn,.zk-chip-eye{opacity:.7}.zk-chip-eye{pointer-events:auto}.tree-delete-btn{display:inline-block}.zk-chip-edit{display:grid}.rm-event-chip-unlink,.rm-query-pill-delete,.policy-chip-unlink,.actor-chip-unlink,.agg-evt-unlink,.agg-header-delete,.agg-lane-delete,.flow-tile__example-add,.flow-slice-col__delete,.flow-insert-btn,.tree-delete-btn,.zk-chip-eye{position:relative}.rm-event-chip-unlink:after,.rm-query-pill-delete:after,.policy-chip-unlink:after,.actor-chip-unlink:after,.agg-evt-unlink:after,.agg-header-delete:after,.agg-lane-delete:after,.flow-slice-col__delete:after,.tree-delete-btn:after,.flow-tile__connect:after,.flow-tile__delete:after,.flow-tile__model-delete:after,.zk-chip-edit:after,.zk-chip-eye:after{content:"";position:absolute;inset:-9px -9px -9px -3px}.flow-insert-btn:after,.flow-insert-col-btn:after{content:"";position:absolute;inset:-6px}.flow-tab-rename{display:inline-block}.flow-tab-rename,.flow-tab-close{position:relative}.flow-tab-rename:after,.flow-tab-close:after{content:"";position:absolute;inset:-10px -6px}.sk-area-collapse-toggle,.sk-area-rename,.sk-area-hide,.sk-area-delete{min-width:28px;min-height:28px}.sk-edge-delete{min-width:30px;min-height:30px;font-size:16px}:is(.agg-handle,.cmd-handle,.evt-handle,.rm-handle,.q-handle,.policy-handle,.actor-handle,.event-handler-handle,.es-handle,.domain-service-handle,.pm-handle){opacity:1!important}:is(.agg-handle,.cmd-handle,.evt-handle,.rm-handle,.q-handle,.policy-handle,.actor-handle,.event-handler-handle,.es-handle,.domain-service-handle,.pm-handle):before{content:"";position:absolute;top:-10px;bottom:-10px}:is(.agg-handle,.cmd-handle,.evt-handle,.rm-handle,.q-handle,.policy-handle,.actor-handle,.event-handler-handle,.es-handle,.domain-service-handle,.pm-handle).react-flow__handle-left:before{left:-16px;right:-2px}:is(.agg-handle,.cmd-handle,.evt-handle,.rm-handle,.q-handle,.policy-handle,.actor-handle,.event-handler-handle,.es-handle,.domain-service-handle,.pm-handle).react-flow__handle-right:before{left:-2px;right:-16px}.ctx-tile-handle{opacity:.55;width:14px;height:14px}.react-flow__node .react-flow__resize-control.handle{border-radius:3px;width:14px;height:14px}.sk-edge-grip{width:16px;height:16px}.sk-edge-grip:before{content:"";position:absolute;inset:-14px}.sk-edge-kind-select{max-width:150px;min-height:30px;font-size:16px}.ck-sw,.ck-sw-picker{width:30px;height:30px}.ek-line-option{min-height:36px;padding:6px 10px}.ek-directed{min-height:36px;padding:0 6px;font-size:13px}.ek-directed input{width:20px;height:20px}#ek-label,#ek-context{font-size:16px}}.versions-dialog-card{width:560px;max-height:85vh;overflow-y:auto}.version-save{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.version-save .form-row{align-self:stretch}.version-lists h3{font-size:var(--font-md);margin:8px 0 4px}.version-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.version-row{border:1px solid var(--line-2);background:var(--surface-0);border-radius:6px;justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 10px;display:flex}.version-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.version-row-title{overflow-wrap:anywhere;font-weight:600}.version-row-meta,.version-row-description{color:var(--ink-2);font-size:var(--font-sm)}.version-row-actions{flex-shrink:0;gap:6px;display:flex}.version-automatic{margin-top:10px}.version-automatic summary{cursor:pointer;color:var(--ink-2)}.version-error{color:var(--danger,#f87171);margin:0}.version-banner{background:var(--accent-bg-hover,#818cf81f);border-bottom:1px solid var(--accent-border);color:var(--ink-1,inherit);z-index:10;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 14px;display:flex;position:sticky;top:0}.version-banner-text{flex-direction:column;gap:2px;margin-right:auto;display:flex}.version-banner-title{font-weight:600}.version-banner-meta{color:var(--ink-2);font-size:var(--font-sm)}.work-body--version-preview{outline:2px dashed var(--accent-border);outline-offset:-2px}
