.djs-parent{--color-grey-225-10-15:#22242a;--color-grey-225-10-35:#505562;--color-grey-225-10-55:#818798;--color-grey-225-10-75:#b9bcc6;--color-grey-225-10-80:#c7c9d1;--color-grey-225-10-85:#d5d7dd;--color-grey-225-10-90:#e3e4e8;--color-grey-225-10-95:#f1f2f4;--color-grey-225-10-97:#f7f7f8;--color-blue-205-100-45:#0086e6;--color-blue-205-100-45-opacity-30:#0086e64d;--color-blue-205-100-50:#0095ff;--color-blue-205-100-50-opacity-15:#0095ff26;--color-blue-205-100-70:#80caff;--color-blue-205-100-95:#e6f4ff;--color-green-150-86-44:#10d170;--color-red-360-100-40:#c00;--color-red-360-100-45:#e60000;--color-red-360-100-92:#ffd6d6;--color-red-360-100-97:#fff0f0;--color-white:#fff;--color-black:#000;--color-black-opacity-10:#0000001a;--color-black-opacity-30:#0000004d;--canvas-fill-color:var(--color-white);--bendpoint-fill-color:var(--color-blue-205-100-45);--bendpoint-stroke-color:var(--canvas-fill-color);--context-pad-entry-background-color:var(--color-white);--context-pad-entry-hover-background-color:var(--color-grey-225-10-95);--element-dragger-color:var(--color-blue-205-100-50);--element-hover-outline-fill-color:var(--color-blue-205-100-45);--element-selected-outline-stroke-color:var(--color-blue-205-100-50);--element-selected-outline-secondary-stroke-color:var(--color-blue-205-100-70);--lasso-fill-color:var(--color-blue-205-100-50-opacity-15);--lasso-stroke-color:var(--element-selected-outline-stroke-color);--palette-entry-color:var(--color-grey-225-10-15);--palette-entry-hover-color:var(--color-blue-205-100-45);--palette-entry-selected-color:var(--color-blue-205-100-50);--palette-separator-color:var(--color-grey-225-10-75);--palette-toggle-hover-background-color:var(--color-grey-225-10-55);--palette-background-color:var(--color-grey-225-10-97);--palette-border-color:var(--color-grey-225-10-75);--popup-font-family:"IBM Plex Sans", sans-serif;--popup-font-size:14px;--popup-header-entry-selected-color:var(--color-blue-205-100-50);--popup-header-font-weight:bolder;--popup-header-group-divider-color:var(--color-grey-225-10-75);--popup-background-color:var(--color-white);--popup-border-color:transparent;--popup-shadow-color:var(--color-black-opacity-30);--popup-disabled-color:var(--color-grey-225-10-35);--popup-description-color:var(--color-grey-225-10-35);--popup-no-results-color:var(--color-grey-225-10-55);--popup-entry-title-color:var(--color-grey-225-10-55);--popup-entry-hover-color:var(--color-grey-225-10-95);--popup-search-border-color:var(--color-grey-225-10-75);--popup-search-focus-border-color:var(--color-blue-205-100-50);--popup-search-focus-background-color:var(--color-blue-205-100-95);--resizer-fill-color:var(--color-blue-205-100-45);--resizer-stroke-color:var(--canvas-fill-color);--search-font-family:"IBM Plex Sans", sans-serif;--search-font-size:14px;--search-container-background-color:var(--color-white);--search-shadow-color:var(--color-black-opacity-30);--search-input-border-color:var(--color-grey-225-10-75);--search-input-focus-border-color:var(--color-blue-205-100-50);--search-input-focus-background-color:var(--color-blue-205-100-95);--search-result-hover-background-color:var(--color-grey-225-10-95);--search-result-secondary-color:var(--color-grey-225-10-55);--search-preselected-background-color:var(--color-blue-205-100-50-opacity-15);--shape-attach-allowed-stroke-color:var(--color-blue-205-100-50);--shape-connect-allowed-fill-color:var(--color-grey-225-10-97);--shape-drop-allowed-fill-color:var(--color-grey-225-10-97);--shape-drop-not-allowed-fill-color:var(--color-red-360-100-97);--shape-resize-preview-stroke-color:var(--color-blue-205-100-50);--snap-line-stroke-color:var(--color-blue-205-100-45-opacity-30);--space-tool-crosshair-stroke-color:var(--color-black);--tooltip-error-background-color:var(--color-red-360-100-97);--tooltip-error-border-color:var(--color-red-360-100-45);--tooltip-error-color:var(--color-red-360-100-45)}.djs-container svg.drop-not-ok{background:var(--shape-drop-not-allowed-fill-color)!important}.djs-container svg.new-parent{background:var(--shape-drop-allowed-fill-color)!important}.djs-container svg:focus{outline-offset:-1px}.djs-outline,.djs-selection-outline{fill:none;shape-rendering:geometricprecision;stroke-width:2px}.djs-outline{visibility:hidden}.djs-selection-outline{stroke:var(--element-selected-outline-stroke-color)}.djs-element.selected .djs-outline{visibility:visible;stroke:var(--element-selected-outline-stroke-color)}.djs-connection.selected .djs-outline{display:none}.djs-multi-select .djs-element.selected .djs-outline,.djs-dragging-active-lasso .djs-element.selected .djs-outline{stroke:var(--element-selected-outline-secondary-stroke-color);display:block}.djs-shape.connect-ok .djs-visual>:first-child{fill:var(--shape-connect-allowed-fill-color)!important}.djs-shape.connect-not-ok .djs-visual>:first-child,.djs-shape.drop-not-ok .djs-visual>:first-child{fill:var(--shape-drop-not-allowed-fill-color)!important}.djs-shape.new-parent .djs-visual>:first-child{fill:var(--shape-drop-allowed-fill-color)!important}.drop-not-ok,.connect-not-ok,.drop-not-ok *,.connect-not-ok *{cursor:not-allowed!important}.drop-ok,.connect-ok,.drop-ok *,.connect-ok *{cursor:default!important}.djs-element.attach-ok .djs-visual>:first-child{stroke-width:5px!important;stroke:var(--shape-attach-allowed-stroke-color)!important}.djs-frame.connect-not-ok .djs-visual>:first-child,.djs-frame.drop-not-ok .djs-visual>:first-child{stroke-width:3px!important;stroke:var(--shape-drop-not-allowed-fill-color)!important;fill:none!important}.djs-lasso-overlay{fill:var(--lasso-fill-color);stroke:var(--lasso-stroke-color);stroke-width:2px;shape-rendering:geometricprecision;pointer-events:none}.djs-resize-overlay{fill:none;stroke-dasharray:5 1 3 1;stroke:var(--shape-resize-preview-stroke-color);pointer-events:none}.djs-resizer-hit{fill:none;pointer-events:all}.djs-resizer-visual{fill:var(--resizer-fill-color);stroke-width:1px;stroke:var(--resizer-stroke-color);shape-rendering:geometricprecision}.djs-resizer:hover .djs-resizer-visual{stroke:var(--resizer-stroke-color);stroke-opacity:1}.djs-cursor-resize-ns,.djs-resizer-n,.djs-resizer-s{cursor:ns-resize}.djs-cursor-resize-ew,.djs-resizer-e,.djs-resizer-w{cursor:ew-resize}.djs-cursor-resize-nwse,.djs-resizer-nw,.djs-resizer-se{cursor:nwse-resize}.djs-cursor-resize-nesw,.djs-resizer-ne,.djs-resizer-sw{cursor:nesw-resize}.djs-shape.djs-resizing>.djs-outline{visibility:hidden!important}.djs-shape.djs-resizing>.djs-resizer,.djs-dragger>.djs-resizer{visibility:hidden}.djs-dragger *{fill:none!important;stroke:var(--element-dragger-color)!important}.djs-dragger tspan,.djs-dragger text,.djs-dragger marker circle,.djs-dragger marker path,.djs-dragger marker polygon,.djs-dragger marker polyline,.djs-dragger marker rect{fill:var(--element-dragger-color)!important;stroke:none!important}.djs-dragger marker text,.djs-dragger marker tspan{fill:none!important;stroke:var(--element-dragger-color)!important}.djs-dragging,.djs-dragging>*{opacity:.3!important;pointer-events:none!important}.djs-visual,.djs-outline{pointer-events:none}.djs-element.attach-ok .djs-hit{stroke-width:60px!important}.djs-element>.djs-hit-all,.djs-element>.djs-hit-no-move{pointer-events:all}.djs-element>.djs-hit-stroke,.djs-element>.djs-hit-click-stroke{pointer-events:stroke}.djs-connection .djs-visual{stroke-width:2px;fill:none}.djs-cursor-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.djs-cursor-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.djs-cursor-crosshair{cursor:crosshair}.djs-cursor-move{cursor:move}.djs-cursor-resize-ns{cursor:ns-resize}.djs-cursor-resize-ew{cursor:ew-resize}.djs-snap-line{stroke:var(--snap-line-stroke-color);stroke-linecap:round;stroke-width:2px;pointer-events:none}.djs-crosshair{stroke:var(--space-tool-crosshair-stroke-color);stroke-linecap:round;stroke-width:1px;pointer-events:none;shape-rendering:geometricprecision;stroke-dasharray:5 5}.djs-palette{box-sizing:border-box;width:48px;position:absolute;top:20px;left:20px}.djs-palette .separator{border:none;border-bottom:solid 1px var(--palette-separator-color);clear:both;margin:5px;padding-top:5px}.djs-palette .entry:before{vertical-align:initial}.djs-palette .djs-palette-toggle{cursor:pointer}.djs-palette .entry,.djs-palette .djs-palette-toggle{color:var(--palette-entry-color);text-align:center;font-size:30px}.djs-palette .entry{float:left}.djs-palette .entry img{max-width:100%}.djs-palette .djs-palette-entries:after{content:"";clear:both;display:table}.djs-palette .djs-palette-toggle:hover{background:var(--palette-toggle-hover-background-color)}.djs-palette .entry:hover{color:var(--palette-entry-hover-color)}.djs-palette .highlighted-entry{color:var(--palette-entry-selected-color)!important}.djs-palette .entry,.djs-palette .djs-palette-toggle{cursor:default;width:46px;height:46px;line-height:46px}.djs-palette.two-column.open{width:94px}.djs-palette:not(.open) .djs-palette-entries{display:none}.djs-palette:not(.open){overflow:hidden}.djs-palette.open .djs-palette-toggle{display:none}.djs-context-pad{pointer-events:none;z-index:100;width:72px;line-height:1;display:none;position:absolute}.djs-context-pad .entry{text-align:center;cursor:default;background-color:var(--context-pad-entry-background-color);width:22px;height:22px;box-shadow:0 0 2px 1px var(--context-pad-entry-background-color);pointer-events:all;vertical-align:middle;border-radius:3px;margin:0 2px 2px 0;font-size:22px;display:inline-block}.djs-context-pad .entry:hover{background:var(--context-pad-entry-hover-background-color)}.djs-context-pad.open{display:block}.djs-popup{box-sizing:border-box;background:var(--popup-background-color);z-index:200;width:min-content;box-shadow:0px 2px 6px var(--popup-shadow-color);border:solid 1px var(--popup-border-color);min-width:120px;line-height:1;font-size:var(--popup-font-size);font-family:var(--popup-font-family);outline:none;position:fixed;overflow:hidden}.djs-popup-search input{box-sizing:border-box;width:100%;font-size:var(--popup-font-size);border:solid 1px var(--popup-search-border-color);border-radius:2px;padding:3px 6px 3px 28px;line-height:21px}.djs-popup-search input:focus{background-color:var(--popup-search-focus-background-color);border:solid 1px var(--popup-search-focus-border-color);outline:none}.djs-popup-header{align-items:stretch;margin:10px 12px;line-height:20px;display:flex}.djs-popup-header .entry{border-radius:2px}.djs-popup button.entry{background:0 0;border:0;padding:0}.djs-popup-header .entry.active{color:var(--popup-header-entry-selected-color)}.djs-popup-header .entry.disabled{color:inherit}.djs-popup-header-group{flex-direction:row;align-items:center;margin:0;padding:0;list-style:none;display:flex}.djs-popup-header-group .entry{flex-direction:row;align-items:center;display:flex}.djs-popup-header-group+.djs-popup-header-group:before{content:"";background:var(--popup-header-group-divider-color);width:1px;height:20px;margin:0 5px}.djs-popup-search{width:auto;margin:10px 12px;position:relative}.djs-popup-title{font-size:var(--popup-font-size);font-weight:var(--popup-header-font-weight);flex:1;margin:0}.djs-popup-breadcrumbs{margin:10px 12px;line-height:20px;display:flex}.djs-popup-breadcrumbs-item{appearance:none;min-width:0;color:var(--popup-description-color);font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;outline:none;margin:0;padding:0;display:inline-flex;overflow:hidden}.djs-popup-breadcrumbs-item--separator:before{content:"/";color:var(--popup-description-color);margin:0 4px;display:inline-block}.djs-popup-breadcrumbs-item:hover{color:inherit;text-decoration:underline}.djs-popup-breadcrumbs-item:focus-visible{outline:1px solid var(--popup-search-focus-border-color);outline-offset:2px}.djs-popup-breadcrumbs-item--back{border:1px solid var(--popup-search-border-color);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-right:6px;padding:2px 3px}.djs-popup-breadcrumbs-item--back:hover{background:#f2f3f5}.djs-popup-breadcrumbs-item--current{font-weight:var(--popup-header-font-weight);color:inherit;cursor:default}.djs-popup-breadcrumbs-item--current:hover{text-decoration:none}.djs-popup-entry-chevron{color:var(--popup-description-color);align-items:center;margin-left:6px;display:flex}.djs-popup-search-icon{position:absolute;top:7px;left:8px}.djs-popup-search-count{color:var(--popup-description-color);margin:0 12px;font-size:11px}.djs-popup-results{max-height:280px;margin:7px 3px 7px 12px;padding-right:9px;list-style:none;overflow:auto}.djs-popup-group{width:100%;margin:0;padding:0}.djs-popup-body .entry,.djs-popup-body .entry-header{cursor:default;border-radius:4px;padding:5px 7px}.djs-popup-body .entry-header{font-weight:var(--popup-header-font-weight);color:var(--popup-entry-title-color);padding-left:0}.djs-popup [class*=icon] .djs-popup-label,.djs-popup-label:not(:first-child){margin-left:.5em}.djs-popup [class*=icon]:before,.djs-popup-entry-icon{vertical-align:middle;width:1em;height:1em;font-size:1.4em;display:inline-block}.djs-popup-body .entry-header:not(:first-child){margin-top:8px;margin-bottom:2px}.djs-popup-body .entry{flex-direction:row;align-items:stretch;height:min-content;display:flex}.djs-popup .entry.selected{background-color:var(--popup-entry-hover-color)}.djs-popup .entry.disabled{color:var(--popup-disabled-color);cursor:not-allowed}.djs-popup-body .entry:not(:first-child){margin-top:2px}.djs-popup-entry-content{flex-direction:column;flex:1;display:flex}.djs-popup-entry-description{color:var(--popup-description-color);margin-top:.25em;font-size:.9em}.djs-popup-label,.djs-popup-entry-description{line-height:1.4em}.djs-popup .entry,.djs-popup .entry-header{margin:1px}.djs-popup-body{flex-direction:column;width:auto}.djs-popup ::-webkit-scrollbar{width:6px}.djs-popup ::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}.djs-popup ::-webkit-scrollbar-track{box-shadow:none;background:0 0;margin:0;padding:5px}.djs-popup-no-results{color:var(--popup-no-results-color);padding:0 12px 12px}.djs-popup-entry-docs{color:var(--popup-description-color);margin-left:3px;display:none}.djs-popup-body .entry:focus-within .djs-popup-entry-docs,.djs-popup-body .entry:focus .djs-popup-entry-docs,.djs-popup-body .entry:hover .djs-popup-entry-docs{display:inline}.djs-popup-entry-docs svg{vertical-align:middle;margin:2px}.djs-palette{background:var(--palette-background-color);border:solid 1px var(--palette-border-color);border-radius:2px}.djs-segment-dragger,.djs-bendpoint{display:none}.djs-segment-dragger .djs-visual{fill:var(--bendpoint-fill-color);stroke:var(--bendpoint-stroke-color);stroke-width:1px;stroke-opacity:1;display:none}.djs-segment-dragger:hover .djs-visual{display:block}.djs-bendpoint .djs-visual{fill:var(--bendpoint-fill-color);stroke:var(--bendpoint-stroke-color);stroke-width:1px}.djs-segment-dragger:hover,.djs-bendpoints.hover .djs-segment-dragger,.djs-bendpoints.selected .djs-segment-dragger,.djs-bendpoint:hover,.djs-bendpoints.hover .djs-bendpoint,.djs-bendpoints.selected .djs-bendpoint{display:block}.djs-drag-active .djs-bendpoints *,.djs-bendpoints:not(.hover) .floating{display:none}.djs-segment-dragger:hover .djs-visual,.djs-segment-dragger.djs-dragging .djs-visual,.djs-bendpoint:hover .djs-visual,.djs-bendpoint.floating .djs-visual{fill:var(--bendpoint-fill-color);stroke:var(--bendpoint-stroke-color);stroke-opacity:1}.djs-bendpoint.floating .djs-hit{pointer-events:none}.djs-segment-dragger .djs-hit,.djs-bendpoint .djs-hit{fill:none;pointer-events:all}.djs-segment-dragger.horizontal .djs-hit{cursor:ns-resize}.djs-segment-dragger.vertical .djs-hit{cursor:ew-resize}.djs-segment-dragger.djs-dragging .djs-hit{pointer-events:none}.djs-updating,.djs-updating>*{pointer-events:none!important}.djs-updating .djs-context-pad,.djs-updating .djs-outline,.djs-updating .djs-bendpoint,.djs-multi-select .djs-bendpoint,.djs-multi-select .djs-segment-dragger,.connect-ok .djs-bendpoint,.connect-not-ok .djs-bendpoint,.drop-ok .djs-bendpoint,.drop-not-ok .djs-bendpoint{display:none!important}.djs-segment-dragger.djs-dragging,.djs-bendpoint.djs-dragging{opacity:1;display:block}.djs-tooltip-error{background:var(--tooltip-error-background-color);border:solid 1px var(--tooltip-error-border-color);width:160px;color:var(--tooltip-error-color);opacity:.75;border-radius:2px;padding:6px;font-size:12px;line-height:16px}.djs-tooltip-error:hover{opacity:1}.djs-search-open .djs-context-pad{display:none}.djs-search-open .djs-connection.selected .djs-outline{display:block}.djs-search-container{z-index:10;width:25%;min-width:300px;max-width:400px;font-family:var(--search-font-family);font-size:var(--search-font-size);box-shadow:0px 2px 6px var(--search-shadow-color);border-radius:2px;margin-left:auto;margin-right:auto;position:absolute;top:20px;left:0;right:0}.djs-search-container:not(.open){display:none}.djs-search-input{position:relative}.djs-search-input svg{position:absolute;top:7px;left:8px}.djs-search-input input{font-size:var(--search-font-size);border:1px solid var(--search-input-border-color);box-sizing:border-box;border-radius:2px;width:100%;padding:3px 6px 3px 28px;line-height:21px}.djs-search-input input:focus{background-color:var(--search-input-focus-background-color);border:solid 1px var(--search-input-focus-border-color);outline:none}.djs-search-results{background:var(--search-container-background-color);max-height:200px;position:relative;overflow-y:auto}.djs-search-result{padding:6px 8px}.djs-search-result-primary{text-overflow:ellipsis;white-space:nowrap;margin:0 0 3px;overflow:hidden}.djs-search-result-secondary{text-overflow:ellipsis;white-space:nowrap;color:var(--search-result-secondary-color);margin:0;font-family:monospace;overflow:hidden}.djs-search-result:hover,.djs-search-result-selected,.djs-search-result-selected:hover{background:var(--search-result-hover-background-color)}.djs-search-open .djs-element .djs-outline{fill:var(--search-preselected-background-color)!important}.djs-element-hidden,.djs-element-hidden .djs-hit,.djs-element-hidden .djs-outline,.djs-label-hidden .djs-label{display:none!important}.djs-element .djs-hit-stroke,.djs-element .djs-hit-click-stroke,.djs-element .djs-hit-all{cursor:move}:root{--fg:#0f172a;--muted:#64748b;--accent:#15803d;--line:#e2e8f0}*{box-sizing:border-box}body{color:var(--fg);background:#f8fafc;margin:0;font:15px/1.6 system-ui,sans-serif}.app-shell{height:100vh;display:flex;overflow:hidden}.sidebar{background:#f1f5f9;flex-direction:column;flex:0 0 264px;width:264px;display:flex;overflow:hidden}.sidebar-title{padding:14px 16px 10px;font-size:15px;font-weight:700}.sidebar-section{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;padding:6px 16px;font-size:11px;font-weight:700;display:flex}.sidebar .icon-btn{border:1px solid var(--line);width:22px;height:22px;color:var(--fg);cursor:pointer;background:#fff;border-radius:5px;justify-content:center;align-items:center;font:18px/1 system-ui,sans-serif;display:inline-flex}.sidebar .icon-btn:hover{background:#e7effd}.sidebar-hint{color:var(--muted);border-top:1px solid var(--line);background:#f1f5f9;flex:none;margin:0;padding:12px 16px;font-size:11.5px;line-height:1.5}.editor{flex-direction:column;flex:1;min-width:0;padding:16px 24px 24px;display:flex;overflow:auto}.resizer-col{cursor:col-resize;touch-action:none;background:0 0;flex:0 0 6px;align-self:stretch;position:relative}.resizer-col:before{content:"";background:var(--line);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.resizer-col:hover:before,body.resizing .resizer-col:before{background:#94a3b8;width:2px}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.model-search{border:1px solid var(--line);background:#fff;border-radius:6px;align-items:center;gap:6px;margin:2px 8px 4px;padding:0 8px;display:flex}.model-search:focus-within{border-color:#94a3b8;box-shadow:0 0 0 2px #dbe7fb}.model-search-icon{color:var(--muted);flex:none}.model-search-input{min-width:0;color:var(--fg);background:0 0;border:0;outline:0;flex:1;padding:6px 0;font:13px/1.2 system-ui,sans-serif}.model-search-input::placeholder{color:var(--muted)}.model-search-input::-webkit-search-cancel-button{appearance:none}.model-search-clear{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;padding:2px;font-size:12px;line-height:1}.model-search-clear:hover{color:var(--fg);background:#e7effd}.model-list{flex:1;padding:4px 8px 8px;overflow-y:auto}.model-empty{color:var(--muted);padding:8px;font-size:13px}.model-name-hit{color:inherit;background:#fde68a;border-radius:2px;padding:0 1px}.model-item{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;font-size:13.5px;display:flex}.model-item:hover{background:#e7effd}.model-item.is-current{background:#dbe7fb;font-weight:600}.model-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.model-rev{color:var(--muted);background:#e2e8f0;border-radius:999px;padding:2px 5px;font:600 10.5px/1 ui-monospace,monospace}.model-history-toggle{text-align:left;width:100%;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:3px 10px 3px 22px;font:11.5px/1.4 system-ui,sans-serif;display:block}.model-history-toggle:hover{color:var(--fg)}.model-history-item{cursor:pointer;color:var(--muted);border-radius:6px;align-items:center;gap:7px;padding:4px 10px 4px 28px;font-size:12.5px;display:flex}.model-history-item:hover{background:#e7effd}.model-history-item.is-current{color:var(--fg);background:#dbe7fb;font-weight:600}.model-hist-id{opacity:.7;font:11px/1 ui-monospace,monospace}.model-actions{visibility:hidden;gap:2px;margin-left:auto;display:inline-flex}.model-item:hover .model-actions,.model-item.is-current .model-actions{visibility:visible}.model-release-badge{color:#067647;background:#dcfce7;border-radius:999px;padding:2px 6px;font:600 10.5px/1 ui-monospace,monospace}.model-draft-badge{color:#92400e;background:#fef3c7;border-radius:999px;padding:2px 6px;font:600 10px/1 system-ui,sans-serif}.model-releases{flex-wrap:wrap;gap:4px;padding:2px 10px 5px 22px;display:flex}.release-chip{cursor:pointer;color:var(--fg);background:#fff;border:1px solid #cbd5e1;border-radius:999px;align-items:center;gap:4px;padding:1px 5px 1px 7px;font:11px/1.4 system-ui,sans-serif;display:inline-flex}.release-chip:hover{background:#f1f5f9}.release-chip.is-current{background:#dbe7fb;border-color:#93b4f5}.release-ver{font:600 11px/1 ui-monospace,monospace}.release-channel{color:#7c3aed;background:#f3e8ff;border-radius:999px;padding:2px 5px;font:10px/1 system-ui,sans-serif}.model-act{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;padding:0;display:inline-flex}.model-act:hover{color:var(--fg);background:#cddcf6}.model-act-del:hover{color:#c0392b;background:#fbe0dd}.sidebar-actions{gap:4px;display:inline-flex}.sidebar .icon-btn svg{color:#3b4150;display:block}.folder-head{cursor:pointer;color:var(--fg);border-radius:6px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;font-weight:600;display:flex}.folder-head:hover{background:#e7effd}.folder-head.drop-over{box-shadow:inset 0 0 0 1.5px var(--accent);background:#dbe7fb}.folder-twisty{width:10px;color:var(--muted);font-size:10px}.folder-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.folder-count{color:var(--muted);background:#e2e8f0;border-radius:999px;padding:2px 6px;font:600 10.5px/1 ui-monospace,monospace}.folder-del{color:var(--muted);cursor:pointer;visibility:hidden;background:0 0;border:0;padding:0 2px;font-size:12px}.folder-head:hover .folder-del{visibility:visible}.folder-del:hover{color:#c0392b}.folder-body{border-left:1px solid var(--line);margin-left:12px;padding-left:4px}.folder-empty{color:var(--muted);margin:0;padding:4px 10px;font-size:12px;font-style:italic}h1{margin:0 0 4px;font-size:24px}.sub{color:var(--muted);margin:0 0 20px}.wp{color:#334155;background:#eef2f7;border-radius:6px;margin:0 0 20px;padding:6px 9px;font:12.5px/1 ui-monospace,monospace;display:inline-block}.hint{color:var(--muted);border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.probe{color:var(--accent);font-weight:600}.canvas{border:1px solid var(--line);background-color:#fcfdff;background-image:radial-gradient(#e3e8f0 1px,#0000 1px);background-position:-1px -1px;background-size:20px 20px;border-radius:10px;flex:none;height:min(64vh,720px);min-height:420px;overflow:hidden}.canvas .djs-shape{filter:drop-shadow(0 1px 2px #1018281a)}.canvas .djs-snap-line{stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 5;stroke-linecap:round;opacity:0;pointer-events:none;transition:opacity .28s}.canvas .djs-snap-line--active{opacity:.55}.canvas .djs-direct-editing-parent{box-sizing:border-box}.canvas .djs-direct-editing-content{box-sizing:border-box;background:#fff;border:1px solid #94a3b8;border-radius:4px;outline:none;padding:4px 6px;box-shadow:0 1px 4px #1018281f}.canvas .djs-direct-editing-content.name-invalid{background:#fff4f4;border-color:#e5484d}.canvas .djs-context-pad .entry{border:1px solid var(--line);cursor:pointer;background-color:#fff;background-position:50%;background-repeat:no-repeat;background-size:16px;border-radius:5px;width:24px;height:24px;margin:2px;box-shadow:0 1px 2px #1018281a}.canvas .djs-context-pad .entry:hover{background-color:#eef2f9;border-color:#c6cfdd}.toolbar{flex-wrap:wrap;flex:none;align-items:center;gap:8px 10px;margin:0 0 10px;font-size:13px;display:flex}.toolbar label{color:var(--muted);font-weight:600}.toolbar select{font:inherit;border:1px solid var(--line);color:var(--fg);background:#fff;border-radius:6px;padding:6px 9px}.toolbar .tbtn{border:1px solid var(--line);min-width:32px;color:var(--fg);cursor:pointer;background:#fff;border-radius:6px;padding:6px 9px;font:15px/1 system-ui,sans-serif}.toolbar .tbtn:disabled{color:#c2c9d4;cursor:default}.toolbar .tbtn:not(:disabled):hover{background:#f1f4f9}.toolbar .zoom-group{gap:3px;display:inline-flex}.toolbar .zoom-group .tbtn{min-width:28px;padding:5px 7px;font-size:14px;line-height:1}.toolbar .type-editor{align-items:center;gap:6px;display:inline-flex}.toolbar .type-editor select{max-width:170px}.toolbar .zoom-group .edge-style-select{cursor:pointer;min-width:auto;padding:5px 6px;font-size:13px;line-height:1.2}.toolbar .status{color:var(--muted);white-space:nowrap;margin-left:auto}.toolbar .model-id-chip{border:1px solid var(--line);color:var(--muted);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:#f8fafc;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font:12px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:inline-flex}.toolbar .model-id-chip:before{content:"⧉";opacity:.7;font-size:12px}.toolbar .model-id-chip:hover{color:var(--fg,#1f2937);background:#f1f4f9;border-color:#cbd5e1}.toolbar .model-id-chip.is-copied{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.toolbar .model-id-chip.is-copied:before{content:"✓";opacity:1}.toolbar .model-id-chip[hidden]{display:none}.toolbar .conn-badge{border:1px solid var(--line);color:var(--muted);white-space:nowrap;cursor:help;-webkit-user-select:none;user-select:none;background:#f8fafc;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font:12px/1 system-ui,sans-serif;display:inline-flex}.toolbar .conn-badge[hidden]{display:none}.toolbar .conn-badge .conn-dot{background:#cbd5e1;border-radius:50%;flex:none;width:8px;height:8px}.toolbar .conn-badge.conn-ok{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.toolbar .conn-badge.conn-ok .conn-dot{background:#22c55e;box-shadow:0 0 0 3px #22c55e2e}.toolbar .conn-badge.conn-bad{color:#b42318;background:#fef2f2;border-color:#fecaca}.toolbar .conn-badge.conn-bad .conn-dot{background:#ef4444;box-shadow:0 0 0 3px #ef44442e}.toolbar .conn-badge.conn-off{color:var(--muted)}code{background:#eef2f7;border-radius:4px;padding:1px 5px;font-size:12.5px}.eval-panel{margin-top:20px}.eval-title{margin:0 0 10px;font-size:15px}.eval-row{align-items:center;gap:10px;margin-bottom:12px;font-size:13px;display:flex}.eval-row label{color:var(--muted);font-weight:600}.eval-row select{font:inherit;border:1px solid var(--line);color:var(--fg);background:#fff;border-radius:6px;padding:6px 9px}.eval-inputs{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:12px;display:grid}.eval-field-wrap{flex-direction:column;gap:3px;display:flex}.eval-field-label{color:var(--muted);font-size:12.5px;font-weight:600}.eval-field{font:inherit;border:1px solid var(--line);color:var(--fg);background:#fff;border-radius:6px;padding:6px 9px}.eval-field:focus{border-color:var(--accent);outline:none}.eval-field-invalid{background:#fff4f4;border-color:#e5484d}.eval-field-invalid:focus{border-color:#e5484d}.eval-empty{color:var(--muted);margin:4px 0;font-size:13px}.eval-note{color:var(--muted);max-width:70ch;margin:0 0 12px;font-size:12.5px;line-height:1.45}.eval-field-hint{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:6px;font-size:11.5px;display:flex}.eval-ex-btn{font:inherit;border:1px solid var(--line);color:var(--accent);cursor:pointer;background:#f8fafc;border-radius:5px;padding:1px 7px;font-size:11px}.eval-ex-btn:hover{border-color:var(--accent)}.eval-result{min-height:20px;font-size:13px}.eval-ok{color:var(--accent);font-weight:600}.eval-error{color:#e5484d}.eval-out{border-collapse:collapse;margin-top:6px}.eval-out th,.eval-out td{border:1px solid var(--line);text-align:left;padding:4px 9px}.eval-out th{background:#f1f5f9;font-weight:600}.trace{margin-top:14px}.trace-title{color:var(--muted);margin-bottom:8px;font-size:12.5px;font-weight:600}.trace-block{margin-bottom:14px}.trace-head{align-items:center;gap:8px;margin-bottom:5px;font-size:13px;font-weight:600;display:flex}.trace-policy{color:#334155;background:#eef2f7;border-radius:5px;padding:2px 6px;font:400 11px/1 ui-monospace,monospace}.trace-grid{border-collapse:collapse;font-size:12.5px}.trace-grid th,.trace-grid td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:4px 8px}.trace-grid th{background:#f8fafc;font-weight:600}.trace-idx{text-align:center;width:28px;color:var(--muted)}.trace-col{flex-direction:column;gap:1px;display:flex}.trace-val{color:var(--accent);font-size:11px;font-weight:400}.trace-rule.trace-hit{background:#f0fdf4}.trace-rule.trace-hit .trace-idx{color:var(--accent);font-weight:700}.trace-ok{color:#166534}.trace-no{color:#b91c1c}.trace-skip{color:#cbd5e1}.trace-out{font:12px/1.3 ui-monospace,monospace}.trace-decision{color:var(--text);margin:10px 0 4px;font-size:12.5px;font-weight:600}.eval-lead{color:var(--muted);font-weight:600}.eval-cell-error,.eval-cell-error code{color:#e5484d}.djs-palette .entry.highlighted-entry{box-shadow:inset 0 0 0 1.5px var(--accent);background:#e7effd;border-radius:4px}.node-diag{color:#fff;cursor:help;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font:700 12px/1 system-ui,sans-serif;display:flex;box-shadow:0 1px 3px #0f172a4d}.node-diag-error{background:#e5484d}.node-diag-warning{background:#d9870b}.node-diag-info{background:#6b7280}.status-problem{color:#d9870b;cursor:help;font-weight:600}.node-result{background:var(--accent);color:#fff;white-space:nowrap;pointer-events:none;border-radius:999px;align-items:center;gap:5px;max-width:200px;padding:2px 7px;font:600 11px/1 ui-monospace,monospace;display:inline-flex;box-shadow:0 1px 3px #0f172a40}.node-result-val{text-overflow:ellipsis;max-width:140px;overflow:hidden}.node-result-rule{background:#ffffff47;border-radius:999px;padding:0 5px;font-size:10px}.mode-toggle{border:1px solid var(--line);border-radius:7px;display:inline-flex;overflow:hidden}.mode-btn{color:var(--muted);cursor:pointer;background:#fff;border:0;padding:6px 12px;font:13px/1 system-ui,sans-serif}.mode-btn.is-active{background:var(--accent);color:#fff;font-weight:600}.mode-btn:not(.is-active):hover{background:#f1f4f9}#modeOperate.is-active{background:#1d4ed8}.app-shell[data-mode=operate]{--op:#1d4ed8}.app-shell[data-mode=operate] .editor{background:linear-gradient(#f5f8ff,#eef3fb)}.app-shell[data-mode=operate] .canvas{background-color:#f3f7ff;background-image:radial-gradient(#d2ddf3 1px,#0000 1px);border-color:#c7d6f2}.app-shell[data-mode=operate] .design-only,.app-shell[data-mode=operate] .djs-palette{display:none!important}.app-shell[data-mode=operate] #evalResult:not(.eval-error){display:none}.app-shell[data-mode=operate] .djs-context-pad .entry[data-action=append-input],.app-shell[data-mode=operate] .djs-context-pad .entry[data-action=append-decision],.app-shell[data-mode=operate] .djs-context-pad .entry[data-action=append-bkm],.app-shell[data-mode=operate] .djs-context-pad .entry[data-action=create-table],.app-shell[data-mode=operate] .djs-context-pad .entry[data-action=create-literal],.app-shell[data-mode=operate] .djs-context-pad .entry[data-action=edit-bkm],.app-shell[data-mode=operate] .djs-context-pad .entry[data-action=connect],.app-shell[data-mode=operate] .djs-context-pad .entry[data-action=edge-ortho],.app-shell[data-mode=operate] .djs-context-pad .entry[data-action=edge-curved],.app-shell[data-mode=operate] .djs-context-pad .entry[data-action=edge-direct],.app-shell[data-mode=operate] .djs-context-pad .entry[data-action=delete]{display:none!important}.op-history{display:none}.app-shell[data-mode=operate] .op-history{flex:none;margin:0 0 10px;display:block}.op-history:focus,.op-history:focus-visible{outline:none}.op-history:focus .op-run.is-active{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--op)}.op-empty{color:var(--muted);margin:4px 0;font-size:13px}.op-runs{flex-direction:column;gap:4px;max-height:168px;padding:2px;display:flex;overflow-y:auto}.op-run{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;align-items:baseline;gap:10px;padding:6px 10px;font-size:13px;display:flex}.op-run:hover{background:#eef3fb}.op-run.is-active{border-color:var(--op);background:#eaf1ff}.op-run-n{white-space:nowrap;color:var(--op);font-weight:700}.op-run-in{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font:12px/1.4 ui-monospace,monospace;overflow:hidden}@keyframes op-run-pulse{0%{box-shadow:0 0 #1d4ed880}to{box-shadow:0 0 0 10px #1d4ed800}}.op-run-pulse{animation:.5s ease-out op-run-pulse}.canvas-wrap{flex:none;position:relative}.op-overlays{display:none}.app-shell[data-mode=operate] .op-overlays{display:block}.clio-replay{display:none}.app-shell[data-mode=operate] .clio-replay{margin-top:18px;display:block}.clio-title{color:var(--op);margin:0 0 6px;font:600 15px/1.2 system-ui,sans-serif}.clio-note{color:var(--muted);max-width:780px;margin:0 0 12px;font-size:12.5px}.clio-form{flex-wrap:wrap;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.clio-field-wrap{flex-direction:column;gap:4px;display:flex}.clio-field-label{color:#334155;text-transform:uppercase;letter-spacing:.03em;font:600 11px/1 system-ui,sans-serif}.clio-field{background:#fff;border:1px solid #c7d6f2;border-radius:7px;padding:6px 9px;font:13px system-ui,sans-serif}.clio-field:focus{border-color:var(--op);outline:none;box-shadow:0 0 0 2px #1d4ed826}.clio-field-wrap:has(>.clio-field[type=text]){flex:260px;min-width:220px}.clio-field[type=text]{width:100%}.clio-type{min-width:210px}.clio-limit{width:90px}.clio-field-hint{color:var(--muted);max-width:320px;font-size:11px}.clio-actions{align-self:stretch;align-items:flex-end;padding-top:18px;display:flex}.clio-load{white-space:nowrap}.clio-status-line{color:var(--muted);margin:4px 0 10px;font-size:12.5px}.clio-status-line.clio-ok{color:#15803d}.clio-status-line.clio-error{color:#b91c1c}.clio-status-line.clio-off{color:#92600a}.clio-list-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.clio-list-count{color:#334155;font:600 12px/1 system-ui,sans-serif}.clio-ev{background:linear-gradient(#fbfdff,#f4f8ff);border:1px solid #dbe4f3;border-radius:9px;flex-direction:column;gap:6px;margin-bottom:7px;padding:9px 11px;display:flex}.clio-ev-meta{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.clio-ev-type{color:var(--op);font:600 12px/1 system-ui,sans-serif}.clio-ev-subject{color:#475569;font:12px ui-monospace,monospace}.clio-ev-decision{color:#1e293b;background:#e2ecff;border-radius:999px;padding:3px 8px;font:600 11px/1 system-ui,sans-serif}.clio-ev-time{color:var(--muted);margin-left:auto;font-size:11px}.clio-ev-io{color:#475569;flex-wrap:wrap;gap:12px;font:12px ui-monospace,monospace;display:flex}.clio-ev-out{color:#15803d}.clio-ev-actions{align-items:center;gap:10px;display:flex}.clio-ev-status{font-size:12px}.clio-ev-status.clio-ok{color:#15803d}.clio-ev-status.clio-error{color:#b91c1c}.op-ov-toggle{z-index:3;cursor:pointer;-webkit-backdrop-filter:blur(6px);color:var(--op);background:#ffffffb3;border:1px solid #c7d6f2;border-radius:999px;padding:5px 10px;font:600 12px/1 system-ui,sans-serif;position:absolute;top:10px;right:12px}.op-ov-toggle.is-off{color:var(--muted)}.op-ov-panels{pointer-events:none}.op-overlays.op-ov-off .op-ov-panels{display:none}.op-ov{z-index:2;pointer-events:auto;-webkit-backdrop-filter:blur(9px)saturate(1.2);background:#ffffff9e;border:1px solid #c7d6f2e6;border-radius:12px;min-width:172px;max-width:44%;padding:9px 11px 10px;position:absolute;box-shadow:0 6px 22px #14213d24}.op-ov-inputs{top:12px;left:12px}.op-ov-results{bottom:12px;right:12px}.op-ov-title{text-transform:uppercase;letter-spacing:.06em;color:var(--op);margin-bottom:6px;font:700 10.5px/1 system-ui,sans-serif}.op-ov-body{flex-direction:column;gap:3px;display:flex}.op-ov-row{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:1px 0;font-size:12.5px;display:grid}.op-ov-row.op-ov-hoverable{cursor:help;border-radius:5px}.op-ov-row.op-ov-hoverable:hover{background:#1d4ed814}.op-ov-row.op-ov-hoverable .op-ov-key:after{content:"⊞";color:var(--op);opacity:.75;margin-left:5px;font-weight:700}.op-ov-key{color:#334155;white-space:nowrap;font-weight:600}.op-ov-val{color:#0f172a;text-align:right;text-overflow:ellipsis;white-space:nowrap;font:12px/1.3 ui-monospace,monospace;overflow:hidden}.op-ov-rule{color:var(--accent);background:#dcfce7;border-radius:999px;grid-column:2/4;justify-self:end;padding:1px 6px;font:600 10px/1 ui-monospace,monospace}.op-ov-none{color:var(--muted);font-size:12px}.op-ov-tip{color:var(--muted);margin-top:6px;font-size:10.5px}.op-bar{background:#1d4ed824;border-radius:999px;grid-column:1/4;height:4px;overflow:hidden}.op-bar-lg{height:8px;margin:4px 0}.op-bar-fill{background:var(--op);border-radius:999px;height:100%;display:block}.op-bar-fill.is-neg{background:#dc2626}.op-pop{z-index:60;pointer-events:none;-webkit-backdrop-filter:blur(10px);background:#fffffff5;border:1px solid #c7d6f2;border-radius:10px;max-width:460px;padding:9px 11px;position:fixed;box-shadow:0 10px 30px #14213d38}.op-pop-title{color:#0f172a;margin-bottom:6px;font:700 12px/1 system-ui,sans-serif}.op-pop-gauge{align-items:center;gap:8px;display:flex}.op-pop-num{color:var(--op);font:600 13px/1 ui-monospace,monospace}.op-mtable{margin-top:6px}.op-mtable-head{align-items:center;gap:8px;margin-bottom:4px;font:600 11px/1 system-ui,sans-serif;display:flex}.op-mtable-policy{color:#334155;background:#eef2f7;border-radius:5px;padding:2px 5px;font:400 10px/1 ui-monospace,monospace}.op-mgrid{border-collapse:collapse;font-size:11px}.op-mgrid th,.op-mgrid td{border:1px solid var(--line);text-align:left;white-space:nowrap;padding:2px 6px}.op-mgrid th{background:#f4f7fd;font-weight:600}.op-mcol-idx{text-align:center;width:20px;color:var(--muted)}.op-mrule.is-hit{background:#eaf1ff}.op-mrule.is-hit .op-mcol-idx{color:var(--op);font-weight:700}.op-mcell.is-ok{color:#166534;background:#16a34a14}.op-mcell.is-no{color:#b91c1c}.op-mcell.is-skip{color:#cbd5e1}.op-mout{font:11px/1.2 ui-monospace,monospace}.dt-overlay{z-index:100;background:#0f172a73;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dt-modal{background:#fff;border-radius:12px;max-width:min(960px,96vw);max-height:88vh;overflow:auto;box-shadow:0 12px 40px #1018284d}.dlg-modal{background:#fff;border-radius:12px;width:min(420px,94vw);overflow:hidden;box-shadow:0 12px 40px #1018284d}.dlg-head{padding:16px 18px 0}.dlg-title{font-size:16px;font-weight:700}.dlg-body{padding:12px 18px 4px}.dlg-label{color:var(--muted);margin-bottom:5px;font-size:12.5px;display:block}.dlg-message{font-size:13.5px;line-height:1.5}.dlg-input{box-sizing:border-box;border:1px solid var(--line);border-radius:7px;outline:none;width:100%;padding:8px 10px;font-size:14px}.dlg-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb26}.dlg-hint{color:#b45309;margin-top:6px;font-size:12px}.dlg-actions{justify-content:flex-end;gap:8px;padding:14px 18px 18px;display:flex}.dlg-btn{border:1px solid var(--line);cursor:pointer;color:var(--fg);background:#fff;border-radius:7px;padding:7px 14px;font-size:13.5px}.dlg-btn:hover{background:#f1f4f9}.dlg-btn-primary{border-color:var(--accent);background:var(--accent);color:#fff}.dlg-btn-primary:hover{filter:brightness(.95);background:var(--accent)}.dlg-btn-primary:disabled{opacity:.5;cursor:not-allowed}.dlg-btn-danger{color:#fff;background:#c0392b;border-color:#c0392b}.dlg-btn-danger:hover{filter:brightness(.95);background:#c0392b}.je-row{align-items:stretch;gap:6px;display:flex}.je-row .eval-field{flex:auto;min-width:0}.je-open{border:1px solid var(--line);width:32px;color:var(--muted);cursor:pointer;background:#fff;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.je-open:hover{color:var(--accent);border-color:var(--accent);background:#f1f5f9}.je-open svg{width:15px;height:15px;display:block}.je-modal{background:#fff;border-radius:12px;flex-direction:column;width:min(760px,96vw);max-height:88vh;display:flex;overflow:hidden;box-shadow:0 12px 40px #1018284d}.je-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.je-title{font-size:16px;font-weight:700}.je-tools{gap:6px;display:flex}.je-tool{border:1px solid var(--line);cursor:pointer;color:var(--fg);background:#fff;border-radius:6px;padding:5px 10px;font-size:12.5px}.je-tool:hover{background:#f1f4f9}.je-tool:disabled{opacity:.5;cursor:not-allowed}.je-body{flex-direction:column;flex:1;gap:8px;min-height:0;padding:12px 18px;display:flex}.je-text{box-sizing:border-box;resize:vertical;border:1px solid var(--line);tab-size:2;white-space:pre;width:100%;min-height:280px;color:var(--fg);border-radius:8px;outline:none;flex:auto;padding:10px 12px;font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:auto}.je-text:focus{border-color:var(--accent);box-shadow:0 0 0 3px #15803d1f}.je-status{min-height:18px;color:var(--muted);font:12.5px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.je-status.is-ok{color:var(--accent)}.je-status.is-err{color:#e5484d}.je-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 18px 16px;display:flex}.dt-head{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:12px;padding:14px 18px;display:flex;position:sticky;top:0}.dt-title{font-size:16px;font-weight:700}.dt-policy{background:var(--accent);color:#fff;border-radius:6px;padding:4px 7px;font:12px/1 ui-monospace,monospace}.dt-close{border:1px solid var(--line);cursor:pointer;width:28px;height:28px;color:var(--muted);background:#fff;border-radius:6px;margin-left:auto;font-size:14px}.dt-close:hover{background:#f1f4f9}.dt-scroll{max-height:calc(88vh - 132px);overflow:auto}.dt{border-collapse:collapse;width:100%;font-size:13px}.dt th,.dt td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:4px 6px}.dt thead th{z-index:1;position:sticky;top:0}.dt-idx{text-align:center;width:30px;color:var(--muted);background:#f8fafc}.dt-band th{text-align:center;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:#f8fafc;font-size:11px}.dt-cols th{background:#f1f5f9;font-weight:600}.dt-in{background:#fcfdff}.dt-out{background:#f6fbf7}.dt-coltext{flex-direction:column;gap:2px;display:flex}.dt-type{color:var(--muted);font:400 11px/1 ui-monospace,monospace}.dt-ann{color:var(--muted)}.dt-del{text-align:center;width:34px}.dt-cell{width:100%;min-width:90px;color:var(--fg);background:0 0;border:1px solid #0000;border-radius:4px;padding:4px 6px;font:13px/1.3 ui-monospace,SFMono-Regular,monospace}.dt-cell:focus{border-color:var(--accent);background:#fff;outline:none}.dt-cell:hover{background:#fff}.dt-cell-invalid{background:#fff4f4;border-color:#e5484d}.dt-cell-invalid:focus{border-color:#e5484d}.dt-rowdel{cursor:pointer;opacity:.55;background:0 0;border:1px solid #0000;border-radius:5px;padding:2px 5px;font-size:13px}.dt-rowdel:hover{opacity:1;border-color:var(--line);background:#fff4f4}.dt-toolbar{border-top:1px solid var(--line);background:#fff;align-items:center;gap:10px;padding:12px 18px;display:flex;position:sticky;bottom:0}.dt-toolbar .tbtn{border:1px solid var(--line);color:var(--fg);cursor:pointer;background:#fff;border-radius:6px;padding:7px 12px;font:13px/1 system-ui,sans-serif}.dt-toolbar .tbtn:hover{background:#f1f4f9}.dt-toolbar .tbtn:disabled{color:#c2c9d4;cursor:default}.dt-save{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.dt-save:hover{filter:brightness(1.05)}.dt-status{color:var(--muted);font-size:13px}.dt-status.dt-error{color:#e5484d}.dt-rule.dt-hit{background:#f0fdf4}.dt-rule.dt-hit .dt-idx{color:var(--accent);font-weight:700}.dt-readonly .dt-cell,.dt-readonly .dt-head-field,.dt-readonly .dt-type-sel,.dt-readonly .dt-policy-sel,.dt-readonly .dt-agg-sel{color:var(--fg);cursor:default;opacity:1;background:#f8fafc}.dt-readonly .dt-rm,.dt-readonly .dt-del{display:none}.dt-path{border-bottom:1px solid var(--line);background:linear-gradient(#eef3fb,#f7faff);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 18px;display:flex}.dt-path-chip{white-space:nowrap;background:#fff;border:1px solid #c7d6f2;border-radius:999px;align-items:baseline;gap:7px;padding:5px 12px;font-size:13px;display:inline-flex;box-shadow:0 1px 3px #14213d1a}.dt-path-lbl{color:var(--muted);font-weight:600}.dt-path-val{color:#0f172a;font:600 13px/1 ui-monospace,monospace}.dt-path-rule{background:#eaf1ff;border-color:#1d4ed8}.dt-path-rule .dt-path-lbl{color:#1d4ed8}.dt-path-out{border-color:var(--accent);background:#dcfce7}.dt-path-out .dt-path-lbl{color:var(--accent)}.dt-path-none{background:#fdeeee;border-color:#f0b7b7}.dt-path-none .dt-path-lbl{color:#c0392b}.dt-path-arrow{color:#1d4ed8;font:700 17px/1 system-ui,sans-serif;animation:1.5s ease-in-out infinite dt-flow}@keyframes dt-flow{0%,to{opacity:.4;transform:translate(0)}50%{opacity:1;transform:translate(3px)}}.dt-trace-val{color:#1d4ed8;background:#eaf1ff;border:1px solid #c7d6f2;border-radius:999px;align-self:flex-start;margin-top:3px;padding:2px 8px;font:600 11px/1 ui-monospace,monospace}.dt-trace .dt-cell{background:0 0!important}.dt-trace td.dt-c-ok{background:#16a34a1f}.dt-trace td.dt-c-no{background:#dc26261a}.dt-trace .dt-rule:not(.dt-hit){opacity:.8}.dt-trace .dt-rule.dt-hit{background:#eaf1ff;box-shadow:inset 3px 0 #1d4ed8}.dt-trace .dt-rule.dt-hit td.dt-c-ok{background:#16a34a38}.dt-trace .dt-rule.dt-hit .dt-idx{color:#1d4ed8;font-weight:700}.dt-trace td.dt-out-hit{background:#dcfce7;font-weight:600}.dt-policy-sel,.dt-agg-sel{border:1px solid var(--line);color:var(--fg);background:#fff;border-radius:6px;padding:5px 7px;font:12px/1 ui-monospace,monospace}.dt-colhead{flex-direction:column;gap:4px;min-width:120px;display:flex}.dt-head-field{border:1px solid var(--line);width:100%;color:var(--fg);background:#fff;border-radius:4px;padding:4px 6px;font:600 13px/1.3 ui-monospace,monospace}.dt-head-field:focus{border-color:var(--accent);outline:none}.dt-head-invalid{background:#fff4f4;border-color:#e5484d!important}.dt-type-sel{border:1px solid var(--line);width:100%;color:var(--muted);background:#fff;border-radius:4px;padding:3px 4px;font:11px/1 ui-monospace,monospace}.dt-colhead .dt-rm{align-self:flex-end}.dt-rm{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:2px 5px;font-size:11px;line-height:1}.dt-rm:hover{border-color:var(--line);color:#c0392b;background:#fff4f4}.dt-rm-spacer{height:18px;display:inline-block}.lit-modal{width:min(680px,94vw)}.lit-type-label{color:var(--muted);margin-left:auto;font-size:12px;font-weight:600}.lit-type{min-width:150px}.lit-body{padding:16px 18px}.lit-text{resize:vertical;box-sizing:border-box;border:1px solid var(--line);width:100%;min-height:120px;color:var(--fg);background:#fcfdff;border-radius:8px;padding:10px 12px;font:14px/1.5 ui-monospace,SFMono-Regular,monospace}.lit-text:focus{border-color:var(--accent);background:#fff;outline:none}.lit-invalid{background:#fff4f4;border-color:#e5484d}.cond-modal{width:min(640px,94vw)}.cond-body{padding:16px 18px}.cond-grid{grid-template-columns:120px 1fr;align-items:start;gap:10px 14px;display:grid}.cond-label{color:var(--muted);padding-top:9px;font-size:13px;font-weight:600}.cond-text{box-sizing:border-box;resize:vertical;border:1px solid var(--line);width:100%;color:var(--fg);background:#fcfdff;border-radius:7px;padding:8px 10px;font:13.5px/1.45 ui-monospace,SFMono-Regular,monospace}.cond-text:focus{border-color:var(--accent);background:#fff;outline:none}.cond-invalid{background:#fff4f4;border-color:#e5484d}.iter-var{box-sizing:border-box;border:1px solid var(--line);width:100%;color:var(--fg);background:#fcfdff;border-radius:7px;padding:7px 10px;font:13.5px/1.4 ui-monospace,SFMono-Regular,monospace}.iter-var:focus{border-color:var(--accent);background:#fff;outline:none}.list-modal{width:min(560px,94vw)}.list-body{max-height:60vh;padding:14px 18px;overflow:auto}.list-rows{flex-direction:column;gap:7px;display:flex}.list-row{align-items:center;gap:9px;display:flex}.list-row .hl-wrap{flex:1;min-width:0}.list-idx{text-align:right;min-width:20px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.list-item{box-sizing:border-box;border:1px solid var(--line);color:var(--fg);background:#fcfdff;border-radius:7px;flex:1;padding:7px 10px;font:13.5px/1.4 ui-monospace,SFMono-Regular,monospace}.list-item:focus{border-color:var(--accent);background:#fff;outline:none}.list-invalid{background:#fff4f4;border-color:#e5484d}.list-del{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:5px;padding:4px 5px;font-size:14px;line-height:1}.list-del:hover:not(:disabled){color:#c0392b;background:#fbecec}.list-del:disabled{color:#d6dbe3;cursor:default}.dt-readonly-note{color:var(--muted);margin-right:auto;font-size:12.5px}.rel-modal{width:min(860px,96vw)}.rel-body{max-height:62vh;padding:14px 16px;overflow:auto}.rel-grid{align-items:center;gap:5px 6px;display:grid}.rel-head{align-items:center;gap:2px;display:flex}.rel-colname{box-sizing:border-box;border:1px solid var(--line);width:100%;color:var(--fg);background:#f3f6fb;border-radius:6px;padding:6px 8px;font:600 12.5px/1.3 system-ui,sans-serif}.rel-colname:focus{border-color:var(--accent);background:#fff;outline:none}.rel-rownum{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;font-size:11.5px}.rel-cell{box-sizing:border-box;border:1px solid var(--line);width:100%;color:var(--fg);background:#fcfdff;border-radius:6px;padding:6px 8px;font:13px/1.35 ui-monospace,SFMono-Regular,monospace}.rel-cell:focus{border-color:var(--accent);background:#fff;outline:none}.rel-invalid{background:#fff4f4;border-color:#e5484d}.rel-x{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px;font-size:12px;line-height:1}.rel-x:hover:not(:disabled){color:#c0392b;background:#fbecec}.rel-x:disabled{color:#d6dbe3;cursor:default}.rel-add-col{border:1px dashed var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:6px;width:100%;padding:4px;font-size:15px;line-height:1}.rel-add-col:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.inv-modal{width:min(640px,94vw)}.inv-body{max-height:62vh;padding:14px 18px;overflow:auto}.inv-called-label{color:var(--muted);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.inv-called{box-sizing:border-box;border:1px solid var(--line);width:100%;color:var(--fg);background:#fcfdff;border-radius:7px;padding:7px 10px;font:13.5px/1.4 ui-monospace,SFMono-Regular,monospace}.inv-called:focus{border-color:var(--accent);background:#fff;outline:none}.inv-bindings-title{color:var(--muted);margin:16px 0 8px;font-size:13px;font-weight:600}.inv-rows{flex-direction:column;gap:7px;display:flex}.inv-row{align-items:center;gap:8px;display:flex}.inv-param{box-sizing:border-box;border:1px solid var(--line);min-width:0;color:var(--fg);background:#f3f6fb;border-radius:6px;flex:1;padding:6px 9px;font:600 12.5px/1.35 system-ui,sans-serif}.inv-param:focus{border-color:var(--accent);background:#fff;outline:none}.inv-arrow{color:var(--muted);flex:none;font-size:14px}.inv-value{box-sizing:border-box;border:1px solid var(--line);min-width:0;color:var(--fg);background:#fcfdff;border-radius:6px;flex:2;padding:6px 9px;font:13px/1.35 ui-monospace,SFMono-Regular,monospace}.inv-value:focus{border-color:var(--accent);background:#fff;outline:none}.inv-invalid{background:#fff4f4;border-color:#e5484d}.inv-del{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:5px;flex:none;padding:4px 5px;font-size:14px;line-height:1}.inv-del:hover:not(:disabled){color:#c0392b;background:#fbecec}.inv-del:disabled{color:#d6dbe3;cursor:default}.ctx-modal{width:min(760px,95vw)}.ctx-body{padding:14px 18px}.ctx-grid{grid-template-columns:minmax(120px,1fr) 130px minmax(180px,2fr) 28px;align-items:center;gap:8px 10px;display:grid}.ctx-head{color:var(--muted);font-size:12px;font-weight:600}.ctx-name,.ctx-expr{box-sizing:border-box;border:1px solid var(--line);width:100%;color:var(--fg);background:#fcfdff;border-radius:7px;padding:7px 9px;font:13.5px/1.4 ui-monospace,SFMono-Regular,monospace}.ctx-name:focus,.ctx-expr:focus{border-color:var(--accent);background:#fff;outline:none}.ctx-type{width:100%;min-width:0}.ctx-invalid{background:#fff4f4;border-color:#e5484d}.ctx-del{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;font-size:14px;line-height:1}.ctx-del:hover{color:#e5484d;background:#fff4f4}.ctx-drill{white-space:nowrap;padding:2px 8px;font-size:12px;line-height:1.6}.ctx-result{border-top:1px dashed var(--line);grid-template-columns:auto 130px 1fr;align-items:center;gap:8px 10px;margin-top:14px;padding-top:12px;display:grid}.ctx-result-label{color:var(--muted);font-size:12.5px;font-weight:600}.bkm-params{margin-bottom:14px}.bkm-params-title,.bkm-body-title{color:var(--muted);margin-bottom:6px;font-size:12.5px;font-weight:600}.bkm-body-title{margin-top:4px}.bkm-param-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.bkm-pname,.bkm-ptype{border:1px solid var(--line);color:var(--fg);background:#fff;border-radius:6px;padding:6px 9px;font:13px/1.3 system-ui,sans-serif}.bkm-pname{flex:1}.bkm-pname:focus,.bkm-ptype:focus{border-color:var(--accent);outline:none}.bkm-addparam{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;padding:5px 10px;font-size:12.5px}.bkm-addparam:hover{background:#f1f4f9}.tm-modal{width:min(720px,94vw)}.tm-body{padding:16px 18px}.tm-list{border-collapse:collapse;width:100%;margin-bottom:6px;font-size:13px}.tm-list th,.tm-list td{border:1px solid var(--line);text-align:left;padding:5px 9px}.tm-list .tm-head th{background:#f1f5f9;font-weight:600}.tm-actions{white-space:nowrap;width:1%}.tm-icon{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;padding:2px 6px;font-size:13px}.tm-icon:hover{border-color:var(--line);background:#eef2f9}.tm-ro{color:var(--muted);font:11px/1 ui-monospace,monospace}.tm-sep{border:none;border-top:1px solid var(--line);margin:16px 0}.tm-form{gap:10px;display:grid}.tm-form-row{align-items:center;gap:10px;display:flex}.tm-label{width:110px;color:var(--muted);font-size:13px;font-weight:600}.tm-field{border:1px solid var(--line);color:var(--fg);background:#fff;border-radius:6px;flex:1;padding:6px 9px;font:13px/1.3 system-ui,sans-serif}.tm-field:focus{border-color:var(--accent);outline:none}.tm-invalid{background:#fff4f4;border-color:#e5484d}.tm-form-actions{justify-content:flex-end;display:flex}.tm-fields-section{align-items:flex-start}.tm-fields-col{flex-direction:column;flex:1;gap:6px;display:flex}.tm-fields{flex-direction:column;gap:6px;display:flex}.tm-field-row{align-items:center;gap:8px;display:flex}.tm-field-row .tm-field-name{flex:2}.tm-field-row .tm-field-type{flex:1}.tm-field-coll{color:var(--muted);white-space:nowrap;align-items:center;gap:4px;font-size:12px;display:inline-flex}.tm-add-field{align-self:flex-start}.assist-panel{border-left:1px solid var(--line);z-index:40;background:#fff;flex-direction:column;width:380px;max-width:92vw;height:100vh;transition:transform .18s;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-8px 0 24px #0f172a14}.assist-panel.is-open{transform:translate(0)}.assist-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.assist-title{font-size:14px;font-weight:600}.assist-head-actions{gap:4px;display:flex}.assist-head .icon-btn{cursor:pointer;color:#3b4150;background:0 0;border:none;border-radius:6px;padding:4px 7px;font-size:16px;line-height:1}.assist-head .icon-btn:hover{background:#f1f4f9}.assist-config{border-bottom:1px solid var(--line);background:#f8fafc;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.assist-config label{color:var(--muted);flex-direction:column;gap:3px;font-size:12px;display:flex}.assist-config input,.assist-config select{font:inherit;border:1px solid var(--line);color:var(--fg);background:#fff;border-radius:6px;padding:6px 8px;font-size:13px}.assist-config input:focus,.assist-config select:focus{border-color:var(--accent);outline:none}.assist-hint{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.assist-log{flex-direction:column;flex:1;gap:8px;padding:14px;display:flex;overflow-y:auto}.assist-empty{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.assist-msg{white-space:pre-wrap;word-break:break-word;border-radius:12px;max-width:88%;padding:8px 11px;font-size:13.5px;line-height:1.5}.assist-user{background:var(--accent);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.assist-assistant{color:var(--fg);background:#f1f4f9;border-bottom-left-radius:4px;align-self:flex-start}.assist-msg.assist-error{color:#b42318;background:#fff4f4}.assist-steps{flex-wrap:wrap;align-self:flex-start;gap:4px;margin:-2px 0 2px;display:flex}.assist-step{color:#1e40af;cursor:default;background:#e7effd;border-radius:10px;padding:2px 7px;font-size:11px}.assist-step-error{color:#b42318;background:#fff4f4}.assist-form{border-top:1px solid var(--line);align-items:flex-end;gap:8px;padding:12px 14px;display:flex}.assist-form textarea{font:inherit;border:1px solid var(--line);resize:none;color:var(--fg);border-radius:8px;flex:1;padding:8px 10px;font-size:13.5px}.assist-form textarea:focus{border-color:var(--accent);outline:none}.assist-form .tbtn{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;font:inherit;border-radius:8px;padding:8px 14px;font-size:13.5px}.assist-form .tbtn:disabled{opacity:.5;cursor:default}.cc-pop{z-index:1000;background:#fff;border:1px solid #94a3b8;border-radius:8px;max-width:min(420px,90vw);max-height:240px;padding:4px;font-size:13px;position:absolute;overflow-y:auto;box-shadow:0 10px 30px #10182838}.cc-row{cursor:pointer;white-space:nowrap;border-radius:5px;align-items:center;gap:8px;padding:4px 8px;display:flex}.cc-row.cc-active{background:#dbe7fb}.cc-icon{color:#fff;border-radius:4px;flex:none;justify-content:center;align-items:center;width:16px;height:16px;font:700 10px/1 ui-monospace,monospace;display:inline-flex}.cc-icon.cc-variable{background:#15803d}.cc-icon.cc-function{background:#2563eb;font-style:italic}.cc-icon.cc-keyword{background:#94a3b8}.cc-label{color:var(--fg);flex:none;font-family:ui-monospace,monospace}.cc-detail{color:var(--muted);text-overflow:ellipsis;margin-left:auto;padding-left:16px;font-family:ui-monospace,monospace;font-size:11.5px;overflow:hidden}#modeImport.is-active{background:#0e7490}.import-cockpit{display:none}.app-shell[data-mode=import]{--imp:#0e7490}.app-shell[data-mode=import] .editor{background:linear-gradient(#f2fbfd,#eaf6f9)}.app-shell[data-mode=import] .design-only,.app-shell[data-mode=import] .zoom-group,.app-shell[data-mode=import] .canvas-wrap,.app-shell[data-mode=import] .eval-panel,.app-shell[data-mode=import] .op-history,.app-shell[data-mode=import] .op-overlays,.app-shell[data-mode=import] .djs-palette{display:none!important}.app-shell[data-mode=import] .import-cockpit{flex-direction:column;flex:auto;min-height:0;display:flex}.imp-bar{flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 14px;display:flex}.imp-bar-group{gap:8px;display:inline-flex}.imp-bar-group:last-of-type{margin-left:auto}.imp-btn{border:1px solid var(--line);color:var(--fg);cursor:pointer;background:#fff;border-radius:7px;padding:7px 12px;font:13px/1 system-ui,sans-serif}.imp-btn:not(:disabled):hover{background:#eef7f9;border-color:#9cd0da}.imp-btn:disabled{color:#c2c9d4;cursor:default}.imp-btn.imp-primary{color:var(--imp);border-color:#9cd0da;font-weight:600}.imp-btn.imp-run{background:var(--imp);border-color:var(--imp);color:#fff;font-weight:600}.imp-btn.imp-run:disabled{color:#fff;background:#cfe6ea;border-color:#cfe6ea}.imp-btn.imp-run.imp-prod{background:#b45309;border-color:#b45309}.imp-btn.imp-run.imp-prod:disabled{background:#e6cfae;border-color:#e6cfae}.imp-note{color:var(--imp);flex-basis:100%;font-size:12.5px;font-weight:600}.imp-mode{align-items:center;gap:8px;display:inline-flex}.imp-seg{border:1px solid var(--line);border-radius:7px;display:inline-flex;overflow:hidden}.imp-seg-btn{color:var(--muted);cursor:pointer;background:#fff;border:0;padding:7px 11px;font:12.5px/1 system-ui,sans-serif}.imp-seg-btn.is-on{background:var(--imp);color:#fff;font-weight:600}.imp-seg-btn.is-on.is-prod{background:#b45309}.imp-seg-btn:not(.is-on):hover{background:#eef7f9}.imp-seg-btn:disabled{cursor:default;opacity:.6}.imp-subject{border:1px solid var(--line);color:var(--fg);background:#fff;border-radius:7px;max-width:200px;padding:6px 8px;font:12.5px/1 system-ui,sans-serif}.imp-rec{color:#b45309;background:#fdf3e7;border-radius:999px;padding:3px 6px;font:700 10px/1 ui-monospace,monospace}.imp-empty-msg{color:var(--muted);max-width:640px;font-size:13px;line-height:1.5}.imp-report{border:1px solid var(--line);background:#fbfdfe;border-radius:10px;margin:0 0 16px;padding:14px 16px}.imp-report-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.imp-report-title{color:var(--fg);font-size:14px}.imp-report-sum{color:var(--imp);margin-bottom:12px;font-size:13px;font-weight:600}.imp-report-ok{color:#15803d;font-size:13px;font-weight:600}.imp-report-cap{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 6px;font-size:12px;font-weight:700}.imp-report-table{border-collapse:collapse;width:100%;font-size:12.5px}.imp-report-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:5px 10px;font-weight:600}.imp-report-table td{color:var(--fg);border-bottom:1px solid #eef2f4;padding:5px 10px}.imp-report-num{text-align:right;font-variant-numeric:tabular-nums}.imp-report-entity{font-family:ui-monospace,monospace;font-size:12px}.import-cockpit.imp-drop{outline-offset:-6px;border-radius:12px;outline:2px dashed #9cd0da}.imp-flow{flex:auto;grid-template-columns:1fr 1.1fr 1fr;align-items:start;gap:14px;min-height:0;display:grid}.imp-lane{background:#ffffffb3;border:1px solid #cfe0e4;border-radius:12px;flex-direction:column;min-height:0;padding:10px;display:flex}.imp-lane-eval{background:linear-gradient(#ecfbfe,#e2f5f9);border-color:#a9d6df}.imp-lane-title{text-transform:uppercase;letter-spacing:.06em;color:var(--imp);align-items:center;gap:8px;margin-bottom:10px;font:700 11px/1 system-ui,sans-serif;display:flex}.imp-lane-count{color:#fff;background:var(--imp);border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:700}.imp-lane-none{color:var(--muted);padding:8px 4px;font-size:12.5px}.imp-lane-more{color:var(--imp);text-align:center;padding:8px 4px 2px;font-size:12px;font-weight:600}.imp-shelf{flex-direction:column;gap:8px;padding:2px;display:flex;overflow-y:auto}.imp-engine{background:#fff9;border:1px dashed #86c7d3;border-radius:10px;margin-bottom:10px;padding:10px}.imp-engine-name{color:#0b5563;font:700 13px/1.2 system-ui,sans-serif}.imp-engine-chips{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.imp-chip{color:#0b5563;background:#d8eff4;border-radius:999px;padding:3px 7px;font:11px/1 ui-monospace,monospace}.imp-engine-pulse{background:#cfe6ea;border-radius:999px;height:4px;margin-top:10px;position:relative;overflow:hidden}.imp-lane-eval.is-busy .imp-engine-pulse:after{content:"";background:linear-gradient(90deg, transparent, var(--imp), transparent);width:40%;animation:.9s linear infinite imp-scan;position:absolute;inset:0}@keyframes imp-scan{0%{transform:translate(-120%)}to{transform:translate(320%)}}.imp-card{background:#fff;border:1px solid #d4e2e6;border-radius:9px;padding:8px 10px;box-shadow:0 1px 3px #0f283214}.imp-card-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.imp-card-name{color:#0f172a;font:600 12.5px/1 system-ui,sans-serif}.imp-kv{color:#475569;word-break:break-word;font:11.5px/1.4 ui-monospace,monospace}.imp-card-running{border-color:var(--imp);box-shadow:0 0 0 2px #0e74902e}.imp-card-err{color:#b91c1c;margin-top:5px;font-size:11.5px}.imp-out{flex-direction:column;gap:2px;margin-top:6px;display:flex}.imp-out-row{justify-content:space-between;gap:10px;font:11.5px/1.3 ui-monospace,monospace;display:flex}.imp-out-k{color:#0b5563;font-weight:600}.imp-out-v{color:#0f172a;text-align:right}.imp-out-row.imp-out-bad .imp-out-v{color:#b91c1c;font-weight:700}.imp-badge{border-radius:999px;margin-left:auto;padding:3px 7px;font:700 10.5px/1 system-ui,sans-serif}.imp-pass{color:#166534;background:#dcfce7}.imp-fail{color:#b91c1c;background:#fee2e2}.imp-fly{animation:.3s cubic-bezier(.22,1,.36,1) imp-fly}@keyframes imp-fly{0%{opacity:0;transform:translate(-26px)scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.imp-fly,.imp-lane-eval.is-busy .imp-engine-pulse:after{animation:none}}.flow-studio{display:none}.app-shell{--flow:#7c3aed}.app-shell[data-mode=flows] .design-only,.app-shell[data-mode=flows] .zoom-group,.app-shell[data-mode=flows] .canvas-wrap,.app-shell[data-mode=flows] .eval-panel,.app-shell[data-mode=flows] .op-history,.app-shell[data-mode=flows] .op-overlays,.app-shell[data-mode=flows] .import-cockpit,.app-shell[data-mode=flows] #status,.app-shell[data-mode=flows] .djs-palette{display:none!important}.app-shell[data-mode=flows] .flow-studio{flex:auto;gap:16px;min-height:0;display:flex}.side-group{flex-direction:column;min-height:0;display:flex}.side-group-flows{border-bottom:1px solid var(--line);flex:none}.side-group-flows .flow-list{max-height:30vh}.side-group-models{flex:auto}.section-title{cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;align-items:center;gap:6px;margin:0;padding:0;display:inline-flex}.section-chev{font-size:10px;transition:transform .12s;display:inline-block}.side-group[data-collapsed=true] .section-chev{transform:rotate(-90deg)}.side-group[data-collapsed=true] .model-list{display:none}.section-layer{color:#7c3aed;letter-spacing:.02em;background:#f3e8ff;border-radius:4px;padding:1px 4px;font-size:9px;font-weight:700}.side-group-models .section-layer{color:var(--muted);background:#e2e8f0}.flow-item .model-rev{color:#7c3aed;background:#f3e8ff}.flow-canvas{border:1px solid var(--line);background:#fff;border-radius:12px;flex:auto;min-width:0;height:min(70vh,760px);position:relative}.flow-run{flex-direction:column;flex:0 0 300px;gap:10px;padding-top:2px;display:flex;overflow:auto}.flow-name-lg{font-size:15px;font-weight:650}.flow-sub{color:var(--muted);margin-bottom:2px;font-size:12px}.flow-warn{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-top:6px;padding:6px 8px;font-size:12px}.flow-run #flowRun{color:#7c3aed;border-color:#7c3aed;align-self:flex-start}.flow-out-table{border-collapse:collapse;width:100%;font-size:13px}.flow-out-table td{border-top:1px solid var(--line);padding:4px 6px}.flow-out-val{color:#7c3aed;text-align:right;font-weight:600}.flow-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:6px 8px;font-size:12px}@keyframes flow-lit-in{0%{opacity:0;transform:translateY(-3px)scale(.9)}to{opacity:1;transform:none}}@keyframes flow-edge-in{0%{opacity:0}to{opacity:1}}.node-lit{animation:.22s ease-out both flow-lit-in}.flow-canvas .djs-connection.flow-active .djs-visual>:first-child{stroke:#7c3aed;stroke-width:2.5px;filter:drop-shadow(0 0 1px #7c3aed80)}.flow-edge-val{color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#7c3aed;border-radius:999px;max-width:130px;padding:2px 6px;font:600 10px/1 ui-monospace,monospace;animation:.22s ease-out both flow-edge-in;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 1px 3px #0f172a40}.canvas .djs-connection.flow-active .djs-visual>:first-child{stroke:#1d4ed8;stroke-width:2.5px;filter:drop-shadow(0 0 2px #1d4ed88c)}.flow-edge-op{background:#1d4ed8;box-shadow:0 1px 4px #1d4ed859}@media (prefers-reduced-motion:reduce){.flow-edge-val{animation:none}}.node-input{pointer-events:auto;align-items:center;display:flex;transform:translateY(3px)}.pill-field{color:#1e3a8a;background:#eef4ff;border:1px solid #93b4f5;border-radius:999px;outline:none;min-width:68px;max-width:150px;padding:3px 9px;font:600 12px/1 ui-monospace,monospace;box-shadow:0 1px 3px #1d4ed82e}.pill-field:focus{border-color:#1d4ed8;box-shadow:0 0 0 3px #1d4ed82e}select.pill-field{cursor:pointer}.pill-field-invalid{border-color:#e5484d;box-shadow:0 0 0 2px #e5484d40}.fx-layer{pointer-events:none;z-index:4;position:absolute;inset:0}.canvas .djs-connection.flow-stream .djs-visual>:first-child{stroke-dasharray:5 7;animation:.6s linear infinite flow-stream-move}@keyframes flow-stream-move{to{stroke-dashoffset:-12px}}.canvas .djs-element.node-fire .djs-visual{animation:.48s ease-out node-fire-pulse}@keyframes node-fire-pulse{0%{filter:drop-shadow(0 0 #1d4ed800)}30%{filter:drop-shadow(0 0 9px #1d4ed8bf)}to{filter:drop-shadow(0 0 #1d4ed800)}}.tbtn.juice-off{opacity:.55}@media (prefers-reduced-motion:reduce){.canvas .djs-connection.flow-stream .djs-visual>:first-child{stroke-dasharray:none;animation:none}.canvas .djs-element.node-fire .djs-visual{animation:none}}.flow-trace{flex-direction:column;gap:6px;display:flex}.flow-trace-title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:6px 0 0;font-size:12px;font-weight:650}.flow-trace-step{border:1px solid var(--line);background:#faf5ff;border-left:3px solid #7c3aed;border-radius:8px;padding:6px 8px}.flow-trace-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.flow-trace-name{font-size:12.5px;font-weight:600}.flow-trace-hp{color:#7c3aed;background:#f3e8ff;border-radius:4px;padding:2px 5px;font:600 10px/1 ui-monospace,monospace}.flow-trace-io{justify-content:space-between;gap:8px;margin-top:3px;font-size:11.5px;display:flex}.flow-trace-k{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.flow-trace-v{text-align:right;white-space:nowrap;font:600 11px/1.3 ui-monospace,monospace}.flow-trace-matched{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.flow-trace-rule{color:#166534;background:#dcfce7;border-radius:999px;padding:2px 7px;font:600 10px/1.3 ui-monospace,monospace}.flow-run-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.flow-edit-btn{color:#7c3aed;border-color:#7c3aed;flex:none}.tbtn-accent{color:#fff;background:#7c3aed;border-color:#7c3aed}.tbtn-accent:hover{background:#6d28d9;border-color:#6d28d9}.link-btn{cursor:pointer;font:inherit;color:#7c3aed;background:0 0;border:0;margin:0;padding:0;font-size:12px}.link-btn:hover{text-decoration:underline}.flow-editor{display:none}.app-shell[data-mode=flow-edit]{--op:#7c3aed}.app-shell[data-mode=flow-edit] .editor{background:linear-gradient(#faf5ff,#f5eeff)}.app-shell[data-mode=flow-edit] .design-only,.app-shell[data-mode=flow-edit] .zoom-group,.app-shell[data-mode=flow-edit] .canvas-wrap,.app-shell[data-mode=flow-edit] .eval-panel,.app-shell[data-mode=flow-edit] .op-history,.app-shell[data-mode=flow-edit] .op-overlays,.app-shell[data-mode=flow-edit] .import-cockpit,.app-shell[data-mode=flow-edit] .flow-studio,.app-shell[data-mode=flow-edit] #status,.app-shell[data-mode=flow-edit] .djs-palette{display:none!important}.app-shell[data-mode=flow-edit] .flow-editor{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex}.flow-editor-head{flex:none;justify-content:space-between;align-items:center;gap:10px;display:flex}.flow-editor-title{margin:0;font-size:15px;font-weight:650}.flow-editor-actions{flex-wrap:wrap;gap:6px;display:flex}.flow-editor-body{flex:auto;gap:16px;min-height:0;display:flex}.flow-editor-canvas{flex:auto;min-width:0;height:auto}.flow-editor-inspector{flex-direction:column;flex:0 0 380px;gap:14px;padding-right:4px;display:flex;overflow:auto}.flow-editor-foot{flex:none;max-height:34vh;overflow:auto}.fe-section{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.fe-h{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0;font-size:12px;font-weight:700}.fe-field{flex-direction:column;gap:3px;display:flex}.fe-label{color:var(--muted);font-size:11.5px}.fe-section input,.fe-section select{font:inherit;border:1px solid var(--line);color:var(--fg);background:#fff;border-radius:7px;min-width:0;padding:5px 7px;font-size:13px}.fe-section input:focus,.fe-section select:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 2px #7c3aed26}.fe-empty{color:var(--muted);font-size:12px;font-style:italic}.fe-row{align-items:center;gap:6px;display:flex}.fe-row .fe-name{flex:auto}.fe-row .fe-type{flex:0 0 130px}.fe-step{border:1px solid var(--line);background:#faf5ff;border-left:3px solid #7c3aed;border-radius:8px;flex-direction:column;gap:7px;padding:8px;display:flex}.fe-step-head{align-items:center;gap:6px;display:flex}.fe-step-id{flex:auto;font-weight:600}.fe-wires-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.fe-wire-actions{gap:10px;display:inline-flex}.fe-wires{flex-direction:column;gap:5px;display:flex}.fe-wire{align-items:center;gap:5px;display:flex}.fe-wire-key{flex:0 0 38%}.fe-wire-expr{flex:auto}.fe-wire-arrow{color:var(--muted);flex:none;font-size:12px}.icon-btn.fe-del-input,.icon-btn.fe-del-step,.icon-btn.fe-del-wire,.icon-btn.fe-del-output{color:var(--muted);flex:none}.icon-btn.fe-del-input:hover,.icon-btn.fe-del-step:hover,.icon-btn.fe-del-wire:hover,.icon-btn.fe-del-output:hover{color:#b91c1c}.fe-note{border-radius:8px;padding:8px 10px;font-size:12.5px}.fe-note-ok{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.fe-note-warn{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.fe-note-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}.fe-diags{flex-direction:column;gap:3px;margin:6px 0 0;padding-left:18px;display:flex}.fe-diags code{color:#7c3aed;font:600 11px/1.3 ui-monospace,monospace}.fe-diag-step{color:var(--muted);font:600 11px/1.3 ui-monospace,monospace}.fe-test-form{flex-direction:column;gap:8px;display:flex}.fe-test-fields{flex-wrap:wrap;gap:8px;display:flex}.fe-test-out{margin-bottom:8px}.hl-wrap{display:block;position:relative}.hl-backdrop{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hl-content{box-sizing:border-box;width:100%;min-height:100%;color:var(--fg);background:0 0;margin:0}.hl-field{-webkit-text-fill-color:transparent;caret-color:var(--fg);position:relative;background-color:#0000!important}.hl-field::placeholder{-webkit-text-fill-color:#94a3b8;color:#94a3b8}.lit-body .hl-wrap:focus-within .hl-backdrop{background:#fff}.hl-kw{color:#7c3aed;font-weight:600}.hl-fn{color:#2563eb}.hl-var{color:#15803d}.hl-str{color:#b45309}.hl-num{color:#0e7490}.hl-op{color:#64748b}.side-group-access{border-top:1px solid var(--line);background:#e8eef7;flex:0 auto;min-height:0}.side-group-access[hidden]{display:none}.side-group-access .sidebar-section{padding-top:8px;padding-bottom:8px}.access-host{flex-direction:column;gap:0;max-height:40vh;padding:4px 12px 12px;display:flex;overflow-y:auto}.side-group-access[data-collapsed=true] .access-host{display:none}.access-block{flex-direction:column;gap:8px;display:flex}.access-host>.access-block{padding:14px 0}.access-host>.access-block:first-child{padding-top:4px}.access-host>.access-block+.access-block{border-top:1px solid var(--line)}.access-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font:600 11px/1 ui-sans-serif,system-ui}.access-note{color:var(--muted);margin:0;font-size:11.5px;line-height:1.5}.access-hint{color:var(--muted);margin:2px 0 0;font-size:10.5px;font-style:italic}.access-err{color:#b91c1c;margin:0;font-size:11.5px}.access-input{box-sizing:border-box;border:1px solid var(--line);width:100%;color:var(--fg);background:#fff;border-radius:6px;padding:6px 8px;font-size:12px}.access-input:focus{border-color:var(--accent);outline:none}.access-btn{border:1px solid var(--line);color:var(--fg);cursor:pointer;background:#fff;border-radius:6px;align-self:flex-start;padding:5px 10px;font-size:12px;font-weight:600}.access-btn:hover{background:#e7effd}.access-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.access-btn-primary:hover{filter:brightness(1.05);background:var(--accent)}.access-btn-danger{color:#b91c1c;border-color:#f0c9c9}.access-btn-danger:hover{background:#fdeaea}.access-btn-sm{padding:3px 8px;font-size:11px}.access-actions{gap:6px;display:flex}.access-identity{align-items:center;gap:6px;display:flex}.access-who{color:var(--fg);font:600 12px/1 ui-monospace,monospace}.access-badge{text-transform:uppercase;background:var(--accent);color:#fff;border-radius:999px;padding:2px 6px;font:600 9.5px/1 ui-sans-serif,system-ui}.access-scopes{color:var(--muted);word-break:break-word;margin:0;font:500 10.5px/1.4 ui-monospace,monospace}.access-list{flex-direction:column;gap:8px;display:flex}.access-key{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:5px;padding:8px;display:flex}.access-key.is-revoked{opacity:.55}.access-key-head{justify-content:space-between;align-items:baseline;gap:6px;display:flex}.access-kid{color:var(--fg);font:600 11.5px/1 ui-monospace,monospace}.access-key-meta{color:var(--muted);text-align:right;font-size:10px}.access-key-scopes{color:var(--muted);word-break:break-word;font:500 10.5px/1.4 ui-monospace,monospace}.access-key-actions{gap:6px;margin-top:2px;display:flex}.access-create{border:1px dashed var(--accent);border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.access-scope-grid{flex-direction:column;gap:4px;display:flex}.access-scope{color:var(--fg);cursor:pointer;align-items:center;gap:4px;font-size:11.5px;display:flex}.access-secret{border:1px solid var(--accent);background:#f0fdf4;border-radius:8px;flex-direction:column;gap:6px;padding:8px;display:flex}.access-secret-value{color:var(--fg);word-break:break-all;background:#fff;border-radius:4px;padding:6px;font:600 11px/1.4 ui-monospace,monospace}.access-public-list{flex-direction:column;gap:3px;margin:0;padding-left:16px;display:flex}.access-public-list li{font-size:11px}.access-public-list code{color:var(--fg);word-break:break-all;font:600 10.5px/1.3 ui-monospace,monospace}.access-public-row{align-items:center;gap:8px;padding:4px 0;display:flex}.access-public-model{color:var(--fg);word-break:break-all;flex:1;font:600 10.5px/1.3 ui-monospace,monospace}.access-public-row .access-key-meta{flex:none}.public-toggle{font-size:11.5px}.public-toggle.is-public{border-color:var(--accent);color:var(--accent);font-weight:600}.public-toggle:disabled{opacity:.7;cursor:default}
