.stage-start-guide{margin:0 0 12px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--color-primary, #6aa9d4) 45%,#d7e6f0);border-radius:10px;background:linear-gradient(180deg,#f4faff,#fff 70%);color:#36475d}.stage-start-guide-head{display:flex;align-items:center;gap:8px}.stage-start-guide-head b{flex:1;font-size:14px}.stage-start-guide-head svg{color:var(--color-primary, #6aa9d4)}.stage-start-guide-head button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;border-radius:6px;background:transparent;color:#7b8b9c;cursor:pointer}.stage-start-guide-head button:hover{background:#e8f3fa;color:#243246}.stage-start-guide p{margin:6px 0 0;font-size:13px;line-height:1.55;color:#526378}.stage-start-guide ol{margin:8px 0 0;padding-left:1.2em;font-size:13px;line-height:1.6;color:#243246}.stage-start-prompts{display:flex;flex-direction:column;gap:8px;margin-top:10px}.stage-start-prompts--solo{margin:0 0 10px}.stage-start-prompts>span{font-size:12px;color:#6d7d8e}.stage-start-prompts button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 10px;border:1px solid #d5e4ee;border-radius:8px;background:#fff;text-align:left;cursor:pointer}.stage-start-prompts button:hover{border-color:var(--color-primary, #6aa9d4);background:#f7fbfe}.stage-start-prompts em{font-style:normal;font-size:12px;font-weight:650;color:#2d6f96}.stage-start-prompts button>span{font-size:12.5px;line-height:1.5;color:#36475d}.stage-start-guide-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.stage-start-guide-go{display:inline-flex;align-items:center;padding:6px 14px;border:0;border-radius:8px;background:var(--color-primary, #6aa9d4);color:#fff;font-size:13px;cursor:pointer}.stage-start-guide-go:hover{background:var(--color-primary-hover, #4f8fb8)}.stage-start-guide-go.is-secondary{background:#fff;color:#2d6f96;border:1px solid #b7d3e6}.stage-start-guide-go.is-secondary:hover{background:#f4faff}.is-start-focus,.ant-btn.is-start-focus{position:relative;z-index:1;border-radius:10px;outline:2px solid var(--color-primary, #6aa9d4);outline-offset:3px;animation:stage-start-pulse 1.6s ease-in-out infinite;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary, #6aa9d4) 55%,transparent)}@keyframes stage-start-pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary, #6aa9d4) 50%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--color-primary, #6aa9d4) 16%,transparent)}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #555;--xy-background-pattern-lines-color-default: #333;--xy-background-pattern-cross-color-default: #333;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{border-width:0;border-style:solid;border-color:var(--color-border, #e2edf2)}input,textarea,select{border-width:0;background:transparent}ul,ol{list-style:none;margin:0;padding:0}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.fixed{position:fixed}.col-span-2{grid-column:span 2 / span 2}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.mr-1{margin-right:.25rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-2\.5{height:.625rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-\[500px\]{height:500px}.h-px{height:1px}.min-h-\[60px\]{min-height:60px}.min-h-screen{min-height:100vh}.w-0\.5{width:.125rem}.w-2\.5{width:.625rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-full{width:100%}.max-w-\[80px\]{max-width:80px}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l-2{border-left-width:2px}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-ink\/10{border-color:#2d3a4a1a}.border-ink\/15{border-color:#2d3a4a26}.border-ink\/5{border-color:#2d3a4a0d}.bg-brand{--tw-bg-opacity: 1;background-color:rgb(106 169 212 / var(--tw-bg-opacity, 1))}.bg-cyan-100{--tw-bg-opacity: 1;background-color:rgb(207 250 254 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-400{--tw-bg-opacity: 1;background-color:rgb(74 222 128 / var(--tw-bg-opacity, 1))}.bg-indigo-100{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1))}.bg-ink\/10{background-color:#2d3a4a1a}.bg-ink\/20{background-color:#2d3a4a33}.bg-ink\/5{background-color:#2d3a4a0d}.bg-paper{--tw-bg-opacity: 1;background-color:rgb(245 248 250 / var(--tw-bg-opacity, 1))}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-400{--tw-bg-opacity: 1;background-color:rgb(250 204 21 / var(--tw-bg-opacity, 1))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-ink\/20{--tw-gradient-from: rgb(45 58 74 / .2) var(--tw-gradient-from-position);--tw-gradient-to: rgb(45 58 74 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.pl-3{padding-left:.75rem}.text-left{text-align:left}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-\[10px\]{font-size:10px}.text-\[13px\]{font-size:13px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.tracking-wider{letter-spacing:.05em}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-brand{--tw-text-opacity: 1;color:rgb(106 169 212 / var(--tw-text-opacity, 1))}.text-cyan-600{--tw-text-opacity: 1;color:rgb(8 145 178 / var(--tw-text-opacity, 1))}.text-cyan-700{--tw-text-opacity: 1;color:rgb(14 116 144 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-indigo-700{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.text-ink{--tw-text-opacity: 1;color:rgb(45 58 74 / var(--tw-text-opacity, 1))}.text-mist{--tw-text-opacity: 1;color:rgb(122 138 153 / var(--tw-text-opacity, 1))}.text-mist\/50{color:#7a8a9980}.text-mist\/60{color:#7a8a9999}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.accent-brand{accent-color:#6aa9d4}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.6;color:#1f2937;background:#f0f2f6;overflow:hidden;-webkit-font-smoothing:antialiased}:root{--color-primary: #6aa9d4;--color-primary-hover: #4f8fb8;--color-primary-disabled: #b8d6e9;--color-nav-bg: #111827;--color-nav-bg-2: #1f2937;--color-nav-text: #e5e7eb;--color-nav-muted: #9ca3af;--color-nav-active-bg: #2266e3;--color-border: #e2edf2;--color-border-strong: #c9d4da;--color-surface: #ffffff;--color-surface-muted: #f7f8fa;--color-text: #1f2937;--color-text-muted: #6b7280;--color-text-faint: #9ca3af;--color-danger: #ef4444;--color-danger-hover: #b91c1c;--color-success: #10b981;--color-warning: #f59e0b;--radius: 6px;--radius-sm: 4px;--shadow: none;--mono: "SF Mono", Monaco, Menlo, Consolas, "Courier New", monospace}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}input,textarea,select,button{font:inherit;color:inherit}a{color:var(--color-primary);text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-sm);transition:background .15s,border-color .15s,color .15s}.btn:hover{background:var(--color-surface-muted)}.btn:disabled{cursor:not-allowed;opacity:.45}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-primary:disabled{background:var(--color-primary-disabled);border-color:var(--color-primary-disabled);opacity:.5}.btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover);border-color:var(--color-danger-hover)}.btn-ghost{background:transparent;border-color:transparent;color:var(--color-primary);padding:0 6px;height:24px}.btn-ghost:hover{background:var(--color-surface-muted)}.btn-ghost.danger{color:var(--color-danger)}.btn-sm{height:26px;padding:0 8px;font-size:12px}.btn-thinking-active{background:#e3e9ff;border-color:var(--color-primary);color:var(--color-primary)}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-size:13px;color:var(--color-text);display:flex;gap:4px;align-items:center}.field>input,.field>select,.field>textarea{height:32px;padding:0 10px;border:1px solid var(--color-border-strong);background:#fff;border-radius:var(--radius-sm);outline:none}.field>input:focus,.field>select:focus,.field>textarea:focus{border-color:var(--color-primary)}.form-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}.layout{display:flex;flex-direction:column;height:100vh}.topbar{flex:0 0 48px;background:#fff;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 20px}.topbar__brand{display:flex;align-items:center;gap:8px;color:var(--color-primary)}.topbar__title{font-weight:600;font-size:15px}.topbar__sub{color:var(--color-text-muted);font-size:12px;margin-left:6px}.topbar__right{display:flex;align-items:center;gap:12px}.topbar__user{display:flex;align-items:center;gap:4px;color:var(--color-text-muted);font-size:13px}.topbar__role{color:var(--color-text-faint)}.topbar__busy{display:flex;align-items:center;gap:4px;padding:3px 10px;background:#fff3cd;border:1px solid #ffc107;border-radius:var(--radius-sm);color:#856404;font-size:12px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout__body{flex:1;display:flex;min-height:0}.nav{flex:0 0 220px;background:var(--color-nav-bg);color:var(--color-nav-text);display:flex;flex-direction:column;overflow-y:auto}.nav__item{display:flex;align-items:center;gap:10px;padding:10px 16px;color:var(--color-nav-text);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:13px;transition:background .15s}.nav__item:hover{background:var(--color-nav-bg-2)}.nav__item.active{background:var(--color-nav-active-bg);color:#fff}.nav__footer{margin-top:auto;padding:12px 16px;font-size:11px;color:var(--color-nav-muted)}.nav__path{word-break:break-all}.content{flex:1;min-width:0;overflow:auto;padding:24px}.content--full{padding:0}.layout__path-hint{position:fixed;bottom:6px;right:10px;font-size:11px;color:var(--color-text-faint);pointer-events:none;z-index:1000}.topbar__nav{display:flex;align-items:center;gap:4px;margin-left:24px}.topbar__nav-item{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;color:var(--color-text-muted);font-size:13px;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;transition:background .15s}.topbar__nav-item:hover{background:var(--color-bg-2);color:var(--color-text)}.topbar__nav-item.active{background:var(--color-primary);color:#fff}.projects-page .section{max-width:1200px;margin:0 auto;width:100%}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.project-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:18px;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;gap:8px;min-height:140px}.project-card:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #0000000f;transform:translateY(-1px)}.project-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.project-card__name{font-size:16px;font-weight:600;word-break:break-all;flex:1;min-width:0}.project-card__menu{position:relative;color:var(--color-text-muted);cursor:pointer;padding:2px;border-radius:4px}.project-card__menu:hover{background:var(--color-bg-2);color:var(--color-text)}.project-card__dropdown{position:absolute;top:22px;right:0;min-width:120px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:0 4px 12px #00000014;z-index:10;display:flex;flex-direction:column;padding:4px 0}.project-card__dropdown button{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;background:transparent;border:none;cursor:pointer;text-align:left;width:100%}.project-card__dropdown button:hover{background:var(--color-bg-2)}.project-card__dropdown button.danger{color:var(--color-danger)}.project-card__desc{color:var(--color-text-muted);font-size:13px;flex:1;display:-webkit-box;-webkit-line-orient:vertical;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.project-card__meta{color:var(--color-text-faint);font-size:12px;border-top:1px solid var(--color-border-light);padding-top:8px}.empty-projects{display:flex;flex-direction:column;align-items:center;gap:12px;padding:80px 20px;color:var(--color-text-muted);text-align:center}.empty-projects__title{font-size:16px;font-weight:600;color:var(--color-text)}.empty-projects__desc{font-size:13px}.workspace{display:flex;flex-direction:column;height:100vh;background:var(--color-bg)}.workspace__topbar{flex:0 0 48px;background:#fff;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 20px;gap:16px}.workspace__title{font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace__desc{color:var(--color-text-muted);font-size:13px;font-weight:400;overflow:hidden;text-overflow:ellipsis}.workspace__user{display:flex;align-items:center;gap:6px;color:var(--color-text-muted);font-size:13px}.workspace__user .btn-ghost{background:transparent;border:none;cursor:pointer;color:var(--color-text-muted);font-size:13px;padding:2px 8px;border-radius:4px}.workspace__user .btn-ghost:hover{background:var(--color-bg-2);color:var(--color-text)}.workspace__menu{flex:0 0 auto;background:#fff;border-bottom:1px solid var(--color-border);display:flex;gap:0;padding:0 20px}.workspace__menu-item{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;color:var(--color-text-muted);font-size:13px;cursor:pointer;text-decoration:none;border-bottom:2px solid transparent;transition:all .15s}.workspace__menu-item:hover{color:var(--color-text);background:var(--color-bg-2)}.workspace__menu-item.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:500}.workspace__content{flex:1;min-height:0;overflow:auto;padding:24px}.page{display:flex;flex-direction:column;gap:16px;max-width:1200px;margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.page-title{font-size:18px;font-weight:600}.page-sub{color:var(--color-text-muted);font-size:13px;margin-top:4px}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.section{background:var(--color-surface);border:1px solid var(--color-border);padding:20px}.section-title{font-weight:500;margin-bottom:12px;display:flex;align-items:center;gap:8px;font-size:14px}.section-title:before{content:"";width:3px;height:14px;background:var(--color-primary);display:inline-block}.loading-box{padding:24px;text-align:center;color:var(--color-text-muted)}.err-box{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;padding:8px 12px;font-size:13px}.err-bar{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;padding:8px 12px;font-size:13px;margin:0 24px}.info-bar{background:#eff6ff;color:#1e40af;border:1px solid #93c5fd;padding:8px 12px;font-size:13px;display:flex;align-items:center;gap:8px}.empty-mini{padding:20px;text-align:center;color:var(--color-text-muted);font-size:13px}.table-wrap{width:100%;border:1px solid var(--color-border);background:#fff;overflow-x:auto}table.t{width:100%;border-collapse:collapse;font-size:13px}table.t th,table.t td{padding:8px 12px;border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);text-align:left;vertical-align:middle}table.t th:last-child,table.t td:last-child{border-right:none}table.t thead th{background:var(--color-surface-muted);font-weight:500;white-space:nowrap}table.t tbody tr:hover{background:var(--color-surface-muted)}table.t .link{color:var(--color-primary);cursor:pointer}table.t .link:hover{text-decoration:underline}.ops{display:flex;gap:4px;flex-wrap:wrap}.status-tag{display:inline-block;padding:1px 8px;font-size:12px;border:1px solid var(--color-border-strong)}.status-tag.draft{color:#92400e;border-color:#fcd34d;background:#fef3c7}.status-tag.finalized{color:#065f46;border-color:#6ee7b7;background:#d1fae5}.model-code{display:inline-block;padding:1px 6px;font-size:11px;font-weight:600;background:var(--color-primary);color:#fff;border-radius:3px;margin-right:6px;font-family:var(--mono)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat-card{background:#fff;border:1px solid var(--color-border);border-left:3px solid var(--color-primary);padding:18px;display:flex;align-items:center;gap:14px;cursor:pointer;transition:background .15s}.stat-card:hover{background:var(--color-surface-muted)}.stat-card__icon{flex:0 0 40px;display:flex;align-items:center;justify-content:center}.stat-card__body{flex:1}.stat-card__value{font-size:26px;font-weight:600;line-height:1.2}.stat-card__label{color:var(--color-text-muted);font-size:13px;margin-top:2px}.quick-actions{display:flex;gap:10px;flex-wrap:wrap}.recent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.recent-list{list-style:none;margin:0;padding:0}.recent-item{display:flex;align-items:center;gap:8px;padding:10px 8px;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background .12s}.recent-item:hover{background:var(--color-surface-muted)}.recent-item__main{flex:1;min-width:0}.recent-item__title{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-item__sub{font-size:11px;color:var(--color-text-muted);margin-top:2px;display:flex;gap:6px;align-items:center}.recent-item__arrow{color:var(--color-text-faint)}.chat-page{display:flex;height:100%;margin:-24px;overflow:hidden}.chat-sidebar{flex:0 0 260px;background:#fafafa;border-right:1px solid var(--color-border);display:flex;flex-direction:column}.chat-sidebar__header{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);font-size:13px;font-weight:600}.btn-new{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);font-size:12px}.btn-new:hover{opacity:.9}.chat-sidebar__search{padding:8px 12px;display:flex;align-items:center;gap:6px;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.chat-sidebar__search input{flex:1;border:none;background:none;outline:none;font-size:13px}.chat-sidebar__list{flex:1;overflow-y:auto;padding:4px 6px}.conv-item{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s}.conv-item:hover{background:#0000000a}.conv-item.active{background:#e3e9ff}.conv-item__main{flex:1;min-width:0}.conv-item__title{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-item__sub{font-size:11px;color:var(--color-text-muted)}.conv-item__actions{display:none;gap:2px}.conv-item:hover .conv-item__actions,.conv-item.active .conv-item__actions{display:flex}.conv-item__actions button{padding:2px 4px;border-radius:4px;color:var(--color-text-muted);font-size:12px}.conv-item__actions button:hover{background:#00000014;color:var(--color-text)}.conv-item__edit{flex:1;padding:2px 4px;border:1px solid var(--color-primary);border-radius:4px;font-size:13px;outline:none}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;height:100%}.chat-topbar{flex:0 0 48px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#fff}.chat-topbar__title{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-topbar__actions{display:flex;gap:8px;align-items:center}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-muted);padding:40px;text-align:center}.chat-empty__icon{font-size:48px;opacity:.3;margin-bottom:12px}.chat-empty__title{font-size:18px;font-weight:500;color:var(--color-text);margin-bottom:8px}.chat-empty__desc{font-size:13px}.messages{flex:1;overflow-y:auto;padding:20px 0 40px;scroll-behavior:smooth;position:relative}.messages__inner{max-width:820px;margin:0 auto;padding:0 24px}.msg{margin-bottom:24px;display:flex;flex-direction:column}.msg.user{align-items:flex-end}.msg.assistant{align-items:flex-start}.msg__bubble{max-width:78%;padding:12px 14px;border-radius:8px;white-space:pre-wrap;word-break:break-word;line-height:1.65}.msg.user .msg__bubble{background:#e7f0ff;color:var(--color-text);border-bottom-right-radius:3px}.msg.assistant .msg__bubble{background:transparent;padding:0;max-width:100%;width:100%}.msg__actions{display:flex;gap:6px;margin-top:8px}.msg__actions button{font-size:12px;color:var(--color-text-muted);padding:2px 8px;border-radius:4px;border:1px solid var(--color-border);background:#fff}.msg__actions button:hover{background:var(--color-surface-muted)}.thinking{margin-bottom:12px;border-radius:6px;background:#f0f0f3;border-left:3px solid #7c5cff;overflow:hidden}.thinking__header{padding:8px 12px;display:flex;align-items:center;gap:8px;font-size:12px;color:#8a8a96;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.thinking__header:hover{background:#e8e8f0}.thinking__icon{font-size:14px}.thinking__title{flex:1}.thinking__title.active{color:#7c5cff;font-weight:500}.thinking__arrow{transition:transform .2s}.thinking__arrow.collapsed{transform:rotate(-90deg)}.thinking__body{padding:10px 14px 14px;font-size:12.5px;color:#8a8a96;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-y:auto}.error-card{background:#fff0f0;border:1px solid #ffd0d0;border-radius:6px;padding:10px 12px;color:var(--color-danger);font-size:13px;margin-bottom:12px;display:flex;align-items:center;gap:10px}.error-card button{margin-left:auto;padding:4px 10px;border-radius:4px;border:1px solid var(--color-danger);color:var(--color-danger);font-size:12px}.error-card button:hover{background:#ffe5e5}.input-wrap{flex:0 0 auto;border-top:1px solid var(--color-border);background:#fff;padding:12px 24px 16px}.input-box{max-width:820px;margin:0 auto;border:1px solid var(--color-border);border-radius:8px;background:#fff;overflow:hidden}.input-box textarea{width:100%;resize:none;border:none;background:none;padding:12px 14px 4px;font-size:14px;line-height:1.6;min-height:24px;max-height:200px;outline:none}.input-bar{display:flex;align-items:center;padding:4px 8px 8px;gap:8px}.deep-thinking-toggle{display:inline-flex;align-items:center;gap:4px;cursor:pointer;padding:4px 12px;border-radius:12px;border:1px solid var(--color-border);font-size:12px;color:var(--color-text-muted);background:#fff;transition:all .15s ease}.deep-thinking-toggle:hover{border-color:var(--color-text-muted)}.deep-thinking-toggle.active{background:#e3e9ff;border-color:var(--color-primary);color:var(--color-primary)}.deep-thinking-toggle.toggling{opacity:.6;cursor:wait}.btn-send{margin-left:auto;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--color-primary);color:#fff;transition:opacity .15s}.btn-send:hover{opacity:.9}.btn-send:disabled{background:var(--color-text-muted);opacity:.5;cursor:not-allowed}.btn-send.stop{background:var(--color-danger)}.input-hint{text-align:center;font-size:11px;color:var(--color-text-muted);margin-top:6px}.scroll-bottom{position:absolute;bottom:20px;left:50%;transform:translate(-50%);padding:6px 14px;border-radius:14px;background:#fff;border:1px solid var(--color-border);font-size:12px;color:var(--color-text);z-index:5}.scroll-bottom:hover{background:var(--color-surface-muted)}.md{line-height:1.7;font-size:14px;word-break:break-word}.md p{margin:0 0 10px}.md p:last-child{margin-bottom:0}.md h1,.md h2,.md h3,.md h4{margin:14px 0 8px;font-weight:600}.md h1{font-size:18px}.md h2{font-size:16px}.md h3{font-size:15px}.md h4{font-size:14px}.md ul,.md ol{margin:6px 0 10px;padding-left:22px}.md li{margin-bottom:4px}.md code{font-family:var(--mono);font-size:.92em;background:#f5f5f7;padding:1px 5px;border-radius:3px}.md pre{background:#f5f5f7;border-radius:6px;padding:12px;overflow-x:auto;margin:8px 0 12px;position:relative}.md pre code{background:none;padding:0;font-size:12.5px}.md blockquote{border-left:3px solid var(--color-border);padding-left:12px;color:var(--color-text-muted);margin:8px 0}.md table{border-collapse:collapse;margin:8px 0;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--color-border);padding:6px 10px;text-align:left;font-size:13px}.md th{background:#f5f5f7}.md a{color:var(--color-primary)}.md hr{border:none;border-top:1px solid var(--color-border);margin:12px 0}.code-copy{position:absolute;top:6px;right:6px;font-size:11px;color:var(--color-text-muted);padding:2px 6px;border-radius:3px;border:1px solid var(--color-border);background:#fff}.code-copy:hover{background:var(--color-surface-muted)}.mermaid-diagram{width:100%;overflow:auto;margin:10px 0 14px;padding:14px;border:1px solid #dbe3ec;border-radius:6px;background:#fbfcfe}.mermaid-diagram svg{display:block;width:100%;min-width:460px;height:auto;margin:0 auto}.mermaid-diagram-state{margin:10px 0 14px;padding:12px;border:1px solid #dbe3ec;border-radius:6px;background:#fbfcfe;color:#6d7c8e;font-size:12px}.mermaid-diagram-state:not(.is-error){min-height:180px;display:flex;align-items:center;justify-content:center}.mermaid-diagram-state.is-error{border-color:#efcaca;background:snow;color:#a33a3f}.mermaid-diagram-state-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.mermaid-diagram-state-head button{width:26px;height:26px;flex:0 0 26px;display:grid;place-items:center;border:1px solid #e1b7b9;border-radius:4px;background:#fff;color:#a33a3f}.mermaid-diagram-state>pre{max-height:260px;margin-bottom:0}.doc-view{min-height:300px}.doc-edit__textarea{width:100%;min-height:400px;padding:12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);outline:none;font-family:var(--mono);font-size:13px;resize:vertical;background:#fff}.doc-edit__textarea:focus{border-color:var(--color-primary)}.doc-edit__preview{margin-top:16px;padding-top:16px;border-top:1px dashed var(--color-border)}.doc-edit__preview-title{font-size:12px;color:var(--color-text-muted);margin-bottom:10px;font-weight:600}.ontology-layout{display:grid;grid-template-columns:280px 1fr;gap:16px}.ontology-docs{align-self:start}.doc-select-list{list-style:none;margin:0;padding:0}.doc-select-item{padding:10px 12px;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background .12s}.doc-select-item:hover{background:var(--color-surface-muted)}.doc-select-item.active{background:#e3e9ff;border-left:3px solid var(--color-primary)}.doc-select-item__title{font-size:13px}.doc-select-item__sub{font-size:11px;color:var(--color-text-muted);margin-top:2px}.ontology-main{display:flex;flex-direction:column;gap:16px}.ontology-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--color-text-muted);gap:12px;background:#fff;border:1px solid var(--color-border)}.ontology-control{display:flex;align-items:center;justify-content:space-between}.ontology-control__info{display:flex;flex-direction:column;gap:4px}.ontology-control__doc{font-size:14px}.ontology-control__progress{font-size:13px;color:var(--color-text-muted)}.model-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.model-card{background:#fff;border:1px solid var(--color-border);padding:14px;display:flex;flex-direction:column;gap:6px;transition:border-color .15s}.model-card.state-generating{border-color:var(--color-primary)}.model-card.state-done{border-color:var(--color-success)}.model-card.state-error{border-color:var(--color-danger)}.model-card__header{display:flex;align-items:center;gap:8px}.model-card__name{flex:1;font-weight:600;font-size:14px}.model-card__icon{color:var(--color-text-muted)}.model-card.state-generating .model-card__icon{color:var(--color-primary)}.model-card.state-done .model-card__icon{color:var(--color-success)}.model-card.state-error .model-card__icon{color:var(--color-danger)}.model-card__desc{font-size:12px;color:var(--color-text-muted);line-height:1.5;min-height:36px}.model-card__file{font-size:11px;color:var(--color-text-faint);font-family:var(--mono)}.model-card__progress{font-size:12px;color:var(--color-primary)}.model-card__meta{font-size:12px;color:var(--color-success)}.model-card__error{font-size:12px;color:var(--color-danger)}.model-card__view{margin-top:4px}.model-card__actions{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.model-card__regen{margin-top:4px}.gen-log__body{background:#1f2937;color:#d1d5db;padding:12px;font-family:var(--mono);font-size:12px;border-radius:var(--radius-sm);max-height:240px;overflow-y:auto}.gen-log__line{padding:2px 0}.modal-yaml{width:800px;max-width:92vw;height:80vh;max-height:80vh}.yaml-meta{display:flex;gap:12px;align-items:center;padding:8px 0 12px;font-size:12px;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);margin-bottom:12px}.yaml-content{background:#1f2937;color:#d1d5db;padding:14px;font-family:var(--mono);font-size:12.5px;border-radius:var(--radius-sm);overflow:auto;white-space:pre-wrap;word-break:break-word;flex:1;min-height:0}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;animation:fade .15s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:#fff;border-radius:var(--radius);width:520px;max-width:92vw;max-height:86vh;display:flex;flex-direction:column}.modal__header{padding:14px 20px;border-bottom:1px solid var(--color-border);display:flex;align-items:center}.modal__title{flex:1;font-weight:600;font-size:15px;display:flex;align-items:center}.toast-box{position:fixed;top:60px;right:24px;z-index:200;background:var(--color-primary);color:#fff;padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;box-shadow:0 4px 12px #00000026;animation:fade .15s ease}.ontology-editor-page{height:100%;display:flex;flex-direction:column}.ontology-editor-layout{flex:1;display:grid;grid-template-columns:240px 1fr;gap:16px;min-height:0;overflow:hidden}.editor-sidebar{overflow-y:auto}.editor-sidebar__sub{margin-top:16px;display:flex;align-items:center;gap:6px}.editor-sidebar__count{margin-left:auto;font-size:11px;color:var(--color-text-faint)}.model-list{list-style:none;padding:0;margin:8px 0 0}.model-list__item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent;transition:all .12s}.model-list__item:hover{background:var(--color-bg-hover)}.model-list__item.active{background:var(--color-bg-active);border-color:var(--color-primary)}.model-list__item.is-empty{opacity:.5;cursor:not-allowed}.model-list__name{flex:1;font-size:13px}.model-list__ver{font-size:11px;color:var(--color-text-faint);margin-left:6px}.model-list__state{color:var(--color-success)}.model-list__empty{font-size:11px;color:var(--color-text-faint)}.editor-main{display:flex;flex-direction:column;gap:12px;min-height:0;overflow-y:auto;padding-right:4px}.editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.editor-toolbar__info{display:flex;flex-direction:column;gap:4px}.editor-toolbar__title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px}.editor-toolbar__file{font-size:11px;color:var(--color-text-faint);font-family:var(--mono)}.editor-toolbar__meta{font-size:12px;color:var(--color-text-muted);display:flex;align-items:center;gap:8px}.editor-toolbar__dirty{color:var(--color-danger);font-weight:600}.editor-toolbar__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.seg{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.seg__btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;font-size:12px;background:#fff;color:var(--color-text-muted);border:none;cursor:pointer;border-right:1px solid var(--color-border)}.seg__btn:last-child{border-right:none}.seg__btn.active{background:var(--color-primary);color:#fff}.editor-body{background:#fafbfc;border:1px solid var(--color-border);border-radius:var(--radius);padding:14px;min-height:320px;max-height:60vh;overflow:auto}.editor-yaml-textarea{width:100%;min-height:320px;padding:12px;font-family:var(--mono);font-size:12.5px;line-height:1.6;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#1f2937;color:#e5e7eb;resize:vertical}.editor-yaml-textarea:focus{outline:none;border-color:var(--color-primary)}.validation-summary{display:flex;gap:16px;align-items:center;padding:10px 16px}.validation-summary.has-error{background:#fef2f2}.validation-summary__item{display:inline-flex;align-items:center;gap:4px;font-size:13px}.validation-summary__err{color:var(--color-danger)}.validation-summary__warn{color:#d97706}.validation-summary__ok{color:var(--color-success);margin-left:auto}.validation-list__body{display:flex;flex-direction:column;gap:6px}.validation-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-sm);font-size:12.5px}.validation-item--error{background:#fef2f2;color:#991b1b}.validation-item--warn{background:#fffbeb;color:#92400e}.validation-item__code{font-family:var(--mono);font-weight:600;flex-shrink:0}.validation-item__msg{flex:1}.ref-result__body{display:flex;flex-direction:column;gap:8px}.ref-result__msg{font-size:13px;padding:8px 12px;border-radius:var(--radius-sm)}.ref-result__msg.is-ok{background:#ecfdf5;color:#065f46}.ref-result__msg.is-warn{background:#fffbeb;color:#92400e}.ref-list{list-style:none;padding:0;margin:0}.ref-list__item{display:flex;gap:8px;padding:6px 0;font-size:12.5px;border-bottom:1px dashed var(--color-border)}.ref-list__type{font-family:var(--mono);color:var(--color-primary);flex-shrink:0;min-width:120px}.ref-list__node{font-weight:600;min-width:120px}.ref-trigger{position:fixed;bottom:16px;right:24px;z-index:50;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:10px 12px;box-shadow:0 4px 16px #0000001f;display:flex;flex-direction:column;gap:6px;max-width:240px}.ref-trigger__title{font-size:12px;font-weight:600;color:var(--color-text-muted)}.ref-trigger__select{font-size:12px}.yfe-field{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.yfe-label{font-size:12px;color:var(--color-text-muted);min-width:80px}.yfe-input{flex:1;min-width:160px;padding:4px 8px;font-size:12.5px}.yfe-input--num{max-width:120px}.yfe-textarea{flex:1;min-width:200px;padding:6px 8px;font-size:12.5px;font-family:var(--mono);resize:vertical}.yfe-select{max-width:120px;padding:4px 8px;font-size:12px}.yfe-checkbox{display:inline-flex;align-items:center;gap:4px;font-size:12px}.yfe-null{font-size:12px;color:var(--color-text-faint);font-style:italic}.yfe-null-select{max-width:110px}.yfe-block{border-left:2px solid var(--color-border);padding-left:12px;margin-left:2px}.yfe-block__head{display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.yfe-toggle{color:var(--color-text-muted);display:inline-flex}.yfe-block__label{font-size:13px;font-weight:600;color:var(--color-text)}.yfe-block__count{font-size:11px;color:var(--color-text-faint);margin-left:auto}.yfe-block__body{display:flex;flex-direction:column;gap:8px;padding:6px 0}.yfe-row{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px dashed var(--color-border-light, #f0f0f0)}.yfe-row:last-child{border-bottom:none}.yfe-row__value{flex:1;min-width:0}.yfe-keybtn{background:var(--color-bg-active);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 8px;font-size:12px;font-family:var(--mono);color:var(--color-primary);cursor:pointer;flex-shrink:0;min-width:70px;text-align:left}.yfe-keybtn:hover{background:var(--color-primary);color:#fff}.yfe-idx{font-size:11px;color:var(--color-text-faint);font-family:var(--mono);flex-shrink:0;min-width:36px;padding-top:6px}.yfe-iconbtn{background:transparent;border:none;color:var(--color-text-faint);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:inline-flex;align-items:center}.yfe-iconbtn:hover{color:var(--color-danger);background:#fef2f2}.yfe-add{align-self:flex-start;margin-top:4px}.modal__close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:16px}.modal__close:hover{background:var(--color-surface-muted)}.modal__body{padding:18px 20px;overflow-y:auto;flex:1}.modal__footer{padding:14px 20px;border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:flex-end;gap:10px}.filter-group,.search-group{display:flex;align-items:center;gap:6px;color:var(--color-text-muted);border:1px solid var(--color-border-strong);padding:0 10px;height:32px;background:#fff}.filter-group select,.search-group input{border:none;background:none;outline:none;height:100%;font-size:13px}.loading-spinner{display:inline-flex;align-items:center;gap:6px}.spinner{display:inline-block;border:2px solid var(--color-border-strong);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.loading-label{font-size:12px;color:var(--color-text-muted)}.login-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e3a8a,#111827);padding:24px}.login-card{width:400px;max-width:100%;background:#fff;border:1px solid var(--color-border);padding:32px 28px}.login-card__header{display:flex;align-items:center;gap:10px;color:var(--color-primary);margin-bottom:4px}.login-card__header h1{font-size:20px;margin:0;color:var(--color-primary)}.login-card .sub{color:var(--color-text-muted);margin-bottom:24px;font-size:13px}.login-card .err-box{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;padding:8px 10px;margin-bottom:14px;font-size:13px}.login-card .field input{width:100%;height:36px;padding:0 10px;border:1px solid var(--color-border-strong);background:#fff;border-radius:var(--radius-sm);outline:none}.login-card .field input:focus{border-color:var(--color-primary)}.login-card .actions{margin-top:8px;display:flex;justify-content:space-between;align-items:center}.login-card .tip{font-size:12px;color:var(--color-text-muted)}@media (max-width: 1024px){.stat-grid{grid-template-columns:repeat(2,1fr)}.recent-grid{grid-template-columns:1fr}.model-grid{grid-template-columns:repeat(2,1fr)}.ontology-layout{grid-template-columns:1fr}}@media (max-width: 768px){.nav,.chat-sidebar{display:none}.msg__bubble{max-width:90%}.model-grid{grid-template-columns:1fr}}.skill-page{height:100%;display:flex;flex-direction:column}.skill-page .ontology-empty__sub{font-size:12px;color:var(--color-text-faint);margin-top:6px}.doc-select-item__badge{display:inline-block;margin-left:6px;padding:0 6px;font-size:11px;color:var(--color-success);border:1px solid var(--color-success);border-radius:var(--radius-sm);background:#10b98114}.skill-info-card{display:flex;flex-direction:column;gap:8px}.skill-info-card__header{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}.skill-info-card__name{flex:1}.skill-info-card__ver{font-size:11px;font-weight:400;color:var(--color-primary);padding:1px 6px;border:1px solid var(--color-primary);border-radius:var(--radius-sm)}.skill-info-card__desc{font-size:13px;color:var(--color-text-muted);line-height:1.6}.skill-info-card__meta{display:flex;gap:16px;font-size:12px;color:var(--color-text-faint)}.skill-info-card__actions{display:flex;gap:8px;margin-top:4px}.skill-progress__count{margin-left:auto;font-size:12px;font-weight:400;color:var(--color-text-muted)}.skill-progress__body{display:flex;flex-direction:column;gap:4px;margin-top:8px}.skill-file-row{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:var(--radius-sm);background:var(--color-surface-muted);font-size:13px}.skill-file-row.state-done{color:var(--color-success)}.skill-file-row.state-error{color:var(--color-danger)}.skill-file-row.state-generating{color:var(--color-primary)}.skill-file-row__icon{display:flex;align-items:center}.skill-file-row__path{flex:1;font-family:var(--mono);font-size:12px}.skill-file-row__meta{font-size:11px;color:var(--color-text-faint)}.skill-file-row__err{font-size:11px;color:var(--color-danger)}.modal-skill{width:min(1100px,92vw);height:min(80vh,720px)}.modal-skill__body{display:grid;grid-template-columns:260px 1fr;gap:0;height:100%;overflow:hidden;padding:0}.skill-file-tree{border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface-muted)}.skill-file-tree .section-title{padding:10px 12px;margin:0;border-bottom:1px solid var(--color-border)}.skill-file-tree__body{flex:1;overflow:auto;padding:6px 0}.skill-file-tree__actions{padding:8px 12px;border-top:1px solid var(--color-border)}.file-tree-node{-webkit-user-select:none;-moz-user-select:none;user-select:none}.file-tree-row{display:flex;align-items:center;gap:6px;padding:4px 10px;font-size:13px;cursor:pointer;color:var(--color-text)}.file-tree-row:hover{background:var(--color-surface)}.file-tree-row--file.active{background:#2266e31a;color:var(--color-primary)}.file-tree-row--dir{font-weight:500}.file-tree-chevron{transition:transform .15s;color:var(--color-text-faint)}.file-tree-chevron.expanded{transform:rotate(90deg)}.skill-file-viewer{display:flex;flex-direction:column;overflow:hidden}.skill-file-viewer__header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface-muted)}.skill-file-viewer__path{flex:1;font-family:var(--mono);font-size:12px;color:var(--color-text-muted)}.skill-file-viewer__content{flex:1;margin:0;padding:12px;overflow:auto;font-family:var(--mono);font-size:12.5px;line-height:1.6;background:#1f2937;color:#e5e7eb;white-space:pre;-moz-tab-size:2;-o-tab-size:2;tab-size:2}@media (max-width: 768px){.modal-skill__body{grid-template-columns:1fr}.skill-file-tree{max-height:200px}}.modal-prompt{width:min(900px,92vw);height:min(80vh,720px)}.modal-prompt .modal__body{padding:0 20px 12px;display:flex;flex-direction:column;gap:8px;overflow:hidden}.prompt-hint{font-size:12px;color:var(--color-text-muted);padding:8px 0 4px}.prompt-editor{flex:1;width:100%;resize:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px;font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-size:13px;line-height:1.6;color:var(--color-text);background:var(--color-surface-muted);-moz-tab-size:2;-o-tab-size:2;tab-size:2;outline:none;transition:border-color .15s}.prompt-editor:focus{border-color:var(--color-primary);background:#fff}.omf-form{display:flex;flex-direction:column;gap:12px}.omf-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:4px 0 8px}.omf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.omf-field{display:flex;flex-direction:column;gap:6px;min-width:0}.omf-field--inline{flex-direction:row;align-items:center}.omf-label{display:block;font-size:12px!important;line-height:1.2}.omf-section.ant-collapse{border:1px solid var(--oe-border, #dce4ed);border-radius:8px!important;background:#fff;overflow:hidden}.omf-section.ant-collapse>.ant-collapse-item{border-bottom:none}.omf-section .ant-collapse-header{align-items:center!important;padding:10px 14px!important;background:#f8fafc;font-weight:600;font-size:13px}.omf-section .ant-collapse-content-box{padding:14px!important}.omf-section__label{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.omf-section__actions{display:inline-flex;gap:6px}.omf-section__body{display:flex;flex-direction:column;gap:12px}.omf-array{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--oe-border-soft, #e5ebf2);border-radius:8px;background:#fbfcfe}.omf-array__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.omf-array .ant-table{background:#fff}.omf-array .ant-table-tbody>tr.omf-row-selected>td{background:#eaf2ff!important}.omf-array .ant-table-tbody>tr{cursor:pointer}.omf-string-row{display:flex;gap:6px;padding:4px 0}.omf-string-row .omf-input{flex:1}.omf-sub-entity{border:1px solid var(--color-border-light);border-radius:4px;padding:10px;display:flex;flex-direction:column;gap:8px;background:var(--color-surface)}.mode-switch{display:inline-flex;gap:2px;padding:2px;background:var(--color-surface-muted);border-radius:4px}.mode-switch .btn-sm{border:none;background:transparent}.mode-switch .btn-sm.btn-primary{background:var(--color-primary);color:#fff}.editor-yaml-header{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--color-surface-muted);font-size:12.5px;font-weight:600;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.skill-source-models__body{display:flex;flex-direction:column;gap:8px}.skill-source-models__warn{padding:8px 12px;border-radius:4px;background:#f59e0b1a;color:#92400e;border:1px solid rgba(245,158,11,.3);font-size:12.5px}.skill-source-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;list-style:none;padding:0;margin:0}.skill-source-item{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--color-border-light);border-radius:4px;background:var(--color-surface)}.skill-source-item.is-missing{opacity:.6;border-color:#ef44444d}.skill-source-item.is-ready{border-color:#10b9814d}.skill-source-item .model-code{font-size:11px;font-weight:700;color:#fff;background:var(--color-primary);padding:1px 5px;border-radius:3px;min-width:28px;text-align:center}.skill-source-item__name{flex:1;font-size:12.5px}.skill-source-item__state{display:flex;align-items:center;gap:3px;font-size:11.5px;color:var(--color-text-muted)}.skill-source-item.is-ready .skill-source-item__state{color:#10b981}.skill-source-item.is-missing .skill-source-item__state{color:#ef4444}.active-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;font-size:11px;background:#d1fae5;color:#065f46;border:1px solid #6ee7b7;border-radius:3px}.inactive-badge{display:inline-block;padding:2px 8px;font-size:11px;background:var(--color-surface-muted);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:3px}.text-muted{color:var(--color-text-muted)}.llm-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}.llm-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:16px 18px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s ease,box-shadow .15s ease}.llm-card:hover{border-color:var(--color-border-strong);box-shadow:0 2px 8px #0000000f}.llm-card.is-active{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary) inset,0 2px 8px #3b82f61a}.llm-card__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.llm-card__name{font-size:15px;font-weight:600}.llm-card__section{display:flex;flex-direction:column;gap:4px}.llm-card__label{font-size:11px;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.3px}.llm-card__models{display:flex;flex-direction:column;gap:4px}.llm-model-tag{display:flex;align-items:center;gap:6px;padding:3px 8px;border-radius:4px;background:var(--color-surface-muted)}.llm-model-tag code{font-family:var(--mono);font-size:12px}.llm-model-tag__type{font-size:10px;font-weight:600;color:var(--color-text-muted);background:#fff;padding:1px 5px;border-radius:3px;border:1px solid var(--color-border)}.llm-model-tag--thinking{background:#eef2ff}.llm-model-tag--thinking code{color:var(--color-primary)}.llm-card__url{font-family:var(--mono);font-size:12px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.llm-card__key{font-family:var(--mono);font-size:12px;color:var(--color-text-muted)}.llm-card__params{display:flex;flex-wrap:wrap;gap:6px}.param-chip{font-size:11px;padding:2px 7px;border-radius:3px;background:var(--color-surface-muted);color:var(--color-text-muted)}.param-chip--info{background:#eef2ff;color:var(--color-primary)}.llm-card__time{font-size:11px}.llm-card__actions{display:flex;align-items:center;gap:6px;padding-top:8px;border-top:1px solid var(--color-border)}.llm-card__active-hint{display:inline-flex;align-items:center;gap:3px;font-size:12px;color:#065f46;font-weight:500}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-box{background:#fff;border:1px solid var(--color-border-strong);border-radius:var(--radius);width:680px;max-width:92vw;max-height:88vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--color-border)}.modal-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--color-border)}.config-form{padding:20px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:14px}.form-row{display:flex;gap:16px}.form-row>.field{flex:1}.form-row-3>.field{flex:1}.form-row .form-toggle{flex:0 0 auto;white-space:nowrap}@media (max-width: 600px){.form-row,.form-row-3{flex-direction:column;gap:10px}.modal-box{width:96vw}}.oe-page{display:flex;flex-direction:column;height:calc(100vh - 92px);min-height:0}.oe-toolbar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#fff;border-bottom:1px solid var(--color-border);gap:12px}.oe-toolbar__left{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.oe-toolbar__right{display:flex;align-items:center;gap:6px;flex-shrink:0}.oe-toolbar__title{font-size:15px;font-weight:600;color:var(--color-text)}.oe-toolbar__doc{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--color-text-muted)}.oe-toolbar__doc-ver{font-size:11px;padding:1px 6px;background:var(--color-surface-muted);border-radius:3px}.oe-toolbar__rev{font-size:12px;color:var(--color-text-muted);font-family:var(--mono)}.oe-toolbar__dirty{color:var(--color-danger);font-weight:600;margin-left:4px}.oe-toolbar__saved{color:var(--color-success);margin-left:4px}.oe-toolbar__mode{display:flex;align-items:center}.oe-toolbar__mode-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:12px;color:var(--color-text-muted);background:#fff;border:1px solid var(--color-border);cursor:pointer;transition:all .15s;white-space:nowrap}.oe-toolbar__mode-btn:first-child{border-radius:4px 0 0 4px}.oe-toolbar__mode-btn:last-child{margin-left:-1px;border-radius:0 4px 4px 0}.oe-toolbar__mode-btn:hover{color:var(--color-text);background:var(--color-surface-muted)}.oe-toolbar__mode-btn.on{color:#fff;background:var(--color-primary);border-color:var(--color-primary);font-weight:600;z-index:1}.oe-issue-badge{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:14px;padding:3px 10px;cursor:pointer;transition:all .15s;white-space:nowrap}.oe-issue-badge:hover{background:#fee2e2}.oe-issue-badge.is-on{background:#fee2e2;border-color:#fca5a5}.oe-body{flex:1;min-height:0;display:grid;grid-template-columns:280px 1fr;overflow:hidden}.oe-left{border-right:1px solid var(--color-border);background:var(--color-surface);display:flex;flex-direction:column;min-height:0;overflow:hidden}.oe-right{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--color-surface-muted)}.oe-section{padding:10px 12px;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:8px}.oe-tree-section{flex:1;min-height:0;overflow:hidden}.oe-section__title{font-size:12px;font-weight:600;color:var(--color-text-muted);display:flex;align-items:center;gap:5px;text-transform:uppercase;letter-spacing:.3px}.oe-doc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.oe-doc-item{padding:6px 8px;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;gap:2px}.oe-doc-item:hover{background:var(--color-surface-muted)}.oe-doc-item.on{background:#eef2ff}.oe-doc-item__title{font-size:13px;color:var(--color-text);font-weight:500}.oe-doc-item__sub{font-size:11px;color:var(--color-text-faint)}.oe-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--color-text-muted);padding:40px 20px}.oe-nodeheader{flex:0 0 auto;padding:8px 16px;background:#fff;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:12px}.oe-nodeheader__info{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.oe-nodeheader__code{font-size:11px;font-weight:700;color:#fff;background:var(--color-primary);padding:2px 7px;border-radius:3px}.oe-nodeheader__name{font-size:14px;font-weight:600}.oe-nodeheader__file{font-size:11px;color:var(--color-text-muted);font-family:var(--mono)}.oe-nodeheader__path{display:flex;align-items:center;gap:2px;font-size:12px;color:var(--color-text-muted)}.oe-nodeheader__path-seg{display:inline-flex;align-items:center}.oe-nodeheader__path-seg .sep{margin:0 3px;color:var(--color-text-faint)}.oe-nodeheader__meta{font-size:12px;color:var(--color-text-muted);flex-shrink:0}.oe-tabs{flex:0 0 auto;display:flex;gap:2px;padding:0 16px;background:#fff;border-bottom:1px solid var(--color-border)}.oe-tabbtn{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;font-size:13px;color:var(--color-text-muted);border-bottom:2px solid transparent;transition:all .15s}.oe-tabbtn:hover{color:var(--color-text);background:var(--color-surface-muted)}.oe-tabbtn.on{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.oe-tabcontent{flex:1;min-height:0;overflow:auto;padding:14px 16px}.oe-yaml{display:flex;flex-direction:column;height:100%;min-height:400px;border:1px solid var(--color-border);border-radius:6px;overflow:hidden;background:#fff}.oe-yaml__header{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--color-surface-muted);border-bottom:1px solid var(--color-border);font-size:12.5px;color:var(--color-text-muted);font-weight:500}.oe-yaml__header .btn{margin-left:auto}.oe-yaml__body{flex:1;margin:0;padding:14px 16px;overflow:auto;font-family:var(--mono);font-size:12.5px;line-height:1.65;background:#fafbfc;color:#1f2937;white-space:pre;-moz-tab-size:2;-o-tab-size:2;tab-size:2}.oe-yaml__textarea{flex:1;width:100%;resize:none;border:none;outline:none;padding:14px 16px;font-family:var(--mono);font-size:12.5px;line-height:1.65;background:#fafbfc;color:#1f2937;-moz-tab-size:2;-o-tab-size:2;tab-size:2}.oe-issues{flex:0 0 auto;border-top:1px solid var(--color-border);background:#fff;transition:all .2s;max-height:36px;overflow:hidden}.oe-issues.is-open{max-height:280px}.oe-issues__bar{display:flex;align-items:center;gap:10px;padding:8px 16px;background:var(--color-surface-muted);-webkit-user-select:none;-moz-user-select:none;user-select:none}.oe-issues__sp{flex:1}.oe-issues__close{font-size:11.5px;color:var(--color-text-muted);background:#fff;border:1px solid var(--color-border);border-radius:4px;padding:2px 9px;cursor:pointer;transition:all .15s}.oe-issues__close:hover{color:var(--color-text);border-color:var(--color-border-strong)}.oe-issues__bar:hover{background:#eef0f4}.oe-issues__handle{display:inline-flex}.oe-issues__title{font-size:12.5px;font-weight:600;color:var(--color-text)}.oe-issues__chip{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:3px;font-size:11.5px;font-weight:500}.oe-issues__chip--err{background:#fee2e2;color:#b91c1c}.oe-issues__chip--warn{background:#fef3c7;color:#92400e}.oe-issues__chip.is-zero{opacity:.55}.oe-issues__body{padding:10px 16px;overflow:auto;max-height:244px}.oe-issues__section{display:flex;flex-direction:column;gap:6px}.oe-issues__section+.oe-issues__section{margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border-light)}.oe-issues__stitle{font-size:12px;font-weight:600;color:var(--color-text-muted);margin-bottom:2px}.oe-issue{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:4px;font-size:12.5px}.oe-issue--err{background:#fef2f2}.oe-issue--warn{background:#fffbeb}.oe-issue__type{font-size:11px;font-weight:700;padding:1px 5px;background:#fff;border-radius:3px;border:1px solid var(--color-border)}.oe-issue__msg{flex:1}.oe-ref-msg{padding:6px 10px;border-radius:4px;font-size:12.5px}.oe-ref-msg.is-ok{background:#ecfdf5;color:#065f46}.oe-ref-msg.is-warn{background:#fffbeb;color:#92400e}.oe-ref-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.oe-ref-list__item{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--color-surface-muted);border-radius:3px;font-size:12px}.oe-ref-list__type{font-weight:600;color:var(--color-primary)}.oe-ref-list__node{font-family:var(--mono);color:var(--color-text-muted)}.oe-ref-list__msg{flex:1;color:var(--color-text)}.omt{display:flex;flex-direction:column;height:100%;min-height:0;gap:8px}.omt__search{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--color-border);border-radius:4px;background:#fff}.omt__search-input{flex:1;border:none;outline:none;background:transparent;font-size:12.5px}.omt__search-input::-moz-placeholder{color:var(--color-text-faint)}.omt__search-input::placeholder{color:var(--color-text-faint)}.omt__body{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.omt-node{display:flex;align-items:center;gap:4px;padding:4px 6px;border-radius:3px;cursor:pointer;font-size:12.5px;line-height:1.4;transition:background .1s;min-width:0}.omt-node:hover{background:var(--color-surface-muted)}.omt-node.is-selected{background:#eef2ff;color:var(--color-primary)}.omt-node.is-selected .omt-node__label{color:var(--color-primary);font-weight:600}.omt-node.is-hit .omt-node__label{background:#fef08a;border-radius:2px;padding:0 2px}.omt-node__caret{flex:0 0 16px;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-faint)}.omt-node__label{color:var(--color-text);flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.omt-node--l1 .omt-node__label{font-weight:600;font-size:13px}.omt-node--l1{border-bottom:1px solid var(--color-border, #e5e7eb);margin-bottom:2px}.omt-node--l2 .omt-node__label{font-weight:500}.omt-node--l3 .omt-node__label{font-size:12px;color:var(--color-text)}.omt-node--l3 .omt-node__count{font-size:10.5px}.omt-node--l3 .omt-node__id{font-size:10px}.omt-node__count{color:var(--color-text-faint);font-size:11px;flex-shrink:0;white-space:nowrap}.omt-node__id{color:var(--color-text-faint);font-size:10.5px;font-family:var(--mono);flex-shrink:0;white-space:nowrap}.omf-breadcrumb{display:flex;align-items:center;gap:4px;padding:6px 10px;margin-bottom:6px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:4px;flex-wrap:wrap}.omf-breadcrumb__back{display:inline-flex;align-items:center;gap:3px;font-size:12px;white-space:nowrap;background:transparent;border:none;cursor:pointer;color:var(--color-primary);padding:2px 6px;border-radius:3px}.omf-breadcrumb__back:hover{background:var(--color-surface-3)}.omf-breadcrumb__item{display:inline-flex;align-items:center;gap:2px}.omf-breadcrumb__sep{color:var(--color-text-faint);flex-shrink:0}.omf-breadcrumb__btn{font-size:12px;white-space:nowrap;background:transparent;border:none;cursor:pointer;color:var(--color-text);padding:2px 6px;border-radius:3px}.omf-breadcrumb__btn:hover:not(:disabled){background:var(--color-surface-3)}.omf-breadcrumb__btn:disabled{cursor:default}.omf-breadcrumb__btn.is-active{color:var(--color-primary);font-weight:500}.ogv{display:flex;flex-direction:column;height:100%;min-height:500px;background:#fff;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.ogv__toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);flex-wrap:wrap}.ogv__filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ogv__filter-bulk{display:inline-flex;align-items:center;gap:4px;margin-right:2px}.ogv__filter-bulk button{height:24px;padding:0 8px;border:1px solid var(--color-border);border-radius:4px;background:#fff;color:#2d3a4a;font-size:12px;line-height:22px;cursor:pointer}.ogv__filter-bulk button:hover{border-color:#6aa9d4;color:#176dde}.ogv__filter{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:4px;font-size:12px;cursor:pointer;background:#fff;border:1px solid var(--color-border);transition:all .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ogv__filter:hover{border-color:var(--color-border-strong)}.ogv__filter.on{background:var(--c-light);color:var(--c-deep);border-color:var(--c-mid);font-weight:600}.ogv__filter.on .ogv__dot{background:var(--c-main);border-color:transparent}.ogv__dot{width:9px;height:9px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.1)}.ogv__stats{font-size:12px;color:var(--color-text-muted);font-family:var(--mono);white-space:nowrap;flex:0 0 auto}.ogv__model-filter{font-size:12px;padding:4px 8px;border:1px solid #e1e8ef;border-radius:6px;background:#fff;color:#2d3a4a;outline:none;cursor:pointer;transition:border-color .2s}.ogv__model-filter:hover{border-color:#6aa9d4}.ogv__model-filter:focus{border-color:#6aa9d4;box-shadow:0 0 0 2px #6aa9d42e}.ogv__hint{font-size:11px;color:var(--color-text-muted);padding:4px 10px;background:#ffffffb3;border-radius:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ogv__hint-focus{margin-left:10px;color:#4f8fb8;font-weight:500}.ogv__hint-search{margin-left:10px;color:#d97706;font-weight:500}.ogv.is-sim .ogv__hint{display:none}.ogv__sim-focus{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:3;pointer-events:none;display:flex;align-items:center;gap:8px;max-width:min(640px,86%);padding:5px 12px;background:#fffffff0;border:1px solid var(--color-border);border-radius:999px;box-shadow:0 2px 8px #0f172a0f;font-size:12px;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ogv__sim-focus span{font-size:11px;font-weight:600;flex-shrink:0}.ogv__sim-keys{margin-top:4px;font-size:11px;color:var(--color-text-faint)}.ogv.is-sim-max{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;width:100vw;height:100vh;min-height:0;border:none;border-radius:0;background:#f7f8fb;box-shadow:none}.ogv.is-sim-max:not(.is-max-filters) .ogv__toolbar,.ogv.is-sim-max:not(.is-max-scenarios) .ogv__scenarios{display:none}.ogv.is-sim-max.is-max-filters .ogv__toolbar,.ogv.is-sim-max.is-max-scenarios .ogv__scenarios{display:flex}.ogv.is-sim-max.is-max-scenarios .ogv__scenarios{flex-wrap:nowrap;overflow-x:auto}.ogv.is-sim-max .ogv__scenarios-label,.ogv.is-sim-max .ogv__scenarios-group,.ogv.is-sim-max .ogv__scenarios .ogv__filter,.ogv.is-sim-max .ogv__scenarios .btn{flex-shrink:0}.ogv.is-sim-max .ogv__scenarios-label{white-space:nowrap}.ogv.is-sim-max .ogv__canvas-wrap{flex:1;min-height:0}.ogv__maxbar{display:flex;align-items:center;gap:12px;padding:8px 14px;background:#fff;border-bottom:1px solid var(--color-border);flex-shrink:0}.ogv__maxbar strong{font-size:14px;color:var(--color-text)}.ogv__maxbar span{flex:1;font-size:12px;color:var(--color-text-faint)}.ogv.is-sim-max .ogv__sim{width:min(980px,94vw)}.ogv__scenarios{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 12px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.ogv__scenarios-label{font-size:12px;font-weight:600;color:var(--color-text-muted);margin-right:2px}.ogv__scenarios-group{font-size:11px;color:var(--color-text-faint);margin-left:4px}.ogv__scenarios .ogv__filter{max-width:220px}.ogv__scenarios .ogv__filter span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ogv__sim{display:none;position:absolute;left:50%;bottom:0;transform:translate(-50%);width:min(860px,96%);background:var(--color-surface);border:1px solid var(--color-border);border-bottom:none;border-radius:12px 12px 0 0;box-shadow:0 -8px 24px #0f172a14;z-index:4}.ogv__sim.is-visible{display:block;animation:ogv-sim-in .32s cubic-bezier(.4,0,.2,1)}@keyframes ogv-sim-in{0%{transform:translate(-50%) translateY(100%)}to{transform:translate(-50%) translateY(0)}}.ogv__sim-head{display:flex;align-items:center;gap:8px;padding:10px 14px 8px;color:var(--color-primary-hover);font-size:13px}.ogv__sim-head strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text)}.ogv__sim-phase{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid;flex-shrink:0}.ogv__sim-badge{font-family:var(--mono);font-size:11px;color:var(--color-text-muted);background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:999px;padding:2px 8px;flex-shrink:0}.ogv__sim-progress{height:3px;margin:0 14px;background:var(--color-surface-muted);border-radius:2px;overflow:hidden}.ogv__sim-progress-bar{height:100%;border-radius:2px;transition:width .35s ease}.ogv__sim-body{display:flex;align-items:center;gap:12px;padding:10px 14px 12px}.ogv__sim-copy{flex:1;min-width:0}.ogv__sim-title{font-size:13px;font-weight:650;color:var(--color-text);margin-bottom:2px}.ogv__sim-desc{font-size:12px;line-height:1.5;color:var(--color-text-muted)}.ogv__sim-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.ogv__detail-locate{margin-top:6px;align-self:flex-start}.ogv__canvas-wrap{flex:1;min-height:0;overflow:auto;background:#fafbfc;position:relative}.ogv.is-fullscreen .ogv__canvas-wrap{background:radial-gradient(circle at 50% 45%,#2266e312,#2266e308 34%,#f4f6f800 62%),#f7f8fb}.ogv.is-fullscreen{border-radius:10px;box-shadow:0 2px 14px #0f172a0f}.ogv__canvas{width:100%;height:100%;min-width:600px;min-height:300px;display:block}.ogv__empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.ogv__empty b{display:block;color:#64748b;font-size:14px;font-weight:600}.ogv__empty span{display:block;margin-top:6px;color:#94a3b8;font-size:12px;line-height:1.5}.ogv__detail{flex:0 0 auto;max-height:220px;border-top:1px solid var(--color-border);background:var(--color-surface);display:flex;flex-direction:column;overflow:hidden}.ogv__detail-header{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--color-border-light);background:var(--color-surface-muted);font-size:13px}.ogv__tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:3px;color:#fff;font-size:11px;font-weight:600}.ogv__detail-header strong{flex:1;font-size:14px}.ogv__detail-sub{font-size:11px;color:var(--color-text-faint);font-family:var(--mono)}.ogv__detail-badges{display:flex;flex-wrap:wrap;gap:4px;padding:6px 12px;border-bottom:1px solid var(--color-border-light)}.ogv__detail-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:999px;border:1px solid;font-size:10px;font-weight:500;background:color-mix(in srgb,currentColor 8%,transparent)}.ogv__detail-body{margin:0;padding:10px 14px;overflow:auto;font-family:var(--mono);font-size:12px;line-height:1.6;background:#1f2937;color:#e5e7eb;white-space:pre}.oe-graph-full{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px;overflow:hidden}.oe-graph-full>.ogv{flex:1;min-height:0;height:auto}.oe-graph-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;flex-direction:column;background:#f4f6f8}.oe-graph-overlay__bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#fff;border-bottom:1px solid var(--color-border);z-index:1}.oe-graph-overlay__title{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--color-text);min-width:0}.oe-graph-overlay__doc{font-size:12.5px;font-weight:500;color:var(--color-text-muted);padding:2px 8px;background:var(--color-surface-muted);border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.oe-graph-overlay__hint{font-size:11.5px;color:var(--color-text-faint);margin-left:4px;white-space:nowrap}.oe-graph-overlay__body{flex:1;min-height:0;padding:14px}.oe-graph-overlay__body>.ogv{height:100%}.ogv__toolbar-right{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;min-width:0}.ogv .btn{flex:0 0 auto;height:28px;padding:0 10px;font-size:12px;line-height:1;white-space:nowrap;box-sizing:border-box}.ogv .ogv__iconbtn{position:relative;width:30px;height:30px;padding:0;border-radius:8px;overflow:visible}.ogv__iconbtn[data-tip]:hover:after,.ogv__iconbtn[data-tip]:focus-visible:after{content:attr(data-tip);position:absolute;top:calc(100% + 6px);right:0;z-index:8;padding:4px 8px;border-radius:6px;background:#1e293b;color:#fff;font-size:12px;font-weight:500;line-height:1.2;white-space:nowrap;pointer-events:none;box-shadow:0 6px 16px #0f172a2e}.ogv__hint{position:absolute;right:12px;bottom:10px;padding:4px 8px;font-size:11px;color:var(--color-text-faint);background:#ffffffb3;border:1px solid var(--color-border-light);border-radius:3px;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ogv__search{display:flex;align-items:center;gap:4px;height:26px;border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:var(--radius-sm);padding:0 8px}.ogv__search-icon{color:var(--color-text-faint);flex:0 0 auto}.ogv__search-input{border:none;outline:none;background:transparent;font-size:12px;width:120px;color:var(--color-text)}.ogv__search-input::-moz-placeholder{color:var(--color-text-faint)}.ogv__search-input::placeholder{color:var(--color-text-faint)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:9999px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .25s,color .25s,border-color .25s,opacity .25s,box-shadow .25s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:#6aa9d4;color:#fff;box-shadow:0 1px 2px #6aa9d440}.btn-primary:hover:not(:disabled){background-color:#4f8fb8}.btn-secondary{border:1px solid #e1e8ef;background:#fff;color:#2d3a4a}.btn-secondary:hover:not(:disabled){background:#f1f7fc}.readonly-mode .btn-primary,.readonly-mode .btn-danger,.readonly-mode .btn-new,.readonly-mode .btn-send,.readonly-mode button[class*=danger],.readonly-mode button[title*=新建],.readonly-mode button[title*=生成],.readonly-mode button[title*=保存],.readonly-mode button[title*=删除],.readonly-mode button[title*=上传],.readonly-mode .omf-array__add,.readonly-mode .omf-array__del,.readonly-mode .btn-text,.readonly-mode button[title*=编辑],.readonly-mode button[title*=定稿],.readonly-mode button[title*=重置],.readonly-mode button[title*=停用],.readonly-mode button[title*=启用],.readonly-mode button[title*=发送],.readonly-mode button[title=重命名],.readonly-mode button[title=删除],.readonly-mode button[title*=编辑器],.readonly-mode button[title*=重新生成],.readonly-mode button[title*=生成缺失],.readonly-mode button[title*=生成选中],.readonly-mode button[title*=全选],.readonly-mode button[title*=清空],.readonly-mode .write-action,.readonly-mode [data-write-action=true]{display:none!important}.input{width:100%;border-radius:.75rem;padding:.5rem .75rem;font-size:.875rem;color:#2d3a4a;background:transparent}.input::-moz-placeholder{color:#7a8a99}.input::placeholder{color:#7a8a99}.input:focus{outline:none}.card{border-radius:1rem;border:1px solid #e1e8ef;background:#fff;box-shadow:0 1px 2px #2d3a4a0a}.grain{position:relative}.grain:before{content:"";pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.dynamic-field{margin-bottom:8px}.dynamic-field-label{font-size:12px;font-weight:500;color:var(--color-text-muted);margin-bottom:3px}.dynamic-field-header{display:flex;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:2px 0;border-radius:3px}.dynamic-field-header:hover{background:var(--color-surface-3)}.dynamic-input{width:100%;padding:5px 8px;border:1px solid var(--color-border);border-radius:4px;font-size:13px;background:#fff;color:var(--color-text);transition:border-color .15s}.dynamic-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 15%,transparent)}.dynamic-input-sm{padding:3px 6px;font-size:12px}.dynamic-input::-moz-placeholder{color:var(--color-text-faint)}.dynamic-input::placeholder{color:var(--color-text-faint)}.dynamic-array-item{padding:8px 10px;border:1px dashed var(--color-border);border-radius:5px;margin-bottom:6px;background:var(--color-surface-muted)}.dynamic-array-item:hover{border-color:var(--color-border);background:var(--color-surface)}.toggle-input{accent-color:var(--color-primary)}@media (max-width: 0px){:root{--nav: #081a30;--blue: #2563eb;--soft: #eef4fb;--ink: #10233d;--muted: #71839a;--line: #d9e3ee}body{background:#f4f7fb;color:var(--ink);font-family:Microsoft YaHei,PingFang SC,sans-serif}.app-shell{min-height:100vh;background:#f4f7fb}.topbar{height:64px;background:var(--nav);display:flex;align-items:center;padding:0 28px;color:#fff;gap:72px}.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:700;white-space:nowrap}.brand-mark{width:34px;height:34px;display:grid;place-items:center;background:#2563eb;border-radius:9px;box-shadow:0 5px 16px #2563eb55}.platform-nav{display:flex;height:100%;gap:22px}.platform-nav button{height:100%;padding:0 17px;border:0;background:none;color:#c6d3e5;font-size:16px;position:relative;cursor:pointer}.platform-nav button.active{color:#fff}.platform-nav button.active:after{content:"";position:absolute;bottom:0;left:14px;right:14px;height:3px;background:#3b82f6}.top-actions{margin-left:auto;display:flex;align-items:center;gap:13px;color:#d7e1ef}.rotate90{transform:rotate(90deg)}.main-wrap{max-width:1440px;margin:0 auto;padding:34px 40px 60px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px}.page-heading.compact{margin-bottom:22px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:#3978f6}.page-heading h1{font-size:34px;line-height:1.2;margin:7px 0 5px}.page-heading p{color:var(--muted);font-size:15px}.filter-row{display:flex;gap:12px;align-items:center;margin-bottom:22px}.filter-row .ant-input-affix-wrapper{width:300px}.filter-row .ant-select{width:154px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card{border:1px solid var(--line);border-radius:8px!important;box-shadow:0 8px 24px #1d42680b}.project-card .ant-card-body{padding:20px}.project-card-top{display:flex;justify-content:space-between;align-items:center}.project-card h3{font-size:19px;margin:15px 0 8px}.project-desc{height:44px;color:var(--muted);font-size:13px;line-height:1.65}.project-meta{display:grid;grid-template-columns:75px 1fr 60px 1fr;gap:7px 8px;border-top:1px solid #edf1f5;padding-top:12px;margin-top:14px;font-size:12px}.project-meta span{color:#8291a5}.project-meta b{font-weight:500}.progress-line{display:flex;align-items:center;gap:8px;margin-top:15px;font-size:12px;color:#71839a}.progress-line .ant-progress{flex:1}.score{margin-left:auto}.score b{color:#15803d}.enter-btn{padding:0;margin-top:10px;font-size:13px;display:flex;align-items:center;gap:4px}.soft-btn{background:#fff}.project-context{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 32px;color:#42556e;font-size:14px}.context-back,.context-link{display:flex;align-items:center;gap:7px;border:0;background:none;color:#30435c;cursor:pointer}.context-back{font-size:15px}.context-divider{width:1px;height:26px;background:#dbe4ee}.context-spacer{flex:1}.project-area{display:flex;min-height:calc(100vh - 140px)}.project-sidebar{width:222px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}.project-sidebar .ant-menu{border-inline-end:0;padding:15px 10px}.project-sidebar .ant-menu-item{height:47px;line-height:47px;border-radius:7px;margin:3px 0;font-size:15px}.project-sidebar .ant-menu-item-selected{background:#e8f0ff;color:#2563eb}.sidebar-bottom{margin-top:auto;border-top:1px solid #edf1f5;padding:22px;color:#73849a;text-align:center;font-size:13px}.workspace-content{flex:1;min-width:0;padding:30px 36px;overflow:auto}.ontology-toolbar{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:15px 18px;margin-bottom:18px}.muted{color:var(--muted);font-size:13px}.model-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.model-card{border:1px solid var(--line);border-radius:8px!important}.model-card .ant-card-body{padding:16px}.model-card-head{display:flex;align-items:center;gap:7px}.model-card-head span{margin-left:auto;color:#16a34a;font-size:12px}.model-card h3{font-size:16px;margin:12px 0 8px}.model-card p{font-size:12px;color:var(--muted);height:39px;line-height:1.6}.file-meta{color:#8191a7;font:12px/1.8 Consolas,monospace;margin:10px 0}.ontology-bottom{background:#fff;border:1px solid var(--line);padding:13px 17px;margin-top:16px;display:flex;gap:28px;font-size:13px;color:#59708c}.split-workspace{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);gap:18px}.chat-panel,.semantic-panel,.analysis-result,.generic-hero,.table-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px}.panel-title{font-weight:700;font-size:16px;display:flex;align-items:center;gap:9px}.chat-messages{height:370px;background:#f8fafc;border:1px solid #edf1f5;border-radius:7px;margin:15px 0;padding:16px;display:flex;flex-direction:column;gap:12px;overflow:auto}.bubble{max-width:82%;padding:11px 14px;border-radius:8px;font-size:13px;line-height:1.7}.bubble.ai{background:#eaf2ff;color:#27456f}.bubble.user{background:#2563eb;color:#fff;align-self:flex-end}.semantic-item{padding:16px 0;border-bottom:1px solid #edf1f5;display:flex;flex-direction:column;gap:6px}.semantic-item span{font-size:12px;color:var(--muted)}.semantic-item b{font-size:14px;font-weight:500}.code-upload{max-width:900px}.analysis-result{margin-top:18px}.result-grid{margin:18px 0}.generic-hero{display:flex;align-items:center;gap:18px;margin-bottom:16px}.generic-hero>div:nth-child(2){flex:1}.generic-icon{width:48px;height:48px;border-radius:9px;display:grid;place-items:center;background:#e8f0ff;color:#2563eb}.generic-hero h2{font-size:19px;margin:0}.generic-hero p{margin:4px 0;color:var(--muted)}.stat-row{margin:0 0 18px}.stat-row .ant-card{border-color:var(--line);border-radius:8px}.table-card{padding:18px}.table-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.table-head h3{margin:0;font-size:17px}.table-head .ant-input{width:240px}.asset-actions{margin-bottom:18px}.asset-name{padding:0;display:flex;align-items:center;gap:8px}.status-dot{color:#16a34a}.status-dot i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#16a34a}.login-page{min-height:100vh;display:grid;grid-template-columns:46% 54%;background:#f6f9fd}.login-visual{background:#07182f;color:#fff;padding:38px 56px;position:relative;overflow:hidden}.login-visual:after{content:"";position:absolute;width:620px;height:620px;right:-280px;bottom:-280px;border:1px solid #24446c;border-radius:50%;box-shadow:0 0 0 45px #102b4b,0 0 0 46px #24446c,0 0 0 100px #102b4b,0 0 0 101px #24446c;opacity:.22}.login-copy{position:absolute;left:56px;bottom:150px;z-index:1}.login-copy h1{font-size:52px;line-height:1.22;margin:16px 0}.login-copy p{font-size:17px;line-height:1.8;color:#b6c8e2;max-width:470px}.login-network{height:100px;width:420px;margin-top:25px;position:relative;opacity:.5}.login-network:before,.login-network:after{content:"";position:absolute;background:#2e5a91;height:1px;transform-origin:left}.login-network:before{width:390px;top:30px;left:5px;transform:rotate(12deg)}.login-network:after{width:320px;top:72px;left:50px;transform:rotate(-16deg)}.login-network span{position:absolute;width:12px;height:12px;border-radius:50%;background:#3978f6;box-shadow:0 0 0 7px #3978f622}.login-network span:nth-child(1){left:15px;top:20px}.login-network span:nth-child(2){left:180px;top:45px}.login-network span:nth-child(3){left:360px;top:25px}.login-network span:nth-child(4){left:235px;top:80px}.login-network span:nth-child(5){left:80px;top:72px}.login-foot{position:absolute;bottom:48px;color:#7d94b4;font-size:12px;letter-spacing:1px}.login-form{display:grid;place-items:center;background:#f6f9fd}.login-box{width:min(420px,calc(100% - 50px));background:#fff;padding:42px 40px;border:1px solid #dce6f1;border-radius:10px;box-shadow:0 20px 50px #19365e13}.login-symbol{width:46px;height:46px;border-radius:10px;display:grid;place-items:center;color:#fff;background:#2563eb;margin-bottom:24px}.login-box h2{font-size:30px;margin:0 0 6px}.login-box>p{color:var(--muted);margin:0 0 28px}.login-box label{display:block;font-weight:600;font-size:13px;margin:18px 0}.login-box label .ant-input-affix-wrapper{display:flex;margin-top:8px;height:48px;border-radius:6px}.login-box .ant-btn{height:48px;border-radius:6px;margin-top:10px}.login-box small{display:block;text-align:center;color:#9aaabd;margin-top:20px}@media (max-width: 900px){.topbar{gap:20px;padding:0 16px}.platform-nav{gap:0}.platform-nav button{padding:0 8px;font-size:13px}.main-wrap{padding:24px 16px}.project-grid,.model-grid{grid-template-columns:1fr 1fr}.project-sidebar{width:190px}.split-workspace,.login-page{grid-template-columns:1fr}.login-visual{display:none}}@media (max-width: 620px){.project-grid,.model-grid{grid-template-columns:1fr}.top-actions span{display:none}.project-context{padding:0 15px;gap:7px;overflow:auto;white-space:nowrap}.project-sidebar{width:62px}.project-sidebar .ant-menu-item{padding-inline:21px!important}.project-sidebar .ant-menu-title-content{display:none}.workspace-content{padding:20px 12px}.page-heading{align-items:flex-start;gap:16px;flex-direction:column}.filter-row{flex-wrap:wrap}.filter-row .ant-input-affix-wrapper{width:100%}}.reference-canvas{position:fixed;top:0;right:0;bottom:0;left:0;background:#f7faff;overflow:hidden;z-index:10}.reference-canvas>img{display:block;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;background:#f7faff}body{background:#f5f8fc;color:#152238}.app-shell{background:#f5f8fc!important}.topbar{height:64px;background:#fff!important;color:#152238!important;border-bottom:1px solid #e4eaf2;box-shadow:0 1px #16365a08;padding:0 28px;gap:52px}.brand{color:#17233a!important;font-size:16px;font-weight:700;gap:10px}.brand-mark{width:28px;height:28px;border-radius:7px;box-shadow:none;background:#1672e8!important}.platform-nav{gap:4px}.platform-nav button{color:#52627a!important;font-size:14px;padding:0 18px}.platform-nav button:hover{color:#1769dc!important;background:#f6f9fd}.platform-nav button.active{color:#1769dc!important;font-weight:600}.platform-nav button.active:after{left:18px;right:18px;height:2px;background:#1769dc}.top-actions{color:#53647b!important;gap:12px;font-size:13px}.main-wrap{max-width:1440px;padding:30px 32px 56px}.page-heading{margin-bottom:24px}.page-heading h1{font-size:28px;letter-spacing:-.02em;color:#162238}.page-heading p{font-size:13px;color:#69788d}.eyebrow{font-size:11px;letter-spacing:1.6px;color:#3178e8}.filter-row{padding:12px;background:#fff;border:1px solid #e1e8f0;border-radius:6px;box-shadow:0 3px 12px #24466d08;margin-bottom:16px}.filter-row .ant-input-affix-wrapper,.filter-row .ant-select{background:#fff;border:1px solid #dce5ef!important;border-radius:5px}.project-grid{gap:16px}.project-card{border:1px solid #dce5ef!important;border-radius:6px!important;box-shadow:0 5px 16px #1f48750d!important;transition:all .18s ease}.project-card:hover{border-color:#9bbff2!important;box-shadow:0 10px 24px #1f48751c!important;transform:translateY(-1px)}.project-card .ant-card-body{padding:18px}.project-card h3{font-size:17px;color:#1a2b43;margin:13px 0 7px}.project-desc{font-size:12px;color:#6f7f93}.project-meta{font-size:11px;border-top-color:#edf1f5}.progress-line{font-size:11px}.enter-btn{border:1px solid #b8d2f7!important;border-radius:4px;padding:2px 12px!important;color:#1769dc!important;background:#f8fbff}.project-context{height:60px;background:#fff;border-bottom:1px solid #dfe7f0;padding:0 30px;font-size:13px}.project-area{min-height:calc(100vh - 124px)}.project-sidebar{width:216px;background:#fff;border-right:1px solid #dfe7f0}.project-sidebar .ant-menu{padding:12px 9px}.project-sidebar .ant-menu-item{height:42px;line-height:42px;border-radius:5px;font-size:14px;color:#53647b}.project-sidebar .ant-menu-item-selected{background:#eaf2ff;color:#1769dc;font-weight:600}.workspace-content{padding:26px 30px;background:#f5f8fc}.content-page{max-width:1360px}.ontology-toolbar,.chat-panel,.semantic-panel,.analysis-result,.generic-hero,.table-card{border:1px solid #dce5ef;border-radius:6px;box-shadow:0 4px 14px #24466d08}.model-card{border:1px solid #dce5ef!important;border-radius:6px!important;box-shadow:0 3px 10px #24466d06}.model-card h3{font-size:15px}.table-card{background:#fff}}.route-loading{min-height:100vh;display:grid;place-items:center;background:#f5f8fc;color:#64748b;font-size:14px}.platform-header{position:sticky;top:0;z-index:30;height:56px;background:#fff;border-bottom:1px solid #e1e8f0;color:#172238}.platform-header__inner{height:100%;display:flex;align-items:center;gap:24px;padding:0 15px}.platform-header__inner>div:first-child{display:flex;align-items:center;gap:10px;white-space:nowrap}.platform-logo{width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:#1672e8;color:#fff}.platform-title{font-size:15px;font-weight:700}.platform-routes{height:100%;display:flex;align-items:center;gap:4px}.platform-route{height:100%;padding:0 14px;display:flex;align-items:center;gap:6px;position:relative;color:#53647b;font-size:14px;text-decoration:none;transition:color .16s,background .16s}.platform-route:hover{color:#1769dc;background:#f6f9fd}.platform-route.active{color:#1769dc;font-weight:600}.platform-route.active:after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;background:#1769dc}.platform-user{margin-left:auto;display:flex;align-items:center;gap:8px;color:#53647b;font-size:13px}.platform-busy{max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 9px;border-radius:4px;background:#eaf2ff;color:#1769dc;font-size:12px}.platform-avatar{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#dfeeff;color:#1769dc;font-weight:600;font-size:12px}.platform-logout{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:#718198;cursor:pointer;font-size:0}.platform-logout:hover{background:#f0f4f8;color:#d14343}.platform-main{max-width:1440px;margin:0 auto;padding:30px 32px 56px}.debug-page{display:flex;flex-direction:column;gap:16px;height:calc(100vh - 56px);padding:20px 24px 24px;overflow-y:auto}.debug-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;flex:1;min-height:0}.debug-col-card{display:flex;flex-direction:column;min-height:0}.debug-col-card>.ant-card-body{flex:1;min-height:0;overflow:auto}.debug-col-card--logs>.ant-card-body{display:flex;flex-direction:column;overflow:hidden}.debug-log-body{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0}.debug-log-body>.ant-spin{display:flex;flex:1;flex-direction:column;min-height:0}.debug-log-body>.ant-spin>.ant-spin-container{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0}.debug-log-body .debug-task-logs{flex:1;min-height:120px;max-height:none}@media (max-width: 1180px){.debug-grid{grid-template-columns:minmax(0,1fr)}.debug-col-card--logs>.ant-card-body{overflow:auto}}.debug-head h1{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:20px;color:#172238}.debug-sub{color:#53647b;font-size:13px}.debug-sub code{padding:1px 5px;border-radius:3px;background:#eef3f9;color:#1769dc}.debug-strip .debug-url{color:#718198;font-size:12px}.debug-prompt-library{display:flex;flex-direction:column;gap:18px}.debug-prompt-group{display:flex;flex-direction:column;gap:10px}.debug-prompt-group-title{margin:0;padding-left:8px;border-left:3px solid #7fb3e8;color:#172238;font-size:13px;font-weight:600;line-height:1.2}.debug-prompt-section{padding:10px 12px;border:1px solid #e6eef8;border-radius:8px;background:#fbfdff}.debug-prompt-section-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;color:#53647b;font-size:12px}.debug-prompt-section-name{display:inline-flex;align-items:center;gap:4px;color:#172238;font-size:13px;font-weight:600}.debug-prompt-section-key{padding:0 6px;border-radius:4px;background:#eef3f9;color:#718198;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.debug-prompt-section-default{margin-left:auto;color:#8a98ab;font-size:11px}.debug-prompt-cards{display:flex;flex-wrap:wrap;gap:8px}.debug-prompt-card{display:flex;flex-direction:column;gap:6px;width:216px;padding:10px 12px;border:1px solid #e0eaf6;border-radius:8px;background:#fff;cursor:pointer;text-align:left;transition:border-color .16s,box-shadow .16s}.debug-prompt-card:hover{border-color:#9cc6ee;box-shadow:0 4px 12px #4082c81a}.debug-prompt-card-title{display:flex;align-items:center;gap:5px;color:#172238;font-size:12px;font-weight:600}.debug-prompt-card-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debug-prompt-card-meta{color:#8a98ab;font-size:11px;font-variant-numeric:tabular-nums}.debug-prompt-card-new{justify-content:center;align-items:center;flex-direction:row;gap:6px;border-style:dashed;color:#3b82c4;font-size:12px;background:#f7fbff}.debug-prompt-card-new:hover{color:#1769dc;background:#eef6ff}.debug-prompt-tip{color:#8a98ab;font-size:12px}.prompt-variant-select,.prompt-variant-readonly{display:inline-flex;align-items:center;gap:6px}.prompt-variant-label{color:#53647b;font-size:12px;white-space:nowrap}.prompt-variant-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px}.prompt-variant-bar{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-bottom:1px solid #eef2f6;background:#fbfcfe}.prompt-variant-bar-title{color:#8492a5;font-size:11px;font-weight:600;letter-spacing:.04em}.prompt-variant-bar .prompt-variant-group{display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%}.prompt-variant-bar .prompt-variant-select,.prompt-variant-bar .prompt-variant-readonly{display:flex;flex-direction:column;align-items:stretch;gap:3px}.prompt-variant-bar .prompt-variant-label{color:#8a98ab;font-size:11px}.debug-prompt-meta{color:#53647b;font-size:12px}.debug-prompt-path{margin-top:2px;color:#8a98ab;font-size:11px;word-break:break-all}.debug-task-meta{display:flex;flex-wrap:wrap;gap:12px;color:#53647b;font-size:12px}.debug-task-id{display:inline-flex;align-items:center;gap:2px;color:#53647b;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.debug-task-id-text{word-break:break-all}.debug-task-row-active>td{background:#eef6ff!important}.debug-card .ant-table-row{cursor:pointer}.debug-snapshot{margin-top:4px;padding-top:8px;border-top:1px dashed #e3ebf5}.debug-snapshot-head{display:flex;align-items:center;justify-content:space-between;color:#53647b;font-size:12px}.debug-snapshot-head span{display:inline-flex;align-items:center;gap:4px}.debug-snapshot-list{max-height:200px;margin:4px 0 0;padding:0;overflow:auto;list-style:none}.debug-snapshot-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 6px;border-radius:4px}.debug-snapshot-list li:hover{background:#f5f9ff}.debug-snapshot-meta{display:flex;align-items:center;gap:8px;min-width:0;color:#53647b;font-size:12px}.debug-snapshot-time{flex:none;color:#8a98ab;font-variant-numeric:tabular-nums}.debug-snapshot-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debug-snapshot-size{flex:none;color:#8a98ab;font-size:11px}.debug-snapshot-empty{padding:8px 0;color:#8a98ab;font-size:12px}.debug-snapshot-preview{max-height:60vh;margin:0;padding:12px;overflow:auto;border-radius:6px;background:#f7fafd;color:#2b3a4f;font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.debug-task-logs{max-height:360px;overflow:auto;margin:0;padding:12px;border-radius:6px;background:#0f1c30;color:#cfe1f5;font-size:12px;line-height:1.6;white-space:pre-wrap;word-break:break-all}.debug-hint{margin-top:10px;text-align:center;color:#718198;font-size:12px}.debug-hint code{padding:1px 5px;border-radius:3px;background:#eef3f9;color:#1769dc}.login-page{min-height:100vh;display:grid;grid-template-columns:46% 54%;background:#f4f8fc;color:#172238}.login-visual{position:relative;overflow:hidden;padding:38px 56px;background:#092044;color:#fff}.login-brand{display:flex;align-items:center;gap:10px;font-size:16px}.login-copy{position:absolute;left:56px;bottom:18%;z-index:1}.login-eyebrow{font-size:11px;letter-spacing:2px;color:#8fb9f5}.login-copy h1{font-size:46px;line-height:1.25;margin:14px 0}.login-copy p{max-width:440px;color:#b8c9e2;font-size:16px;line-height:1.8}.login-foot{position:absolute;bottom:42px;color:#8fa6c6;font-size:12px;letter-spacing:1px}.login-form{display:grid;place-items:center;background:#f4f8fc}.login-box{width:min(420px,calc(100% - 48px));padding:42px 40px;background:#fff;border:1px solid #dce6f1;border-radius:8px;box-shadow:0 18px 45px #183b6215}.login-symbol{width:46px;height:46px;display:grid;place-items:center;margin-bottom:22px;border-radius:9px;background:#1769dc;color:#fff}.login-box h2{margin:0 0 5px;font-size:28px}.login-box>p{margin:0 0 24px;color:#718198}.login-box label{display:block;margin:17px 0 0;font-size:13px;font-weight:600}.login-input{height:46px;display:flex;align-items:center;gap:9px;margin-top:8px;padding:0 12px;border:1px solid #d7e1ec;border-radius:5px;color:#8392a6}.login-input:focus-within{border-color:#4f8fe8;box-shadow:0 0 0 3px #4f8fe81c}.login-input input{width:100%;border:0;outline:0;background:transparent;color:#172238}.login-submit{width:100%;height:46px;margin-top:24px;border:0;border-radius:5px;background:#1769dc;color:#fff;font-weight:600;cursor:pointer}.login-submit:hover{background:#0d59c1}.login-submit:disabled{opacity:.6;cursor:wait}.login-error{margin-top:12px;color:#d14343;font-size:13px}.login-box small{display:block;margin-top:18px;text-align:center;color:#9aaabd}@media (max-width: 760px){.platform-header__inner{gap:12px;padding:0 14px}.platform-title{display:none}.platform-route{padding:0 10px;font-size:13px}.platform-route.active:after{left:10px;right:10px}.platform-user__name,.platform-user>svg{display:none}.platform-main{padding:22px 14px}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-box{padding:32px 26px}}.platform-header.dark{background:#0c1a2b;border-bottom-color:#16283d;color:#fff}.platform-header.dark .platform-title{color:#fff}.platform-header.dark .platform-route{color:#d4deea}.platform-header.dark .platform-route:hover{color:#fff;background:#13263b}.platform-header.dark .platform-route.active{color:#fff}.platform-header.dark .platform-user{color:#d4deea}.platform-main{max-width:none;padding:0}.design-page{min-height:calc(100vh - 56px);padding:20px 18px 40px;background:#f5f8fc;color:#172238}.design-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.design-page-head h1{margin:0;font-size:28px;line-height:1.25;font-weight:700;letter-spacing:0}.design-page-head p{margin:6px 0 0;color:#718198;font-size:13px}.design-actions{display:flex;gap:12px}.design-btn{height:38px;padding:0 17px;border:1px solid #d5dfe9;border-radius:5px;background:#fff;color:#33445b;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:13px}.design-btn.primary{border-color:#126be4;background:#126be4;color:#fff;box-shadow:0 4px 10px #126be426}.project-filters{height:48px;display:flex;align-items:center;gap:12px;padding:8px 0;border-top:1px solid #e5ebf2;margin-bottom:14px}.project-filters label{width:320px;height:34px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #d9e2ec;border-radius:4px;background:#fff;color:#8a98aa}.project-filters input{min-width:0;flex:1;outline:0}.project-filters button{height:34px;display:flex;align-items:center;gap:12px;padding:0 11px;border:1px solid #d9e2ec;border-radius:4px;background:#fff;color:#7a899c;font-size:12px;white-space:nowrap}.project-filters button b{color:#344359;font-weight:500}.project-filters .filter-icon{margin-left:auto;padding:0 9px}.design-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.design-project-card{min-width:0;padding:0;background:#fff;border:1px solid #dbe3ec;border-radius:5px;overflow:hidden;text-align:left;color:#1d2c42;box-shadow:0 2px 8px #1c3f6608;cursor:pointer;transition:border-color .16s,box-shadow .16s}.design-project-card:hover{border-color:#8db7ee;box-shadow:0 7px 20px #1b497a16}.project-card-title{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 0}.project-card-title>div{display:flex;align-items:center;gap:9px;min-width:0}.project-card-title h3{margin:0;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card-title button{color:#65758b}.project-card-desc{height:39px;margin:6px 14px;color:#65758b;font-size:12px;line-height:1.6;overflow:hidden}.project-tags{display:flex;gap:7px;padding:0 14px 10px}.project-tags span{padding:1px 6px;border:1px solid #d7e3f3;border-radius:3px;background:#f8fbff;color:#53677f;font-size:10px}.project-tags span:first-child{border-color:#a9ccfa;color:#1470e6}.project-card-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 14px;padding:10px 0;border-top:1px solid #edf1f5}.project-card-meta span,.project-card-group small{display:flex;flex-direction:column;color:#8997a8;font-size:10px}.project-card-meta b,.project-card-group b{margin-top:2px;color:#34445a;font-size:11px;font-weight:500}.project-card-group{display:flex;flex-direction:column;padding:0 14px 10px}.project-progress{height:38px;display:flex;align-items:center;gap:8px;padding:0 14px;border-top:1px solid #edf1f5;color:#8391a3;font-size:10px}.project-progress i{height:4px;flex:1;border-radius:2px;background:#e8edf2;overflow:hidden}.project-progress em{display:block;height:100%;background:#1672e8}.project-progress strong{color:#189b55;font-size:15px;font-weight:600}.project-progress strong small{font-size:9px;color:#53647a}.design-empty,.design-error{padding:56px;border:1px solid #dbe3ec;background:#fff;text-align:center;color:#738297}.design-error{padding:12px;color:#c43d3d}.design-segments{display:flex;border:1px solid #d4deea;border-radius:5px;overflow:hidden;background:#fff}.design-segments button{height:38px;min-width:110px;display:flex;align-items:center;justify-content:center;gap:7px;color:#405169}.design-segments button.active{background:#126be4;color:#fff}.design-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.design-stat-grid>div{min-height:105px;padding:20px 24px;border:1px solid #d7e0ea;border-radius:6px;background:#fff;box-shadow:0 4px 14px #24466d08}.design-stat-grid span{display:block;color:#58687e;font-size:14px}.design-stat-grid b{display:block;margin-top:7px;font-size:32px;line-height:1}.design-stat-grid b.success{color:#169b50}.design-stat-grid b.primary{color:#1570e5}.design-stat-grid b.danger{color:#df252e}.design-data-panel{padding:18px;border:1px solid #dbe3ec;border-radius:6px;background:#fff}.design-data-panel>div{max-width:none!important}.service-tabs{display:flex;gap:38px;margin:-4px 0 18px;border-bottom:1px solid #dce4ed}.service-tabs button{height:46px;padding:0 5px;border-bottom:2px solid transparent;color:#35445a}.service-tabs button.active{border-bottom-color:#1672e8;color:#1672e8}.services-design-page>.grid{padding:18px;border:1px solid #dbe3ec;border-radius:6px;background:#fff}.services-design-page>.rounded-2xl{border-radius:6px}.admin-design-page .design-data-panel{min-height:340px}@media (max-width: 1050px){.project-filters{overflow-x:auto}.design-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.design-stat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 680px){.design-page{padding:20px 14px}.design-page-head{flex-direction:column}.design-project-grid,.design-stat-grid{grid-template-columns:1fr}.project-filters label{min-width:260px}}.project-design-shell{--pipeline-queue-width: 150px;height:100vh;display:flex;flex-direction:column;overflow:hidden;background:#f5f8fc;color:#1b2a40}.project-fullscreen-shell{height:100vh;display:flex;flex-direction:column;overflow:hidden;background:#f7f9fc}.project-fullscreen-shell>.ontology-editor-shell,.project-fullscreen-shell>*{flex:1;min-height:0;height:100%}.project-global-header{height:62px;flex:0 0 62px;display:flex;align-items:center;padding:0 26px;background:#071a33;color:#fff}.project-brand{display:flex;align-items:center;gap:11px;color:#fff;font-size:18px}.project-brand span{width:31px;height:31px;display:grid;place-items:center;border-radius:7px;background:#176fe5}.project-global-header nav{height:100%;display:flex;align-items:center;gap:12px;margin-left:72px}.project-global-header nav a{height:100%;display:flex;align-items:center;gap:7px;padding:0 18px;position:relative;color:#d9e3ef;font-size:14px;cursor:pointer}.project-global-header nav a:hover{background:#102943;color:#fff}.project-global-header nav i{position:absolute;top:9px;right:5px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;border-radius:9px;background:#ef3e45;color:#fff;font-size:10px;font-style:normal}.project-user{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px}.project-user>span{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#dce9f5;color:#205489}.project-user button{margin-left:6px;color:#9db0c5;font-size:12px}.project-context-bar{height:52px;flex:0 0 52px;display:flex;align-items:center;gap:0;padding:0 16px 0 0;border-bottom:1px solid #e2e8ef;background:#fff;font-size:12px;color:#5d6d81}.project-context-nav{width:var(--pipeline-queue-width, 216px);flex:0 0 var(--pipeline-queue-width, 216px);height:100%;display:flex;align-items:center;padding:0 14px;border-right:1px solid #dce4ed;box-sizing:border-box}.project-context-back{height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:1px solid #bfd6f5;border-radius:4px;background:#fff;color:#176dde;font-size:13px;font-weight:600;white-space:nowrap}.project-context-back:hover{border-color:#8db7ee;background:#f7faff;color:#0d59c1}.project-context-divider{width:1px;height:22px;flex:0 0 1px;margin:0 14px;background:#dce4ed}.project-context-meta{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:13px}.project-context-nav+.project-context-meta{margin-left:14px}.project-context-meta>span{color:#8492a5}.project-context-meta>b{color:#1d2d43;font-weight:600}.project-context-meta>strong{padding:2px 8px;border-radius:3px;background:#f1f4f7;color:#425268;font-size:12px;font-weight:500}.project-context-meta>strong.blue{background:#eaf2ff;color:#176dde}.project-context-spacer{flex:1;min-width:12px}.project-context-actions{display:inline-flex;align-items:center;gap:8px}.project-context-action{height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:1px solid #d5dfe9;border-radius:4px;background:#fff;color:#425268;font-size:13px;white-space:nowrap}.project-context-action:hover{border-color:#9fc0ea;color:#176dde;background:#f7faff}.project-context-action:disabled{opacity:.45;cursor:not-allowed}.project-context-action.is-on{border-color:#8db7ee;background:#f7faff;color:#176dde;font-weight:650}.project-design-body{min-height:0;flex:1;display:flex}.project-design-sidebar{width:216px;flex:0 0 216px;display:flex;flex-direction:column;border-right:1px solid #dce4ed;background:#fff}.project-design-sidebar nav{display:flex;flex-direction:column;padding:14px 8px}.project-design-sidebar nav a{height:48px;display:flex;align-items:center;gap:13px;padding:0 19px;border-left:3px solid transparent;border-radius:0 6px 6px 0;color:#36475d;font-size:14px}.project-design-sidebar nav a:hover{background:#f3f7fb;color:#176dde}.project-design-sidebar nav a.active{border-left-color:#176fe5;background:#eaf2ff;color:#176dde;font-weight:600}.collapse-nav{height:50px;margin-top:auto;border-top:1px solid #e3e9ef;display:flex;align-items:center;gap:9px;padding:0 26px;color:#5d6d81}.project-design-main{position:relative;min-width:0;flex:1;overflow:auto;background:#f7f9fc}.project-design-main>.flex,.project-design-main>.operation-page,.project-design-main>.ontology-page{min-height:100%}.project-design-main .bg-paper{background:#f7f9fc}.project-design-main .rounded-2xl,.project-design-main .rounded-xl{border-radius:6px}.project-design-main .rounded-full{border-radius:4px}.project-design-main .shadow-sm{box-shadow:0 2px 8px #1c3f6608}.project-design-main .text-brand{color:#176dde}.project-design-main .bg-brand{background:#176dde}.project-design-main .bg-brand-light{background:#eaf2ff}.operation-page{padding:24px 26px 40px}.operation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.operation-head h1{margin:0;font-size:25px;line-height:1.25}.operation-head p{margin:5px 0 0;color:#718198;font-size:13px}.operation-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.operation-actions button,.primary-setting{height:38px;display:flex;align-items:center;gap:7px;padding:0 15px;border:1px solid #cfdbe8;border-radius:5px;background:#fff;color:#1769dc;font-size:13px}.operation-actions button.primary,.primary-setting{border-color:#1769dc;background:#1769dc;color:#fff}.operation-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:14px;border:1px solid #d9e3ed;border-radius:6px;background:#fff}.operation-stats>div{min-height:94px;padding:18px 22px;border-right:1px solid #e3e9ef}.operation-stats>div:last-child{border:0}.operation-stats span{display:block;color:#53647a;font-size:13px}.operation-stats b{display:inline-block;margin-top:7px;font-size:26px}.operation-stats b.blue{color:#176dde}.operation-stats b.green{color:#169b50}.operation-stats b.red{color:#dc242c}.operation-stats b.orange{color:#e57d0d}.operation-stats small{margin-left:4px;color:#718198}.operation-panel{border:1px solid #d9e3ed;border-radius:6px;background:#fff;overflow:hidden}.operation-tabs{height:50px;display:flex;align-items:center;gap:20px;padding:0 18px;border-bottom:1px solid #dce4ed}.operation-tabs button{height:100%;padding:0 8px;border-bottom:2px solid transparent;color:#425268;font-size:13px}.operation-tabs button.active{border-bottom-color:#176dde;color:#176dde;font-weight:600}.operation-filters{height:62px;display:flex;align-items:center;gap:10px;padding:0 18px;border-bottom:1px solid #e2e8ef}.operation-filters label{width:280px;height:34px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid #d8e1eb;border-radius:4px;color:#8492a5}.operation-filters input{min-width:0;flex:1;outline:0}.operation-filters button{height:34px;display:flex;align-items:center;gap:6px;padding:0 12px;border:1px solid #d8e1eb;border-radius:4px;color:#53647a}.operation-filters span{flex:1}.operation-table-wrap{overflow:auto}.operation-table-wrap table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:12px}.operation-table-wrap th{height:43px;padding:0 13px;background:#f5f7fa;border-bottom:1px solid #dce4ed;color:#34445a;text-align:left;font-weight:600}.operation-table-wrap td{height:58px;padding:0 13px;border-bottom:1px solid #e5eaf0;color:#43536a}.operation-table-wrap tbody tr:hover{background:#f7faff}.operation-table-wrap td:nth-child(2) b{display:block;color:#1d2d43;font-size:12px}.operation-table-wrap td:nth-child(2) small{display:block;color:#8996a7}.operation-table-wrap em,.operation-table-wrap mark{padding:2px 7px;border-radius:3px;background:#eaf2ff;color:#176dde;font-style:normal}.operation-table-wrap mark.green{background:#e8f7ed;color:#16964d}.operation-table-wrap mark.orange{background:#fff2df;color:#dc7b10}.operation-table-wrap td:last-child button{padding:5px;color:#176dde}.operation-pagination{height:52px;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 18px;color:#718198;font-size:12px}.operation-pagination button{height:28px;padding:0 10px;border:1px solid #d5dfe9;border-radius:4px}.operation-pagination button.active{border-color:#176dde;color:#176dde}.settings-layout{display:grid;grid-template-columns:210px minmax(0,760px);gap:18px}.settings-layout>aside,.settings-layout>section{border:1px solid #d9e3ed;border-radius:6px;background:#fff}.settings-layout>aside{padding:10px}.settings-layout>aside button{width:100%;height:43px;padding:0 13px;text-align:left;border-radius:4px;color:#53647a}.settings-layout>aside button.active{background:#eaf2ff;color:#176dde;font-weight:600}.settings-layout>section{padding:25px 28px}.settings-layout h2{margin:0;font-size:18px}.settings-layout section>p{margin:4px 0 22px;color:#8290a2}.settings-layout label{display:block;margin:16px 0;color:#425268;font-size:13px}.settings-layout input,.settings-layout textarea,.settings-layout select{width:100%;display:block;margin-top:7px;padding:9px 11px;border:1px solid #d4dee9;border-radius:4px;background:#fff;outline:0}.settings-layout textarea{height:82px;resize:vertical}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 1000px){.project-global-header nav{margin-left:20px}.project-global-header nav a{padding:0 10px}.project-design-sidebar{width:176px;flex-basis:176px}.operation-actions{max-width:520px}.operation-stats{grid-template-columns:repeat(2,1fr)}.operation-stats>div:nth-child(2){border-right:0}.operation-stats>div:nth-child(-n+2){border-bottom:1px solid #e3e9ef}}@media (max-width: 720px){.project-global-header nav,.project-user b,.project-user button,.project-context-bar div,.project-context-bar>i{display:none}.project-context-bar .project-context-actions{display:inline-flex}.project-design-sidebar{width:58px;flex-basis:58px}.project-design-sidebar nav a{padding:0 17px}.project-design-sidebar nav a span,.collapse-nav{font-size:0}.operation-page{padding:18px 12px}.operation-head{flex-direction:column}.operation-stats{grid-template-columns:1fr}.operation-stats>div{border-right:0;border-bottom:1px solid #e3e9ef}.settings-layout{grid-template-columns:1fr}.operation-filters{overflow-x:auto}.operation-filters label{min-width:240px}}.platform-header{height:56px;flex:0 0 56px;background:#fff!important;border-bottom:1px solid #e1e8f0!important;color:#172238!important}.platform-header__inner{gap:24px;padding:0 18px}.platform-logo{width:28px;height:28px;border-radius:7px}.platform-title{font-size:15px}.platform-route{padding:0 14px;font-size:14px;gap:6px}.platform-route.active:after{left:14px;right:14px}.platform-brand{padding:0;display:flex;align-items:center;gap:10px;white-space:nowrap;color:#172238}.platform-header .platform-route{color:#53647b}.platform-header .platform-route:hover{color:#1769dc;background:#f6f9fd}.platform-header .platform-route.active{color:#1769dc}.platform-header .platform-user{color:#53647b;gap:8px;font-size:13px}.platform-icon-button{width:32px;height:32px;display:grid;place-items:center;position:relative;border-radius:5px;color:#53647b}.platform-icon-button:hover{background:#f2f6fa;color:#1769dc}.notification-button i{position:absolute;top:-2px;right:-3px;min-width:16px;height:16px;padding:0 4px;display:grid;place-items:center;border:2px solid #fff;border-radius:9px;background:#ef3e45;color:#fff;font-size:10px;font-style:normal;line-height:1}.notification-button.active{background:#eaf2ff;color:#1769dc}.notification-layer{position:fixed;top:56px;right:0;bottom:0;left:0;z-index:80;background:#15223826}.notification-drawer{width:min(420px,100vw);height:100%;margin-left:auto;display:flex;flex-direction:column;background:#fff;border-left:1px solid #dce4ed;box-shadow:-14px 0 38px #1c3b6124;animation:notification-in .2s ease-out}.notification-drawer>header{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid #e1e7ee}.notification-drawer>header>div{display:flex;align-items:baseline;gap:10px}.notification-drawer h2{margin:0;font-size:18px}.notification-drawer>header span{color:#8795a7;font-size:12px}.notification-drawer>header button{width:32px;height:32px;display:grid;place-items:center;border-radius:4px;color:#64748b}.notification-drawer>header button:hover{background:#f2f5f8}.notification-toolbar{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #e6ebf0}.notification-toolbar>div{height:100%;display:flex;gap:18px}.notification-toolbar>div button{height:100%;padding:0 4px;border-bottom:2px solid transparent;color:#637287;font-size:13px}.notification-toolbar>div button.active{border-bottom-color:#176dde;color:#176dde;font-weight:600}.notification-toolbar .mark-all{display:flex;align-items:center;gap:5px;color:#176dde;font-size:12px}.notification-toolbar .mark-all:disabled{color:#aab5c2;cursor:not-allowed}.notification-list{min-height:0;flex:1;overflow:auto}.notification-list article{display:grid;grid-template-columns:34px minmax(0,1fr) 28px;gap:11px;padding:17px 18px;border-bottom:1px solid #e8edf2;background:#f8fbff}.notification-list article.read{grid-template-columns:34px minmax(0,1fr);background:#fff}.notification-list article:hover{background:#f4f8fc}.notification-type{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#e7f6ed;color:#159650}.notification-type.warning{background:#fff1df;color:#dc7a0c}.notification-type.info{background:#e8f2ff;color:#176dde}.notification-item-title{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#26364c;font-size:13px}.notification-item-title i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#176dde}.notification-list article p{margin:6px 0;color:#66768b;font-size:12px;line-height:1.6}.notification-list article small{color:#9aa6b5;font-size:11px}.notification-list article>button{width:28px;height:28px;display:grid;place-items:center;border-radius:4px;color:#176dde}.notification-list article>button:hover{background:#e3efff}.notification-empty{height:100%;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9aa7b6}.notification-empty b{margin-top:12px;color:#55667b}.notification-empty span{margin-top:4px;font-size:12px}.notification-drawer>footer{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-top:1px solid #e1e7ee;color:#98a5b4;font-size:11px}.notification-drawer>footer button{color:#d04444;font-size:12px}@keyframes notification-in{0%{transform:translate(100%)}to{transform:translate(0)}}.ontology-chat-layer{position:fixed;top:56px;right:0;bottom:0;left:0;z-index:85;background:#15223826}.ontology-chat-drawer{width:min(520px,100vw);height:100%;margin-left:auto;display:flex;flex-direction:column;background:#fff;border-left:1px solid #dce4ed;box-shadow:-14px 0 38px #1c3b6124;animation:notification-in .2s ease-out}.ontology-chat-drawer>header{height:64px;flex:0 0 64px;display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 22px;border-bottom:1px solid #e1e7ee}.ontology-chat-drawer>header>div{min-width:0;display:flex;flex-direction:column;gap:2px}.ontology-chat-drawer h2{margin:0;color:#1e2f45;font-size:17px;font-weight:650}.ontology-chat-drawer>header span{overflow:hidden;color:#8795a7;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.ontology-chat-drawer>header button{width:32px;height:32px;display:grid;place-items:center;border-radius:4px;color:#64748b}.ontology-chat-drawer>header button:hover{background:#f2f5f8;color:#176dde}.ontology-chat-drawer .ai-conversation-panel,.ontology-chat-drawer .ontology-chat-panel{min-height:0;flex:1}.ontology-chat-drawer .requirement-chat-messages{padding:18px 16px 12px}.ontology-chat-drawer .requirement-chat-message-list{max-width:none}.ontology-chat-drawer .requirement-composer-wrap{padding:0 12px 12px}.ai-conversation-panel{position:relative;z-index:2;min-width:0;min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.ai-conversation-panel-head{flex:0 0 auto;display:flex;align-items:center;padding:12px 18px;border-bottom:1px solid #e1e7ee}.ai-conversation-panel-head h2{margin:0;color:#1e2f45;font-size:15px;font-weight:650}.platform-account{position:relative}.platform-account-trigger{height:36px;display:flex;align-items:center;gap:8px;padding:0 6px 0 2px;border-radius:5px;color:#3d4d63}.platform-account-trigger:hover,.platform-account-trigger.active{background:#f2f6fa}.platform-account-trigger>img{width:28px;height:28px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.platform-account-menu{position:absolute;top:40px;right:0;z-index:90;width:164px;padding:6px;background:#fff;border:1px solid #dce4ed;border-radius:6px;box-shadow:0 10px 28px #183b6124}.platform-account-menu button{width:100%;height:38px;display:flex;align-items:center;gap:10px;padding:0 11px;border-radius:4px;color:#405168;font-size:13px;text-align:left}.platform-account-menu button:hover{background:#f2f6fa;color:#1769dc}.platform-account-menu button.logout{color:#d14343}.platform-account-menu button.logout:hover{background:#fff2f2}.readonly-mode .platform-account-menu button.logout{display:flex!important}.platform-account-menu i{display:block;height:1px;margin:5px 4px;background:#e5eaf0}.account-modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:grid;place-items:center;padding:20px;background:#15223859}.account-modal{width:min(460px,100%);overflow:hidden;border:1px solid #d9e2ec;border-radius:7px;background:#fff;box-shadow:0 20px 60px #102b4b38;animation:modal-in .16s ease-out}.account-modal>header{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #e2e8ef}.account-modal h2{margin:0;font-size:17px}.account-modal>header button{width:30px;height:30px;display:grid;place-items:center;border-radius:4px;color:#68778b}.account-modal>header button:hover{background:#f2f5f8}.account-modal-body{padding:24px 28px}.avatar-editor{width:82px;height:82px;display:block;position:relative;margin:0 auto;cursor:pointer}.avatar-editor>img,.avatar-editor>span{width:82px;height:82px;display:grid;place-items:center;border-radius:50%;-o-object-fit:cover;object-fit:cover;background:#dfeeff;color:#1769dc;font-size:28px;font-weight:600}.avatar-editor i{position:absolute;right:0;bottom:1px;width:27px;height:27px;display:grid;place-items:center;border:2px solid #fff;border-radius:50%;background:#1769dc;color:#fff}.avatar-editor input{display:none}.account-modal-body>p{text-align:center;margin:8px 0 20px;color:#8996a7;font-size:11px}.account-field{display:block;margin-top:16px;color:#44546a;font-size:13px}.account-field input{width:100%;height:40px;margin-top:7px;padding:0 11px;border:1px solid #d5dfe9;border-radius:4px;background:#fff;outline:0}.account-field input:focus{border-color:#69a0eb;box-shadow:0 0 0 3px #176dde14}.account-field input:disabled{background:#f4f6f8;color:#8b98a8}.account-modal>footer{height:62px;display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:0 20px;border-top:1px solid #e2e8ef;background:#fafbfd}.account-modal>footer button{height:36px;min-width:78px;padding:0 16px;border:1px solid #d3dde8;border-radius:4px;background:#fff}.account-modal>footer button.primary{border-color:#1769dc;background:#1769dc;color:#fff}.account-modal>footer button:disabled{opacity:.5}.password-message{margin-top:14px;padding:8px 10px;border-radius:4px;background:#fff2f2;color:#d14343;font-size:12px}.password-message.success{background:#eaf7ef;color:#168b49}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.project-dialog{width:min(520px,100%)}.project-dialog h2{display:flex;align-items:center;gap:9px}.project-dialog h2 svg{color:#176dde}.project-dialog .account-modal-body{padding-top:12px;padding-bottom:26px}.account-field em{color:#df343b;font-style:normal}.account-field textarea{width:100%;min-height:100px;display:block;margin-top:7px;padding:10px 11px;border:1px solid #d5dfe9;border-radius:4px;background:#fff;outline:0;resize:vertical;font:inherit;color:#26364c}.account-field textarea:focus{border-color:#69a0eb;box-shadow:0 0 0 3px #176dde14}.project-dialog-error{margin-top:14px;padding:9px 11px;border:1px solid #f0c7c7;border-radius:4px;background:#fff4f4;color:#c73d3d;font-size:12px}.project-dialog .account-field select{width:100%;height:40px;margin-top:7px;padding:0 11px;border:1px solid #d5dfe9;border-radius:4px;background:#fff;color:#26364c;outline:0}.project-dialog .account-field select:focus{border-color:#69a0eb;box-shadow:0 0 0 3px #176dde14}.project-dialog .account-field select:disabled{cursor:not-allowed;border-color:#e3ebf3;background:#f4f7fa;color:#7b8ea3;box-shadow:none}.project-dialog .project-dialog-select.ant-select{display:flex;align-items:center;width:100%;height:40px;margin-top:7px;border-color:#d5dfe9;border-radius:4px;font-size:13px}.project-dialog .project-dialog-select.ant-select-focused,.project-dialog .project-dialog-select.ant-select-open{border-color:#69a0eb;box-shadow:0 0 0 3px #176dde14}.project-dialog .project-dialog-select .ant-select-content{font-size:13px;color:#26364c}.project-dialog .project-dialog-select .ant-select-suffix{color:#7b8ea3}.project-dialog .project-dialog-select.ant-select-disabled{cursor:not-allowed;border-color:#e3ebf3;background:#f4f7fa;box-shadow:none}.project-dialog .project-dialog-select.ant-select-disabled .ant-select-content{color:#7b8ea3}.project-dialog-select-popup.ant-select-dropdown{padding:4px;border:1px solid #e2e8ef;border-radius:6px;background:#fff;box-shadow:0 8px 24px #102b4b24}.project-dialog-select-popup .ant-select-item{min-height:34px;border-radius:4px;color:#26364c;font-size:13px}.project-dialog-select-popup .ant-select-item-option-active:not(.ant-select-item-option-selected){background:#f4f7fb}.project-dialog-select-popup .ant-select-item-option-selected{background:#eef5ff;color:#1769dc;font-weight:500}.project-filters .project-search{width:min(300px,24vw);flex:0 1 300px}.project-filter-control{width:auto!important;min-width:130px;height:34px!important;display:flex!important;align-items:center!important;gap:7px!important;padding:0 8px!important}.project-filter-control span,.project-date-filter>span{color:#7a899c;font-size:11px;white-space:nowrap}.project-filter-control select{min-width:55px;flex:1;padding-right:18px;border:0;background:transparent;color:#344359;font-size:11px;outline:0;cursor:pointer}.project-filter-control.sort{min-width:150px}.project-date-filter{height:34px;display:flex;align-items:center;gap:5px;padding:0 8px;border:1px solid #d9e2ec;border-radius:4px;background:#fff}.project-date-filter input{width:105px;padding:0;border:0;background:transparent;color:#526278;font-size:10px;outline:0}.project-date-filter i{color:#9aa6b4;font-size:11px;font-style:normal}.design-empty button{margin-top:12px;padding:5px 12px;border:1px solid #a9c9f3;border-radius:4px;color:#176dde}.project-filters .ant-input-affix-wrapper{height:34px;border-radius:4px}.project-filters .project-filter-select{width:150px;flex:0 0 150px}.project-filters .project-sort-select{width:175px;flex:0 0 175px}.project-filters .ant-select-selector{height:34px!important;border-radius:4px!important}.project-filters .ant-select-selection-item{line-height:32px!important;font-size:11px}.project-filters .project-date-picker{width:235px;height:34px;flex:0 0 235px;border-radius:4px}.project-filters .project-date-picker input{font-size:11px}.project-filters .ant-btn.filter-icon{width:34px;height:34px;margin-left:0;padding:0;display:grid;place-items:center;flex:0 0 34px}.project-filters{height:auto;min-height:64px;align-items:flex-end}.project-filters .filter-field{width:auto;height:auto;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:0;border:0;background:transparent}.project-filters .filter-field>span{color:#5f6f83;font-size:11px;line-height:16px}.project-filters .project-search{margin-top:20px}.project-filters .filter-field.date-field{min-width:235px}.project-filters .ant-btn.filter-icon{align-self:flex-end}.canvas-top-hotspots{position:absolute;top:0;left:0;height:8%;width:55%;display:flex;gap:1%;padding-left:18%;pointer-events:none}.canvas-top-hotspots button{height:100%;border:0;background:transparent;cursor:pointer;pointer-events:auto;flex:0 0 10%}.canvas-project-hotspot{position:absolute;left:1%;top:14%;width:34%;height:20%;border:0;background:transparent;cursor:pointer}.canvas-side-hotspots{position:absolute;left:0;top:11%;width:13%;height:86%}.canvas-side-hotspots button{position:absolute;left:0;width:100%;height:7%;border:0;background:transparent;cursor:pointer}.project-center-page{height:calc(100vh - 56px);min-height:0;display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}.project-center-page .project-center-toolbar{display:flex;align-items:center;gap:12px;flex:0 0 auto;min-width:0;margin-bottom:16px;padding-bottom:4px;overflow-x:auto;scrollbar-width:thin}.project-center-page .project-center-toolbar .project-view-tabs{flex:none;margin:0}.project-center-page .project-create-card{min-height:210px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px 16px;border:1px dashed #c3ceda;border-radius:7px;background:#ffffff73;color:#8b9aab;cursor:pointer;transition:border-color .16s,color .16s,background .16s}.project-center-page .project-create-card:hover{border-color:#7eadea;background:#f7fbff;color:#176dde}.project-center-page .project-create-card span{font-size:13px;line-height:1.4}.project-center-page .project-list-scroll .design-empty.is-inline{min-height:0;margin-top:14px;display:block}.project-center-page .project-list-region{min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.project-center-page .project-list-scroll{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:1px 6px 14px 1px;scrollbar-gutter:stable}.project-center-page .project-list-scroll .design-project-grid{align-content:start}.project-center-page .project-list-scroll .design-empty{min-height:100%;display:grid;place-content:center}.project-center-page .project-pagination{min-height:58px;flex:0 0 58px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 6px 0 2px;border-top:1px solid #dfe6ee;background:#f5f8fc}.project-center-page .project-pagination>span{color:#718198;font-size:12px;white-space:nowrap}.project-center-page .project-pagination .ant-pagination{margin:0}.project-center-page .project-pagination .ant-pagination-item,.project-center-page .project-pagination .ant-pagination-prev,.project-center-page .project-pagination .ant-pagination-next{border-radius:4px}.project-center-page .project-filters{display:flex;flex:1 0 auto;flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;min-height:0;height:auto;margin:0;padding:0;overflow:visible;border:0}.project-center-page .project-filters .filter-field{width:auto;flex:1 0 120px;min-width:0;height:auto;display:flex;flex-direction:row;align-items:center;gap:8px;padding:0;border:0;background:transparent}.project-center-page .project-filters .search-field{flex:1.5 0 180px}.project-center-page .project-filters .date-field{flex:1.2 0 220px;min-width:220px}.project-center-page .project-filters .sort-field{flex:1 0 110px}.project-center-page .project-filters .project-search,.project-center-page .project-filters .project-filter-select,.project-center-page .project-filters .project-sort-select,.project-center-page .project-filters .project-date-picker{width:100%;min-width:0;height:34px;margin:0;flex:1 1 auto;border-radius:4px}.project-center-page .project-filters .ant-select-single .ant-select-selector{height:34px!important;border-radius:4px!important}.project-center-page .project-filters .ant-select-single .ant-select-selection-wrap{height:32px}.project-center-page .project-filters .ant-select-selection-item,.project-center-page .project-filters .project-date-picker input{font-size:12px}.project-center-page .project-filters .filter-actions{display:flex;align-items:center;gap:8px;flex:none}.project-center-page .project-filters .filter-actions .ant-btn{width:34px;min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;gap:0;margin:0;padding:0;border:1px solid #d9e2ec;border-radius:4px;background:#fff;color:#65758a}.project-center-page .project-filters .filter-actions .ant-btn:hover{border-color:#8bb6ee;color:#176dde}.project-center-page .project-filters .filter-actions .ant-btn:disabled{border-color:#e2e8ef;background:#f7f9fb;color:#a6b1be}.project-center-page .design-project-card{border-radius:7px;border-color:#d8e2ed;box-shadow:0 3px 12px #21466d0b}.project-center-page .design-project-card:hover{border-color:#9dbfe8;box-shadow:0 8px 22px #21466d18;transform:translateY(-1px)}.project-center-page .design-project-card .project-card-title{padding:11px 14px 0}.project-center-page .design-project-card .project-card-name{flex:1;min-width:0}.project-center-page .design-project-card .project-card-name h3{min-width:0}.project-center-page .project-type-tag{flex:none;padding:1px 6px;border:1px solid #b9d3f4;border-radius:3px;background:#edf5ff;color:#1769dc;font-size:10px;line-height:16px;white-space:nowrap}.project-center-page .design-project-card .project-card-desc{height:30px;margin:4px 14px;font-size:12px;line-height:1.45}.project-center-page .project-type-tag.maintenance{border-color:#badfca;background:#eef9f2;color:#16864a}.project-center-page .project-type-tag.decommission{border-color:#edcfaa;background:#fff6e9;color:#b8680a}.project-center-page .project-type-tag.custom{border-color:#d4d9e0;background:#f5f6f8;color:#58677a}.project-center-page .design-project-card .project-card-meta{gap:6px;margin:0;padding:7px 14px;background:transparent;border-top:1px solid #edf1f5;border-bottom:0}.project-center-page .design-project-card .project-card-meta span,.project-center-page .design-project-card .project-card-group small{font-size:10px;line-height:1.35}.project-center-page .design-project-card .project-card-meta b,.project-center-page .design-project-card .project-card-group b{font-size:11px;line-height:1.35}.project-center-page .design-project-card .project-card-meta>span{min-width:0;padding-right:8px;border-right:1px solid #e5ebf2}.project-center-page .design-project-card .project-card-meta>span:last-child{padding-right:0;border-right:0}.project-center-page .design-project-card .project-card-meta b,.project-center-page .design-project-card .project-card-group b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-center-page .design-project-card .project-card-group{padding:7px 14px 5px}.project-center-page .design-project-card .project-progress{height:34px;display:flex;align-items:center;padding:0 14px;border-top:1px solid #edf1f5;color:#8391a3}.project-center-page .design-project-card .project-progress-main,.project-center-page .design-project-card .project-quality{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}.project-center-page .design-project-card .project-progress-main i{flex:0 0 78px;width:78px;max-width:78px}.project-center-page .design-project-card .project-progress-main>b{color:#176dde;font-size:10px;font-weight:600}.project-center-page .design-project-card .project-quality{margin-left:auto;font-size:10px}.project-center-page .design-project-card .project-quality strong{color:#169b50;font-size:14px;font-weight:600}.project-center-page .design-project-card .project-quality small{color:#53647a;font-size:9px}@keyframes project-stat-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.project-center-page .project-progress.is-loading .project-stat-shimmer,.project-center-page .project-stat-skel{background-image:linear-gradient(90deg,#e6ebf0,#f7f9fb 45%,#e6ebf0);background-size:200% 100%;animation:project-stat-shimmer 1.15s ease-in-out infinite}.project-center-page .project-stat-skel{display:inline-block;width:28px;height:10px;border-radius:4px;color:transparent}.project-center-page .project-quality .project-stat-skel{width:36px;height:14px}@media (prefers-reduced-motion: reduce){.project-center-page .project-progress.is-loading .project-stat-shimmer,.project-center-page .project-stat-skel{animation:none}}.project-view-tabs{display:flex;align-items:center;gap:8px;margin:0 0 12px}.project-view-tabs button{height:32px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:1px solid #d5e0ec;border-radius:999px;background:#fff;color:#4d6074;font-size:13px;cursor:pointer}.project-view-tabs button.on{border-color:#1f4f73;background:#1f4f73;color:#fff}.project-view-tabs em{min-width:18px;padding:0 6px;border-radius:999px;background:#e8f1f8;color:#1f4f73;font-size:11px;font-style:normal;line-height:18px;text-align:center}.project-view-tabs button.on em{background:#fff3;color:#fff}.project-center-page .project-card-tools{display:flex;align-items:center;gap:2px;flex:none}.project-center-page .project-card-star{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:4px;background:transparent;color:#9aa8b8;cursor:pointer}.project-center-page .project-card-star:hover,.project-center-page .project-card-star.is-on{background:#fff8e8;color:#d39a00}.project-center-page .design-project-card .project-card-menu{position:relative;flex:0 0 auto}.project-center-page .design-project-card .project-card-menu>button{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;gap:0;border-radius:4px;color:#65758b;font-size:12px}.project-center-page .design-project-card .project-card-menu>button:hover,.project-center-page .design-project-card .project-card-menu>button[aria-expanded=true]{background:#f0f5fb;color:#176dde}.project-center-page .project-card-menu-popover{position:absolute;top:31px;right:0;z-index:20;width:126px;padding:5px;border:1px solid #dce4ed;border-radius:5px;background:#fff;box-shadow:0 9px 22px #183b6124}.project-center-page .project-card-menu-popover button{width:100%;height:32px;display:flex;align-items:center;gap:8px;padding:0 9px;border-radius:3px;color:#405168;font-size:12px;text-align:left}.project-center-page .project-card-menu-popover button:hover{background:#f2f6fa;color:#176dde}.project-center-page .project-card-menu-popover button.danger{color:#d14343}.project-center-page .project-card-menu-popover button.danger:hover{background:#fff2f2;color:#c12f2f}@media (min-width: 1201px){.project-center-page .design-project-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 851px) and (max-width: 1200px){.project-center-page .design-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.admin-design-page,.services-design-page{padding:22px 28px 34px;background:#f4f7fb}.admin-design-page .design-page-head,.services-design-page .design-page-head{align-items:center;margin-bottom:16px}.admin-design-page .design-page-head h1,.services-design-page .design-page-head h1{font-size:25px;letter-spacing:0}.admin-design-page .design-page-head p,.services-design-page .design-page-head p{margin-top:7px;color:#718198;font-size:13px}.admin-design-page .design-segments{border-color:#d4deea;border-radius:6px;box-shadow:0 2px 7px #183b610b}.admin-design-page .design-segments button{height:40px;min-width:108px;font-size:13px}.admin-content-panel{padding:0!important;border:0!important;background:transparent!important}.admin-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:14px;border:1px solid #d9e3ed;border-radius:7px;background:#fff;box-shadow:0 2px 8px #21466d07;overflow:hidden}.admin-summary-grid>div{min-height:76px;padding:13px 18px;border:0;border-right:1px solid #e5ebf2;border-radius:0;background:#fff;box-shadow:none}.admin-summary-grid>div:last-child{border-right:0}.admin-summary-grid>div>div{color:#58687e;font-size:13px}.admin-summary-grid strong{display:block;margin-top:5px;color:#172238;font-size:24px;line-height:1;font-weight:600}.admin-summary-grid strong.primary{color:#176dde}.admin-summary-grid strong.success{color:#169b50}.admin-summary-grid strong.warning{color:#d98718}.admin-content-panel>section,.admin-content-panel>div>section{border-color:#d9e3ed!important;border-radius:8px!important;box-shadow:0 3px 12px #21466d08}.admin-content-panel table thead{background:#f5f8fc!important}.admin-content-panel table th{height:44px;color:#53647a;font-weight:600}.admin-content-panel table td{height:66px;color:#34445a}.admin-content-panel table tbody tr:hover{background:#f7faff!important}.admin-content-panel .rounded-full{border-radius:4px}.services-design-page .service-tabs{gap:30px;margin:0 0 18px;border-bottom-color:#dce4ed}.services-design-page .service-tabs button{height:43px;padding:0 8px;color:#53647a;font-size:13px}.services-design-page .service-tabs button.active{color:#176dde;border-bottom-color:#176dde;font-weight:600}.services-design-page .service-empty-state{min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 24px;border:1px dashed #d5e0eb;border-radius:8px;background:#fff;text-align:center}.services-design-page .design-stat-grid{gap:0;margin-bottom:16px;border:1px solid #d9e3ed;border-radius:7px;overflow:hidden;box-shadow:0 2px 8px #21466d07}.services-design-page .design-stat-grid>div{min-height:76px;padding:13px 18px;border:0;border-right:1px solid #e5ebf2;border-radius:0;box-shadow:none}.services-design-page .design-stat-grid>div:last-child{border-right:0}.services-design-page .design-stat-grid span{font-size:12px}.services-design-page .design-stat-grid b{margin-top:5px;font-size:24px}.services-design-page .service-config-grid{display:flex;flex-direction:column;gap:0;padding:0;border:0;background:transparent}.services-design-page .service-config-card{display:grid!important;grid-template-columns:1.15fr 1.25fr 1.9fr .8fr 1.5fr 1.15fr 1.55fr;align-items:center;gap:14px!important;min-height:62px;padding:9px 17px!important;border:0!important;border-bottom:1px solid #e8edf3!important;border-radius:0!important;box-shadow:none;box-sizing:border-box}.services-design-page .service-config-card:hover{border-color:#e8edf3!important;background:#f8fbff;box-shadow:none}.services-design-page .service-config-card .border-t{border-color:#e5ebf2!important}.services-design-page .service-config-card code{color:#34445a}.services-design-page .service-list-panel{overflow:hidden;border:1px solid #d9e3ed;border-radius:8px;background:#fff;box-shadow:0 3px 12px #21466d08}.services-design-page .service-two-pane{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:16px;align-items:stretch}.services-design-page .service-config-card{cursor:pointer}.services-design-page .service-detail-panel{min-height:100%;overflow:hidden;border:1px solid #d9e3ed;border-radius:8px;background:#fff;box-shadow:0 3px 12px #21466d08}.services-design-page .service-detail-panel>header{min-height:72px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:15px 17px;border-bottom:1px solid #e5ebf2}.services-design-page .service-detail-panel>header span:first-child{color:#8997a8;font-size:11px}.services-design-page .service-detail-panel h2{margin:5px 0 0;color:#1d2d43;font-size:16px}.service-detail-status{padding:4px 7px;border-radius:4px;background:#f1f4f7;color:#8997a8;font-size:11px}.service-detail-status.active{background:#e8f7ed;color:#169b50}.services-design-page .service-detail-body{padding:2px 17px}.services-design-page .service-detail-body dl{margin:0}.services-design-page .service-detail-body dt{margin-top:13px;color:#8997a8;font-size:10px}.services-design-page .service-detail-body dd{margin:3px 0 0;color:#34445a;font-size:12px;line-height:1.45;word-break:break-all}.services-design-page .service-detail-body dd.mono{color:#53647a;font-family:Consolas,monospace;font-size:11px}.services-design-page .service-detail-panel>footer{display:flex;flex-wrap:wrap;gap:8px;padding:13px 17px;border-top:1px solid #e5ebf2}.services-design-page .service-detail-panel>footer button{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 10px;border:1px solid #d5dfe9;border-radius:4px;color:#53647a;font-size:12px}.services-design-page .service-detail-panel>footer button.primary{border-color:#176dde;background:#176dde;color:#fff}.services-design-page .service-detail-panel>footer button.danger{border-color:#f0caca;color:#d14343}.services-design-page .service-list-head{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-bottom:1px solid #e4eaf1}.services-design-page .service-list-head h2{display:inline;margin:0;color:#1d2d43;font-size:16px}.services-design-page .service-list-head span{margin-left:12px;color:#8997a8;font-size:12px}.services-design-page .service-list-head button{height:32px;padding:0 12px;border:1px solid #d5dfe9;border-radius:4px;color:#176dde;font-size:12px}.services-design-page .service-list-filters{display:flex;align-items:center;gap:10px;padding:12px 17px;border-top:1px solid #edf1f5;border-bottom:1px solid #e5ebf2;background:#fbfcfe}.services-design-page .service-list-filters label{width:min(340px,100%);height:34px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid #d5dfe9;border-radius:4px;background:#fff;color:#8997a8}.services-design-page .service-list-filters input{min-width:0;flex:1;outline:0;color:#34445a;font-size:12px}.services-design-page .service-list-filters select{height:34px;min-width:110px;padding:0 28px 0 10px;border:1px solid #d5dfe9;border-radius:4px;background:#fff;color:#53647a;outline:0;font-size:12px}.services-design-page .service-list-columns{display:grid;grid-template-columns:1.15fr 1.25fr 1.9fr .8fr 1.5fr 1.15fr 1.55fr;gap:14px;padding:0 17px;height:36px;align-items:center;background:#f5f8fc;color:#53647a;font-size:12px;font-weight:600}.services-design-page .service-config-card>div:nth-child(1){min-width:0}.services-design-page .service-config-card>div:nth-child(1)>div:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.services-design-page .service-config-card>div:nth-child(2),.services-design-page .service-config-card>div:nth-child(3),.services-design-page .service-config-card>div:nth-child(4),.services-design-page .service-config-card>div:nth-child(6){min-width:0}.services-design-page .service-config-card>div:nth-child(2)>div:last-child{flex-direction:row;overflow:hidden}.services-design-page .service-config-card>div:nth-child(2)>div:last-child>div{white-space:nowrap}.services-design-page .service-config-card>div:nth-child(3)>div:last-child,.services-design-page .service-config-card>div:nth-child(4)>code,.services-design-page .service-config-card>div:nth-child(6){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.services-design-page .service-config-card>div:nth-child(5){min-width:0}.services-design-page .service-config-card>div:nth-child(5)>span{margin:2px;white-space:nowrap}.services-design-page .service-config-card>div:nth-child(7){display:flex;align-items:center;min-width:0;white-space:nowrap}@media (max-width: 1100px){.services-design-page .service-list-panel{overflow-x:auto}.services-design-page .service-list-head,.services-design-page .service-list-columns,.services-design-page .service-config-card{min-width:1080px}}@media (max-width: 1080px){.services-design-page .service-two-pane{grid-template-columns:1fr}.services-design-page .service-detail-panel{min-height:0}}.services-design-page>.rounded-2xl{border-color:#d9e3ed;border-radius:8px;box-shadow:0 3px 12px #21466d08}.admin-users-view,.project-groups-view{display:flex;flex-direction:column;gap:18px}.admin-toolbar{min-height:40px;display:flex;align-items:center;justify-content:flex-end}.admin-toolbar-title{display:flex;align-items:center;gap:10px;margin-right:auto;color:#176dde}.admin-toolbar-title>div h2{margin:0;color:#172238;font-size:18px;font-weight:600}.admin-toolbar-title>div p{margin:3px 0 0;color:#718198;font-size:12px}.admin-list-panel{overflow:hidden;border:1px solid #d9e3ed;border-radius:8px;background:#fff;box-shadow:0 3px 12px #21466d08}.admin-list-panel>header{height:54px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #e4eaf1;color:#8997a8}.admin-list-panel>header h2{display:inline;margin:0;color:#1d2d43;font-size:16px;font-weight:600}.admin-list-panel>header span{margin-left:12px;color:#8997a8;font-size:12px}.admin-table-scroll{overflow-x:auto}.admin-list-panel table{width:100%;min-width:680px;border-collapse:collapse;text-align:left}.admin-list-panel th{height:38px;padding:0 18px;background:#f5f8fc;color:#53647a;font-size:11px;font-weight:600}.admin-list-panel td{height:56px;padding:0 18px;border-top:1px solid #edf1f5;color:#34445a;font-size:12px}.admin-list-panel td strong{display:block;color:#1d2d43;font-weight:500}.admin-list-panel td small{display:block;margin-top:2px;color:#8997a8;font-size:10px}.admin-list-panel tbody tr:hover{background:#f8fbff}.admin-list-panel tbody tr{cursor:pointer}.admin-list-panel tbody tr.selected{background:#edf5ff}.admin-list-panel tbody tr.selected td:first-child{box-shadow:inset 3px 0 #176dde}.admin-two-pane{display:grid;grid-template-columns:minmax(0,1fr) 318px;gap:12px;align-items:stretch}.admin-detail-panel{min-height:100%;overflow:hidden;border:1px solid #d9e3ed;border-radius:8px;background:#fff;box-shadow:0 3px 12px #21466d08}.admin-detail-panel>header{min-height:72px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:15px 17px;border-bottom:1px solid #e5ebf2}.admin-detail-panel>header>div>span{color:#8997a8;font-size:11px}.admin-detail-panel h2{margin:5px 0 0;color:#1d2d43;font-size:16px}.admin-detail-body{padding:2px 17px}.admin-detail-body dl{margin:0}.admin-detail-body dt{margin-top:13px;color:#8997a8;font-size:10px}.admin-detail-body dd{margin:3px 0 0;color:#34445a;font-size:12px}.admin-detail-panel>footer{display:flex;gap:8px;padding:13px 17px;border-top:1px solid #e5ebf2}.admin-detail-panel>footer button{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 10px;border:1px solid #d5dfe9;border-radius:4px;color:#53647a;font-size:12px}.admin-detail-panel>footer button:hover{border-color:#8bb6ee;color:#176dde}.admin-detail-empty{min-height:260px;display:grid;place-items:center;padding:20px;color:#8997a8;font-size:12px}.admin-role,.admin-status{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.admin-role{padding:4px 8px;border-radius:4px;background:#edf4ff;color:#176dde;font-size:11px}.admin-role.role-root{background:#f0f2f5;color:#536273}.admin-role.role-readonly{background:#fff4e5;color:#c47a0b}.admin-status{color:#8b98a8;font-size:12px}.admin-status i{width:7px;height:7px;border-radius:50%;background:#b7c1cc}.admin-status.active{color:#169b50}.admin-status.active i{background:#17a458}.admin-row-actions{display:flex;align-items:center;gap:16px;white-space:nowrap}.admin-row-actions button{display:inline-flex;align-items:center;gap:4px;color:#53647a;font-size:12px}.admin-row-actions button.danger{color:#d14343}.admin-row-actions button.admin-acl-config-btn{color:#176dde;font-weight:600}.admin-row-actions button.admin-acl-config-btn:hover:not(:disabled){color:#0f5bb8}.admin-row-actions button.admin-acl-config-btn:disabled{color:#b0b8c4;font-weight:500;cursor:not-allowed;opacity:1}.admin-row-delete{display:inline-flex;align-items:center;gap:4px;color:#d14343;font-size:12px}.admin-members{display:flex;flex-wrap:wrap;gap:5px}.admin-members span,.admin-detail-members span{display:inline-flex;padding:4px 7px;border-radius:4px;background:#f1f5f9;color:#53647a;font-size:11px}.admin-detail-members{display:flex;flex-wrap:wrap;gap:6px}.admin-detail-panel>footer button.danger{border-color:#f0caca;color:#d14343}.admin-warning,.admin-error{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-radius:6px;font-size:12px}.admin-warning{border:1px solid #f2d89d;background:#fff9e9;color:#966514}.admin-error{border:1px solid #efcaca;background:#fff3f3;color:#c43d3d}.admin-loading{min-height:190px;display:flex;align-items:center;justify-content:center;gap:8px;color:#8997a8;font-size:12px}.ant-message{z-index:1100}.project-groups-view>.flex.justify-end{justify-content:flex-end}.project-groups-view>section{margin-top:0}.admin-modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:20px;background:#15223859}.admin-modal{width:min(520px,100%);overflow:hidden;border:1px solid #d9e2ec;border-radius:8px;background:#fff;box-shadow:0 20px 60px #102b4b38}.admin-modal>header{display:flex;align-items:flex-start;justify-content:space-between;padding:19px 22px;border-bottom:1px solid #e2e8ef}.admin-modal h2{margin:0;color:#1d2d43;font-size:17px}.admin-modal header p{margin:5px 0 0;color:#8997a8;font-size:12px}.admin-modal>header button{color:#68778b}.admin-modal-body{padding:20px 22px}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-form-grid label{display:flex;flex-direction:column;gap:6px;color:#53647a;font-size:12px}.admin-form-grid label>span{display:inline-flex;align-items:center;gap:3px;min-height:16px;line-height:16px}.admin-form-grid label b{color:#df343b;font-weight:500}.admin-form-grid label.full{grid-column:1 / -1}.admin-form-grid input,.admin-form-grid select,.admin-form-grid textarea{width:100%;height:38px;padding:0 10px;border:1px solid #d5dfe9;border-radius:4px;background:#fff;color:#26364c;outline:0;font-size:13px}.admin-form-grid input:focus,.admin-form-grid select:focus,.admin-form-grid textarea:focus{border-color:#69a0eb;box-shadow:0 0 0 3px #176dde14}.admin-form-grid textarea{min-height:92px;padding:9px 10px;resize:vertical;line-height:1.5}.group-form-grid{grid-template-columns:1fr;gap:14px}.project-group-modal .admin-error{margin-top:14px}.admin-modal>footer{display:flex;justify-content:flex-end;gap:9px;padding:14px 22px;border-top:1px solid #e2e8ef;background:#fafbfd}@media (max-width: 700px){.admin-design-page .design-page-head{align-items:flex-start;flex-direction:column}.admin-design-page .design-segments{align-self:stretch}.admin-design-page .design-segments button{flex:1}.admin-form-grid{grid-template-columns:1fr}.admin-form-grid label.full{grid-column:auto}}@media (max-width: 1080px){.admin-two-pane{grid-template-columns:1fr}.admin-detail-panel{min-height:0}}@media (max-width: 900px){.admin-summary-grid,.services-design-page .design-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.admin-design-page,.services-design-page{padding:22px 14px 36px}.admin-summary-grid,.services-design-page .design-stat-grid{grid-template-columns:1fr}.admin-summary-grid>div,.services-design-page .design-stat-grid>div{border-right:0;border-bottom:1px solid #e5ebf2}.admin-summary-grid>div:last-child,.services-design-page .design-stat-grid>div:last-child{border-bottom:0}}.service-config-dialog{width:min(720px,100%)}.service-config-dialog h2{display:flex;align-items:center;gap:9px}.service-config-dialog h2 svg{color:#176dde}.service-config-dialog-body{max-height:72vh;overflow-y:auto}.service-config-dialog-body .ant-form-item{margin-bottom:16px}.document-generation-dialog{width:min(520px,100%)}.document-generation-dialog>header{height:58px;align-items:center}.document-generation-dialog>header>div{display:flex;align-items:center;gap:8px}.document-generation-body{max-height:68vh;overflow-y:auto}.yaml-view-dialog{width:min(900px,92vw)}.yaml-view-dialog>header{height:58px;align-items:center}.yaml-view-dialog>header>div{display:flex;align-items:center;gap:8px}.yaml-view-body{height:calc(88vh - 58px);display:flex;min-height:0;flex-direction:column;overflow:hidden}.skill-view-dialog{width:min(1100px,92vw);height:min(80vh,720px)}.skill-view-dialog>header{height:58px;align-items:center}.skill-view-dialog>header>div{display:flex;align-items:center;gap:8px}.skill-view-body{display:flex;min-height:0;flex:1;padding:0;overflow:hidden}.node-search-dialog{width:min(520px,100%)}.node-search-dialog h2{display:flex;align-items:center;gap:9px}.node-search-dialog h2 svg{color:#176dde}.node-search-body{padding-top:16px;padding-bottom:16px}.node-search-input{height:40px;display:flex;align-items:center;gap:9px;padding:0 11px;border:1px solid #d5dfe9;border-radius:4px;background:#fff;color:#8996a7}.node-search-input:focus-within{border-color:#69a0eb;box-shadow:0 0 0 3px #176dde14}.node-search-input input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#26364c;font-size:13px}.node-search-results{max-height:320px;margin-top:12px;overflow-y:auto;padding:2px}.node-search-meta{margin-right:auto;color:#8996a7;font-size:12px}.account-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.account-form-grid .account-field{margin-top:0;margin-bottom:16px}.account-form-grid .account-field.full{grid-column:1 / -1}.account-field>span{display:block}.account-field select{width:100%;height:40px;margin-top:7px;padding:0 11px;border:1px solid #d5dfe9;border-radius:4px;background:#fff;color:#26364c;outline:0}.account-field select:focus{border-color:#69a0eb;box-shadow:0 0 0 3px #176dde14}.admin-metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:2px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.admin-metrics-grid .admin-metric-card{min-height:92px;display:flex;align-items:center;gap:12px;padding:15px 17px;border:1px solid #dce5ef;border-radius:8px;background:#fff;box-shadow:0 3px 12px #21466d08}.admin-metric-icon{width:36px;height:36px;display:inline-grid;flex:0 0 auto;place-items:center;border-radius:8px}.admin-metric-card>div{min-width:0}.admin-metric-card>div>span{display:block;color:#53647a;font-size:12px}.admin-metric-card strong{display:block;margin-top:4px;color:#172238;font-size:25px;line-height:1;font-weight:650}.admin-metric-card small{display:block;margin-top:6px;overflow:hidden;color:#9aa7b6;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.admin-metric-card.tone-blue .admin-metric-icon{background:#e9f2ff;color:#176dde}.admin-metric-card.tone-green .admin-metric-icon{background:#e9f8ef;color:#169b50}.admin-metric-card.tone-violet .admin-metric-icon{background:#f1edff;color:#6853cf}.admin-metric-card.tone-orange .admin-metric-icon{background:#fff3e3;color:#ce7a12}.admin-list-header{height:72px!important;padding:0 18px!important}.admin-list-heading{display:flex;align-items:center;gap:8px}.admin-list-heading>svg{color:#176dde}.admin-list-heading span{margin-left:2px!important}.admin-list-header p{margin:5px 0 0;color:#9aa7b6;font-size:11px}.admin-list-header-actions{display:flex;align-items:center;gap:8px}.admin-list-header-actions .ant-btn{height:32px;border-radius:4px;font-size:12px}.admin-list-header-actions .ant-btn.ant-btn-primary,.admin-list-header-actions .ant-btn.ant-btn-color-primary.ant-btn-variant-solid{color:#fff!important;--ant-btn-text-color: #fff;--ant-btn-text-color-hover: #fff;--ant-btn-text-color-active: #fff}.admin-list-header-actions .ant-btn.ant-btn-primary:hover,.admin-list-header-actions .ant-btn.ant-btn-color-primary.ant-btn-variant-solid:hover{color:#fff!important}.admin-list-header-actions .ant-btn.ant-btn-primary span,.admin-list-header-actions .ant-btn.ant-btn-color-primary.ant-btn-variant-solid span{margin-left:0!important;color:#fff!important;font-size:inherit!important}.admin-add-service-button{height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 11px;border:1px solid #176dde;border-radius:4px;background:#176dde;color:#fff;font-size:11px}.admin-add-service-button:hover{border-color:#0f5fc9;background:#0f5fc9;color:#fff}.admin-refresh-button{height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid #d7e1ec;border-radius:4px;background:#fff;color:#53647a;font-size:11px}.admin-refresh-button:hover{border-color:#9bbff0;color:#176dde}.admin-refresh-button:disabled{opacity:.6}.service-filter-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto}.admin-reset-button{height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0 11px;border:1px solid #d7e1ec;border-radius:4px;background:#fff;color:#53647a;font-size:11px}.admin-reset-button:hover{border-color:#9bbff0;color:#176dde;background:#f8fbff}.admin-list-panel table{min-width:720px}.admin-users-view .admin-list-panel table{min-width:1120px}.project-groups-view .admin-list-panel table{min-width:1180px}.admin-list-panel th{height:40px;padding:0 18px;background:#f7f9fc;color:#718198;font-size:12px;letter-spacing:.01em}.admin-list-panel td{height:68px;padding:0 18px}.admin-account-cell{display:flex;align-items:center;gap:10px;min-width:0}.admin-account-cell>span:last-child{display:flex;min-width:0;flex:1;flex-direction:column;gap:2px}.admin-user-avatar{width:32px;height:32px;display:inline-grid;flex:0 0 auto;place-items:center;border:1px solid #cfe0f7;border-radius:50%;background:#edf5ff;color:#176dde;font-size:13px;font-weight:600}.admin-group-avatar{width:32px;height:32px;display:inline-grid;flex:0 0 auto;place-items:center;border:1px solid #d8cff9;border-radius:8px;background:#f2efff;color:#6853cf}.admin-account-cell strong{display:block;overflow:hidden;color:#1d2d43;font-size:13px;font-weight:600;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.admin-account-cell small{display:block;overflow:hidden;color:#8a97a7;font-size:11px;font-weight:400;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.admin-table-muted{color:#53647a;font-size:12px}.admin-table-time{color:#718198;font-size:11px;white-space:nowrap}.admin-description-cell{display:block;max-width:360px;overflow:hidden;color:#53647a;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.admin-role{padding:5px 9px;border:1px solid transparent;border-radius:4px;font-size:10px}.admin-role.role-root{border-color:#d7dce4;background:#f3f5f7;color:#536273}.admin-role.role-admin{border-color:#c9dcfa;background:#edf4ff;color:#176dde}.admin-role.role-user{border-color:#d5e7fb;background:#f3f8ff;color:#3c73b4}.admin-role.role-readonly{border-color:#f3d9ae;background:#fff7e9;color:#c47a0b}.admin-list-panel td{font-size:13px}.admin-role{font-size:11px}.admin-status{font-size:13px}.admin-row-actions{gap:13px}.admin-row-actions button{height:28px;padding:0 2px;border:0;background:transparent;font-size:12px}.admin-row-actions button:hover{color:#176dde}.admin-list-panel tbody tr{transition:background .14s ease}.admin-members span.empty{color:#9aa7b6;background:#f7f9fb}.account-detail-dialog{width:min(520px,100%)}.account-group-detail-dialog{width:min(640px,100%)}.account-group-detail-dialog .account-modal-body{max-height:min(70vh,640px);overflow:auto}.account-detail-body{padding-top:20px;padding-bottom:20px}.account-profile{display:flex;align-items:center;gap:11px;padding-bottom:18px;border-bottom:1px solid #edf1f5}.account-profile-avatar{width:44px;height:44px;display:inline-grid;flex:0 0 auto;place-items:center;border:1px solid #cfe0f7;border-radius:50%;background:#edf5ff;color:#176dde;font-size:18px;font-weight:650}.account-profile-avatar.group{border-radius:10px;border-color:#d8cff9;background:#f2efff;color:#6853cf}.account-profile>div{display:flex;min-width:0;flex:1;flex-direction:column}.account-profile strong{overflow:hidden;color:#1d2d43;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.account-profile>div>span{margin-top:4px;color:#8997a8;font-size:11px}.account-detail-list{display:grid;grid-template-columns:94px minmax(0,1fr);gap:13px 14px;margin:18px 0 0}.account-detail-list dt{color:#8997a8;font-size:11px}.account-detail-list dd{min-width:0;margin:0;color:#34445a;font-size:12px;word-break:break-word}.account-detail-list dd .admin-members{margin-top:-4px}@media (max-width: 720px){.admin-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.services-design-page .service-two-pane{grid-template-columns:minmax(0,1fr) 338px;gap:16px}.services-design-page .service-two-pane .service-list-panel{min-width:0}.services-design-page .service-list-columns,.services-design-page .service-config-card{grid-template-columns:1.35fr 1.08fr 2fr .82fr 1.18fr .78fr 1.16fr 2.55fr}.services-design-page .service-list-columns{min-width:1180px}.services-design-page .service-config-card{min-width:1180px;min-height:70px;padding:9px 17px!important;cursor:pointer}.services-design-page .service-config-card.selected{background:#edf5ff;box-shadow:inset 3px 0 #176dde}.service-name-cell{display:flex;align-items:center;gap:9px;min-width:0}.service-name-cell>span:last-child{display:flex;flex-direction:column;min-width:0}.service-name-cell strong{overflow:hidden;color:#26364c;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.service-name-cell small{margin-top:3px;overflow:hidden;color:#8997a8;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.service-logo{width:26px;height:26px;display:inline-grid;flex:0 0 auto;place-items:center;border-radius:7px;background:#e9f2ff;color:#176dde;font-size:11px;font-weight:700}.service-logo-Em{background:#f1eaff;color:#6544d7}.service-logo-代码{background:#edf0f4;color:#273344}.service-logo-推理{background:#e8f7ed;color:#169b50}.service-logo-对话{background:#e8f2ff;color:#176dde}.service-logo-mcp{background:#f1edff;color:#6853cf}.service-type-badge{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:3px;background:#edf4ff;color:#176dde;font-size:10px;white-space:nowrap}.service-url-cell,.service-time-cell{overflow:hidden;color:#53647a;font-family:Consolas,monospace;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.service-status{display:inline-flex;align-items:center;height:21px;padding:0 7px;border-radius:4px;font-size:10px;white-space:nowrap}.service-status.enabled{background:#e8f7ed;color:#169b50}.service-status.disabled{background:#f1f3f5;color:#8997a8}.service-connect-status{display:inline-flex;align-items:center;gap:4px;font-size:10px;white-space:nowrap}.service-connect-status.connected{color:#169b50}.service-connect-status.untested{color:#8997a8}.service-default-badge{display:inline-flex;align-items:center;height:20px;padding:0 7px;border:1px solid #b8d5ff;border-radius:3px;background:#f1f7ff;color:#176dde;font-size:10px}.service-muted{color:#a3afbd;font-size:12px}.service-row-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}.service-row-actions button{display:inline-flex;align-items:center;gap:3px;padding:2px 0;border:0;background:transparent;color:#53647a;font-size:10px}.service-row-actions button:hover{color:#176dde}.service-row-actions button:disabled{color:#8997a8;cursor:default}.service-row-actions button.danger{color:#d14343}.service-list-pagination{min-width:1180px;display:flex;align-items:center;gap:7px;padding:10px 17px;border-top:1px solid #e5ebf2;color:#8997a8;font-size:11px}.service-list-pagination button{width:24px;height:24px;border:1px solid #d5dfe9;border-radius:3px;background:#fff;color:#53647a}.service-list-pagination button.active{border-color:#176dde;background:#176dde;color:#fff}.service-list-pagination button:disabled{color:#b0bac5}.service-list-pagination .page-size{margin-left:auto}.service-detail-title{display:flex;align-items:center;gap:9px;min-width:0}.service-logo-detail{width:32px;height:32px;border-radius:8px}.service-detail-title>div{min-width:0}.service-detail-title span{color:#8997a8;font-size:10px}.service-detail-title h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-detail-body dl{padding-bottom:13px;border-bottom:1px solid #edf1f5}.service-detail-body dd{display:flex;align-items:center;gap:5px}.success-text{color:#169b50!important}.success-text svg{flex:0 0 auto}.service-copy-value{display:flex;align-items:center;gap:5px}.service-copy-value button{display:inline-grid;place-items:center;padding:0;border:0;background:transparent;color:#8997a8}.service-test-card{margin:15px 0;padding:12px;border:1px solid #cce8d5;border-radius:5px;background:#f1fbf4;color:#53647a;font-size:10px;line-height:1.8}.service-test-heading{display:flex;align-items:center;gap:5px;margin-bottom:3px;color:#169b50}.service-test-heading svg{flex:0 0 auto}.service-test-card strong{display:block;margin-bottom:2px;color:#169b50;font-size:12px}.service-project-count{display:flex;align-items:center;justify-content:space-between;padding-top:13px;color:#8997a8;font-size:10px}.service-project-count strong{color:#34445a;font-size:11px;font-weight:500}.service-project-count strong span{margin-left:4px;color:#8997a8;font-size:16px;vertical-align:-1px}.services-design-page .service-detail-panel>footer{padding:13px 15px}.services-design-page .service-detail-panel>footer button{min-width:0;justify-content:center}.service-add-menu-wrap{position:relative;flex:0 0 auto}.service-add-chevron{transition:transform .16s ease}.service-add-chevron.open{transform:rotate(180deg)}.service-add-menu{position:absolute;top:calc(100% + 7px);right:0;z-index:30;width:228px;padding:6px;border:1px solid #d9e2ec;border-radius:6px;background:#fff;box-shadow:0 12px 30px #183b6124}.service-add-menu button{width:100%;display:flex;align-items:center;gap:10px;padding:9px 8px;border:0;border-radius:4px;background:transparent;color:#34445a;text-align:left}.service-add-menu button:hover{background:#f3f7fc}.service-add-menu button>span:last-child{display:flex;min-width:0;flex-direction:column}.service-add-menu strong{color:#26364c;font-size:12px;font-weight:600}.service-add-menu small{margin-top:3px;color:#8997a8;font-size:10px}.service-add-menu-icon{width:30px;height:30px;display:inline-grid;flex:0 0 auto;place-items:center;border-radius:6px}.service-add-menu-icon.model{background:#eaf2ff;color:#176dde}.service-add-menu-icon.mcp{background:#f1edff;color:#6853cf}.mcp-service-table{overflow-x:auto}.mcp-service-table-head,.mcp-service-row{min-width:760px;display:grid;grid-template-columns:1.2fr 2fr 1.1fr 1.1fr 1.2fr;gap:14px;align-items:center;padding:0 17px}.mcp-service-table-head{height:38px;background:#f5f8fc;color:#53647a;font-size:12px;font-weight:600}.mcp-service-row{min-height:62px;border-top:1px solid #edf1f5;color:#34445a;font-size:12px}.mcp-service-row:hover{background:#f8fbff}.mcp-service-row strong,.mcp-service-row code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcp-service-row code{color:#53647a;font-family:Consolas,monospace;font-size:10px}.mcp-service-dialog,.ide-service-dialog{width:min(560px,100%)}.ide-service-hint{margin:0 0 14px;color:#64758a;font-size:12px;line-height:1.5}.services-design-page .service-list-panel{border-radius:6px;box-shadow:0 2px 9px #21466d0b}.services-design-page .service-list-head{height:50px;padding:0 14px}.services-design-page .service-list-head h2{font-size:14px}.services-design-page .service-list-head span{margin-left:9px;font-size:11px}.services-design-page .service-list-head button{height:29px;padding:0 9px;font-size:11px}.services-design-page .service-list-filters{gap:8px;padding:9px 14px}.services-design-page .service-list-filters label{width:min(260px,100%);height:31px;padding:0 8px}.services-design-page .service-list-filters input,.services-design-page .service-list-filters select{font-size:11px}.services-design-page .service-list-filters select{height:31px;min-width:104px}.services-design-page .service-list-columns{height:34px;gap:10px;padding:0 14px;font-size:11px}.services-design-page .service-config-card{min-width:980px;min-height:58px;gap:10px!important;padding:7px 14px!important}.services-design-page .service-list-pagination{min-width:980px;padding:8px 14px}.service-logo{width:24px;height:24px;border-radius:6px;font-size:10px}.service-name-cell{gap:7px}.service-name-cell strong{font-size:11px}.service-name-cell small,.service-url-cell,.service-time-cell{font-size:9px}.service-type-badge,.service-status,.service-default-badge{height:19px;padding:0 6px;font-size:9px}.service-connect-status{font-size:9px}.service-row-actions{gap:6px}.service-row-actions button{font-size:9px}.mcp-service-table-head,.mcp-service-row{min-width:860px;grid-template-columns:1.35fr 2.2fr 1.15fr .9fr 1.2fr 1.35fr;gap:10px;padding:0 14px}.mcp-service-table-head{height:34px;font-size:11px}.mcp-service-row{min-height:58px;font-size:11px}.mcp-service-row code{font-size:9px}.mcp-pagination{min-width:860px!important}.services-design-page{padding:26px 28px 52px;background:#f5f8fc}.services-design-page .design-page-head{margin-bottom:18px}.services-design-page .design-page-head h1{font-size:28px}.services-design-page .design-page-head p{margin-top:6px}.services-design-page .design-page-head>.service-tabs{margin:0}.services-design-page .service-tabs{width:-moz-max-content;width:max-content;display:flex;gap:0;margin:0 0 18px;padding:0;overflow:hidden;border:1px solid #d4deea;border-radius:5px;background:#fff;box-shadow:0 2px 7px #183b610b}.services-design-page .service-tabs button{height:38px;min-width:108px;padding:0 16px;border:0;border-radius:0;color:#405169;font-size:13px}.services-design-page .service-tabs button+button{border-left:1px solid #dfe7ef}.services-design-page .service-tabs button.active{border-bottom:0;background:#126be4;color:#fff;font-weight:600}.services-design-page .service-list-panel{border-radius:8px;border-color:#d9e3ed;box-shadow:0 3px 12px #21466d08}.services-design-page .service-list-head{height:72px;padding:0 18px;border-bottom-color:#e4eaf1}.services-design-page .service-list-head h2{font-size:16px;font-weight:600}.services-design-page .service-list-head span{margin-left:12px;font-size:12px}.services-design-page .service-list-head button{height:30px;padding:0 10px;font-size:12px}.services-design-page .service-list-filters{padding:11px 18px;background:#fbfcfe}.services-design-page .service-list-filters .service-search-input{width:min(300px,100%);height:34px;border-radius:4px}.services-design-page .service-list-filters .service-filter-select{width:128px;height:34px}.services-design-page .service-list-filters .connection-filter-select{width:150px}.services-design-page .service-list-filters .ant-select-selector{height:34px!important;border-radius:4px!important}.services-design-page .service-list-filters .ant-select-selection-item{line-height:32px!important;font-size:11px}.services-design-page .service-list-filters .ant-input{font-size:11px}.services-design-page .service-list-columns{height:40px;gap:14px;padding:0 18px;background:#f7f9fc;font-size:12px}.services-design-page .service-config-card{min-height:68px;gap:14px!important;padding:9px 18px!important}.services-design-page .service-name-cell strong{font-size:12px}.services-design-page .service-name-cell small,.services-design-page .service-type-badge,.services-design-page .service-status,.services-design-page .service-default-badge{font-size:10px}.services-design-page .service-row-actions{gap:9px}.services-design-page .service-row-actions button{font-size:10px}.services-design-page .service-list-pagination{padding:10px 18px}.mcp-service-list-panel .service-list-head{height:72px}.mcp-service-list-panel .service-list-filters{padding:11px 18px}.mcp-service-list-panel .mcp-service-filters label{width:min(300px,100%)}.services-design-page .service-list-head p{margin:5px 0 0;color:#9aa7b6;font-size:11px}.services-design-page .service-list-head .admin-list-heading>svg{color:#176dde}.mcp-service-list-panel .mcp-service-table-head{height:40px;padding:0 18px;background:#f7f9fc;font-size:12px}.mcp-service-list-panel .mcp-service-row{min-height:68px;padding:0 18px;font-size:12px}.mcp-service-list-panel .mcp-service-row code{font-size:10px}.services-design-page .service-list-head .admin-add-service-button,.services-design-page .service-list-head .admin-add-service-button:hover{border-color:#176dde;background:#176dde;color:#fff!important}.services-design-page .service-list-head .admin-add-service-button svg{color:#fff}@media (max-width: 680px){.project-center-page{height:calc(100vh - 64px);padding-bottom:0}.project-center-page .project-pagination{padding-right:0}.services-design-page{padding:20px 14px 40px}.services-design-page .service-tabs{width:100%}.services-design-page .service-tabs button{flex:1}.services-design-page .service-filter-actions{margin-left:0}}@media (max-width: 640px){.account-form-grid{grid-template-columns:1fr}.account-form-grid .account-field.full{grid-column:auto}}.project-design-sidebar nav{min-height:0;overflow-y:auto}.pipeline-loading{height:100%;display:grid;place-items:center;color:#7b899b;font-size:13px}.pipeline-pane-loading{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;background:#f3f5f7;color:#243246;text-align:center}.pipeline-pane-loading b{font-size:15px;font-weight:650}.pipeline-pane-loading span{max-width:360px;color:#7b899b;font-size:13px;line-height:1.6}.pipeline-stage-item:disabled{cursor:wait}.pipeline-stage-item.is-closed,.pipeline-stage-item.is-closed:disabled,.pipeline-stage-item.is-denied,.pipeline-stage-item.is-denied:disabled{cursor:not-allowed;opacity:.55}.pipeline-stage-item.is-closed .pipeline-stage-number,.pipeline-stage-item.is-denied .pipeline-stage-number{background:#eef2f6;color:#8a97a7}.pipeline-stage-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:360px;padding:32px 24px;text-align:center;color:#5b6b7c}.pipeline-stage-denied h1{margin:0;font-size:18px;color:#243447}.pipeline-stage-denied p{margin:0;max-width:420px;line-height:1.6;font-size:13px;color:#7b899b}.pipeline-stage-item:disabled:hover{background:transparent}.pipeline-stage-item:disabled em{color:#9aa8b8}.pipeline-stage-item.is-skeleton{pointer-events:none}.pipeline-stage-item.is-skeleton .pipeline-stage-number,.pipeline-stage-item.is-skeleton b,.pipeline-stage-item.is-skeleton small,.pipeline-stage-item.is-skeleton em{background:#e6ebf0;color:transparent;border-radius:4px}.pipeline-stage-item.is-skeleton b,.pipeline-stage-item.is-skeleton small,.pipeline-stage-item.is-skeleton em{height:8px}.pipeline-stage-item.is-skeleton b{width:72px}.pipeline-stage-item.is-skeleton small{width:48px;margin-top:6px}.pipeline-stage-item.is-skeleton em{width:36px}.pipeline-workbench{position:relative;height:100%;min-height:0;display:grid;grid-template-columns:var(--pipeline-queue-width, 216px) minmax(0,1fr);overflow:hidden;background:#f3f5f7;color:#202d3d}.pipeline-stage-queue,.pipeline-quality-sidebar{min-height:0;display:flex;flex-direction:column;background:#fff}.pipeline-stage-queue{border-right:1px solid #dce2e8}.pipeline-quality-sidebar{border-left:1px solid #dce2e8}.pipeline-stage-queue>header,.pipeline-quality-sidebar>header{height:56px;flex:0 0 56px;padding:12px 15px;border-bottom:1px solid #e2e7ed}.pipeline-stage-queue>header b,.pipeline-quality-sidebar>header b{display:block;font-size:12px}.pipeline-stage-queue>header span,.pipeline-quality-sidebar>header span{display:block;margin-top:3px;color:#8794a5;font-size:10px}.pipeline-stage-list{min-height:0;flex:1;overflow-y:auto;padding:9px}.pipeline-stage-item{width:100%;min-height:53px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:5px;padding:8px;border:1px solid transparent;border-radius:4px;color:#202d3d;text-align:left}.pipeline-stage-item:hover{background:#f5f8fb}.pipeline-stage-item.active{border-color:#b4d0f2;background:#edf5ff}.pipeline-stage-number{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#e9eef3;color:#64758a;font-size:10px}.pipeline-stage-item.done .pipeline-stage-number{background:#e5f5eb;color:#23834f}.pipeline-stage-item.is-running .pipeline-stage-number{background:#e8f1ff;color:#176dde}.pipeline-stage-item.active .pipeline-stage-number{background:#176dde;color:#fff}.pipeline-stage-item>span:nth-child(2){min-width:0}.pipeline-stage-item b,.pipeline-stage-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-stage-item b{font-size:11px}.pipeline-stage-item small{margin-top:3px;color:#8795a6;font-size:9px}.pipeline-stage-item em{color:#748397;font-size:9px;font-style:normal}.pipeline-stage-queue>footer{padding:11px;border-top:1px solid #e2e7ed}.pipeline-stage-queue>footer button,.pipeline-log-button{width:100%;height:32px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid #c6d7e9;border-radius:3px;color:#176dde;font-size:10px}.pipeline-stage-workspace{min-width:0;min-height:0;display:flex;flex-direction:column}.pipeline-stage-head{min-height:72px;flex:0 0 auto;display:flex;align-items:center;gap:20px;padding:10px 18px;background:#fff;border-bottom:1px solid #dce2e8}.pipeline-stage-head>div{min-width:0}.pipeline-stage-head>div>span{display:block;margin-bottom:2px;color:#176dde;font-size:10px}.pipeline-stage-head h1{margin:0;font-size:17px;letter-spacing:0}.pipeline-stage-head p{margin:3px 0 0;overflow:hidden;color:#7d8b9d;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.pipeline-stage-head>button{height:34px;display:flex;align-items:center;gap:6px;margin-left:auto;padding:0 14px;border-radius:3px;background:#176dde;color:#fff;font-size:11px;white-space:nowrap}.pipeline-stage-head>button.running{background:#748397}.pipeline-stage-scroll{min-height:0;flex:1;overflow-y:auto;padding:16px}.pipeline-tool-block{margin-bottom:14px;border:1px solid #d9e1e9;border-radius:5px;background:#fff;overflow:hidden}.pipeline-tool-block>header{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 13px;border-bottom:1px solid #e4e9ef}.pipeline-tool-block>header>div{display:flex;align-items:baseline;gap:8px;min-width:0}.pipeline-tool-block>header b{font-size:12px;white-space:nowrap}.pipeline-tool-block>header span{overflow:hidden;color:#8794a5;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.pipeline-tool-block>header button{color:#176dde;font-size:10px;white-space:nowrap}.pipeline-artifact-grid,.pipeline-output-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px}.pipeline-artifact,.pipeline-output-item{min-width:0;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;padding:10px;border:1px solid #dce4eb;border-radius:3px;color:#52677e}.pipeline-artifact>div,.pipeline-output-item>div{min-width:0}.pipeline-artifact b,.pipeline-artifact small,.pipeline-output-item b,.pipeline-output-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-artifact b,.pipeline-output-item b{color:#243348;font-size:11px}.pipeline-artifact small,.pipeline-output-item small{margin-top:3px;color:#8693a3;font-size:9px}.pipeline-artifact .ant-select{grid-column:1/-1;width:100%;height:27px}.pipeline-artifact .ant-select-selector{height:27px!important;border-radius:3px!important;font-size:9px}.pipeline-artifact .ant-select-selection-wrap{height:25px}.pipeline-add-input{min-height:72px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px dashed #abc6e8;border-radius:3px;color:#176dde;font-size:10px}.pipeline-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.pipeline-config-grid label{min-width:0;color:#69798d;font-size:10px}.pipeline-config-grid .ant-select,.pipeline-config-grid input{width:100%;height:31px;display:block;margin-top:5px}.pipeline-config-grid .ant-select-selector{height:31px!important;border-radius:3px!important;font-size:10px}.pipeline-config-grid .ant-select-selection-wrap{height:29px}.pipeline-config-grid input{padding:0 8px;border:1px solid #d4dde6;border-radius:3px;color:#243348;outline:0}.pipeline-config-grid input:focus{border-color:#79a9e8}.pipeline-output-item{grid-template-columns:22px minmax(0,1fr) auto}.pipeline-output-item>button{display:flex;align-items:center;gap:2px;color:#176dde;font-size:9px}.pipeline-quality-content{min-height:0;flex:1;overflow-y:auto;padding:14px}.pipeline-metric{display:grid;grid-template-columns:1fr auto;gap:5px;margin-bottom:13px}.pipeline-metric span{color:#718094;font-size:10px}.pipeline-metric b{font-size:11px}.pipeline-metric>i{height:4px;grid-column:1/-1;overflow:hidden;background:#e9edf2}.pipeline-metric>i>em{display:block;height:100%;background:#3ca36a}.pipeline-metric.warning>i>em{background:#d28a2d}.pipeline-quality-content h2{margin:22px 0 6px;font-size:11px}.pipeline-activity-list article{display:grid;grid-template-columns:16px minmax(0,1fr) auto;gap:7px;padding:10px 0;border-bottom:1px solid #edf1f4;color:#6f8093}.pipeline-activity-list article>div{min-width:0}.pipeline-activity-list b,.pipeline-activity-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-activity-list b{color:#26364a;font-size:10px}.pipeline-activity-list small{margin-top:3px;color:#8794a4;font-size:9px}.pipeline-activity-list button{color:#176dde;font-size:9px}.pipeline-log-button{margin-top:14px}.pipeline-modal-list{display:flex;flex-direction:column;gap:8px;padding-top:6px}.pipeline-modal-list>button{min-height:58px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #dce4eb;border-radius:4px;color:#60738a;text-align:left}.pipeline-modal-list>button:hover{border-color:#94b9e8;background:#f7faff}.pipeline-modal-list>button.upload{border-style:dashed;color:#176dde}.pipeline-modal-list>button span{min-width:0}.pipeline-modal-list>button b,.pipeline-modal-list>button small{display:block}.pipeline-modal-list>button b{color:#26364a;font-size:12px}.pipeline-modal-list>button small{margin-top:4px;color:#8492a4;font-size:10px}.pipeline-modal-list>button em{color:#176dde;font-size:10px;font-style:normal}.pipeline-toast{position:fixed;right:22px;bottom:20px;z-index:120;padding:10px 14px;border-radius:3px;background:#203044;color:#fff;box-shadow:0 8px 24px #152b4538;font-size:11px}.pipeline-coming-soon{height:100%;display:grid;place-content:center;justify-items:center;text-align:center;background:#f7f9fc;color:#176dde}.pipeline-coming-soon h1{margin:14px 0 6px;color:#253449;font-size:22px;letter-spacing:0}.pipeline-coming-soon p{margin:0;color:#7e8c9d;font-size:12px}.pipeline-coming-soon span{margin-top:14px;padding:4px 8px;border:1px solid #d3dce6;border-radius:3px;background:#fff;color:#64758a;font-size:10px}@media (max-width: 1120px){.pipeline-workbench{grid-template-columns:var(--pipeline-queue-width, 216px) minmax(400px,1fr)}.pipeline-artifact-grid,.pipeline-output-grid,.pipeline-config-grid{grid-template-columns:1fr}}@media (max-width: 850px){.pipeline-workbench{grid-template-columns:var(--pipeline-queue-width, 216px) minmax(0,1fr)}.pipeline-quality-sidebar{display:none}.pipeline-stage-head p{white-space:normal}.pipeline-artifact-grid,.pipeline-output-grid,.pipeline-config-grid{grid-template-columns:1fr}}@media (max-width: 620px){.pipeline-workbench{display:flex;flex-direction:column;overflow:auto}.pipeline-stage-queue{height:auto;flex:none;border-right:0;border-bottom:1px solid #dce2e8}.pipeline-stage-list{display:flex;overflow-x:auto}.pipeline-stage-item{min-width:180px}.pipeline-stage-queue>footer{display:none}.pipeline-stage-workspace{min-height:620px}.pipeline-stage-head{align-items:flex-start}.pipeline-stage-head>button{padding:0 10px}.pipeline-stage-scroll{overflow:visible}}.project-context-bar{height:52px;flex-basis:52px;padding:0 16px 0 0;background:#fff}.project-context-divider{height:22px}.pipeline-workbench{grid-template-columns:var(--pipeline-queue-width, 216px) minmax(0,1fr);font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.pipeline-stage-queue>header{height:78px;flex-basis:78px;padding:18px 20px}.pipeline-stage-queue>header b{font-size:16px;line-height:1.4}.pipeline-stage-queue>header span{margin-top:5px;font-size:13px;line-height:1.4}.pipeline-stage-list{padding:14px 12px}.pipeline-stage-item{min-height:72px;grid-template-columns:36px minmax(0,1fr) auto;gap:11px;margin-bottom:7px;padding:11px 10px;border-radius:6px}.pipeline-stage-item:hover{background:#f2f6fb}.pipeline-stage-item.active{border-color:#8db9ef;background:#eaf3ff;box-shadow:inset 3px 0 #176dde}.pipeline-stage-number{width:32px;height:32px;font-size:13px}.pipeline-stage-item b{font-size:14px;line-height:1.4}.pipeline-stage-item b.is-spread{display:flex;justify-content:space-between;width:4em;overflow:visible}.pipeline-stage-item small{margin-top:5px;font-size:12px;line-height:1.4}.pipeline-stage-item em{font-size:12px;white-space:nowrap}.pipeline-stage-queue>footer{padding:14px 12px}.pipeline-stage-queue>footer button{height:40px;border-radius:5px;font-size:13px}.pipeline-stage-head{min-height:154px;padding:22px 32px;border-bottom-color:#d7e0e9}.pipeline-stage-head>div{max-width:780px}.pipeline-stage-head>div>span{margin-bottom:5px;font-size:13px;font-weight:600}.pipeline-stage-head h1{font-size:26px;line-height:1.35;font-weight:700}.pipeline-stage-head p{margin-top:7px;font-size:14px;line-height:1.65;white-space:normal;text-wrap:pretty}.pipeline-stage-status{display:flex;flex-wrap:wrap;gap:0;margin-top:16px;color:#5d6d80;font-variant-numeric:tabular-nums}.pipeline-stage-status span{display:inline-flex!important;align-items:center;gap:6px;margin:0!important;padding:0 15px;border-right:1px solid #d7e0e9;color:#5d6d80!important;font-size:13px!important;font-weight:500!important}.pipeline-stage-status span:first-child{padding-left:0;color:#23834f!important}.pipeline-stage-status span:last-child{border-right:0}.pipeline-stage-head>button{height:44px;padding:0 20px;border-radius:5px;font-size:14px;font-weight:600;box-shadow:0 5px 14px #176dde24}.pipeline-stage-head>button:focus-visible,.pipeline-stage-item:focus-visible,.pipeline-tool-block button:focus-visible{outline:3px solid #9bc5f5;outline-offset:2px}.pipeline-stage-scroll{width:100%;max-width:1180px;margin:0 auto;padding:24px 28px 36px}.pipeline-tool-block{margin-bottom:18px;border-color:#d5dee8;border-radius:7px;box-shadow:0 2px 8px #1f416408}.pipeline-tool-block>header{min-height:62px;padding:12px 18px}.pipeline-tool-block>header>div{align-items:center;gap:10px;flex-wrap:wrap}.pipeline-tool-block>header b{font-size:16px;line-height:1.4}.pipeline-tool-block>header span{font-size:13px;line-height:1.5;white-space:normal}.pipeline-tool-block>header button{font-size:13px;font-weight:600}.pipeline-artifact-grid,.pipeline-output-grid{gap:12px;padding:16px 18px 18px}.pipeline-artifact,.pipeline-output-item{gap:11px;padding:15px;border-color:#d8e1ea;border-radius:5px;color:#52677e;background:#fbfcfe}.pipeline-artifact b,.pipeline-output-item b{font-size:14px;line-height:1.45}.pipeline-artifact small,.pipeline-output-item small{margin-top:5px;font-size:12px;line-height:1.4}.pipeline-artifact .ant-select{height:36px;margin-top:4px}.pipeline-artifact .ant-select-selector{height:36px!important;border-radius:4px!important;font-size:13px!important}.pipeline-artifact .ant-select-selection-wrap{height:34px}.pipeline-add-input{min-height:58px;grid-column:1/-1;border-radius:5px;font-size:13px;font-weight:600}.pipeline-advanced-head>button{display:flex;align-items:center;gap:6px}.pipeline-advanced-head>button svg{transition:transform .16s ease}.pipeline-advanced-head>button.open svg{transform:rotate(180deg)}.pipeline-config-grid{gap:16px;padding:18px;animation:pipeline-config-open .16s ease-out}.pipeline-config-grid label{font-size:13px;line-height:1.4}.pipeline-config-grid .ant-select,.pipeline-config-grid input{height:38px;margin-top:7px}.pipeline-config-grid .ant-select-selector{height:38px!important;border-radius:4px!important;font-size:13px!important}.pipeline-config-grid .ant-select-selection-wrap{height:36px}.pipeline-config-grid input{padding:0 11px;font-size:13px}.pipeline-output-item{min-height:70px}.pipeline-output-item>button{font-size:12px;font-weight:600}.pipeline-modal-list{gap:10px;padding-top:8px}.pipeline-modal-list>button{min-height:68px;padding:12px 14px;border-radius:5px}.pipeline-modal-list>button b{font-size:14px}.pipeline-modal-list>button small,.pipeline-modal-list>button em{font-size:12px}.pipeline-toast{right:28px;bottom:26px;max-width:min(520px,calc(100vw - 48px));padding:12px 16px;border-radius:5px;font-size:14px;line-height:1.5;white-space:normal}.pipeline-coming-soon h1{font-size:26px}.pipeline-coming-soon p{font-size:14px}.pipeline-coming-soon span{font-size:12px}@keyframes pipeline-config-open{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1050px){.pipeline-workbench{grid-template-columns:var(--pipeline-queue-width, 216px) minmax(0,1fr)}.pipeline-stage-head{padding:20px 24px}.pipeline-stage-scroll{padding:20px}.pipeline-artifact-grid,.pipeline-output-grid{grid-template-columns:1fr}}@media (max-width: 760px){.project-context-bar{height:48px;flex-basis:48px;padding:0 10px 0 0;background:#fff}.project-context-nav{width:auto;flex:0 0 auto;border-right:0;padding:0 10px}.pipeline-workbench{display:flex;flex-direction:column;overflow:auto}.pipeline-stage-queue{height:auto;flex:none;border-right:0;border-bottom:1px solid #dce2e8}.pipeline-stage-queue>header{height:auto;flex-basis:auto;padding:14px 16px}.pipeline-stage-list{display:flex;overflow-x:auto;padding:10px}.pipeline-stage-item{min-width:225px;margin:0 8px 0 0}.pipeline-stage-queue>footer{display:none}.pipeline-stage-workspace{min-height:700px}.pipeline-stage-head{align-items:flex-start;flex-wrap:wrap;padding:18px}.pipeline-stage-head>button{margin-left:0}.pipeline-stage-scroll{max-width:none;padding:16px}.pipeline-stage-status span{padding:0 9px;font-size:12px!important}.pipeline-config-grid{grid-template-columns:1fr}}.requirement-chat{height:100%;min-height:0;display:flex;flex-direction:column;background:#f6f8fb;color:#1d2c42}.requirement-chat-head{min-height:112px;flex:0 0 auto;display:flex;align-items:center;gap:24px;padding:20px 32px;border-bottom:1px solid #d8e1ea;background:#fff}.requirement-chat-head>div{min-width:0}.requirement-chat-head>div>span{display:flex;align-items:center;gap:7px;margin-bottom:5px;color:#176dde;font-size:13px;font-weight:600}.requirement-chat-head h1{margin:0;font-size:26px;line-height:1.35;letter-spacing:0}.requirement-chat-head p{margin:6px 0 0;color:#69798c;font-size:14px;line-height:1.6;text-wrap:pretty}.requirement-chat-head>button{height:40px;display:flex;align-items:center;gap:7px;margin-left:auto;padding:0 14px;border:1px solid #ced9e5;border-radius:5px;background:#fff;color:#53657a;font-size:13px;font-weight:600}.requirement-chat-head>button:hover:not(:disabled){border-color:#8db9ef;color:#176dde}.requirement-chat-head>button:disabled{opacity:.45;cursor:not-allowed}.requirement-chat-messages{min-height:0;flex:1;overflow-y:auto;padding:28px 28px 20px;scroll-behavior:smooth}.requirement-chat-message-list{width:100%;max-width:960px;margin:0 auto}.requirement-silent-card{width:100%;max-width:960px;margin:8px auto 4px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;border:1px solid #cfe0f2;border-radius:12px;background:#f4f9ff;box-shadow:0 4px 14px #1d4f8410}.requirement-silent-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:#24364c}.requirement-silent-card-head b{font-weight:600}.requirement-silent-card-head span{font-size:12px;color:#5b6f85}.requirement-silent-card-frame{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 14px}.requirement-silent-card-frame div{min-width:0}.requirement-silent-card-frame i{font-style:normal;font-size:12px;color:#6b8199}.requirement-silent-card-frame p{margin:2px 0 0;font-size:13px;line-height:1.5;color:#24364c}.requirement-silent-card-parts p{margin:0 0 6px;font-size:12px;color:#6b8199}.requirement-silent-card-parts div{display:flex;flex-wrap:wrap;gap:6px}.requirement-silent-card-parts span{padding:2px 8px;border-radius:999px;background:#e6f1fc;color:#3f6c99;font-size:12px}.requirement-silent-card-note{margin:0;padding:6px 10px;border-radius:8px;background:#fff8e6;color:#8a6d3b;font-size:12px;line-height:1.5}.requirement-silent-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.requirement-silent-card-hint{font-size:12px;color:#7d8fa3}.requirement-silent-status{display:flex;align-items:center;gap:8px;margin:0 12px 8px;padding:6px 10px;border-radius:8px;background:#eef6ff;color:#3f6c99;font-size:12px;line-height:1.4}.requirement-silent-status>span{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.requirement-silent-status>button{flex:0 0 auto;border:0;background:transparent;padding:0 2px;color:#3f6c99;font-size:12px;cursor:pointer}.requirement-silent-status>button:hover{color:#2c5b86;text-decoration:underline}.requirement-silent-status-dot{flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:#5b9bd5;opacity:.6}.requirement-silent-status.is-running .requirement-silent-status-dot{animation:requirement-silent-pulse 1.6s ease-in-out infinite}.requirement-silent-banner{display:flex;align-items:center;gap:8px;margin:0 12px 6px;padding:6px 10px;border-radius:8px;background:#eef6ff;color:#3f6c99;font-size:12px;line-height:1.4}.requirement-silent-banner>span{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.requirement-silent-banner>button{flex:0 0 auto;border:0;background:transparent;padding:0 2px;color:#3f6c99;font-size:12px;cursor:pointer}.requirement-silent-banner>button:hover{color:#2c5b86;text-decoration:underline}.requirement-silent-banner.is-running .requirement-silent-status-dot{animation:requirement-silent-pulse 1.6s ease-in-out infinite}@keyframes requirement-silent-pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.05)}}@media (prefers-reduced-motion: reduce){.requirement-silent-status.is-running .requirement-silent-status-dot{animation:none;opacity:1}}.requirement-explore-done{width:100%;max-width:960px;margin:10px auto 4px;padding:12px 16px;display:flex;flex-direction:column;gap:8px;border:1px solid #cfe0f2;border-radius:12px;background:linear-gradient(180deg,#f6fbff,#eef6ff);box-shadow:0 4px 14px #1d4f840d}.requirement-explore-done-head{display:flex;align-items:center;gap:8px;font-size:13px;color:#24364c}.requirement-explore-done-head svg{flex:0 0 auto;color:#5b9bd5}.requirement-explore-done-head b{font-weight:600}.requirement-explore-done-head span{margin-left:auto;font-size:12px;color:#5b6f85}.requirement-explore-done-hint{margin:0;font-size:12px;line-height:1.5;color:#5b6f85}.requirement-explore-done-actions{display:flex;flex-wrap:wrap;gap:8px}@media (min-width: 1601px){.stage-ipo.requirement-chat.is-silent .stage-ipo-body{grid-template-columns:272px 460px minmax(0,1fr)}.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-input-collapsed,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-input-hidden{grid-template-columns:460px minmax(0,1fr)}.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-output-collapsed,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-output-hidden{grid-template-columns:300px minmax(0,1fr)}.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-input-collapsed.is-output-collapsed,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-input-collapsed.is-output-hidden,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-input-hidden.is-output-collapsed,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-output-hidden.is-input-collapsed,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-input-hidden.is-output-hidden{grid-template-columns:minmax(0,1fr)}}@media (min-width: 1281px) and (max-width: 1600px){.stage-ipo.requirement-chat.is-silent .stage-ipo-body{grid-template-columns:260px 400px minmax(0,1fr)}.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-input-collapsed,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-input-hidden{grid-template-columns:400px minmax(0,1fr)}.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-output-collapsed,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-output-hidden{grid-template-columns:260px minmax(0,1fr)}.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-input-collapsed.is-output-collapsed,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-input-collapsed.is-output-hidden,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-input-hidden.is-output-collapsed,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-output-hidden.is-input-collapsed,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-input-hidden.is-output-hidden{grid-template-columns:minmax(0,1fr)}}@media (max-width: 1280px){.stage-ipo.requirement-chat.is-silent .stage-ipo-body{grid-template-columns:220px 360px minmax(0,1fr)}.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-input-collapsed,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-input-hidden{grid-template-columns:360px minmax(0,1fr)}.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-output-collapsed,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-output-hidden{grid-template-columns:220px minmax(0,1fr)}.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-input-collapsed.is-output-collapsed,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-input-collapsed.is-output-hidden,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-input-hidden.is-output-collapsed,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-output-hidden.is-input-collapsed,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-input-hidden.is-output-hidden{grid-template-columns:minmax(0,1fr)}}.requirement-chat-divider{display:flex;align-items:center;gap:10px;margin:16px 0;font-size:12px;color:#7d90a4}.requirement-chat-divider:before,.requirement-chat-divider:after{content:"";flex:1;height:1px;background:#e3ebf4}.requirement-chat-divider span{flex:0 0 auto}.stage-ipo.requirement-chat.is-silent .stage-ipo-output{box-shadow:0 0 0 1px #d5e6f7,0 10px 26px #3b6f9e14}.requirement-message{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:flex-start;gap:14px;margin-bottom:28px}.requirement-message.user{grid-template-columns:minmax(0,1fr) 38px}.requirement-message.user .requirement-message-author{order:2;background:#24364c;color:#fff}.requirement-message.user .requirement-message-body{order:1;justify-self:end;max-width:76%;padding:12px 16px;border-radius:8px 8px 2px;background:#e8f2ff}.requirement-message-author{width:36px;height:36px;display:grid;place-items:center;border-radius:6px;background:#176dde;color:#fff;font-size:13px;font-weight:700}.requirement-message-body{min-width:0;color:#27374b;font-size:15px;line-height:1.8}.requirement-message-body>p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.requirement-message-body .md{font-size:15px;line-height:1.8}.requirement-message-body .md>:first-child{margin-top:0}.requirement-message-body .md>:last-child{margin-bottom:0}.requirement-message-body .md h2{margin:22px 0 9px;font-size:18px;line-height:1.45}.requirement-message-body .md p,.requirement-message-body .md ul,.requirement-message-body .md ol{margin:8px 0}.requirement-message-body .md table{width:100%;margin:14px 0;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}.requirement-message-body .md th,.requirement-message-body .md td{padding:9px 11px;border:1px solid #d9e2eb;text-align:left}.requirement-message-body .md th{background:#f1f5f9;font-weight:600}.requirement-message-files{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.requirement-message-files span{display:flex;align-items:center;gap:6px;max-width:260px;padding:6px 9px;border:1px solid #cad9e9;border-radius:4px;background:#fff;color:#4f6680;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.requirement-stream-hint{margin:0 6px 0 0;display:inline;color:#6d7b8c;font-size:13px;line-height:1.6}.requirement-thinking{margin:0 0 10px;border:1px solid #e4ebf3;border-radius:6px;background:#f7f9fc}.requirement-thinking-head{width:100%;height:32px;padding:0 10px;display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#64758a;font-size:12px;cursor:pointer}.requirement-thinking.is-active .requirement-thinking-head{color:#176dde}.requirement-thinking-head span{flex:1;text-align:left}.requirement-thinking-arrow{transition:transform .16s ease}.requirement-thinking.is-collapsed .requirement-thinking-arrow{transform:rotate(-90deg)}.requirement-thinking-body{padding:0 12px 10px;max-height:220px;overflow:auto;color:#6d7b8c;font-size:12.5px;line-height:1.65;white-space:pre-wrap;word-break:break-word}.requirement-stream-cursor{width:7px;height:17px;display:inline-block;margin-left:3px;vertical-align:-3px;background:#176dde;animation:requirement-cursor .8s steps(1) infinite}.requirement-stopped{display:inline-block;margin-top:10px;padding:3px 8px;border-radius:3px;background:#eef1f4;color:#6d7b8c;font-size:12px}.requirement-quick-prompts{display:flex;flex-wrap:wrap;gap:9px;margin:-9px 0 26px 52px}.requirement-quick-prompts button{height:36px;padding:0 13px;border:1px solid #cad8e7;border-radius:5px;background:#fff;color:#415a75;font-size:13px}.requirement-quick-prompts button:hover{border-color:#8db9ef;background:#f4f8fd;color:#176dde}.requirement-composer-wrap{flex:0 0 auto;padding:14px 28px 20px;border-top:1px solid #d8e1ea;background:#fff}.requirement-composer{width:100%;max-width:960px;margin:0 auto;overflow:hidden;border:1px solid #bdcbd9;border-radius:8px;background:#fff;box-shadow:0 6px 20px #203e6112}.requirement-composer:focus-within{border-color:#6ea6e8;box-shadow:0 0 0 3px #176dde14,0 6px 20px #203e6112}.requirement-composer textarea{width:100%;min-height:74px;max-height:180px;display:block;resize:vertical;padding:14px 16px 8px;border:0;outline:0;color:#26374b;font-size:15px;line-height:1.65}.requirement-composer textarea::-moz-placeholder{color:#91a0b1}.requirement-composer textarea::placeholder{color:#91a0b1}.requirement-composer textarea:disabled{background:#fff;color:#7c8998}.requirement-attachments{max-height:104px;display:flex;flex-wrap:wrap;gap:8px;overflow-y:auto;padding:11px 12px 5px}.requirement-attachments>span{max-width:280px;display:grid;grid-template-columns:18px minmax(0,1fr) auto 22px;align-items:center;gap:6px;padding:7px 8px;border:1px solid #d5e0eb;border-radius:5px;background:#f7fafd;color:#58708a}.requirement-attachments b{overflow:hidden;color:#2e4056;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.requirement-attachments small{font-size:11px;white-space:nowrap}.requirement-attachments button{height:22px;display:grid;place-items:center;border-radius:3px;color:#738398}.requirement-composer-actions{height:52px;display:flex;align-items:center;gap:8px;padding:6px 10px 10px}.requirement-composer-actions>input{display:none}.requirement-composer-actions button{height:36px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:5px;font-size:13px;font-weight:600}.requirement-attach-button{padding:0 11px;color:#52667e}.requirement-attach-button:hover:not(:disabled){background:#f0f4f8;color:#176dde}.requirement-attach-button:disabled{opacity:.45}.requirement-send-button,.requirement-stop-button{min-width:84px;margin-left:auto;padding:0 15px;color:#fff}.requirement-send-button{background:#176dde}.requirement-send-button:hover:not(:disabled){background:#125fca}.requirement-send-button:disabled{background:#a8b6c6;cursor:not-allowed}.requirement-stop-button{background:#c53b3f}.requirement-stop-button:hover{background:#ae2f33}@keyframes requirement-cursor{50%{opacity:0}}@media (max-width: 760px){.requirement-chat{min-height:700px}.requirement-chat-head{min-height:104px;padding:16px 18px}.requirement-chat-head>button{width:40px;padding:0;font-size:0}.requirement-chat-head>button svg{margin:auto}.requirement-chat-messages{padding:20px 14px 12px}.requirement-message{grid-template-columns:34px minmax(0,1fr);gap:10px}.requirement-message.user{grid-template-columns:minmax(0,1fr) 34px}.requirement-message-author{width:32px;height:32px}.requirement-message.user .requirement-message-body{max-width:88%}.requirement-quick-prompts{margin-left:44px}.requirement-composer-wrap{padding:10px 12px 14px}.requirement-message-body .md table{display:block;overflow-x:auto}}.requirement-chat{background:#fff}.requirement-chat-messages{padding:24px 30px 16px;background:#fff}.requirement-chat-message-list{max-width:1080px}.requirement-message{grid-template-columns:40px minmax(0,1fr);gap:12px;margin-bottom:24px}.requirement-message.user{grid-template-columns:minmax(0,1fr) 40px}.requirement-message-author{width:38px;height:38px;border:1px solid #bdd4ee;border-radius:50%;background:#e9f3ff;color:#176dde;box-shadow:0 2px 6px #1d4f8420}.requirement-message.user .requirement-message-author{order:2;border-color:#d7dee7;background:#24364c;color:#fff}.requirement-message-content{min-width:0;max-width:900px}.requirement-message.user .requirement-message-content{order:1;justify-self:end;max-width:76%}.requirement-message-meta{height:25px;display:flex;align-items:center;gap:10px;margin-bottom:3px;color:#8794a4;font-size:12px;font-variant-numeric:tabular-nums}.requirement-message-meta b{color:#28374a;font-size:14px;font-weight:600}.requirement-message.user .requirement-message-meta{justify-content:flex-end}.requirement-message-body{font-size:14px;line-height:1.75}.requirement-message.assistant .requirement-message-body{padding:12px 14px;border:1px solid #e2e8ef;border-radius:2px 10px 10px;background:#f5f7fa;color:#27374b}.requirement-message.user .requirement-message-body{max-width:none;padding:10px 14px;border-radius:7px 2px 7px 7px;background:#e5f0ff;color:#253b55}.requirement-message-body .md{font-size:14px;line-height:1.75}.requirement-message-body .md h2{margin:18px 0 7px;font-size:16px}.requirement-message-body .md ol,.requirement-message-body .md ul{padding-left:22px}.requirement-message-body .md table{font-size:13px}.requirement-message-files{justify-content:flex-end;margin:0 0 6px}.requirement-message-sources{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-top:6px;color:#8a98a8;font-size:12px}.requirement-message-sources button{display:inline-flex;align-items:center;gap:3px;color:#3477c8;font-size:12px}.requirement-message.user .requirement-message-sources{justify-content:flex-end}.requirement-stopped{margin-top:7px}.requirement-composer-wrap{padding:8px 20px 12px;overflow:visible;background:#fff}.requirement-composer{max-width:1080px;overflow:visible;border-color:#ccd7e3;border-radius:10px;box-shadow:0 3px 12px #203e610c}.requirement-composer.compact{position:relative;overflow:visible;z-index:6}.requirement-composer.compact.drag-over{border-color:#6ea6e8;box-shadow:0 0 0 3px #176dde14,0 3px 12px #203e610c}.requirement-composer-toolbar{min-height:46px;display:flex;align-items:center;gap:7px;padding:7px 9px;border-bottom:1px solid #e2e8ef;background:#fbfcfe}.requirement-composer-toolbar>button{height:30px;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid #d4dde7;border-radius:4px;background:#fff;color:#52657c;font-size:12px;white-space:nowrap}.requirement-composer-toolbar>button:hover:not(:disabled){border-color:#9abbe2;color:#176dde}.requirement-composer-toolbar>button.active{border-color:#9fc5f3;background:#eaf3ff;color:#176dde;font-weight:600}.requirement-composer-toolbar>button:disabled{opacity:.45;cursor:not-allowed}.requirement-composer-toolbar>i{width:1px;height:22px;margin:0 1px;background:#dce3ea}.requirement-composer-toolbar>input{display:none}.requirement-attachments{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px 0;border-bottom:0}.requirement-attachments>span{max-width:220px;display:grid;grid-template-columns:14px minmax(0,1fr) auto 18px;align-items:center;gap:5px;padding:4px 6px;border:1px solid #d5e0eb;border-radius:5px;background:#f7fafd;color:#58708a}.requirement-attachments b{overflow:hidden;color:#2e4056;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.requirement-attachments small{font-size:10px;white-space:nowrap}.requirement-attachments button{height:18px;display:grid;place-items:center;border-radius:3px;color:#738398}.requirement-attachments button:hover{background:#e6edf5;color:#30465f}.requirement-composer-input{display:grid;grid-template-columns:minmax(0,1fr) 52px;align-items:end;min-height:0;padding:6px 8px 0 10px}.requirement-composer-input textarea{min-height:44px;max-height:120px;resize:none;padding:8px 4px 8px 0;border:0;border-right:0;font-size:13px;line-height:1.55}.requirement-composer-input>button{width:40px;height:40px;margin:0 0 4px;padding:0;align-self:end;justify-self:center;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;line-height:0}.requirement-composer-input>button svg{display:block;flex:0 0 auto}.requirement-composer-input .requirement-send-button{min-width:0;width:40px;height:40px;margin:0 0 4px;padding:0;background:#176dde;color:#fff}.requirement-composer-input .requirement-send-button svg{transform:translate(-.5px,1px)}.requirement-composer-input .requirement-send-button:hover:not(:disabled){background:#125fca}.requirement-composer-input .requirement-send-button:disabled{background:#e8eef4;color:#a2afbd}.requirement-composer-input .requirement-stop-button{min-width:0;width:40px;height:40px;margin:0 0 4px;padding:0;background:#fce8e9;color:#bc3439}.requirement-composer-input .requirement-stop-button:hover{background:#f8d9db}.requirement-composer-foot{position:relative;z-index:7;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 8px 6px;border-top:0;overflow:visible;color:#94a0ae;font-size:11px}.requirement-composer-tools{display:flex;align-items:center;gap:4px}.requirement-composer-tools>input{display:none}.requirement-composer-tools>button{height:28px;display:inline-flex;align-items:center;gap:4px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:#617487;font-size:12px}.requirement-composer-tools>button:hover:not(:disabled){background:#eef3f8;color:#176dde}.requirement-composer-tools>button.active{background:#eaf3ff;color:#176dde;font-weight:600}.requirement-composer-tools>button:disabled{opacity:.45;cursor:not-allowed}.requirement-composer-tools>button em{font-style:normal}.requirement-composer-meta{position:relative;z-index:8;display:flex;align-items:center;gap:8px;margin-left:auto}.requirement-model-switch{position:relative;z-index:9}.requirement-model-switch>button{height:28px;display:inline-flex;align-items:center;gap:4px;padding:0 8px;border:1px solid #d4dde7;border-radius:6px;background:#fff;color:#3f556d;font-size:12px;font-weight:600}.requirement-model-switch>button:hover{border-color:#9abbe2;color:#176dde}.requirement-model-switch>ul{position:absolute;right:0;bottom:calc(100% + 6px);z-index:40;min-width:148px;margin:0;padding:4px;border:1px solid #d5e0eb;border-radius:8px;background:#fff;box-shadow:0 10px 28px #1a355820;list-style:none}.requirement-model-switch>ul button{width:100%;height:30px;display:flex;align-items:center;padding:0 9px;border-radius:5px;color:#31475f;font-size:12px;text-align:left}.requirement-model-switch>ul button:hover{background:#eef4fb}.requirement-model-switch>ul button.active{background:#eaf3ff;color:#176dde;font-weight:600}.requirement-context-ring{position:relative;z-index:9;width:28px;height:28px;display:grid;place-items:center;border-radius:7px;color:#8a97a7;outline:0}.requirement-context-ring:hover,.requirement-context-ring:focus-visible{background:#eef3f8;z-index:41}.requirement-context-ring svg{width:18px;height:18px;transform:rotate(-90deg)}.requirement-context-ring .track{fill:none;stroke:#d5dee8;stroke-width:2.2}.requirement-context-ring .value{fill:none;stroke:#176dde;stroke-width:2.2;stroke-linecap:round;transition:stroke-dashoffset .2s ease}.requirement-context-ring.empty .value{stroke:#c5d0dc}.requirement-context-ring.high .value{stroke:#d97820}.requirement-context-tip{position:absolute;right:0;bottom:calc(100% + 8px);z-index:42;display:none;min-width:168px;padding:8px 10px;border:1px solid #d5e0eb;border-radius:8px;background:#fff;box-shadow:0 10px 24px #1a355822;color:#52657c;font-size:11px;line-height:1.45;pointer-events:none}.requirement-context-tip b{display:block;margin-bottom:3px;color:#24384d;font-size:12px}.requirement-context-tip span{display:block;font-variant-numeric:tabular-nums}.requirement-context-ring:hover .requirement-context-tip,.requirement-context-ring:focus-visible .requirement-context-tip{display:block}.requirement-clear{height:28px;padding:0 6px;color:#2774cb;font-size:12px;white-space:nowrap}.requirement-clear:disabled{color:#a2adba;cursor:not-allowed}.requirement-drop-hint{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;border-radius:10px;background:#eaf3ffee;color:#176dde;font-size:13px;font-weight:600;pointer-events:none}@media (max-width: 900px){.requirement-composer-tools>button em{display:none}}@media (max-width: 760px){.requirement-chat-messages{padding:18px 12px 10px}.requirement-message{grid-template-columns:34px minmax(0,1fr);gap:9px}.requirement-message.user{grid-template-columns:minmax(0,1fr) 34px}.requirement-message-author{width:32px;height:32px}.requirement-message.user .requirement-message-content{max-width:88%}.requirement-composer-wrap{padding:8px 10px 10px}.requirement-composer-input{grid-template-columns:minmax(0,1fr) 48px}}.pipeline-workbench{grid-template-columns:var(--pipeline-queue-width, 216px) minmax(0,1fr)}.pipeline-stage-queue>header{height:60px;flex-basis:60px;padding:11px 15px}.pipeline-stage-queue>header b{font-size:14px}.pipeline-stage-queue>header span{margin-top:3px;font-size:11px}.pipeline-stage-list{padding:10px 8px}.pipeline-stage-item{position:relative;min-height:56px;grid-template-columns:30px minmax(0,1fr) auto;gap:8px;margin-bottom:5px;padding:7px;border-radius:5px;overflow:visible}.pipeline-stage-item:not(:last-child):after{content:"";position:absolute;left:21px;top:38px;z-index:0;width:1px;height:calc(100% + 6px);background:#d8e1ea;pointer-events:none}.pipeline-stage-item.done:not(:last-child):after{background:#a8d8bb}.pipeline-stage-item.skipped:not(:last-child):after{background:#c5d0dc}.pipeline-stage-item.partial .pipeline-stage-number{background:#f59e0b2e;color:#d97706;border-color:#f59e0b59}.pipeline-stage-item.partial em{color:#d97706}.pipeline-stage-item.partial:not(:last-child):after{background:linear-gradient(180deg,#f59e0b73,#f59e0b1f)}.pipeline-stage-item.active{box-shadow:inset 2px 0 #176dde}.pipeline-stage-item.is-cursor:not(.active){border-color:#c5d8f0;background:#f4f8fc}.pipeline-stage-item.is-cursor:not(.active) .pipeline-stage-number{background:#fff;color:#176dde;box-shadow:0 0 0 2px #176dde,0 0 0 4px #fff}.pipeline-stage-item.is-cursor em{color:#176dde}.pipeline-stage-item.done em{color:#23834f}.pipeline-stage-item.skipped .pipeline-stage-number{background:#eef1f4;color:#748397}.pipeline-stage-item.skipped em{color:#748397}.pipeline-stage-number{position:relative;z-index:1;width:28px;height:28px;font-size:11px;box-shadow:0 0 0 4px #fff}.pipeline-stage-item.active .pipeline-stage-number{box-shadow:0 0 0 4px #eaf3ff}.pipeline-stage-item b{font-size:13px}.pipeline-stage-item small{margin-top:2px;font-size:11px}.pipeline-stage-item em{font-size:10px}.pipeline-stage-item{grid-template-columns:30px minmax(0,1fr)}.pipeline-stage-item small,.pipeline-stage-item em{display:none}.pipeline-stage-queue{background:#d5dde7;border-right:0}.pipeline-stage-queue>header{height:auto;flex-basis:auto;padding:12px 12px 6px;border-bottom:0;background:transparent}.pipeline-stage-list{display:flex;flex-direction:column;gap:2px;padding:4px 0 12px 8px}.pipeline-stage-item{min-height:40px;margin:0;padding:6px 10px 6px 8px;grid-template-columns:22px minmax(0,1fr);gap:8px;border:0;border-radius:8px 0 0 8px;background:transparent;box-shadow:none;color:#5c6d82}.pipeline-stage-item b{font-weight:500;color:#5c6d82}.pipeline-stage-item:hover{background:#ffffff61}.pipeline-stage-item.active,.pipeline-stage-item.active:hover{background:#fff;border-color:transparent;box-shadow:inset 3px 0 #176dde;color:#176dde}.pipeline-stage-item.active b{font-weight:700;color:#176dde}.pipeline-stage-item.is-cursor:not(.active){border-color:transparent;background:transparent}.pipeline-stage-item:not(:last-child):after,.pipeline-stage-item.done:not(:last-child):after,.pipeline-stage-item.skipped:not(:last-child):after,.pipeline-stage-item.partial:not(:last-child):after{content:none}.pipeline-stage-number,.pipeline-stage-item.active .pipeline-stage-number,.pipeline-stage-item.is-cursor:not(.active) .pipeline-stage-number{width:22px;height:22px;box-shadow:none}.pipeline-stage-queue>footer{padding:9px 8px}.pipeline-stage-queue>footer button{height:34px;font-size:11px}@media (max-width: 760px){.pipeline-stage-queue>header{padding:10px 14px}.pipeline-stage-list{padding:8px}.pipeline-stage-item{min-width:190px;min-height:54px}.pipeline-stage-item:not(:last-child):after{display:none}}.requirement-chat{position:relative;display:flex;flex-direction:row;overflow:visible}.requirement-chat-main{position:relative;z-index:2;min-width:0;min-height:0;flex:1;display:flex;flex-direction:column;overflow:visible}.requirement-result-panel{width:480px;min-width:420px;min-height:0;display:flex;flex-direction:column;border-left:1px solid #d6e0ea;background:#f7f9fc;color:#25364b}.requirement-result-panel>header{height:58px;flex:0 0 58px;display:flex;align-items:center;gap:10px;padding:0 12px 0 14px;border-bottom:1px solid #dce4ec;background:#fff}.requirement-result-panel>header>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}.requirement-result-panel>header h2{margin:0;font-size:15px;white-space:nowrap}.requirement-result-panel>header span{overflow:hidden;color:#8a97a7;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.requirement-doc-generate{flex:0 0 auto;height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 10px;border:1px solid #176dde;border-radius:5px;background:#176dde;color:#fff;font-size:12px;font-weight:600;white-space:nowrap}.requirement-doc-generate:hover{background:#125fca;color:#fff}.requirement-result-scroll{min-height:0;flex:1;overflow-y:auto;padding:10px}.requirement-result-scroll>section{margin-bottom:8px;padding:10px 12px;border:1px solid #dbe3ec;border-radius:6px;background:#fff;box-shadow:0 1px 4px #1f416407}.requirement-result-scroll>section.editing{border-color:#7eb0ea;box-shadow:0 0 0 2px #176dde12}.requirement-result-scroll>section>header{display:flex;align-items:center;gap:7px;margin-bottom:6px;color:#176dde}.requirement-result-scroll>section>header b{color:#2a3b50;font-size:13px}.requirement-result-scroll>section>header em{padding:1px 5px;border-radius:3px;background:#fff1df;color:#d17812;font-size:10px;font-style:normal}.requirement-result-scroll>section p{margin:0;color:#45576d;font-size:12px;line-height:1.65}.requirement-result-scroll>section ol{margin:0;padding-left:22px;color:#45576d;font-size:12px;line-height:1.65}.requirement-rule-table-wrap{margin-top:2px;overflow:auto;border:1px solid #e4ebf2;border-radius:6px}.requirement-rule-table{width:100%;border-collapse:collapse;table-layout:fixed}.requirement-rule-table th,.requirement-rule-table td{padding:7px 10px;border-bottom:1px solid #eef2f6;color:#45576d;font-size:12px;line-height:1.55;text-align:left;vertical-align:top}.requirement-rule-table th{background:#f6f8fb;color:#5b6d82;font-weight:650}.requirement-rule-table tbody tr:last-child td{border-bottom:0}.requirement-rule-table tbody tr:nth-child(2n) td{background:#fafcfe}.requirement-rule-table .requirement-rule-no,.requirement-rule-table td:first-child{width:36px;color:#8a97a7;font-variant-numeric:tabular-nums;text-align:center}.requirement-rule-table td:last-child{word-break:break-word;white-space:pre-wrap}.requirement-result-scroll>section small{display:block;margin-top:6px;color:#97a3b1;font-size:10px}.requirement-result-scroll>section.questions{border-color:#eadac8;background:#fffdf9}.requirement-result-scroll>section.questions>header{color:#d58120}.requirement-edit-trigger{margin-left:auto;display:inline-flex;align-items:center;gap:4px;color:#176dde;font-size:11px;font-weight:600}.requirement-edit-trigger:hover{color:#125fca}.requirement-edit-actions{margin-left:auto;display:inline-flex;align-items:center;gap:6px}.requirement-edit-actions .save{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:4px;background:#176dde;color:#fff;font-size:11px;font-weight:600}.requirement-edit-actions .save:hover{background:#125fca}.requirement-edit-actions .cancel{color:#6d7c8e;font-size:11px}.requirement-edit-actions .cancel:hover{color:#45576d}.requirement-text-editor{width:100%;min-height:84px;resize:vertical;padding:8px 10px;border:1px solid #b9d0e8;border-radius:5px;background:#f8fbff;color:#27374b;font-size:12px;line-height:1.65;outline:0}.requirement-text-editor:focus{border-color:#176dde;box-shadow:0 0 0 2px #176dde14}.requirement-result-foot{flex:0 0 auto;display:flex;align-items:center;min-height:46px;padding:0 14px;border-top:1px solid #dce4ec;background:#fff}.requirement-result-foot label{display:flex;align-items:center;gap:8px;color:#6d7c8e;font-size:12px;white-space:nowrap;cursor:pointer}.requirement-result-foot>span{min-width:0;overflow:hidden;color:#6d7c8e;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.requirement-result-tags{display:flex;flex-wrap:wrap;gap:5px}.requirement-result-tags span{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:3px;background:#e9f2ff;color:#2871c7;font-size:11px}.requirement-result-tags.role span{background:#e7f6ec;color:#238250}.requirement-result-tags.role span:nth-child(n+2){background:#e9f2ff;color:#2871c7}.requirement-result-tags.editing span{padding-right:4px}.requirement-result-tags span>button{width:16px;height:16px;display:grid;place-items:center;border-radius:3px;color:currentColor;opacity:.7}.requirement-result-tags span>button:hover{background:#fffa;opacity:1}.requirement-tag-add{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:6px;margin-top:8px}.requirement-tag-add input{height:30px;padding:0 9px;border:1px solid #c5d4e3;border-radius:4px;background:#fff;color:#27374b;font-size:12px;outline:0}.requirement-tag-add input:focus{border-color:#176dde}.requirement-tag-add button{height:30px;display:grid;place-items:center;border:1px solid #c5d4e3;border-radius:4px;background:#fff;color:#176dde}.requirement-tag-add button:hover:not(:disabled){border-color:#176dde;background:#eef5fd}.requirement-tag-add button:disabled{opacity:.4;cursor:not-allowed}.requirement-flow-wrap{height:360px;overflow:hidden;margin-top:2px;border:1px solid #d7e8dc;border-radius:6px;background:#f7fcf8}.requirement-flow-wrap.requirement-overview-flow{height:320px;margin-top:8px}.requirement-overview-flow .requirement-rf-node{max-width:148px;white-space:normal;line-height:1.35}.requirement-overview-view{margin-left:auto;display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 7px;border:1px solid #cbd9e8;border-radius:4px;background:#fff;color:#176dde;font-size:11px;font-weight:600}.requirement-overview-view:hover:not(:disabled){border-color:#176dde;background:#eef5fd}.requirement-overview-view:disabled{color:#a8b3c0;cursor:not-allowed;opacity:.7}.requirement-process-preview{height:min(68vh,660px);min-height:460px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px}.requirement-flow-wrap.requirement-process-preview-flow{height:100%;margin:0}.requirement-process-preview-steps{min-width:0;overflow:auto;padding:14px 16px;border:1px solid #dbe3ec;border-radius:6px;background:#fafcfe}.requirement-process-preview-steps>b{display:block;margin-bottom:10px;color:#2a3b50;font-size:13px}.requirement-process-preview-steps ol{margin:0;padding:0}.requirement-process-preview-title{display:flex;align-items:center;gap:8px;padding-right:44px}.requirement-process-preview-title .requirement-overview-view{margin-left:auto}.requirement-process-preview-modal .ant-modal-close{top:16px;inset-inline-end:16px}.requirement-walk-stage{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0}.requirement-process-preview .requirement-walk-stage{height:100%}.requirement-walk-chip{position:absolute;z-index:5;top:10px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;max-width:min(520px,86%);padding:4px 10px 4px 4px;border:1px solid #d7e8dc;border-radius:999px;background:#fffffff0;box-shadow:0 2px 8px #1f413414;font-size:12px;font-weight:600;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.requirement-walk-chip span{flex-shrink:0;padding:2px 8px;border-radius:999px;font-size:11px}.requirement-walk-bar{flex-shrink:0;display:flex;flex-direction:column;gap:6px;padding:8px 10px;border:1px solid #d7e8dc;border-radius:6px;background:#fff}.requirement-walk-bar-copy{display:flex;align-items:baseline;gap:8px;min-width:0}.requirement-walk-bar-copy strong{flex-shrink:0;color:#2a3b50;font-size:12px}.requirement-walk-bar-copy span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#45576d;font-size:12px}.requirement-walk-bar-progress{height:3px;border-radius:2px;background:#e7f0ea;overflow:hidden}.requirement-walk-bar-progress i{display:block;height:100%;border-radius:2px}.requirement-walk-bar-actions{display:flex;flex-wrap:wrap;gap:6px}.requirement-walk-bar-actions button{height:26px;display:inline-flex;align-items:center;gap:4px;padding:0 8px;border:1px solid #c5d4e3;border-radius:4px;background:#fff;color:#2f4f3d;font-size:12px;font-weight:600}.requirement-walk-bar-actions button.primary{border-color:#176dde;background:#176dde;color:#fff}.requirement-walk-bar-actions button:disabled{opacity:.45;cursor:not-allowed}.requirement-walk-legend{display:flex;flex-wrap:wrap;gap:6px 10px;margin-bottom:10px}.requirement-walk-legend span{display:inline-flex;align-items:center;gap:5px;color:#52657c;font-size:11px}.requirement-walk-legend i,.requirement-process-preview-steps li button i{width:8px;height:8px;border-radius:50%;flex-shrink:0}.requirement-process-preview-steps li button{width:100%;display:flex;align-items:flex-start;gap:6px;padding:6px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:#45576d;font-size:12px;line-height:1.45;text-align:left}.requirement-process-preview-steps li button em{flex-shrink:0;font-style:normal;font-size:10px;font-weight:700}.requirement-process-preview-steps li button span{min-width:0}.requirement-process-preview-steps li.is-past button{opacity:.72}.requirement-process-preview-steps li.is-current button{background:#fff;box-shadow:0 1px 4px #1f41640f}.requirement-process-preview-steps li.is-current button span{font-weight:650;color:#2a3b50}.requirement-rf-node.is-future{opacity:.28}.requirement-rf-node.is-past{opacity:.8}.requirement-walk-max{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2100;display:flex;flex-direction:column;background:#f7fbf8}.requirement-walk-maxbar{display:flex;align-items:center;gap:12px;padding:8px 14px;background:#fff;border-bottom:1px solid #d7e8dc;flex-shrink:0}.requirement-walk-maxbar strong{font-size:14px;color:#2a3b50}.requirement-walk-maxbar span{flex:1;min-width:0;color:#6d7c8e;font-size:12px}.requirement-process-preview.is-max{flex:1;height:auto;min-height:0;margin:12px}@media (max-width: 760px){.requirement-process-preview{height:72vh;min-height:0;grid-template-columns:1fr;grid-template-rows:minmax(300px,1fr) minmax(140px,.45fr)}}.requirement-flow-canvas{height:100%;min-height:0;display:flex;flex-direction:column}.requirement-flow-stage{min-height:0;flex:1}.requirement-flow-toolbar{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #d7e8dc;background:#fff}.requirement-flow-toolbar>button{height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 10px;border:1px solid #c5d4e3;border-radius:5px;background:#fff;color:#2f4f3d;font-size:12px;font-weight:600}.requirement-flow-toolbar>button:hover{border-color:#7eb0ea;color:#176dde}.requirement-flow-toolbar>button.danger{color:#b42318}.requirement-flow-toolbar>button.danger:hover{border-color:#f0b4ae;background:#fff5f4;color:#b42318}.requirement-flow-toolbar>span{display:inline-flex;align-items:center;gap:5px;margin-left:auto;color:#6d7c8e;font-size:11px}.requirement-flow-edge-editor{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:8px 10px;border-top:1px solid #d7e8dc;background:#fff}.requirement-flow-edge-editor label{display:flex;align-items:center;gap:8px;color:#52657c;font-size:12px}.requirement-flow-edge-editor input{width:280px;height:30px;padding:0 9px;border:1px solid #c5d4e3;border-radius:4px;font-size:12px;outline:0}.requirement-flow-edge-editor input:focus{border-color:#176dde}.requirement-flow-wrap .react-flow__controls{box-shadow:0 1px 4px #1f416420}.requirement-flow-wrap .react-flow__controls-button{width:24px;height:24px;border-bottom-color:#d7e8dc}.requirement-rf-node{display:flex;align-items:center;justify-content:center;min-width:92px;padding:7px 12px;border:1.5px solid #4f9a6d;border-radius:6px;background:#fff;color:#244f38;font-size:12px;font-weight:600;box-shadow:0 1px 4px #1f416412;text-align:center;white-space:nowrap}.requirement-rf-node.selected{border-color:#176dde;box-shadow:0 0 0 2px #176dde22}.requirement-rf-node.terminal{min-width:72px;border-radius:999px;color:#fff}.requirement-rf-node.terminal.start{border-color:#176dde;background:#176dde}.requirement-rf-node.terminal.end{border-color:#2f7d52;background:#2f7d52}.requirement-rf-node.decision{min-width:108px;min-height:40px;border-color:#d4a017;border-radius:8px;background:#fff8e8}.requirement-rf-node.decision span{display:block;line-height:1.25;white-space:nowrap}.requirement-rf-node .react-flow__handle{width:7px;height:7px;border:1.5px solid #fff;background:#5f8f72}.requirement-rf-label-input{width:96px;height:24px;padding:0 6px;border:1px solid #9fc5f3;border-radius:4px;background:#fff;color:#24384d;font-size:12px;font-weight:600;text-align:center;outline:0}.requirement-flow-modal-hint{margin:0 0 10px;color:#6d7c8e;font-size:12px;line-height:1.5}.requirement-flow-modal-board{height:620px;overflow:hidden;border:1px solid #d7e8dc;border-radius:8px;background:#f7fcf8}.requirement-flow-modal-board .requirement-flow-canvas{height:100%}.requirement-line-editor{display:flex;flex-direction:column;gap:6px}.requirement-line-editor>div{display:grid;grid-template-columns:18px minmax(0,1fr) 24px;align-items:center;gap:6px}.requirement-line-editor>div em{color:#8a97a7;font-size:11px;font-style:normal;text-align:right}.requirement-line-editor>div input{height:30px;padding:0 8px;border:1px solid #c5d4e3;border-radius:4px;background:#fff;color:#27374b;font-size:12px;outline:0}.requirement-line-editor>div input:focus{border-color:#176dde}.requirement-line-editor>div button{height:24px;display:grid;place-items:center;border-radius:3px;color:#8a97a7}.requirement-line-editor>div button:hover{background:#eef2f6;color:#bc3439}.requirement-line-add{height:30px;display:inline-flex;align-items:center;justify-content:center;gap:5px;margin-top:2px;border:1px dashed #c5d4e3;border-radius:4px;background:#fafcfe;color:#5d7289;font-size:11px}.requirement-line-add:hover{border-color:#8fb7e5;color:#176dde;background:#f3f8fd}.requirement-result-toast{position:absolute;right:20px;bottom:70px;z-index:40;padding:10px 13px;border-radius:5px;background:#203247;color:#fff;box-shadow:0 7px 22px #132a4540;font-size:12px}@media (max-width: 1180px){.requirement-result-panel{width:440px;min-width:390px}}@media (max-width: 980px){.requirement-result-panel{position:absolute;top:0;right:0;bottom:0;z-index:30;width:min(470px,calc(100% - 16px));min-width:0;box-shadow:-10px 0 28px #1836541f}.requirement-result-toast{z-index:45}}@media (max-width: 560px){.requirement-result-panel{width:100%}.requirement-result-panel>header span{display:none}}.ontology-page{display:flex;flex-direction:column;gap:12px;min-height:100%;padding:16px 18px 20px;background:#f5f8fc;color:#1d2d43}.pipeline-stage-workspace.is-embedded{overflow:hidden;background:#f5f8fc}.pipeline-stage-workspace.is-embedded>.ontology-page,.pipeline-stage-workspace.is-embedded>.artifacts-workbench,.pipeline-stage-workspace.is-embedded>.eval-workbench,.pipeline-stage-workspace.is-embedded>.deploy-workbench{height:100%;min-height:0}.pipeline-stage-workspace.is-embedded>.ontology-page{height:100%;min-height:0;overflow:auto;padding:12px 14px 16px}.ontology-alert{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:5px;font-size:13px}.ontology-alert--error{align-items:flex-start;border:1px solid #f0caca;background:#fff4f4;color:#c73d3d;line-height:1.5;white-space:normal;word-break:break-word}.ontology-alert--warn{border:1px solid #f0d9a8;background:#fff8eb;color:#b86a00}.ontology-board{min-height:0;flex:1;display:grid;grid-template-columns:320px minmax(0,1fr);gap:14px}.ontology-docs-panel,.ontology-main-panel{min-height:0;display:flex;flex-direction:column;border:1px solid #dce4ed;border-radius:6px;background:#fff}.ontology-docs-panel>header{flex:0 0 auto;padding:14px 16px 8px}.ontology-docs-panel>header b{font-size:14px;color:#1d2d43}.ontology-docs-search{display:flex;align-items:center;gap:8px;height:34px;margin:0 16px 10px;padding:0 10px;border:1px solid #d5dfe9;border-radius:4px;color:#8492a5}.ontology-docs-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#1d2d43;font-size:13px}.ontology-docs-tabs{display:flex;gap:18px;padding:0 16px;border-bottom:1px solid #e5ebf2}.ontology-docs-tabs button{height:36px;padding:0 2px;border-bottom:2px solid transparent;color:#64758a;font-size:13px}.ontology-docs-tabs button.active{border-bottom-color:#176dde;color:#176dde;font-weight:600}.ontology-docs-table-wrap{min-height:0;flex:1;overflow:auto}.ontology-docs-empty{padding:40px 16px;text-align:center;color:#8492a5;font-size:13px}.ontology-docs-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:12px}.ontology-docs-table th{height:36px;padding:0 10px;border-bottom:1px solid #e5ebf2;background:#f8fafc;color:#64758a;font-weight:500;text-align:left;white-space:nowrap}.ontology-docs-table th:first-child,.ontology-docs-table td:first-child{width:36px;padding-left:12px;padding-right:0}.ontology-docs-table th:last-child,.ontology-docs-table td:last-child{width:128px}.ontology-docs-table td{height:44px;padding:0 10px;border-bottom:1px solid #eef2f6;color:#425268}.ontology-docs-table tbody tr{cursor:pointer}.ontology-docs-table tbody tr:hover{background:#f7faff}.ontology-docs-table tbody tr.active{background:#eaf2ff}.ontology-docs-table input[type=radio]{accent-color:#176dde}.ontology-doc-name{display:flex;align-items:center;gap:6px;min-width:0;color:#1d2d43}.ontology-doc-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ontology-doc-time{white-space:nowrap;font-variant-numeric:tabular-nums;color:#64758a}.ontology-docs-pager{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-top:1px solid #e5ebf2;color:#8492a5;font-size:12px}.ontology-docs-pager__total{color:#8492a5;white-space:nowrap}.ontology-docs-pager__pages{display:flex;align-items:center;gap:4px}.ontology-docs-pager__pages button{min-width:26px;height:26px;display:grid;place-items:center;border:1px solid #d5dfe9;border-radius:4px;background:#fff;color:#53647a}.ontology-docs-pager__pages button.active{border-color:#176dde;color:#176dde;background:#eaf2ff}.ontology-docs-pager__pages button:disabled{opacity:.45;cursor:not-allowed}.ontology-main-panel{padding:14px 16px 16px;overflow:auto;gap:12px}.ontology-empty-state{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#8492a5}.ontology-empty-state b{margin-top:8px;color:#36475d;font-size:15px}.ontology-empty-state span{font-size:13px}.ontology-info-bar{display:flex;align-items:center;flex-wrap:wrap;gap:0;padding:10px 14px;border:1px solid #dce4ed;border-radius:5px;background:#f8fafc;font-size:12px}.ontology-info-bar>div{display:inline-flex;align-items:center;gap:8px;padding:2px 0;white-space:nowrap}.ontology-info-bar>i{width:1px;height:14px;margin:0 14px;background:#d5dfe9}.ontology-info-bar span{color:#8492a5}.ontology-info-bar b{color:#1d2d43;font-weight:600}.ontology-info-bar em.ok{display:inline-flex;align-items:center;gap:4px;color:#16964d;font-style:normal;font-weight:600}.ontology-status{font-weight:600}.ontology-status--success{color:#16964d}.ontology-status--running{color:#176dde}.ontology-status--error{color:#d14343}.ontology-status--partial,.ontology-status--idle{color:#b86a00}.ontology-action-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ontology-action-left,.ontology-action-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ontology-btn{height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:1px solid #d5dfe9;border-radius:4px;background:#fff;color:#425268;font-size:13px;white-space:nowrap}.ontology-btn:hover:not(:disabled){border-color:#9fc0ea;color:#176dde;background:#f7faff}.ontology-btn:disabled{opacity:.5;cursor:not-allowed}.ontology-btn--primary{border-color:#176dde;background:#176dde;color:#fff}.ontology-btn--primary:hover:not(:disabled){border-color:#0d59c1;background:#0d59c1;color:#fff}.ontology-btn--danger{border-color:#f0caca;background:#fff4f4;color:#d14343}.ontology-check-all{display:inline-flex;align-items:center;gap:6px;margin-right:2px;color:#53647a;font-size:13px;cursor:pointer}.ontology-check-all input{accent-color:#176dde}.ontology-model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-auto-rows:max-content;gap:12px}.ontology-model-card{display:flex;flex-direction:column;gap:8px;box-sizing:border-box;min-width:0;min-height:168px;padding:14px;border:1px solid #dce4ed;border-radius:6px;background:#fff}.ontology-model-card.is-checked{border-color:#8db7ee;box-shadow:inset 0 0 0 1px #8db7ee55}.ontology-model-card--generating{border-color:#a9ccfa}.ontology-model-card--error{border-color:#f0caca}.ontology-model-card--stopped{border-color:#d5dfe9}.ontology-model-card.is-gap{border-color:#e8a04c;box-shadow:0 0 0 3px #f6e2c8}.ontology-model-card.is-coupled{border-color:#f0c08a;box-shadow:0 0 0 2px #fbeede}.ontology-card-gap-badge{display:inline-flex;flex-shrink:0;align-items:center;padding:0 6px;height:18px;border-radius:9px;background:#fff3e6;color:#d97a26;font-size:11px;font-weight:600;font-style:normal;white-space:nowrap}.ontology-optimize-banner{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;border:1px solid #cddff5;border-radius:6px;background:#f3f8ff;color:#1d2d43;font-size:13px}.ontology-optimize-banner svg{flex-shrink:0}.ontology-optimize-banner span{flex:1;min-width:0}.ontology-optimize-banner--preview svg,.ontology-optimize-banner--running svg{color:#176dde}.ontology-optimize-banner--done{border-color:#cde7d6;background:#f2fbf5}.ontology-optimize-banner--done svg{color:#16964d}.tone-0{--tone-bg: #f7f4fd;--tone-accent: #a99fe0}.tone-1{--tone-bg: #f0f7fd;--tone-accent: #8fc0e0}.tone-2{--tone-bg: #f1faf6;--tone-accent: #8fd6bf}.tone-3{--tone-bg: #fdf6ee;--tone-accent: #e3bd8f}.ontology-model-card.tone-0,.ontology-model-card.tone-1,.ontology-model-card.tone-2,.ontology-model-card.tone-3{border-left-width:4px;border-left-color:var(--tone-accent)}.ontology-card-relations{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:11px;color:#6b7a8d}.ontology-card-refs{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}.ontology-card-refs-label{color:#8894a5}.ontology-ref-chip{display:inline-flex;align-items:center;gap:3px;padding:0 5px;height:16px;border:1px solid var(--tone-accent);border-radius:8px;background:#fff;color:var(--tone-accent);font-size:10px;font-weight:600;font-style:normal;white-space:nowrap}.ontology-ref-dot{width:7px;height:7px;border-radius:50%;background:var(--tone-accent)}.ontology-card-group-badge{display:inline-flex;align-items:center;height:17px;padding:0 6px;border:1px solid var(--tone-accent);border-radius:8px;background:#fff;color:var(--tone-accent);font-size:10px;font-weight:600;font-style:normal;white-space:nowrap}.ontology-generate-confirm p{margin:0;color:#1d2d43;font-size:13px;line-height:1.6}.ontology-generate-confirm p.ontology-generate-confirm__sub,.ontology-generate-confirm p.ontology-generate-confirm__total{margin-top:12px;color:#64758a}.ontology-generate-confirm .ant-tag{margin-inline-end:0}.ontology-model-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.ontology-model-card>header label{display:inline-flex;align-items:center;gap:8px;min-width:0;flex:1;cursor:pointer}.ontology-model-card>header input{flex-shrink:0;accent-color:#176dde}.ontology-model-card>header b{min-width:0;overflow:hidden;color:#1d2d43;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.ontology-card-status{display:inline-flex;flex-shrink:0;align-items:center;gap:4px;font-style:normal;font-size:12px;white-space:nowrap}.ontology-card-status--done{color:#16964d}.ontology-card-status--running{color:#176dde}.ontology-card-status--error{color:#d14343}.ontology-card-status--stopped{color:#64758a}.ontology-card-status--waiting{color:#9aa6b5}.ontology-card-status--stale{color:#c08a2e}.ontology-card-status--idle{color:#8492a5}.ontology-model-card>p{flex:0 0 auto;min-width:0;min-height:37px;margin:0;display:-webkit-box;overflow:hidden;color:#64758a;font-size:12px;line-height:1.55;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.ontology-model-card>code{display:block;min-width:0;overflow:hidden;color:#8997a8;font-family:Consolas,Courier New,monospace;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.ontology-card-meta{display:flex;gap:14px;color:#8492a5;font-size:11px}.ontology-card-progress,.ontology-card-error,.ontology-card-stopped{overflow:hidden;padding:0 8px;border-radius:4px;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.ontology-card-progress{background:#eaf2ff;color:#176dde}.ontology-card-error{background:#fff4f4;color:#d14343}.ontology-card-stopped{background:#f4f7fb;color:#64758a}.ontology-model-card>footer{margin-top:auto;display:flex;align-items:center;gap:8px}.ontology-model-card>footer button{height:28px;display:inline-flex;align-items:center;gap:4px;padding:0 10px;border:1px solid #d5dfe9;border-radius:4px;background:#fff;color:#53647a;font-size:12px}.ontology-model-card>footer button.link{border-color:transparent;background:transparent;color:#176dde;padding:0 4px}.ontology-model-card>footer button.more{margin-left:auto;width:28px;padding:0;justify-content:center}.ontology-model-card>footer button:disabled{opacity:.45;cursor:not-allowed}.ontology-gen-log{border:1px solid #dce4ed;border-radius:6px;overflow:hidden}.ontology-gen-log>header{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-bottom:1px solid #e5ebf2;background:#f8fafc;color:#36475d;font-size:13px}.ontology-gen-log>div{max-height:80px;overflow:auto;padding:10px 14px;background:#fff;font-family:Consolas,Courier New,monospace;font-size:12px;color:#53647a;line-height:1.7}.ontology-gen-log p{margin:0}.ontology-yaml-title{display:flex;align-items:center;gap:8px}.ontology-yaml-title span{padding:2px 7px;border-radius:3px;background:#eaf2ff;color:#176dde;font-size:12px}.ontology-yaml-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;color:#8492a5;font-size:12px}.yaml-view-body pre{min-height:280px;max-height:58vh;overflow:auto;margin:0;padding:14px;border:1px solid #e5ebf2;border-radius:5px;background:#f8fafc;font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.6;color:#1d2d43;white-space:pre-wrap}@media (max-width: 980px){.ontology-board{grid-template-columns:1fr}.ontology-docs-panel{max-height:360px}}@media (max-width: 720px){.ontology-page{padding:12px}.ontology-info-bar>i{display:none}.ontology-info-bar{gap:10px 16px}}.pipeline-stage-workspace.is-embedded>.ontology-editor-shell,.project-design-main>.ontology-editor-shell{height:100%;min-height:0}.ontology-editor-shell{--oe-blue: #176dde;--oe-blue-soft: #eaf2ff;--oe-border: #dce4ed;--oe-border-soft: #e5ebf2;--oe-text: #1d2d43;--oe-muted: #64758a;--oe-faint: #8492a5;--oe-bg: #f7f9fc;display:flex;flex-direction:column;height:100%;min-height:0;background:var(--oe-bg);color:var(--oe-text);overflow:hidden}.ontology-editor-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;min-height:48px;padding:8px 14px;border-bottom:1px solid var(--oe-border);background:#fff;flex-shrink:0}.ontology-editor-back{height:30px;display:inline-flex;align-items:center;gap:5px;padding:0 10px;border:1px solid #bfd6f5;border-radius:4px;background:#fff;color:var(--oe-blue);font-size:12px;font-weight:600;white-space:nowrap}.ontology-editor-back:hover{border-color:#8db7ee;background:#f7faff}.ontology-editor-toolbar__left{display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-width:0}.ontology-editor-toolbar__title{margin:0;font-size:15px;font-weight:650;color:var(--oe-text);white-space:nowrap}.ontology-editor-toolbar__modes{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--oe-border-soft);border-radius:4px;background:#f4f7fb}.ontology-editor-mode{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border:none;border-radius:3px;background:transparent;color:var(--oe-muted);font-size:12px;font-weight:500;cursor:pointer;transition:background .12s,color .12s}.ontology-editor-mode:hover{color:var(--oe-text);background:#fff}.ontology-editor-mode.is-active{background:#fff;color:var(--oe-blue);box-shadow:0 1px 2px #1c3f660f}.ontology-editor-toolbar__actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.ontology-editor-toolbar__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-left:auto;font-size:12px;color:var(--oe-muted)}.ontology-editor-toolbar__meta>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.ontology-editor-toolbar__meta em{font-style:normal;color:var(--oe-faint);margin-right:2px}.ontology-editor-toolbtn{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 10px;border:1px solid var(--oe-border);border-radius:4px;background:#fff;color:#53647a;font-size:12px;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.ontology-editor-toolbtn:hover:not(:disabled){border-color:#b8c9dc;color:var(--oe-text)}.ontology-editor-toolbtn:disabled{opacity:.45;cursor:not-allowed}.ontology-editor-toolbtn--primary{border-color:var(--oe-blue);background:var(--oe-blue);color:#fff}.ontology-editor-toolbtn--primary:hover:not(:disabled){border-color:#125bb8;background:#125bb8;color:#fff}.ontology-editor-toolbtn--issues{border-color:#f0d4a8;background:#fff8ee;color:#b76a00}.ontology-editor-toolbtn--issues.is-active{background:#ffe8c4;color:#8a5000}.ontology-editor-banner{flex-shrink:0;margin:0;padding:8px 14px;font-size:13px}.ontology-editor-banner--error{border-bottom:1px solid #f0c4c4;background:#fff4f4;color:#d14343}.ontology-editor-toast{position:fixed;bottom:24px;left:50%;z-index:50;transform:translate(-50%);padding:8px 18px;border:1px solid var(--oe-border);border-radius:4px;background:#fff;color:var(--oe-text);font-size:13px;box-shadow:0 6px 20px #1c3f6614}.ontology-editor-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;min-height:36px;padding:6px 14px;border-bottom:1px solid var(--oe-border-soft);background:#fff;color:var(--oe-muted);font-size:12px;flex-shrink:0}.ontology-editor-meta>span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.ontology-editor-meta em{font-style:normal;color:var(--oe-faint)}.ontology-editor-meta__rev{color:var(--oe-faint)}.ontology-editor-badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:3px;font-size:11px;font-weight:600}.ontology-editor-badge--pending{background:#fff3e0;color:#c46a00}.ontology-editor-badge--dirty{background:#fff3e0;color:#b76a00}.ontology-editor-badge--saved{background:#e8f7ee;color:#16964d}.ontology-editor-body{display:grid;grid-template-columns:260px minmax(0,1fr) 260px;min-height:0;flex:1;overflow:hidden;background:#fff;border-bottom:1px solid var(--oe-border-soft)}.ontology-editor-tree,.ontology-editor-main,.ontology-editor-detail{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.ontology-editor-tree{border-right:1px solid var(--oe-border);background:#fff}.ontology-editor-detail{border-left:1px solid var(--oe-border);background:#fbfcfe}.ontology-editor-tree__section{padding:10px 10px 8px;border-bottom:1px solid var(--oe-border-soft);flex-shrink:0}.ontology-editor-tree__section--grow{flex:1;min-height:0;display:flex;flex-direction:column;border-bottom:none;padding-bottom:10px}.ontology-editor-tree__scroll{flex:1;min-height:0;overflow:auto;margin-top:4px}.ontology-editor-panel-title{display:flex;align-items:center;gap:6px;margin-bottom:8px;color:var(--oe-text);font-size:12px;font-weight:650}.ontology-editor-panel-title svg{color:var(--oe-blue);flex-shrink:0}.ontology-editor-empty{padding:16px 8px;text-align:center;color:var(--oe-faint);font-size:12px}.ontology-editor-doc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:160px;overflow:auto}.ontology-editor-doc-item{padding:7px 8px;border-radius:4px;border:1px solid transparent;cursor:pointer;transition:background .12s,border-color .12s}.ontology-editor-doc-item:hover{background:#f4f7fb}.ontology-editor-doc-item.is-active{background:var(--oe-blue-soft);border-color:#c8dbf5}.ontology-editor-doc-item.is-static,.ontology-editor-doc-item.is-static:hover{cursor:default;background:var(--oe-blue-soft)}.ontology-editor-doc-item__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--oe-text);font-size:12px;font-weight:550}.ontology-editor-doc-item__meta{margin-top:2px;color:var(--oe-faint);font-size:10px}.ontology-editor-main{background:#fff}.ontology-editor-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;flex:1;padding:24px;text-align:center;color:var(--oe-faint)}.ontology-editor-placeholder p{margin:0;font-size:13px;color:var(--oe-muted)}.ontology-editor-placeholder svg{opacity:.4}.ontology-editor-tabs{display:flex;align-items:center;gap:2px;padding:6px 12px;border-bottom:1px solid var(--oe-border-soft);background:#fff;flex-shrink:0}.ontology-editor-tab{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:none;border-radius:4px;background:transparent;color:var(--oe-muted);font-size:12px;font-weight:500;cursor:pointer;transition:background .12s,color .12s}.ontology-editor-tab:hover{background:#f4f7fb;color:var(--oe-text)}.ontology-editor-tab.is-active{background:var(--oe-blue-soft);color:var(--oe-blue)}.ontology-editor-tab-body{flex:1;min-height:0;overflow:auto;padding:14px;background:#f7f9fc}.ontology-editor-tab-body .omf-form{gap:14px}.ontology-editor-tab-body .omf-section.ant-collapse{box-shadow:0 1px 2px #1c3f6608}.ontology-editor-detail__body{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;overflow:auto;padding:4px 2px 12px}.ontology-editor-detail__block .ant-descriptions-item-label{width:72px;color:var(--oe-muted)}.ontology-editor-tab-body.is-graph{overflow:hidden;padding:0}.ontology-editor-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:12px;padding:8px 10px;border-radius:4px;background:#f4f7fb}.ontology-editor-breadcrumb__back,.ontology-editor-breadcrumb__seg button{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:none;border-radius:3px;background:transparent;color:var(--oe-blue);font-size:12px;cursor:pointer}.ontology-editor-breadcrumb__back:hover,.ontology-editor-breadcrumb__seg button:not(:disabled):hover{background:#e8eef6}.ontology-editor-breadcrumb__seg{display:inline-flex;align-items:center;gap:4px;color:var(--oe-faint)}.ontology-editor-breadcrumb__seg button.is-current,.ontology-editor-breadcrumb__seg button:disabled{color:var(--oe-text);font-weight:600;cursor:default}.ontology-editor-yaml{display:flex;flex-direction:column;height:100%;min-height:280px;gap:8px}.ontology-editor-yaml__bar{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--oe-muted);font-size:12px}.ontology-editor-yaml__bar>span{display:inline-flex;align-items:center;gap:6px}.ontology-editor-yaml__dirty{font-style:normal;color:#b76a00}.ontology-editor-yaml__pre,.ontology-editor-yaml__textarea{flex:1;min-height:0;margin:0;padding:12px;border:1px solid var(--oe-border-soft);border-radius:4px;background:#f8fafc;font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.6;color:var(--oe-text);overflow:auto;white-space:pre-wrap}.ontology-editor-yaml__textarea{resize:none;background:#fff;outline:none}.ontology-editor-yaml__textarea:focus{border-color:#9fc0ea;box-shadow:0 0 0 2px #176dde22}.ontology-editor-linkbtn{margin-left:auto;padding:2px 8px;border:none;border-radius:3px;background:transparent;color:var(--oe-blue);font-size:12px;cursor:pointer;flex-shrink:0}.ontology-editor-linkbtn:hover{background:var(--oe-blue-soft)}.ontology-editor-detail{padding:10px 12px 14px}.ontology-editor-detail__body{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;overflow:auto}.ontology-editor-detail__layout{display:flex;gap:0;flex:1;min-height:0}.ontology-editor-detail__layout>.ontology-editor-detail__body{padding-right:8px}.ontology-editor-detail__rail{width:72px;flex:0 0 72px;display:flex;flex-direction:column;gap:6px;padding:0 0 0 8px;border-left:1px solid var(--oe-border-soft)}.ontology-editor-detail__rail button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;border:1px solid var(--oe-border-soft);border-radius:4px;background:#fff;color:var(--oe-muted);font-size:10px;line-height:1.2;cursor:pointer}.ontology-editor-detail__rail button:hover{border-color:#9fc0ea;color:var(--oe-blue);background:var(--oe-blue-soft)}.ontology-editor-detail__links{display:flex;flex-direction:column;gap:6px;margin:0}.ontology-editor-detail__links button{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:var(--oe-blue);font-size:12px;cursor:pointer}.ontology-editor-detail__status{margin:0 0 8px;font-size:12px;color:var(--oe-muted)}.ontology-editor-detail__status.ok{color:#16964d}.ontology-editor-issues__chip.is-info{background:#eaf2ff;color:#176dde}.ontology-editor-issues-table{width:100%;border-collapse:collapse;font-size:12px}.ontology-editor-issues-table th,.ontology-editor-issues-table td{padding:8px 10px;border-bottom:1px solid var(--oe-border-soft);text-align:left;vertical-align:top;white-space:nowrap}.ontology-editor-issues-table th{background:#f8fafc;color:var(--oe-muted);font-weight:500}.ontology-editor-issues-table td:nth-child(2),.ontology-editor-issues-table td:nth-child(6){white-space:normal;min-width:140px}.ontology-editor-sev{display:inline-flex;padding:1px 6px;border-radius:3px;font-style:normal;font-size:11px;font-weight:600}.ontology-editor-sev--error{background:#fff0f0;color:#d14343}.ontology-editor-sev--warning{background:#fff6e8;color:#b76a00}.ontology-editor-sev--info{background:#eaf2ff;color:#176dde}.ontology-editor-detail__block h3{display:flex;align-items:center;gap:5px;margin:0 0 8px;color:var(--oe-text);font-size:12px;font-weight:650}.ontology-editor-detail__block dl{margin:0;display:flex;flex-direction:column;gap:6px}.ontology-editor-detail__block dl>div{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;align-items:start}.ontology-editor-detail__block dt{color:var(--oe-faint);font-size:11px}.ontology-editor-detail__block dd{margin:0;color:var(--oe-text);font-size:12px;word-break:break-all}.ontology-editor-detail__path{margin:0;padding:8px 10px;border-radius:4px;background:#f4f7fb;color:var(--oe-text);font-family:Consolas,Courier New,monospace;font-size:11px;line-height:1.5;word-break:break-all}.ontology-editor-detail__confirm{margin-top:auto;height:32px;border:1px solid var(--oe-border);border-radius:4px;background:#fff;color:var(--oe-muted);font-size:12px;cursor:not-allowed;opacity:.55}.ontology-editor-graph-full{grid-column:1 / -1;display:flex;flex-direction:column;min-height:0;height:100%;background:#fff}.ontology-editor-graph-full__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;padding:6px 12px;border-bottom:1px solid var(--oe-border-soft);flex-shrink:0}.ontology-editor-graph-full__info{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;color:var(--oe-muted);font-size:12px}.ontology-editor-graph-full__info svg{color:var(--oe-blue)}.ontology-editor-graph-full__info strong{color:var(--oe-text);font-weight:600}.ontology-editor-graph-full__hint{color:var(--oe-faint)}.ontology-editor-graph-full__canvas{flex:1;min-height:0}.ontology-editor-callchain-host{display:flex;flex-direction:column;overflow:hidden;background:#f5f8fc}.ontology-callchain{display:flex;flex-direction:column;height:100%;min-height:0;gap:10px;padding:10px 12px 12px;background:#f5f8fc;color:#1d2d43}.ontology-callchain.is-embedded{padding:0;background:transparent}.ontology-callchain__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0;min-height:42px;padding:8px 12px;border:1px solid #dce4ed;border-radius:8px;background:#fff}.ontology-callchain.is-embedded .ontology-callchain__header{border-radius:0;border-left:0;border-right:0;border-top:0}.ontology-callchain__header-left,.ontology-callchain__header-right{display:flex;align-items:center;gap:10px;min-width:0}.ontology-callchain__title{margin:0;font-size:13px;font-weight:650;white-space:nowrap}.ontology-callchain__doc-label{font-size:12px;color:#64758a}.ontology-callchain__doc-select{height:28px;padding:0 8px;border:1px solid #dce4ed;border-radius:4px;background:#fff;font-size:12px;color:#1d2d43;outline:none}.ontology-callchain__iconbtn,.ontology-callchain__searchbtn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid #dce4ed;border-radius:4px;background:#fff;color:#64758a;font-size:12px;cursor:pointer}.ontology-callchain__iconbtn{width:28px;padding:0;justify-content:center}.ontology-callchain__searchbtn kbd{padding:0 4px;border-radius:3px;background:#f1f5f9;font-size:10px;color:#8492a5}.ontology-callchain__body{display:grid;grid-template-columns:320px minmax(0,1fr);gap:10px;flex:1;min-height:0}.ontology-callchain.is-embedded .ontology-callchain__body{gap:0;border-top:0}.ontology-callchain__nav,.ontology-callchain__detail{min-height:0;border:1px solid #dce4ed;border-radius:8px;background:#fff;overflow:hidden}.ontology-callchain.is-embedded .ontology-callchain__nav{border-radius:0;border-left:0;border-bottom:0}.ontology-callchain.is-embedded .ontology-callchain__detail{border-radius:0;border-right:0;border-bottom:0;border-left:0}.ontology-callchain__nav{display:flex;flex-direction:column}.ontology-callchain__nav-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid #e5ebf2;font-size:12px;color:#64758a}.ontology-callchain__nav-title{display:inline-flex;align-items:center;gap:6px;font-weight:600}.ontology-callchain__nav-actions{display:inline-flex;gap:4px}.ontology-callchain__nav-actions button{padding:2px 6px;border:none;border-radius:3px;background:transparent;color:#8492a5;font-size:10px;cursor:pointer}.ontology-callchain__nav-actions button:hover{background:#f1f5f9;color:#1d2d43}.ontology-callchain__nav-scroll{flex:1;min-height:0;overflow:auto;padding:8px}.ontology-callchain__detail{overflow:auto;padding:14px}.ontology-callchain__empty{padding:32px 12px;text-align:center;font-size:12px;color:#8492a5}.ontology-callchain-tree-title{display:inline-flex;align-items:center;gap:6px;min-width:0}.ontology-callchain-tree-title>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ontology-callchain-detail-panel{display:flex;flex-direction:column;gap:14px}.ontology-callchain-detail-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.ontology-callchain-infogrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ontology-callchain-infocard .ant-card-body{padding:10px 12px}.ontology-callchain-section{width:100%}.ontology-callchain-ascii{margin:0;padding:14px;border-radius:8px;background:#f5f8fc;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.55;color:#53647a;overflow:auto;white-space:pre-wrap}.ontology-callchain .ant-tree{background:transparent;font-size:12px}.ontology-callchain .ant-tree-node-content-wrapper{min-width:0}.ontology-editor-issues{display:flex;flex-direction:column;flex-shrink:0;border-top:1px solid var(--oe-border);background:#fff;max-height:240px}.ontology-editor-issues__head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:36px;padding:6px 14px;border-bottom:1px solid var(--oe-border-soft);background:#f8fafc;color:var(--oe-muted);font-size:12px;flex-shrink:0}.ontology-editor-issues__title{color:var(--oe-text);font-size:13px;font-weight:600}.ontology-editor-issues__chip{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border:1px solid transparent;border-radius:3px;background:#eef2f6;color:var(--oe-faint);font-size:11px;cursor:pointer}.ontology-editor-issues__chip.is-active{border-color:currentColor;box-shadow:inset 0 0 0 1px currentColor}.ontology-editor-issues__chip.is-error{background:#fff0f0;color:#d14343}.ontology-editor-issues__chip.is-warn{background:#fff6e8;color:#b76a00}.ontology-editor-issues__chip.is-ok{background:#e8f7ee;color:#16964d}.ontology-editor-issues__close{margin-left:auto;padding:2px 8px;border:none;border-radius:3px;background:transparent;color:var(--oe-faint);font-size:12px;cursor:pointer}.ontology-editor-issues__close:hover{background:#e8eef6;color:var(--oe-text)}.ontology-editor-issues__body{overflow:auto;padding:10px 14px 12px;display:flex;flex-direction:column;gap:12px}.ontology-editor-issues__group-title{margin-bottom:6px;color:var(--oe-text);font-size:12px;font-weight:600}.ontology-editor-issue-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:4px;font-size:12px}.ontology-editor-issue-row.is-error{background:#fff6f6;color:var(--oe-text)}.ontology-editor-issue-row.is-error svg{color:#d14343;flex-shrink:0}.ontology-editor-issue-row.is-warn{background:#fffaf2}.ontology-editor-issue-row.is-warn svg{color:#d0921a;flex-shrink:0}.ontology-editor-issue-row__code{font-family:Consolas,Courier New,monospace;color:var(--oe-blue);flex-shrink:0}.ontology-editor-issue-row.is-error .ontology-editor-issue-row__code{color:#d14343}.ontology-editor-issue-row.is-warn .ontology-editor-issue-row__code{color:#b76a00}.ontology-editor-issue-row__msg{flex:1;min-width:0}.ontology-editor-ref-msg{padding:7px 10px;border-radius:4px;font-size:12px}.ontology-editor-ref-msg.is-ok{background:#e8f7ee;color:#16964d}.ontology-editor-ref-msg.is-warn{background:#fff6e8;color:#b76a00}.ontology-editor-ref-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.ontology-editor-ref-list li{display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:4px;background:#f4f7fb;font-size:12px;color:var(--oe-text)}.ontology-editor-ref-list__id{font-family:Consolas,Courier New,monospace;color:var(--oe-faint)}@media (max-width: 1180px){.ontology-editor-body{grid-template-columns:220px minmax(0,1fr) 220px}}@media (max-width: 980px){.ontology-editor-body{grid-template-columns:200px minmax(0,1fr)}.ontology-editor-detail{display:none}}.artifacts-workbench{display:grid;grid-template-rows:60px minmax(0,1fr);height:100%;min-height:0;background:#f0f4f9;color:#1d2d43}.artifacts-workbench .stage-ipo-body{transition:none}.artifacts-top{height:60px;display:flex;align-items:center;gap:8px;padding:0 12px;background:#fff;border-bottom:1px solid #dce4ed}.artifacts-top h1{margin:0 12px 0 0;font-size:15px;font-weight:650}.artifacts-spacer{flex:1}.artifacts-agent-status{display:inline-flex;align-items:center;gap:6px;min-width:0;flex-shrink:1;color:#8492a5;font-size:12px}.artifacts-agent-status-text{font-style:normal;white-space:nowrap}.artifacts-agent-status i{width:7px;height:7px;border-radius:50%;background:#8492a5}.artifacts-agent-status.is-on{color:#64758a}.artifacts-agent-status.is-on i{background:#176dde;animation:artifacts-pulse 1.2s infinite}.artifacts-agent-status.is-warn{color:#c2410c}.artifacts-agent-status.is-warn i{background:#ea580c}.artifacts-ide-model{flex:0 1 160px;width:148px;min-width:96px;max-width:220px}.artifacts-agent-status .artifacts-ide-model.ant-select{font-size:12px}.artifacts-agent-status .artifacts-ide-model .ant-select-selector{height:28px!important;padding-inline:8px!important;border-radius:4px!important}@keyframes artifacts-pulse{50%{opacity:.4}}.artifacts-harness{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:0;height:100%}.artifacts-doc-pane{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:0;height:100%}.artifacts-col{min-height:0;overflow:auto;background:#fff;border-right:1px solid #dce4ed}.artifacts-col:last-child{border-right:0}.artifacts-col h3{margin:0;padding:10px 12px;border-bottom:1px solid #eef2f6;color:#8492a5;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.artifacts-row{display:block;width:100%;padding:8px 12px;border:0;border-bottom:1px solid #f3f6fa;background:transparent;text-align:left;cursor:pointer}.artifacts-row:hover{background:#f8fafc}.artifacts-row.on{background:#eaf2ff}.artifacts-row b{display:block;font-size:12px;color:#1d2d43}.artifacts-row span{color:#8492a5;font-size:11px}.artifacts-sandbox-tree{padding:2px 4px 8px}.artifacts-sandbox-tree .ant-tree{width:100%;overflow:hidden;background:transparent;font-size:12.5px;line-height:1.5;color:#26364c}.artifacts-sandbox-tree .ant-tree-list,.artifacts-sandbox-tree .ant-tree-list-holder,.artifacts-sandbox-tree .ant-tree-list-holder-inner{width:100%!important;min-width:0!important}.artifacts-sandbox-tree .ant-tree .ant-tree-treenode{padding:1px 0;width:100%;min-width:0;overflow:hidden;align-items:center}.artifacts-sandbox-tree .ant-tree-indent-unit{width:14px}.artifacts-sandbox-tree .ant-tree-switcher{width:18px;height:28px;line-height:28px;margin-inline-end:0}.artifacts-sandbox-tree .ant-tree-switcher .ant-tree-switcher-icon{font-size:10px}.artifacts-sandbox-tree .ant-tree-node-content-wrapper{display:inline-flex!important;align-items:center;min-width:0!important;flex:1 1 auto;overflow:hidden;min-height:28px!important;height:28px;line-height:28px!important;padding:0 6px!important;border-radius:4px}.artifacts-sandbox-tree .ant-tree-iconEle{width:17px;height:28px;line-height:28px;margin-inline-end:4px;font-size:13px}.artifacts-sandbox-tree .ant-tree-treenode:not(.ant-tree-treenode-selected) .ant-tree-switcher,.artifacts-sandbox-tree .ant-tree-treenode:not(.ant-tree-treenode-selected) .ant-tree-iconEle{color:#8492a5}.artifacts-sandbox-tree .ant-tree-title,.artifacts-sandbox-tree .ant-tree-title span{display:block;flex:1 1 auto;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artifacts-chat{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff;border-right:1px solid #dce4ed}.artifacts-chat-bar{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:8px 12px;background:#fff;border-bottom:1px solid #dce4ed}.artifacts-chat-bar b{font-size:13px}.artifacts-sdk{padding:2px 6px;border-radius:3px;background:#e8f0fe;color:#176dde;font-size:10px;font-weight:600}.artifacts-chat-meta{color:#8492a5;font-size:11px}.artifacts-chat-panel{flex:1;min-height:0;background:#fff}.stage-conv-bar{display:inline-flex;align-items:center;gap:6px;min-width:0;flex:1 1 200px;max-width:408px}.stage-conv-bar .stage-conv-select{flex:1 1 auto;width:0;min-width:96px;max-width:220px}.stage-ipo-process-bar .stage-conv-bar .ant-btn{height:28px;padding-inline:8px;font-size:12px;flex-shrink:0}.artifacts-doc-main{min-height:0;overflow:auto;padding:14px}.artifacts-card{padding:14px;border:1px solid #dce4ed;border-radius:8px;background:#fff}.artifacts-card>header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.artifacts-card>header b{font-size:14px}.artifacts-source{margin:0 0 10px;color:#64758a;font-size:12px}.artifacts-mono{margin:0;padding:12px;border-radius:6px;background:#f4f7fb;font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.65;white-space:pre;color:#334155}.artifacts-table{width:100%;border-collapse:collapse;font-size:12px}.artifacts-table th,.artifacts-table td{padding:8px 10px;border-bottom:1px solid #eef2f6;text-align:left}.artifacts-table th{background:#f8fafc;color:#64758a;font-weight:500}.artifacts-empty{margin:0;color:#b76a00;font-size:12px}.artifacts-toast{position:fixed;left:50%;bottom:20px;z-index:40;transform:translate(-50%);padding:8px 14px;border-radius:6px;background:#1d2d43;color:#fff;font-size:12px}@media (max-width: 1100px){.artifacts-harness{grid-template-columns:240px minmax(0,1fr)}}@media (max-width: 860px){.artifacts-harness,.artifacts-doc-pane{grid-template-columns:1fr}.artifacts-col{max-height:220px;border-right:0;border-bottom:1px solid #dce4ed}}.eval-workbench,.deploy-workbench{display:flex;flex-direction:column;height:100%;min-height:0;background:#f0f4f9;color:#1d2d43}.eval-top,.deploy-top{display:flex;align-items:center;gap:8px;padding:0 12px;background:#fff;border-bottom:1px solid #dce4ed;flex-shrink:0}.eval-top{height:60px}.deploy-top{min-height:52px;padding-top:8px;padding-bottom:8px}.eval-top h1,.deploy-top h1{margin:0 12px 0 0;font-size:15px;font-weight:650;white-space:nowrap}.deploy-top>div{min-width:0;flex:1}.deploy-top p{margin:2px 0 0;color:#8492a5;font-size:12px}.eval-spacer{flex:1}.eval-advanced-btn.is-active{border-color:#176dde;color:#176dde}.eval-advanced-popover .ant-popover-inner{padding:12px 16px 16px;width:440px}.eval-advanced-popover .ant-popover-title{padding:4px 0 12px;margin-bottom:8px;font-size:14px;font-weight:600;border-bottom:1px solid #eef2f6}.eval-advanced-form .ant-form-item{margin-bottom:16px}.eval-advanced-form .ant-form-item-label{height:32px;display:flex;align-items:center}.eval-advanced-form .ant-form-item-label>label{height:auto;color:#4a5d73;font-weight:500}.eval-advanced-form .ant-form-item-control-input{min-height:32px}.eval-advanced-hint{color:#8492a5;font-size:13px}.eval-error{margin:0;padding:8px 12px;border-bottom:1px solid #f0caca;background:#fff4f4;color:#c73d3d;font-size:12px}.eval-body{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:0;flex:1;border-top:1px solid transparent}.eval-history{display:flex;flex-direction:column;min-height:0;background:#fff;border-right:1px solid #dce4ed}.eval-history>header,.deploy-side>header{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 12px;border-bottom:1px solid #eef2f6;font-size:13px}.eval-history>header button,.deploy-side>header button{border:0;background:transparent;color:#8492a5;cursor:pointer}.eval-history-list,.deploy-history-list{flex:1;overflow:auto}.eval-history-item,.deploy-history-item{display:block;width:100%;padding:10px 12px;border:0;border-bottom:1px solid #f1f5f9;background:transparent;text-align:left;cursor:pointer}.eval-history-item:hover,.deploy-history-item:hover{background:#f8fafc}.eval-history-item.active,.deploy-history-item.active{background:#f3f8ff;box-shadow:inset 2px 0 #176dde}.eval-history-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.eval-history-top b{font-size:13px;color:#1d2d43;font-weight:600}.eval-history-top em{font-style:normal;font-size:14px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.eval-history-top em.pass{color:#16964d}.eval-history-top em.warn{color:#b76a00}.eval-history-sub{display:flex;align-items:center;gap:8px;margin-top:6px;color:#8492a5;font-size:11px}.eval-history-sub .st,.deploy-history-item .st{font-size:11px;font-weight:600}.eval-history-sub .st-done,.deploy-history-item .st-success{color:#16964d}.eval-history-sub .st-running,.deploy-history-item .st-running{color:#176dde}.eval-history-sub .st-error,.deploy-history-item .st-failed{color:#d14343}.deploy-history-item .st-rolled_back{color:#b76a00}.eval-history-del{margin-left:auto;border:0;background:transparent;color:#c5ced9;cursor:pointer;padding:0;opacity:0}.eval-history-item:hover .eval-history-del{opacity:1}.eval-history-del:hover{color:#d14343}.eval-history-err{margin:6px 0 0;color:#d14343;font-size:11px;line-height:1.35}.eval-empty,.eval-empty-main,.deploy-empty{padding:28px 12px;color:#8492a5;font-size:12px;text-align:center}.eval-empty-main{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%}.eval-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff}.eval-main-bar{display:flex;align-items:center;gap:10px;height:40px;padding:0 14px;border-bottom:1px solid #eef2f6;flex-shrink:0}.eval-main-doc{display:flex;align-items:baseline;gap:10px;min-width:0;flex:1}.eval-main-doc b{font-size:13px;font-weight:600}.eval-main-doc span{overflow:hidden;color:#8492a5;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.eval-view-seg{display:inline-flex;padding:2px;border-radius:6px;background:#eef2f7}.eval-view-seg button{height:26px;padding:0 12px;border:0;border-radius:4px;background:transparent;color:#64758a;font-size:12px;cursor:pointer}.eval-view-seg button.on{background:#fff;color:#176dde;font-weight:600;box-shadow:0 1px 2px #1c3f6612}.eval-report{display:flex;flex-direction:column;min-height:0;flex:1;overflow:auto}.eval-report-frame{flex:1;min-height:0;width:100%;border:0;background:#f6f7f9}.eval-metrics{display:grid;grid-template-columns:120px minmax(0,1fr);gap:0;border-bottom:1px solid #eef2f6;background:#fafbfd}.eval-metrics-total{display:flex;flex-direction:column;justify-content:center;padding:14px 16px;border-right:1px solid #eef2f6}.eval-metrics-total>span{color:#8492a5;font-size:11px}.eval-metrics-total>strong{margin:4px 0 2px;font-size:28px;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:#176dde}.eval-metrics-total.is-pass>strong{color:#16964d}.eval-metrics-total.is-warn>strong{color:#b76a00}.eval-metrics-total>small{color:#8492a5;font-size:11px}.eval-metrics-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;margin:0;padding:0}.eval-metrics-list li{padding:12px 14px;border-right:1px solid #eef2f6}.eval-metrics-list li:last-child{border-right:0}.eval-metrics-list li>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.eval-metrics-list span{color:#64758a;font-size:12px}.eval-metrics-list b{color:#1d2d43;font-size:15px;font-variant-numeric:tabular-nums}.eval-metrics-list p{margin:4px 0 8px;color:#8492a5;font-size:11px;line-height:1.35}.eval-metrics-list i{display:block;height:3px;border-radius:2px;background:#e8eef6;overflow:hidden;font-style:normal}.eval-metrics-list i>em{display:block;height:100%;border-radius:2px;background:#176dde}.eval-md{padding:16px 20px 24px;font-size:13px;line-height:1.7;color:#2a3b50}.eval-md h1,.eval-md h2,.eval-md h3{margin:0 0 10px;color:#1d2d43;font-weight:650}.eval-md h2{font-size:16px}.eval-md h3{font-size:13px;margin-top:16px}.eval-md p,.eval-md li{margin:0 0 8px}.eval-md ul,.eval-md ol{padding-left:1.2em;margin:0 0 10px}.eval-md blockquote{margin:10px 0;padding:8px 12px;border-left:3px solid #176dde;background:#f3f8ff;color:#475569}.eval-table-wrap{flex:1;min-height:0;overflow:auto;padding:0}.eval-table{width:100%;border-collapse:collapse;font-size:13px}.eval-table th,.eval-table td{padding:10px 14px;border-bottom:1px solid #eef2f6;text-align:left}.eval-table th{position:sticky;top:0;background:#f8fafc;color:#64758a;font-size:12px;font-weight:500}.eval-table td.mono,.eval-table .mono{font-family:Consolas,Courier New,monospace;font-size:12px;color:#475569}.eval-tag{display:inline-block;padding:1px 8px;border-radius:3px;font-size:11px;font-weight:600}.eval-tag--pass{background:#e8f7ee;color:#16964d}.eval-tag--fail{background:#fdecec;color:#d14343}.eval-tag--miss{background:#f1f5f9;color:#8492a5}.eval-result{padding:16px 20px}.eval-result-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:16px;border:1px solid #e8eef5;border-radius:6px;overflow:hidden;background:#e8eef5}.eval-result-stats>div{padding:14px 16px;background:#fff}.eval-result-stats span{display:block;color:#8492a5;font-size:11px}.eval-result-stats b{display:block;margin-top:4px;font-size:20px;line-height:1;color:#1d2d43;font-variant-numeric:tabular-nums}.eval-result-stats b.fail{color:#d14343}.eval-result-fail b{display:block;margin-bottom:6px;font-size:13px}.eval-result-fail p{margin:0;padding:10px 12px;border-left:3px solid #d14343;background:#fff7f7;color:#64758a;font-size:13px}.eval-logs,.deploy-logs{flex:1;min-height:0;overflow:auto;padding:12px 14px;font-family:Consolas,Courier New,monospace;font-size:12px;line-height:1.65;color:#334155;background:#fafbfd}.eval-error-block{display:flex;align-items:center;gap:8px;margin:16px;padding:12px;border:1px solid #f0caca;border-radius:6px;background:#fff4f4;color:#c73d3d;font-size:13px}.hidden{display:none!important}.text-brand{color:#176dde}.deploy-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:12px;min-height:0;flex:1;padding:12px 14px 14px;overflow:auto}.deploy-main-col{display:flex;flex-direction:column;gap:12px;min-width:0}.deploy-panel{border:1px solid #dce4ed;border-radius:8px;background:#fff;overflow:hidden}.deploy-panel-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #eef2f6;font-size:13px}.deploy-panel-head span{color:#8492a5;font-size:12px}.deploy-panel-head span.ok{color:#16964d}.deploy-panel-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:16px;padding:14px}.deploy-panel-grid h3{margin:0 0 8px;font-size:12px;font-weight:600;color:#64758a}.deploy-env-seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.deploy-env-seg button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px;border:1px solid #dce4ed;border-radius:6px;background:#fff;color:#1d2d43;font-size:13px;font-weight:600;cursor:pointer}.deploy-env-seg button small{color:#8492a5;font-size:11px;font-weight:400}.deploy-env-seg button.on{border-color:#176dde;background:#f3f8ff;color:#176dde;box-shadow:inset 0 0 0 1px #176dde33}.deploy-env-seg button:disabled{opacity:.55;cursor:not-allowed}.deploy-warn{margin:8px 0 0;color:#b76a00;font-size:12px}.deploy-ok{margin:8px 0 0;color:#16964d;font-size:12px}.deploy-checks{list-style:none;margin:0;padding:4px 8px 10px}.deploy-checks li{padding:6px;border-radius:4px}.deploy-checks li:hover{background:#f8fafc}.deploy-checks .ant-checkbox-wrapper{width:100%;font-size:13px;color:#1d2d43}.deploy-checks em{margin-left:8px;padding:1px 6px;border-radius:3px;background:#eaf2ff;color:#176dde;font-size:10px;font-style:normal}.deploy-checks em.opt{background:#f1f5f9;color:#8492a5}.deploy-live{min-height:160px;display:flex;flex-direction:column}.deploy-result{display:flex;align-items:flex-start;gap:10px;padding:16px;color:#16964d}.deploy-result.is-err{color:#d14343}.deploy-result b{display:block;margin-bottom:4px;color:#1d2d43}.deploy-result a{display:inline-flex;align-items:center;gap:4px;color:#176dde;font-size:13px}.deploy-result span{color:#64758a;font-size:12px}.deploy-side{display:flex;flex-direction:column;min-height:0;border:1px solid #dce4ed;border-radius:8px;background:#fff;overflow:hidden}.deploy-history-item .row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.deploy-history-item .row b{font-size:13px}.deploy-history-item .meta{color:#8492a5;font-size:11px;margin-top:2px}.deploy-history-item p{margin:6px 0 0;color:#64758a;font-size:11px}.deploy-history-item .actions{display:flex;gap:12px;margin-top:8px}.deploy-history-item .actions a,.deploy-history-item .actions button{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;padding:0;color:#176dde;font-size:12px;cursor:pointer}@media (max-width: 980px){.eval-body,.deploy-layout,.eval-metrics{grid-template-columns:1fr}.eval-metrics-list,.eval-result-stats{grid-template-columns:1fr 1fr}.deploy-panel-grid{grid-template-columns:1fr}}.stage-ipo{display:grid;grid-template-rows:60px minmax(0,1fr);height:100%;min-height:0;background:#eef2f7;color:#1d2d43}.stage-ipo-top{height:60px;display:flex;align-items:center;gap:10px;padding:0 16px;background:#fff;border-bottom:1px solid #dce4ed}.stage-ipo-top h1{margin:0 4px 0 0;font-size:16px;font-weight:650;white-space:nowrap}.stage-ipo-top .stage-ipo-binding.ant-tag{max-width:360px;margin-inline-end:0;padding:0 10px;height:28px;line-height:26px;overflow:hidden;border-radius:14px;background:#f3f6fa;color:#5b6b7e;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.stage-ipo-spacer{flex:1}.stage-ipo-dirty{border:0}.stage-ipo-body{display:grid;grid-template-columns:320px minmax(0,1fr) 340px;gap:8px;min-height:0;height:100%;padding:8px;transition:grid-template-columns .18s ease}.stage-ipo-body.is-input-collapsed,.stage-ipo-body.is-input-hidden{grid-template-columns:minmax(0,1fr) 340px}.stage-ipo-body.is-output-collapsed{grid-template-columns:320px minmax(0,1fr)}.stage-ipo-body.is-input-collapsed.is-output-collapsed,.stage-ipo-body.is-output-hidden.is-input-collapsed,.stage-ipo-body.is-input-hidden.is-output-hidden,.stage-ipo-body.is-input-hidden.is-output-collapsed{grid-template-columns:minmax(0,1fr)}.stage-ipo-body.is-output-hidden{grid-template-columns:320px minmax(0,1fr)}.stage-ipo-input,.stage-ipo-process,.stage-ipo-output{min-width:0;min-height:0;overflow:hidden;border:1px solid #dce4ed;border-radius:8px;background:#fff}.stage-ipo-process{display:flex;flex-direction:column;container-type:inline-size;container-name:stage-process}.stage-ipo-process.is-max{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2300;border-radius:0;background:#fff}.stage-ipo-pane-body{display:flex;flex-direction:column;height:100%;min-height:0}.stage-ipo-pane-head,.stage-ipo-process-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;height:44px;padding:0 14px;border-bottom:1px solid #eef2f6;flex-shrink:0}.ontology-page .stage-ipo-process-bar{height:auto;min-height:44px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}.stage-ipo-pane-head b,.stage-ipo-process-bar b{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:650;letter-spacing:.02em}.stage-ipo-input .stage-ipo-pane-head b:before,.stage-ipo-output .stage-ipo-pane-head b:before,.stage-ipo-process-bar b:before{content:"";width:7px;height:7px;border-radius:50%}.stage-ipo-input .stage-ipo-pane-head b:before{background:#7aa2e3}.stage-ipo-process-bar b:before{background:#176dde}.stage-ipo-output .stage-ipo-pane-head b:before{background:#3aa772}.stage-ipo-pane-actions{display:inline-flex;align-items:center;gap:8px}.stage-ipo-pane-scroll{flex:1;min-height:0;overflow:auto;padding:7px 8px 8px}.stage-ipo-pane-foot{flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px;border-top:1px solid #eef2f6;background:#fbfcfe}.stage-ipo-empty{padding:28px 8px;color:#8a97a7;font-size:13px;text-align:center}.stage-pool-group .stage-ipo-empty{padding:16px 4px;font-size:12px;line-height:1.5}.stage-cite-foot{flex-shrink:0;padding:8px 12px 10px;border-top:1px solid #eef2f6;background:#fbfcfe}.stage-cite-foot b{display:block;margin-bottom:6px;color:#5b6b7e;font-size:12px;font-weight:650}.stage-cite-foot p{margin:0;color:#8a97a7;font-size:12px;line-height:1.45}.stage-cite-chips{display:flex;flex-wrap:wrap;gap:6px}.stage-cite-chips span{max-width:100%;overflow:hidden;padding:3px 8px;border-radius:4px;background:#eef4ff;color:#2871c7;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.stage-pool-group{margin-bottom:8px}.stage-pool-group-label{padding:2px 2px 8px;color:#8a97a7;font-size:11px;font-weight:650;letter-spacing:.06em}.stage-pool-file-preview{padding:18px 16px}.stage-pool-file-preview h2{margin:0 0 8px;font-size:15px;font-weight:650}.stage-pool-file-preview p{margin:0 0 8px;color:#5b6b7e;font-size:13px;line-height:1.55}.stage-pool-file-preview .stage-pool-file-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;color:#8a97a7;font-size:12px}.requirement-overview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:220px;padding:24px 16px;color:#8a97a7;text-align:center}.requirement-overview-empty b{color:#3d5168;font-size:14px}.requirement-overview-empty span{max-width:240px;font-size:12px;line-height:1.55}.requirement-overview-extracting{color:#176dde;font-size:12px}.requirement-result-scroll>section.has-diff{position:relative;border-color:#e9cd96;background:#fffcf3;box-shadow:inset 3px 0 #e0a043,0 1px 4px #1f416407;animation:overview-diff-in .9s ease-out}.requirement-result-scroll>section.has-diff>header b:after{content:"本轮更新";margin-left:6px;padding:1px 6px;border-radius:3px;background:#fbe6bd;color:#915d0c;font-size:10px;font-weight:700;vertical-align:middle}@keyframes overview-diff-in{0%{background:#ffeccb}to{background:#fffcf3}}.stage-asset-card{display:flex;align-items:flex-start;gap:8px;width:100%;margin-bottom:6px;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:#f6f8fb;text-align:left;cursor:pointer}.stage-asset-card:hover{background:#eef3f9}.stage-asset-card.is-selected{border-color:#c5d8f3;background:#eef4ff}.stage-asset-card.is-compact{margin-bottom:6px;padding:7px 10px}.stage-asset-card>input{flex-shrink:0;width:14px;height:14px;margin:3px 0 0;accent-color:#176dde;pointer-events:none}.stage-asset-card-body{min-width:0;flex:1}.stage-asset-card-top{display:flex;align-items:center;gap:6px}.stage-asset-card-icon{flex-shrink:0;color:#7b8ea3}.stage-asset-card.is-selected .stage-asset-card-icon{color:#176dde}.stage-asset-card-edit{flex-shrink:0;width:22px;height:22px;color:#7b8ea3}.stage-asset-card-edit:hover{color:#176dde!important}.stage-asset-card-delete{flex-shrink:0;width:22px;height:22px;color:#7b8ea3}.stage-asset-card-delete:hover{color:#e5484d!important}.stage-asset-card-top b{flex:1;min-width:0;overflow:hidden;font-size:13px;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.stage-asset-card-version{flex-shrink:0;width:68px}.stage-asset-card-version .ant-select-selector{min-height:22px!important;padding-inline:6px!important;font-size:11px}.stage-status{flex-shrink:0;font-size:11px;font-style:normal;font-weight:600;color:#64758a}.stage-status--ready,.stage-status--confirmed{color:#1a8a4a}.stage-status--draft,.stage-status--running{color:#176dde}.stage-status--stale,.stage-status--pending-validation{color:#c47b12}.stage-status--stopped{color:#64758a}.stage-status--missing,.stage-status--error{color:#d14343}.stage-asset-card-meta{display:flex;align-items:center;gap:6px;min-width:0;margin-top:3px;overflow:hidden;color:#8a97a7;font-size:11px;line-height:1.3;white-space:nowrap}.stage-asset-card-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis}.stage-asset-card-meta i{flex-shrink:0;width:3px;height:3px;border-radius:50%;background:#c5ced8}.stage-asset-card-note{margin:5px 0 0;overflow:hidden;color:#64758a;font-size:12px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.stage-lineage-link{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:0;border:0;background:transparent;color:#5b6b7e;font-size:12px;line-height:1.45;text-align:left;cursor:pointer}.stage-lineage-link:hover{color:#176dde}.stage-output-preview{flex:1;min-height:0;overflow:auto;padding:0;background:#fff}.stage-ipo-output .stage-output-preview{display:flex;flex-direction:column;overflow:hidden}.stage-ipo-pane-body.is-history-select .stage-output-preview{flex:1}.stage-ipo-pane-body.is-history-select .stage-ipo-pane-foot{background:#fff}.stage-output-history{flex:0 0 auto;max-height:38%;display:flex;flex-direction:column;min-height:0;border-top:1px solid #eef2f6;background:#fbfcfe}.stage-output-history-label{padding:8px 14px 0;color:#8a97a7;font-size:11px;font-weight:650;letter-spacing:.06em}.stage-output-history-list{min-height:0;overflow:auto;padding:8px 10px 10px}.stage-lineage-title{margin:0 0 16px;font-size:14px;font-weight:600}.stage-lineage-hop{display:flex;flex-direction:column;gap:2px}.stage-lineage-hop span{color:#8492a5;font-size:12px}.stage-ipo-process-bar{justify-content:flex-start;background:#fff}.stage-ipo-process-bar.is-harness{flex-wrap:wrap;height:auto;min-height:44px;min-width:0;row-gap:6px;padding-block:6px;overflow:visible}.artifacts-agent-tools{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;margin-left:auto;max-width:100%}.stage-ipo-process-bar.is-harness .stage-conv-bar{flex:1 1 260px;min-width:min(100%,248px);max-width:min(456px,100%)}.stage-ipo-process-bar.is-harness>b{flex-shrink:0;white-space:nowrap}.stage-ipo-process-bar .stage-ipo-spacer{margin-left:auto}.stage-ipo-process-meta{min-width:0;overflow:hidden;color:#8a97a7;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.stage-ipo-process-actions{display:inline-flex;flex-shrink:0;align-items:center;gap:4px}.stage-ipo-process-bar .stage-ipo-process-actions.ant-space{gap:8px!important}.stage-ipo-process-bar .ant-checkbox-wrapper{margin-inline-end:0;color:#3d5168;font-size:12px;white-space:nowrap}.deepthink-toggle{display:inline-flex;flex-shrink:0;align-items:center;gap:8px;height:28px;padding:0 4px 0 10px;border:1px solid #e4eaf2;border-radius:999px;background:#f6f8fb;color:#8492a5;font-size:12px;line-height:1;white-space:nowrap;transition:background .18s ease,border-color .18s ease,color .18s ease}.deepthink-toggle:hover{border-color:#cfdcec;background:#eef3fa}.deepthink-toggle.is-on{border-color:#c6dbfa;background:#eef5ff;color:#176dde}.deepthink-toggle-label{display:inline-flex;align-items:center;gap:5px;min-width:0;cursor:pointer}.deepthink-toggle-label svg{flex-shrink:0}.deepthink-toggle .ant-switch{flex-shrink:0}.stage-ipo-process-actions .ant-btn{height:28px;padding-inline:10px;font-size:12px}.stage-ipo-logs{flex:1;min-height:0;overflow:auto;margin:10px 12px 12px;padding:12px 14px;border-radius:8px;background:#f6f8fb;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.7;color:#3d5168;white-space:pre-wrap}.pipeline-stage-workspace.is-embedded>.stage-ipo,.pipeline-stage-workspace.is-embedded>.ontology-page.stage-ipo{height:100%;min-height:0;overflow:hidden;padding:0}.stage-ipo-body.is-input-collapsed .stage-ipo-input,.stage-ipo-body.is-output-collapsed .stage-ipo-output{display:none}.stage-ipo-input,.stage-ipo-output{display:flex;flex-direction:column}.stage-ipo-input .stage-ipo-pane-body,.stage-ipo-output .stage-ipo-pane-body,.stage-ipo-input .ontology-docs-panel{flex:1;min-height:0;height:auto;border:0;border-radius:0;background:transparent}.stage-ipo-input .ontology-docs-panel>header{display:none}.stage-ipo-input .ontology-docs-search{margin:8px 12px}.stage-ipo-input .ontology-docs-table th:nth-child(3),.stage-ipo-input .ontology-docs-table td:nth-child(3){display:none}.stage-ipo-input .ontology-docs-table-wrap{flex:1;min-height:0;overflow:auto;border:0}.deploy-ipo-checks{flex-shrink:0;max-height:42%;overflow:auto;padding:10px 12px 12px;border-top:1px solid #eef2f6;background:#fbfcfe}.deploy-ipo-checks>b{display:block;margin-bottom:8px;font-size:13px}.ontology-model-grid.is-ipo{grid-template-columns:1fr;gap:8px;padding:10px 12px}.stage-ipo-process .ontology-model-workspace{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#fff}.stage-ipo-process .ontology-model-workspace .ontology-model-grid{flex:1;min-height:0;overflow:auto;padding:12px;align-content:start}.stage-ipo-process .ontology-model-workspace .ontology-gen-log{flex:0 0 120px;margin:0 12px 12px}.stage-ipo-process .ontology-empty-state{flex:1;min-height:0;background:#fff}.ontology-output-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.ontology-output-summary{flex-shrink:0;margin:0;padding:10px 14px 0;color:#5b6b7e;font-size:12px}.ontology-output-list{flex:1;min-height:0;margin:0;padding:8px 0 12px;overflow:auto;list-style:none}.ontology-output-list li{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 14px;border-bottom:1px solid #f3f6fa}.ontology-output-list b{color:#176dde;font-size:12px}.ontology-output-list span{overflow:hidden;color:#24364a;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.ontology-output-list em{color:#8a97a7;font-size:12px;font-style:normal}.ontology-output-list li.is-done em{color:#3aa772}.ontology-output-list li.is-error em{color:#c73d3d}.ontology-output-list li.is-generating em{color:#176dde}.ontology-output-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 16px;color:#8a97a7;font-size:13px;text-align:center}.stage-output-drawer .eval-view-seg{margin:10px 12px 0}.stage-output-drawer .eval-metrics{grid-template-columns:1fr;margin:10px 12px}.stage-ipo-output .eval-view-seg{margin:10px 12px 0}.stage-ipo-output .eval-metrics{grid-template-columns:1fr;margin:10px 12px}.stage-output-drawer .eval-md,.stage-output-drawer .eval-table,.stage-output-drawer .eval-result-stats{margin:10px 12px 12px}.stage-ipo-process .eval-logs{flex:1;margin:0;border-radius:0}.stage-ipo-process .eval-result-workspace{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#fff}.stage-ipo-process .eval-result-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 24px;color:#8a97a7;font-size:13px;text-align:center}.stage-ipo-process .eval-metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:16px 20px 0}.stage-ipo-process .eval-md,.stage-ipo-process .eval-table,.stage-ipo-process .eval-result-stats,.stage-ipo-process .eval-error-block{margin:16px 20px 20px}.stage-ipo-process .eval-md{flex:1;min-height:0;overflow:auto}.stage-ipo-process .ontology-gen-log{flex:0 0 132px;min-height:0;margin:0 12px 12px;border-radius:8px}.stage-ipo.artifacts-workbench,.stage-ipo.requirement-chat,.stage-ipo.ingest-workbench,.stage-ipo.eval-workbench,.stage-ipo.deploy-workbench,.stage-ipo.ontology-page,.stage-ipo.change-workbench{display:grid;grid-template-rows:60px minmax(0,1fr);padding:0;gap:0;overflow:hidden;background:#eef2f7}.stage-ipo.is-headless,.stage-ipo.impact-workbench{display:grid;grid-template-rows:minmax(0,1fr);padding:0;gap:0;overflow:hidden;background:#eef2f7}.stage-ipo.is-headless:has(.stage-ipo-dirty),.stage-ipo.impact-workbench:has(.stage-ipo-dirty){grid-template-rows:auto minmax(0,1fr)}.stage-ipo.is-headless .stage-ipo-process,.stage-ipo.impact-workbench .stage-ipo-process{position:relative}.stage-ipo.is-headless .stage-ipo-process.is-max,.stage-ipo.impact-workbench .stage-ipo-process.is-max{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2300;border-radius:0;background:#fff}.stage-ipo.impact-workbench .stage-ipo-body.is-output-hidden:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.impact-workbench .stage-ipo-body.is-output-collapsed:not(.is-input-collapsed):not(.is-input-hidden){grid-template-columns:272px minmax(0,1fr)}.stage-ipo-input.is-docked{display:flex;flex-direction:column}.stage-ipo-input.is-docked>.stage-ipo-pane-body{flex:1 1 auto;height:auto;min-height:0}.stage-ipo-input-dock{flex:none;display:flex;justify-content:flex-end;align-items:center;height:36px;padding:0 6px;border-top:1px solid #eef2f6;background:#fff}.stage-ipo.impact-workbench .stage-ipo-process{position:relative}.stage-ipo-input-dock.is-collapsed{position:absolute;left:8px;bottom:8px;z-index:4;height:auto;padding:2px;border:1px solid #dce4ed;border-radius:8px;background:#fff;box-shadow:0 2px 8px #172a4414}.stage-ipo:has(.stage-ipo-dirty){grid-template-rows:60px auto minmax(0,1fr)}.stage-ipo-process .requirement-chat-main,.stage-ipo-process .artifacts-chat-panel{flex:1;min-height:0;display:flex;flex-direction:column;background:#fff}.ingest-upload-pane{background:#fff}.ingest-upload-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:16px;overflow:auto}.ingest-dropzone{position:relative;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px 20px;border:1px dashed #b7c6d8;border-radius:10px;background:#f7fafc;color:#5b6b7e;text-align:center;cursor:pointer}.ingest-dropzone.is-over{border-color:#176dde;background:#eef5ff;color:#176dde}.ingest-dropzone.is-readonly{cursor:not-allowed;opacity:.72;background:#f7f9fb;border-style:solid}.ingest-dropzone.is-readonly:hover{border-color:#b7c6d8;background:#f7f9fb;color:#5b6b7e}.ingest-dropzone h2{margin:0;color:#24364a;font-size:16px;font-weight:650}.ingest-dropzone p{max-width:420px;margin:0;font-size:13px;line-height:1.55}.ingest-dropzone-hint{position:absolute;top:10px;right:10px;bottom:10px;left:10px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;background:#176dde14;color:#176dde;font-size:14px;font-weight:650;pointer-events:none}.ingest-file-list{display:flex;flex-direction:column;gap:8px}.ingest-file-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid #e6edf4;border-radius:8px;background:#fff;text-align:left;cursor:pointer}.ingest-file-row.is-selected{border-color:#176dde;background:#f3f8ff}.ingest-file-row span{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ingest-file-row b{overflow:hidden;color:#24364a;font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.ingest-file-row em{color:#8a97a7;font-size:12px;font-style:normal}.ingest-file-row .ant-btn{flex-shrink:0}.stage-ipo-gen-main{flex:1;min-height:0;overflow:auto;padding:12px 14px}.stage-ipo-gen-main .artifacts-card{border:0;box-shadow:none}.artifacts-output-pane .artifacts-output-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.artifacts-gen-process{flex:1;min-height:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;padding:28px 32px;background:#fff;color:#5b6b7e}.artifacts-skill-process{flex:1;min-height:0;display:flex;flex-direction:column;background:#fff}.artifacts-skill-list{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px;margin:0;padding:12px;overflow:auto;list-style:none}.artifacts-skill-row{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid #e6edf4;border-radius:8px;background:#fff}.artifacts-skill-row.is-selected{border-color:#176dde;background:#f3f8ff}.artifacts-skill-row__main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.artifacts-skill-row__main span{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.artifacts-skill-row__main b{overflow:hidden;color:#24364a;font-size:13px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.artifacts-skill-row__main em{color:#8a97a7;font-size:12px;font-style:normal}.artifacts-skill-row .ant-btn{flex-shrink:0}.artifacts-skill-empty{padding:28px 16px;color:#8a97a7;font-size:13px;text-align:center}.stage-ipo-process .artifacts-skill-log{flex:0 0 220px;display:flex;flex-direction:column}.artifacts-skill-log>div{flex:1;min-height:0;max-height:none}.artifacts-gen-process h2{margin:0;color:#24364a;font-size:16px;font-weight:650}.artifacts-gen-process p{max-width:520px;margin:0;font-size:13px;line-height:1.6}.artifacts-sandbox{flex:1;min-height:0;display:flex;flex-direction:column}.artifacts-output-pane .artifacts-sandbox-tree{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:8px 10px 12px}.artifacts-sandbox-drawer .ant-drawer-header-title{min-width:0;overflow:hidden}.artifacts-sandbox-drawer .ant-drawer-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.artifacts-sandbox-drawer .ant-drawer-extra{flex:0 1 auto;min-width:0;max-width:45%;margin-inline-start:12px}.is-doc-max .ant-drawer-content-wrapper{width:100vw!important;max-width:100vw!important}.is-doc-max .ant-drawer-body{overflow:auto}.is-doc-max .project-asset-preview-frame{min-height:calc(100vh - 120px)}.is-doc-max .project-asset-preview-md{max-height:none}.artifacts-sandbox-preview-path{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8492a5;font-size:11px;line-height:22px;font-family:ui-monospace,Consolas,monospace}.artifacts-sandbox-preview-state{padding:48px 16px;text-align:center;color:#8a97a7;font-size:13px}.artifacts-sandbox-preview-state.is-error{color:#c45656}.artifacts-sandbox-preview-md{min-height:100%}.artifacts-sandbox-preview-code{margin:0;padding:0 0 24px;font-family:ui-monospace,Consolas,PingFang SC,monospace;font-size:12px;line-height:1.65;white-space:pre-wrap;word-break:break-word;color:#1d2d43}.artifacts-export-tree{max-height:420px;overflow-y:auto;padding:4px 10px 12px}.artifacts-export-tree .ant-tree-checkbox{margin-inline-end:4px}.artifacts-export-hint{margin-top:10px;padding-top:8px;border-top:1px solid #eef2f6;color:#8492a5;font-size:12px}.artifacts-output-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:24px 16px;color:#8a97a7;font-size:13px;text-align:center}.artifacts-file-list,.artifacts-case-list{flex:1;min-height:0;margin:0;padding:8px 0;overflow:auto;list-style:none}.artifacts-file-list li,.artifacts-case-list li{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-bottom:1px solid #f3f6fa}.artifacts-file-list li{flex-direction:row;align-items:center;gap:8px;color:#3d5168;font-size:13px}.artifacts-case-list b{color:#176dde;font-size:12px}.artifacts-case-list span{color:#24364a;font-size:13px;font-weight:650}.artifacts-case-list em{color:#8a97a7;font-size:12px;font-style:normal}.artifacts-output-meta{margin:0;color:#8a97a7;font-size:12px;line-height:1.4}.stage-output-drawer .requirement-result-panel,.stage-output-drawer .requirement-result-panel.is-embedded,.stage-ipo-output .requirement-result-panel,.stage-ipo-output .requirement-result-panel.is-embedded{width:100%;min-width:0;flex:1;height:auto;border-left:0;background:#fff}.stage-output-drawer .requirement-result-panel.is-embedded>header,.stage-ipo-output .requirement-result-panel.is-embedded>header{display:none}.stage-output-drawer .requirement-result-scroll,.stage-ipo-output .requirement-result-scroll{background:#fff}.stage-output-drawer .requirement-result-foot,.stage-ipo-output .requirement-result-foot{background:#fff;border-top:1px solid #eef2f6}.stage-ipo-process .deploy-logs{flex:1;margin:0;border-radius:0}.deploy-check-panel{width:360px}.deploy-check-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:6px 0}.deploy-check-row .ant-checkbox-wrapper{flex:1;white-space:normal}.deploy-workspace{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:#fff}.deploy-now{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 28px;min-height:76px;padding:16px 24px;border-bottom:1px solid #eef2f6;background:#fff}.deploy-now.is-empty{grid-template-columns:1fr}.deploy-now-main{display:flex;align-items:center;gap:10px}.deploy-now-main strong{color:#1d2d43;font-size:24px;font-weight:650;letter-spacing:-.03em;line-height:1}.deploy-now-url{overflow:hidden;color:#176dde;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.deploy-now-url.is-muted{color:#8a97a7}.deploy-now-meta{color:#8a97a7;font-size:12px;text-align:right;white-space:nowrap}.deploy-now-empty{color:#8a97a7;font-size:13px}.deploy-history-head{padding:12px 24px 0;color:#8a97a7;font-size:12px;font-weight:650}.stage-ipo-process .deploy-workspace .eval-table{margin:0}.deploy-workspace .eval-table-wrap{flex:1}.deploy-workspace .eval-table th:first-child,.deploy-workspace .eval-table td:first-child{padding-left:24px}.deploy-workspace .eval-table th:last-child,.deploy-workspace .eval-table td:last-child{padding-right:24px}.deploy-workspace .eval-table tbody tr.is-on td{background:#f8fbff}.deploy-table-empty{color:#8a97a7;text-align:center}.deploy-empty{display:flex;align-items:center;justify-content:center;flex:1;color:#8a97a7;font-size:13px}.deploy-tag--pass{background:#e8f7ee;color:#16964d}.deploy-tag--run{background:#eaf2ff;color:#176dde}.deploy-tag--fail{background:#fdecec;color:#d14343}.deploy-tag--warn{background:#fff6e8;color:#b76a00}.stage-ipo.deploy-workbench .eval-view-seg button:disabled{opacity:.55;cursor:not-allowed}.stage-output-drawer .ant-drawer-body{display:flex;flex-direction:column;height:100%;padding:0;overflow:hidden}.stage-output-drawer .stage-ipo-pane-body{flex:1;height:100%;min-height:0}.stage-output-drawer .stage-ipo-pane-head{justify-content:flex-end}.stage-output-drawer .stage-ipo-pane-head b{display:none}.impact-process-body,.change-process-body{flex:1;min-height:0;display:flex;overflow:hidden;background:#fff}.impact-process-body .react-flow{width:100%;height:100%;background:#f7fafc}.impact-node{display:flex;flex-direction:column;gap:2px;min-width:118px;padding:8px 10px;border:1px solid #d5deea;border-radius:6px;background:#fff;box-shadow:0 1px 2px #1c2d440a}.impact-node em{color:#8a97a7;font-size:11px;font-style:normal}.impact-node b{color:#24364a;font-size:13px;font-weight:650}.impact-node span{align-self:flex-start;padding:0 6px;border-radius:999px;background:#eef2f6;color:#5b6b7e;font-size:11px}.impact-node--high{border-color:#f0b4b4;background:#fff7f7}.impact-node--high span{background:#fdecec;color:#c73d3d}.impact-node--medium{border-color:#f0d3a0;background:#fffaf0}.impact-node--medium span{background:#fff6e8;color:#b76a00}.impact-node--low{border-color:#c5d8f5}.impact-node--low span{background:#eaf2ff;color:#176dde}.impact-node.is-on,.impact-node--high.is-on{box-shadow:0 0 0 2px #176dde47}.impact-node .react-flow__handle{width:8px;height:8px;background:#8aa0b8;border:0}.impact-calltree{flex:1;min-height:0;overflow:auto;padding:16px 20px}.impact-call-children{margin-left:16px;padding-left:12px;border-left:1px solid #e4ebf3}.impact-call-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:4px 0;padding:8px 10px;border:1px solid transparent;border-radius:6px;background:transparent;text-align:left;cursor:pointer}.impact-call-row code{color:#24364a;font-size:13px}.impact-call-row em{flex-shrink:0;font-style:normal;font-size:11px;color:#5b6b7e}.impact-call-row--high{background:#fff7f7}.impact-call-row--high em{color:#c73d3d}.impact-call-row--medium{background:#fffaf0}.impact-call-row--medium em{color:#b76a00}.impact-call-row.is-on{border-color:#176dde;background:#f4f8ff}.impact-output-body,.change-output-body{flex:1;min-height:0;overflow:auto;padding:12px}.impact-report,.change-design{color:#24364a;font-size:13px;line-height:1.65}.impact-task-list,.change-file-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.impact-task-list li,.change-file-list li{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border:1px solid #e4ebf3;border-radius:6px;background:#fff}.impact-task-list b,.change-file-list em{flex-shrink:0;color:#176dde;font-size:12px}.impact-task-list span,.change-file-list span{flex:1;min-width:0;color:#24364a;font-size:13px}.impact-task-list small{display:block;margin-top:2px;color:#8a97a7;font-size:12px}.impact-tag{flex-shrink:0;padding:0 6px;border-radius:999px;font-size:11px}.impact-tag--high{background:#fdecec;color:#c73d3d}.impact-tag--medium{background:#fff6e8;color:#b76a00}.impact-tag--low{background:#eaf2ff;color:#176dde}.change-task-pane{flex:0 0 280px;min-width:0;overflow:auto;padding:12px;border-right:1px solid #e4ebf3;background:#f8fbff}.change-task-row{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;padding:8px 10px;border:1px solid #e4ebf3;border-radius:6px;background:#fff;cursor:pointer}.change-task-row.is-on{border-color:#c5d8f5;background:#f4f8ff}.change-task-row span{display:flex;flex-direction:column;gap:2px;min-width:0}.change-task-row b{color:#24364a;font-size:13px;font-weight:600}.change-task-row small{color:#8a97a7;font-size:12px}.change-diff{flex:1;min-height:0;margin:0;padding:14px 16px;overflow:auto;background:#1d2d43;color:#d7e3f0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.65;white-space:pre}.change-diff-meta{flex:none;padding:9px 16px;border-bottom:1px solid #24354d;background:#16233a;color:#9db2cc;font-size:12px}.change-diff-meta b{color:#cfe2ff}.change-design{flex:1;min-height:0;overflow:auto;padding:16px 18px}.change-file-list em{color:#16964d}@media (max-width: 1600px){.stage-ipo-body{grid-template-columns:320px minmax(0,1fr) 280px}.stage-ipo-body.is-input-collapsed,.stage-ipo-body.is-input-hidden{grid-template-columns:minmax(0,1fr) 280px}.stage-ipo-body.is-output-collapsed,.stage-ipo-body.is-output-hidden{grid-template-columns:320px minmax(0,1fr)}.stage-ipo-body.is-output-hidden.is-input-collapsed,.stage-ipo-body.is-input-hidden.is-output-hidden{grid-template-columns:minmax(0,1fr)}}@media (max-width: 1280px){.stage-ipo-body{grid-template-columns:264px minmax(0,1fr) 236px}.stage-ipo-body.is-input-collapsed,.stage-ipo-body.is-input-hidden{grid-template-columns:minmax(0,1fr) 236px}.stage-ipo-body.is-output-collapsed,.stage-ipo-body.is-output-hidden{grid-template-columns:264px minmax(0,1fr)}.stage-ipo-body.is-output-hidden.is-input-collapsed,.stage-ipo-body.is-input-hidden.is-output-hidden{grid-template-columns:minmax(0,1fr)}.stage-ipo.impact-workbench .stage-ipo-body.is-output-hidden:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.impact-workbench .stage-ipo-body.is-output-collapsed:not(.is-input-collapsed):not(.is-input-hidden){grid-template-columns:224px minmax(0,1fr)}}@container stage-process (max-width: 720px){.stage-ipo-process-bar.is-harness>b{display:none}.stage-ipo-process-bar.is-harness .artifacts-agent-status-text{display:none}.stage-ipo-process-bar.is-harness .artifacts-ide-model{min-width:112px;max-width:168px}}@container stage-process (max-width: 560px){.stage-ipo-process-bar.is-harness .stage-conv-create-label{display:none}.stage-ipo-process-bar.is-harness .artifacts-ide-model{min-width:96px;max-width:140px}.deepthink-toggle{padding-inline:6px}.deepthink-toggle-text{display:none}}@container stage-process (max-width: 460px){.stage-ipo-process-bar.is-harness{flex-wrap:wrap;height:auto;min-height:44px;row-gap:6px;padding-block:8px;overflow:visible}.stage-ipo-process-bar.is-harness .stage-conv-bar{flex:1 1 100%;max-width:none;order:2}.stage-ipo-process-bar.is-harness .artifacts-agent-status{margin-left:auto}}.admin-design-page .admin-page-tabs{display:flex;gap:4px;margin:0;border-bottom:0}.admin-design-page .admin-page-tabs button{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:#53647a;font-size:13px}.admin-design-page .admin-page-tabs button.active{color:#176dde;border-bottom-color:#176dde;font-weight:600}.admin-account-view{display:flex;flex-direction:column;gap:14px;min-width:0}.admin-account-split{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;min-width:0}.admin-account-view .admin-list-panel{min-width:0}.admin-list-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:11px 18px;border-bottom:1px solid #e4eaf1;background:#fbfcfe}.admin-list-filters .admin-search-input{width:min(280px,100%)}.admin-list-filters .admin-filter-select{width:128px}.admin-list-filters .admin-filter-select--wide{width:160px}.admin-filter-field{display:inline-flex;align-items:center;gap:6px;margin:0}.admin-filter-label{flex:0 0 auto;color:#53647a;font-size:13px;white-space:nowrap}.admin-filter-field .admin-filter-select,.admin-filter-field .admin-filter-select--wide{min-width:160px}.admin-filter-actions{display:flex;gap:8px;margin-left:auto}.admin-account-columns,.admin-group-columns,.admin-account-row,.admin-group-row{display:grid;align-items:center;gap:12px;padding:0 18px}.admin-account-columns,.admin-group-columns{height:40px;background:#f7f9fc;color:#53647a;font-size:12px;font-weight:600}.admin-account-columns,.admin-account-row{grid-template-columns:minmax(160px,1.4fr) .9fr .8fr 1.1fr minmax(220px,1.6fr)}.admin-account-columns--perm,.admin-account-row--perm{grid-template-columns:minmax(160px,1.3fr) .9fr .85fr .75fr 1fr minmax(220px,1.5fr)}.admin-debug-switch{display:inline-flex;align-items:center;gap:8px}.admin-debug-switch>span{font-size:12px;color:#7a8699;min-width:1em}.admin-debug-switch>span.on{color:#0f9d58;font-weight:600}.admin-inherit-tips{margin:6px 0 0;padding-left:18px;color:#53647a;font-size:12px;line-height:1.55}.admin-inherit-tips li+li{margin-top:4px}.admin-perm-preview{margin-top:8px;padding:12px 14px;border:1px solid #e8edf3;border-radius:10px;background:#f8fbff}.admin-perm-preview-title{font-size:13px;font-weight:600;margin-bottom:8px;color:#1f2a37}.admin-perm-preview ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}.admin-perm-preview li{display:flex;align-items:center;gap:8px;font-size:13px}.admin-perm-preview li.ok{color:#0f9d58}.admin-perm-preview li.no{color:#98a2b3}.admin-design-page:has(.admin-account-view--acl){display:flex;flex-direction:column;height:calc(100vh - 56px);min-height:0;overflow:hidden;box-sizing:border-box}.admin-design-page:has(.admin-account-view--acl)>.design-page-head{flex:0 0 auto}.admin-account-view--acl{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.admin-list-panel--acl{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.admin-list-panel--acl>.admin-list-header,.admin-list-panel--acl>.admin-list-filters,.admin-list-panel--acl>.admin-loading,.admin-list-panel--acl>.admin-detail-empty{flex:0 0 auto}.admin-stage-acl-table-page{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.admin-stage-acl-columns,.admin-stage-acl-row{display:grid;grid-template-columns:minmax(160px,1.3fr) .9fr .85fr 1fr 1fr minmax(120px,.9fr);align-items:center;gap:12px;padding:0 18px}.admin-stage-acl-columns--unified,.admin-stage-acl-row--unified{grid-template-columns:minmax(160px,1.3fr) .85fr .85fr 1fr 1fr minmax(120px,.9fr)}.admin-stage-acl-columns{flex:0 0 auto;height:40px;background:#f7f9fc;color:#53647a;font-size:12px;font-weight:600}.admin-stage-acl-rows{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch}.admin-stage-acl-row{min-height:64px;border-bottom:1px solid #e8edf3;background:#fff}.admin-stage-acl-row:hover{background:#f8fbff}.admin-stage-acl-summary{font-size:12px}.admin-stage-acl-summary.muted{color:#8a97a7}.admin-stage-acl-summary.warn{color:#e67e22;font-weight:600}.admin-stage-acl-modal-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}.admin-stage-acl-modal-table-wrap{max-height:min(52vh,420px);overflow:auto;margin-top:12px;border:1px solid #e8edf3;border-radius:8px}.admin-stage-acl-table{width:100%;border-collapse:collapse;font-size:13px}.admin-stage-acl-table th,.admin-stage-acl-table td{border-bottom:1px solid #e8edf3;padding:10px 12px;text-align:left}.admin-stage-acl-table thead th{position:sticky;top:0;z-index:2;background:#f7f9fc;color:#53647a;font-weight:600;box-shadow:0 1px #e8edf3}.admin-stage-acl-cell{text-align:center!important}.admin-stage-acl-lock{color:#98a2b3}@media (max-width: 900px){.admin-stage-acl-columns,.admin-stage-acl-row{grid-template-columns:minmax(140px,1.2fr) .8fr .8fr 1fr minmax(110px,.9fr)}.admin-stage-acl-columns span:nth-child(5),.admin-stage-acl-row>:nth-child(5){display:none}.admin-stage-acl-columns--unified,.admin-stage-acl-row--unified{grid-template-columns:minmax(140px,1.2fr) .8fr .8fr 1fr minmax(110px,.9fr)}.admin-stage-acl-columns--unified span:nth-child(5),.admin-stage-acl-row--unified>:nth-child(5){display:none}}.admin-group-columns,.admin-group-row{grid-template-columns:minmax(160px,1.3fr) minmax(120px,1.4fr) 1.2fr .7fr 1.1fr minmax(180px,1.3fr)}.admin-account-grid{display:flex;flex-direction:column}.admin-account-row,.admin-group-row{min-height:64px;border-bottom:1px solid #e8edf3;background:#fff;cursor:pointer;text-align:left}.admin-account-row:hover,.admin-group-row:hover{background:#f8fbff}.admin-account-row.is-selected,.admin-group-row.is-selected{background:#edf5ff;box-shadow:inset 3px 0 #176dde}.admin-list-pagination{display:flex;justify-content:flex-end;padding:10px 18px;border-top:1px solid #eef2f6}.admin-detail-panel>header button{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:#718198}.admin-detail-panel>header button:hover{background:#f3f6fa;color:#176dde}.admin-detail-empty button{display:block;margin:10px auto 0;border:0;background:none;color:#176dde;cursor:pointer}.admin-member-editor{margin-top:16px;padding-top:12px;border-top:1px solid #eef2f6}.admin-member-editor-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.admin-member-editor-head b{color:#1d2d43;font-size:13px}.admin-member-editor-head span{color:#8a97a7;font-size:12px}.admin-member-empty{padding:10px 0;color:#8a97a7;font-size:12px}.admin-member-list{display:flex;flex-direction:column;gap:6px;margin:0 0 10px;padding:0;list-style:none}.admin-member-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid #e4ebf3;border-radius:6px}.admin-member-list strong{display:block;color:#24364a;font-size:13px}.admin-member-list small{color:#8a97a7;font-size:12px}.admin-member-list button{height:26px;padding:0 8px;border:1px solid #f0caca;border-radius:4px;background:#fff;color:#d14343;font-size:12px}.admin-member-add{display:flex;gap:8px;align-items:center}.admin-service-columns,.admin-mcp-columns,.admin-ide-columns,.admin-service-row,.admin-mcp-row,.admin-ide-row{display:grid;align-items:center;gap:12px;padding:0 18px}.admin-service-columns,.admin-mcp-columns,.admin-ide-columns{height:40px;background:#f7f9fc;color:#53647a;font-size:12px;font-weight:600}.admin-service-columns,.admin-service-row{min-width:1180px;grid-template-columns:minmax(150px,1.2fr) .9fr minmax(140px,1.6fr) .7fr .8fr .6fr 1fr minmax(280px,1.8fr)}.admin-mcp-columns,.admin-mcp-row{min-width:960px;grid-template-columns:minmax(150px,1.2fr) .7fr minmax(160px,1.8fr) .7fr 1fr minmax(220px,1.5fr)}.admin-ide-columns,.admin-ide-row{min-width:1040px;grid-template-columns:minmax(150px,1.2fr) .7fr minmax(160px,1.8fr) .7fr .7fr 1fr minmax(220px,1.5fr)}.admin-list-panel .admin-account-grid{overflow-x:auto}.admin-service-row,.admin-mcp-row,.admin-ide-row{min-height:64px;border-bottom:1px solid #e8edf3;background:#fff;cursor:pointer;text-align:left}.admin-service-row:hover,.admin-mcp-row:hover,.admin-ide-row:hover{background:#f8fbff}.admin-service-row.is-selected,.admin-mcp-row.is-selected,.admin-ide-row.is-selected{background:#edf5ff;box-shadow:inset 3px 0 #176dde}.admin-service-row .admin-table-muted,.admin-mcp-row .admin-table-muted,.admin-ide-row .admin-table-muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-sandbox-cell{display:inline-flex;align-items:center;cursor:pointer}.service-copy-value{display:flex;align-items:center;gap:8px;word-break:break-all}.service-copy-value button{flex-shrink:0;width:24px;height:24px;display:grid;place-items:center;border:0;border-radius:4px;background:transparent;color:#718198}.service-copy-value button:hover{background:#f3f6fa;color:#176dde}.admin-form-body{padding-top:4px}.admin-form-body .ant-form-item{margin-bottom:16px}.admin-form-modal .ant-alert{margin-bottom:4px}.admin-reset-target{display:flex;align-items:center;gap:10px;height:32px}.admin-reset-target>span{display:flex;align-items:baseline;gap:8px;min-width:0}.admin-reset-target strong{color:#1d2d43;font-size:14px;font-weight:600}.admin-reset-target small{color:#8a97a7;font-size:12px}.admin-modal-identity{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;border:1px solid #e8eef5;border-radius:8px;background:#f7f9fc}.admin-modal-identity--compact{margin-bottom:18px;padding:10px 12px}.admin-modal-identity>span:nth-child(2){display:flex;min-width:0;flex:1;flex-direction:column;gap:2px}.admin-modal-identity strong{color:#1d2d43;font-size:15px;font-weight:600;line-height:1.3}.admin-modal-identity small{color:#8a97a7;font-size:12px;line-height:1.3}.admin-modal-avatar{flex:0 0 auto;background:#edf5ff!important;color:#176dde!important;font-weight:650}.admin-form-modal .ant-form-item-label>label{color:#3d4d62;font-weight:500}.admin-form-modal .ant-descriptions-item-label{width:108px}.stage-ipo-hint{margin:10px 12px 0;color:#64758a;font-size:12px;line-height:1.65}.stage-ipo-hint.is-error{color:#d4683c}.conserv-blank{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:180px;padding:28px 20px;color:#64758a;text-align:center}.conserv-blank.is-page{height:100%;min-height:0}.conserv-blank svg{color:#8aa0b8}.conserv-blank b{color:#1d2d43;font-size:14px;font-weight:650}.conserv-blank span{max-width:360px;font-size:13px;line-height:1.65}.ingest-workbench .ingest-dropzone{flex:1;min-height:180px;max-height:260px;gap:10px;padding:32px 24px}.ingest-drop-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#eaf3ff;color:#176dde}.ingest-dropzone.is-over .ingest-drop-icon{background:#176dde;color:#fff}.impact-input-hint{color:#8a97a7;font-size:12px;white-space:nowrap}.ia-group{padding:12px 0 4px;border-bottom:1px dashed #e8eef4}.ia-group:last-child{border-bottom:0}.ia-group h4{margin:0 0 10px;color:#8a97a7;font-size:11px;font-weight:650;letter-spacing:.06em}.ia-field{display:block;margin-bottom:12px}.ia-field>span{display:flex;align-items:baseline;gap:8px;margin-bottom:6px;color:#1d2d43;font-size:13px;font-weight:600}.ia-field em{color:#8a97a7;font-size:12px;font-style:normal;font-weight:400}.ia-diff-file{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.ia-diff-row{display:flex;align-items:center;gap:8px;min-height:32px}.ia-diff-row>span,.ia-diff-row>b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500}.ia-diff-row>span{color:#8a97a7;font-weight:400}.ia-diff-clear{flex:none;border:0;padding:0;background:transparent;color:#a12626;font-size:12px;cursor:pointer}.stage-ipo-input .ant-select,.stage-ipo-input .ant-input,.stage-ipo-input textarea.ant-input{width:100%;border-radius:8px}.ia-history-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.ia-history-head h4{margin:0}.ia-history-head button{border:0;background:transparent;color:#1d4ed8;font-size:12px;cursor:pointer;padding:0}.ia-history-head button:disabled{color:#b0b8c2;cursor:not-allowed}.ia-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ia-history li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;border:1px solid #e1ebf4;border-radius:10px;background:#fff}.ia-history li.on{border-color:#4f8fb8;background:#f4f9fd}.ia-history li button{border:0;background:transparent;cursor:pointer}.ia-history-main{grid-column:1 / -1;grid-row:1;min-width:0;display:block;text-align:left;padding:8px 10px}.ia-history-delete{grid-column:2;grid-row:1;z-index:1;align-self:end;margin:0 6px 8px 0;color:#b7c0cb;font-size:12px;font-weight:400;padding:2px 6px}.ia-history-delete:hover{color:#8d99a8}.ia-history-delete:disabled{color:#b0b8c2;cursor:not-allowed}.ia-history li b{display:block;color:#1d2d43;font-size:13px;line-height:1.45;font-weight:650}.ia-history li span{display:flex;align-items:center;margin-top:6px;padding-right:40px}.ia-history li em{height:20px;padding:0 8px;border-radius:999px;color:#5b6b7e;font-size:12px;font-style:normal;line-height:20px}.ia-history li em.is-high{background:#fde8e8;color:#c24141}.ia-history li em.is-mid{background:#fff3cc;color:#8a6208}.ia-history li i{margin-left:12px;height:20px;padding:0 8px;border-radius:999px;font-size:11px;font-style:normal;line-height:20px}.ia-history li i.is-done{background:#e8f7ee;color:#157347}.ia-history li i.is-run{background:#eaf2ff;color:#1d4ed8}.ia-history li i.is-fail{background:#f4f6f8;color:#6b7280}.ia-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ia-chips span{height:22px;padding:0 8px;border-radius:999px;background:#f3f6fa;color:#5b6b7e;font-size:11px;line-height:22px}.ia-opts{display:flex;flex-direction:column;gap:2px;padding-bottom:8px}.ia-check{display:flex;align-items:center;min-height:32px;color:#1d2d43;font-size:13px}.ia-frame-host{flex:1;min-height:0;display:flex;flex-direction:column}.ia-frame-host.is-max{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2300;background:#f1f7fc}.ia-frame{display:block;width:100%;height:100%;flex:1;min-height:0;border:0;background:#fff}.stage-key-tabs{height:52px;flex:0 0 52px;display:flex;align-items:center;gap:4px;padding:0 14px;overflow-x:auto;border-bottom:1px solid #e6edf4;background:#fff}.stage-key-tab{height:34px;flex:none;display:inline-flex;align-items:center;gap:7px;padding:0 12px;border:1px solid transparent;border-radius:5px;color:#53657a;font-size:13px;white-space:nowrap}.stage-key-tab:hover{background:#f4f8fc;color:#176dde}.stage-key-tab.on{border-color:#8db9ef;background:#eaf3ff;color:#176dde;font-weight:650}.stage-key-tab em{padding:1px 7px;border-radius:9px;background:#eef2f6;color:#748397;font-size:11px;font-style:normal;font-weight:500}.stage-key-tab em.is-ready{background:#e5f5eb;color:#23834f}.stage-key-tab em.is-loading{background:#eaf2ff;color:#176dde}.stage-key-tabs-spacer{flex:1;min-width:12px}.stage-key-group{flex:none;padding:0 6px 0 2px;color:#8a97a7;font-size:12px;font-weight:600;letter-spacing:.04em}.stage-key-group-sep{width:1px;height:18px;flex:none;margin:0 8px;background:#e2e8ef}.stage-key-tabs-meta{flex:none;color:#64758a;font-size:12px;white-space:nowrap}.stage-key-tabs-body{min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff}.stage-key-stage{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.stage-key-stage.is-max{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2300;background:#fff}.eval-workbench .stage-key-tabs-body{overflow:auto}.eval-workbench .stage-key-tabs-body>.eval-result-workspace,.eval-workbench .stage-key-tabs-body>.eval-logs,.eval-workbench .stage-key-tabs-body>.eval-flow,.eval-workbench .stage-key-tabs-body>.eval-gates,.eval-workbench .stage-key-tabs-body>.eval-md,.eval-workbench .stage-key-tabs-body>.eval-result-empty,.eval-workbench .stage-key-tabs-body>.eval-error-block{flex:1;min-height:0}.eval-workbench .stage-ipo-process-bar .stage-key-max{flex:none}.stage-key-max{height:30px;flex:none;display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:0 10px;border:1px solid #d5e2ee;border-radius:6px;background:#fff;color:#1d2d43;font-size:12px;white-space:nowrap;cursor:pointer}.stage-key-max:hover{border-color:#8db9ef;color:#176dde}.stage-key-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:32px;color:#64758a;text-align:center}.stage-key-empty b{color:#1d2d43;font-size:15px}.stage-key-empty span{max-width:520px;font-size:13px;line-height:1.7;text-wrap:pretty}.stage-key-empty .ia-wait-spin{width:48px;height:48px;color:#1677ff}.stage-key-doc{min-height:0;flex:1;overflow:auto;padding:18px 22px 26px}.stage-key-code{margin:0;color:#26364a;font-family:var(--mono);font-size:12.5px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.eval-flow{display:flex;flex-direction:column;min-height:0;height:100%}.eval-flow-steps{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0;padding:14px 16px;border-bottom:1px solid #eef2f6;list-style:none}.eval-flow-steps li{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid #e2e8ef;border-radius:999px;color:#748397;font-size:12.5px}.eval-flow-steps li.is-done{border-color:#c8e6d3;background:#f3faf6;color:#23834f}.eval-flow-steps li i{font-style:normal;font-family:var(--mono)}.eval-flow .eval-logs{flex:1;min-height:0;margin:0;border:0}.eval-fail-list{min-height:0;margin:0;padding:14px 18px 20px;overflow:auto;list-style:none}.eval-fail-list li{padding:9px 12px;margin-bottom:8px;border:1px solid #f0cccc;border-radius:8px;background:snow}.eval-fail-list code{color:#b43232;font-family:var(--mono);font-size:12px;white-space:pre-wrap;word-break:break-all}.eval-gates{min-height:0;flex:1;display:flex;flex-direction:column;overflow:auto;padding:14px 18px 20px}.eval-gate-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.eval-gate-summary>div{padding:10px 12px;border:1px solid #e6edf4;border-radius:10px;background:#f8fafc}.eval-gate-summary span{display:block;color:#8a97a7;font-size:12px}.eval-gate-summary b{display:block;margin-top:4px;color:#1d2d43;font-size:14px}.ia-eval{flex:1;min-height:0;overflow:auto;padding:18px 22px 28px;background:#f4f7fb}.ia-eval-actions{display:flex;align-items:center}.ia-eval .ia-note{margin-top:12px}.ia-eval-wait{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:14px;padding:16px;border:1px solid #e6edf4;border-radius:10px;background:#fff;color:#64758a}.ia-eval-wait b{color:#1d2d43;font-size:14px}.ia-eval-wait span{font-size:12px;line-height:1.6}.ia-eval-score{display:grid;grid-template-columns:148px 1fr;gap:10px;margin-top:14px}.ia-eval-total,.ia-eval-parts div{padding:14px 16px;border:1px solid #e6edf4;border-radius:10px;background:#fff}.ia-eval-total span,.ia-eval-parts span{display:block;color:#8a97a7;font-size:12px}.ia-eval-total em{display:block;margin-top:4px;color:#1d2d43;font-size:32px;font-style:normal;font-weight:700;line-height:1.1}.ia-eval-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ia-eval-parts b{display:block;margin-top:4px;color:#1d2d43;font-size:22px}.ia-eval-findings{display:flex;flex-direction:column;gap:8px;margin:14px 0 0;padding:0;list-style:none}.ia-eval-findings li{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid #e6edf4;border-radius:10px;background:#fff}.ia-eval-findings em{color:#176dde;font-size:12px;font-style:normal;font-weight:650}.ia-eval-findings b{color:#1d2d43;font-size:13px}.ia-eval-findings span{color:#53657a;font-size:12px;line-height:1.6}.ia-note-warn{color:#b43232}.ia-note{margin:0;padding:12px 14px;border-radius:10px;background:#eef4fb;color:#3d4d62;font-size:12px;line-height:1.65}.change-triple-page{display:flex;flex-direction:column;min-height:0;height:100%;padding:16px 18px 18px;overflow:auto;background:#f4f7fb}.change-gates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.change-gate{padding:12px 14px;border:1px solid #e6edf4;border-radius:12px;background:#fff}.change-gate span,.change-gate b{display:block}.change-gate span{color:#8a97a7;font-size:12px}.change-gate b{margin-top:4px;font-size:15px}.change-gate.is-ok{border-color:#c8e6d3;background:#f3faf6}.change-gate.is-ok b{color:#23834f}.change-gate.is-warn{border-color:#f0d9a8;background:#fff9ef}.change-gate.is-warn b{color:#b86a00}.change-triple-page>.stage-ipo-hint{margin:12px 2px 0}.change-triple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-height:0;flex:1;margin-top:14px}.change-triple article{min-width:0;padding:14px;border:1px solid #e6edf4;border-radius:12px;background:#fff}.change-triple article.is-miss{border-color:#f0c8c8;background:#fff8f8}.change-triple h3{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px;font-size:13px}.change-triple h3 em{height:22px;padding:0 8px;border-radius:999px;background:#e5f5eb;color:#23834f;font-size:12px;font-style:normal;line-height:22px}.change-triple article.is-miss h3 em{background:#fdecec;color:#c73d3d}.change-triple pre{margin:0 0 12px;padding:10px 12px;border-radius:8px;background:#f7f9fc;font:12px/1.7 ui-monospace,Consolas,monospace;white-space:pre-wrap}.change-triple pre span{display:block}.change-triple .add{color:#23834f}.change-triple .del{color:#c73d3d}.change-triple .stage-ipo-hint{margin:0}.eval-heat{display:grid;gap:8px;padding:18px 20px;overflow:auto}.eval-heat-row{display:grid;grid-template-columns:120px minmax(0,1fr) 36px;gap:12px;align-items:center;padding:12px 14px;border:1px solid #e6edf4;border-radius:10px;background:#fff;font-size:13px}.eval-heat-track{height:8px;overflow:hidden;border-radius:999px;background:#e8eef4}.eval-heat-track i{display:block;height:100%;border-radius:inherit;background:#3aa772}.eval-heat-row.is-miss .eval-heat-track i{background:#e07a7a}.eval-heat-row em{text-align:right;color:#23834f;font-style:normal;font-size:12px;font-weight:650}.eval-heat-row.is-miss em{color:#c73d3d}.eval-layer-list{margin:0;padding:16px 18px;list-style:none}.eval-layer-list li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:8px;padding:12px 14px;border:1px solid #e6edf4;border-radius:10px;background:#fff;font-size:13px}.eval-layer-list span{color:#64758a}.eval-layer-list em{color:#23834f;font-style:normal;font-weight:650}.eval-layer-list em.fail{color:#c73d3d}@media (max-width: 1100px){.change-gates,.change-triple{grid-template-columns:1fr}}.ingest-dropzone-actions{display:flex;gap:8px;margin-top:2px}.ingest-dropzone-actions .ant-btn{border-color:#d5dfe9}.ingest-upload-done{margin:10px 0 0;color:#64758a;font-size:12px}.ingest-section{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid #e6edf4;border-radius:10px;background:#fbfdff}.ingest-section-head{display:flex;align-items:baseline;gap:10px}.ingest-section-head b{color:#1d2d43;font-size:13px;font-weight:650}.ingest-section-head em{color:#8b97a8;font-size:11.5px;font-style:normal}.ingest-section-empty{margin:0;color:#8b97a8;font-size:12px;line-height:1.6}.ingest-workbench .ingest-dropzone.is-compact{flex:0 0 auto;min-height:0;max-height:none;gap:6px;padding:18px 16px;background:#fff}.ingest-dropzone.is-compact h2{font-size:13px}.ingest-dropzone.is-compact p{font-size:12px;line-height:1.6}.ingest-dropzone.is-compact .ingest-drop-icon{width:34px;height:34px;border-radius:10px}.stage-ipo.ingest-workbench .stage-ipo-body.is-output-hidden:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.ontology-page .stage-ipo-body.is-output-hidden:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.change-workbench .stage-ipo-body.is-output-hidden:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.change-workbench .stage-ipo-body.is-output-collapsed:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.eval-workbench .stage-ipo-body.is-output-hidden:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.eval-workbench .stage-ipo-body.is-output-collapsed:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.deploy-workbench .stage-ipo-body.is-output-hidden:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.deploy-workbench .stage-ipo-body.is-output-collapsed:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.impact-workbench .stage-ipo-body.is-output-hidden:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.impact-workbench .stage-ipo-body.is-output-collapsed:not(.is-input-collapsed):not(.is-input-hidden){grid-template-columns:272px minmax(0,1fr)}@media (max-width: 1280px){.stage-ipo.ingest-workbench .stage-ipo-body.is-output-hidden:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.ontology-page .stage-ipo-body.is-output-hidden:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.change-workbench .stage-ipo-body.is-output-hidden:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.change-workbench .stage-ipo-body.is-output-collapsed:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.eval-workbench .stage-ipo-body.is-output-hidden:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.eval-workbench .stage-ipo-body.is-output-collapsed:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.deploy-workbench .stage-ipo-body.is-output-hidden:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.deploy-workbench .stage-ipo-body.is-output-collapsed:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.impact-workbench .stage-ipo-body.is-output-hidden:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.impact-workbench .stage-ipo-body.is-output-collapsed:not(.is-input-collapsed):not(.is-input-hidden){grid-template-columns:224px minmax(0,1fr)}}.stage-ipo.requirement-chat:not(.is-silent) .stage-ipo-body:not(.is-input-collapsed):not(.is-input-hidden):not(.is-output-collapsed):not(.is-output-hidden):not(.is-process-hidden),.stage-ipo.artifacts-workbench .stage-ipo-body:not(.is-input-collapsed):not(.is-input-hidden):not(.is-output-collapsed):not(.is-output-hidden){grid-template-columns:272px minmax(0,1fr) 340px}.stage-ipo.artifacts-workbench .stage-ipo-body.is-output-collapsed:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.artifacts-workbench .stage-ipo-body.is-output-hidden:not(.is-input-collapsed):not(.is-input-hidden){grid-template-columns:272px minmax(0,1fr)}@media (max-width: 1600px){.stage-ipo.requirement-chat:not(.is-silent) .stage-ipo-body:not(.is-input-collapsed):not(.is-input-hidden):not(.is-output-collapsed):not(.is-output-hidden):not(.is-process-hidden),.stage-ipo.artifacts-workbench .stage-ipo-body:not(.is-input-collapsed):not(.is-input-hidden):not(.is-output-collapsed):not(.is-output-hidden){grid-template-columns:272px minmax(0,1fr) 280px}}@media (max-width: 1280px){.stage-ipo.requirement-chat:not(.is-silent) .stage-ipo-body:not(.is-input-collapsed):not(.is-input-hidden):not(.is-output-collapsed):not(.is-output-hidden):not(.is-process-hidden),.stage-ipo.artifacts-workbench .stage-ipo-body:not(.is-input-collapsed):not(.is-input-hidden):not(.is-output-collapsed):not(.is-output-hidden){grid-template-columns:224px minmax(0,1fr) 236px}.stage-ipo.artifacts-workbench .stage-ipo-body.is-output-collapsed:not(.is-input-collapsed):not(.is-input-hidden),.stage-ipo.artifacts-workbench .stage-ipo-body.is-output-hidden:not(.is-input-collapsed):not(.is-input-hidden){grid-template-columns:224px minmax(0,1fr)}}.pipeline-workbench.is-maintenance .stage-ipo-body.is-output-collapsed{grid-template-columns:320px minmax(0,1fr)}.pipeline-workbench.is-maintenance .stage-ipo-body.is-output-collapsed.is-input-collapsed,.pipeline-workbench.is-maintenance .stage-ipo-body.is-output-collapsed.is-input-hidden{grid-template-columns:minmax(0,1fr)}@media (max-width: 1100px){.pipeline-workbench.is-maintenance .stage-ipo-body.is-output-collapsed{grid-template-columns:264px minmax(0,1fr)}}.pipeline-workbench.is-maintenance .stage-ipo.impact-workbench .stage-ipo-body.is-output-collapsed:not(.is-input-collapsed):not(.is-input-hidden),.pipeline-workbench.is-maintenance .stage-ipo.impact-workbench .stage-ipo-body.is-output-hidden:not(.is-input-collapsed):not(.is-input-hidden){grid-template-columns:272px minmax(0,1fr)}@media (max-width: 1280px){.pipeline-workbench.is-maintenance .stage-ipo.impact-workbench .stage-ipo-body.is-output-collapsed:not(.is-input-collapsed):not(.is-input-hidden),.pipeline-workbench.is-maintenance .stage-ipo.impact-workbench .stage-ipo-body.is-output-hidden:not(.is-input-collapsed):not(.is-input-hidden){grid-template-columns:224px minmax(0,1fr)}}.ontology-page .resource-file-tree .ant-tree-checkbox{margin-inline-end:6px}.resource-file-tree .ant-tree .ant-tree-checkbox-disabled{display:none}.ingest-upload-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.ingest-upload-row{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e6edf4;border-radius:8px;background:#fff}.ingest-upload-row b{flex:1 1 auto;min-width:0;overflow:hidden;color:#26364b;font-size:12.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.ingest-upload-row em{flex:none;color:#8b97a8;font-size:11.5px;font-style:normal;white-space:nowrap}.stage-ipo-pane-body>.stage-start-guide,.resource-file-tree>.stage-start-guide{margin:10px 12px 0;flex:none}.resource-file-tree{background:#fff}.resource-file-tree .stage-ipo-pane-scroll{overflow-x:hidden}.resource-tree-head{display:inline-flex;align-items:center;gap:2px;min-width:0}.resource-tree-head>.ant-btn{height:28px;padding-inline:8px;font-size:12px}.resource-tree-head>em{color:#8b97a8;font-size:12px;font-style:normal;white-space:nowrap}.resource-tree-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:180px;padding:24px 20px;color:#8aa0b8;font-size:13px;text-align:center}.resource-file-tree .ant-tree{background:transparent;color:#26364b;font-size:13px}.resource-file-tree .ant-tree .ant-tree-list-holder-inner{width:100%;min-width:0;padding:0;gap:0}.resource-file-tree .ant-tree .ant-tree-treenode{position:relative;display:flex;align-items:center;width:100%;min-height:28px;padding:1px 3px;border-radius:4px;transition:background .15s ease}.resource-file-tree .ant-tree .ant-tree-treenode:hover{background:#f5f8fb}.resource-file-tree .ant-tree .ant-tree-treenode-checkbox-checked{background:#edf5ff}.resource-file-tree .ant-tree .ant-tree-treenode-checkbox-checked:after{content:"";position:absolute;top:5px;bottom:5px;left:0;width:2px;border-radius:2px;background:#176dde}.resource-file-tree .ant-tree .ant-tree-treenode-leaf-last{padding-bottom:1px}.resource-file-tree .ant-tree .ant-tree-indent{align-self:stretch}.resource-file-tree .ant-tree .ant-tree-indent-unit{width:12px}.resource-file-tree .ant-tree .ant-tree-switcher{display:inline-flex;align-items:center;justify-content:center;width:18px;min-width:18px;height:28px;line-height:28px;color:#9aa8b8;background:transparent}.resource-file-tree .ant-tree .ant-tree-switcher:hover{color:#176dde}.resource-file-tree .ant-tree .ant-tree-iconEle{width:18px;min-width:18px;height:28px;line-height:28px;margin-inline-end:2px}.resource-file-tree .ant-tree .ant-tree-node-content-wrapper{display:flex;align-items:center;flex:1;min-width:0;height:26px;overflow:hidden;padding:0 4px;border-radius:6px;transition:background .15s ease}.resource-file-tree .ant-tree .ant-tree-title{display:block;flex:1 1 auto;min-width:0;overflow:hidden}.resource-file-tree .ant-tree .ant-tree-node-content-wrapper:hover,.resource-file-tree .ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background:transparent}.resource-file-tree .ant-tree .ant-tree-treenode-checkbox-checked .ant-tree-node-content-wrapper{color:#174f96}.resource-file-tree .ant-tree .ant-tree-checkbox{margin-inline:3px 5px}.resource-file-tree .ant-tree .ant-tree-checkbox-inner{width:14px;height:14px;border-color:#b9c6d5;border-radius:3px}.resource-file-tree .ant-tree .ant-tree-checkbox-checked .ant-tree-checkbox-inner{border-color:#176dde;background:#176dde}.resource-file-tree .ant-tree .ant-tree-checkbox:hover .ant-tree-checkbox-inner{border-color:#176dde}.resource-file-tree .ant-tree.ant-tree-show-line .ant-tree-indent-unit:before{border-inline-end:1px solid #eef2f7}.resource-file-tree .ant-tree.ant-tree-show-line .ant-tree-switcher-leaf-line:before{border-inline-end:1px solid #eef2f7}.resource-file-tree .ant-tree.ant-tree-show-line .ant-tree-switcher-leaf-line:after{border-bottom:1px solid #eef2f7}.rt-icon{flex:none}.rt-icon--archive{color:#176dde}.rt-icon--dir{color:#e0a63c}.rt-icon--code{color:#2f8f6f}.rt-icon--doc{color:#7b8ca0}.resource-tree-label{display:flex;align-items:center;gap:5px;width:100%;min-width:0;overflow:hidden;flex:1}.resource-tree-outputs{margin-top:10px}.resource-tree-name{flex:1 1 auto;min-width:0;overflow:hidden;color:#26364b;font-weight:500;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.resource-tree-label.is-root>.resource-tree-name{font-weight:650;font-size:13px}.resource-tree-note{flex:0 1 auto;max-width:38%;margin-left:auto;overflow:hidden;color:#9aa8b8;font-size:11.5px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.resource-tree-note .is-error,.resource-tree-note.is-error{color:#d4683c}.resource-tree-label .resource-tree-extra{display:inline-flex;align-items:center;gap:2px;flex:none}.resource-tree-label .resource-tree-extra .ant-btn{opacity:0;transition:opacity .15s ease}.resource-file-tree .ant-tree-treenode:hover .resource-tree-extra .ant-btn,.resource-file-tree .ant-tree-treenode:focus-within .resource-tree-extra .ant-btn{opacity:1}.resource-tree-label .resource-tree-extra .ant-spin,.resource-tree-label .resource-tree-extra .resource-tree-warn{opacity:1}.resource-tree-warn{color:#d4683c}.resource-file-tree .ant-spin{margin-left:2px}.project-design-main>.project-assets-page{min-height:100%;background:#fff}.project-assets-page{padding:8px 28px 24px;background:#fff}.project-assets-panel{background:#fff;border:0;border-radius:0;padding:0}.project-assets-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 8px}.project-assets-search{width:280px;max-width:100%}.project-assets-select{min-width:132px}.project-assets-download-all{margin-left:4px}.project-assets-tabs.ant-tabs .ant-tabs-nav{margin:0}.project-assets-tabs.ant-tabs .ant-tabs-nav:before{border-bottom-color:#eef2f6}.project-assets-tabs.ant-tabs .ant-tabs-tab{padding:10px 0 12px;margin:0 28px 0 0!important;color:#5d6d81;font-size:14px}.project-assets-tabs.ant-tabs .ant-tabs-tab-btn{font-weight:400}.project-assets-tabs.ant-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{color:#176dde;font-weight:600}.project-assets-tabs.ant-tabs .ant-tabs-ink-bar{height:2px;background:#176dde}.project-assets-count{margin:14px 0 8px;color:#8b97a8;font-size:13px}.project-assets-loading{display:flex;align-items:center;justify-content:center;min-height:240px}.project-assets-table-wrap{width:100%;overflow-x:auto}.project-assets-table{width:100%;min-width:1180px;border-collapse:collapse}.project-assets-table th{padding:12px 10px;border-bottom:1px solid #eef2f6;color:#8b97a8;font-size:13px;font-weight:400;text-align:left;white-space:nowrap;background:#fff}.project-assets-table td{padding:16px 10px;border-bottom:1px solid #f2f5f8;color:#44556c;font-size:13px;vertical-align:middle;white-space:nowrap}.project-assets-table tbody tr:hover td{background:#fafbfd}.project-assets-table td.is-muted{color:#8b97a8}.project-assets-table td.is-ellipsis{max-width:180px;overflow:hidden;text-overflow:ellipsis}.project-assets-empty{padding:48px 10px!important;color:#b0bac6;text-align:center}.project-asset-name{display:inline-flex;align-items:center;gap:10px;max-width:280px;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.project-asset-name b{overflow:hidden;color:#1d2d43;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.project-asset-icon{width:22px;height:22px;flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;background:transparent;color:#5d6d81}.project-asset-icon.is-requirement{color:#3b82f6}.project-asset-icon.is-ontology{color:#22a06b}.project-asset-icon.is-skill{color:#16a34a}.project-asset-icon.is-app{color:#f59e0b}.project-asset-icon.is-code{color:#2563eb}.project-asset-icon.is-eval{color:#0d9488}.project-asset-icon.is-uat{color:#2563eb}.project-asset-icon.is-defect{color:#ef4444}.project-asset-pill,.project-asset-status{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:4px;font-size:12px;font-style:normal;font-weight:500;line-height:22px;white-space:nowrap}.project-asset-pill.is-requirement{background:#eef4ff;color:#3b6fd4}.project-asset-pill.is-ontology{background:#f3eaff;color:#7a3fe0}.project-asset-pill.is-skill{background:#e9f8ee;color:#1a8a4a}.project-asset-pill.is-app{background:#fff4e5;color:#d97706}.project-asset-pill.is-code{background:#e8f7f7;color:#0f8a8a}.project-asset-pill.is-eval{background:#e7f7f4;color:#0d9488}.project-asset-pill.is-uat{background:#eef4ff;color:#3b6fd4}.project-asset-pill.is-defect{background:#feeeee;color:#e11d48}.project-asset-pill.is-other{background:#f3f5f8;color:#64758a}.project-asset-status.is-ok{background:#e9f8ee;color:#16a34a}.project-asset-status.is-warn{background:#fff4e5;color:#d97706}.project-asset-status.is-info{background:#e8f3ff;color:#2563eb}.project-asset-status.is-muted{background:#f3f5f8;color:#8b97a8}.project-asset-status.is-bad{background:#feeeee;color:#e11d48}.project-asset-plain{padding:0;border:0;background:transparent;color:inherit;cursor:pointer}.project-asset-plain:hover{color:#176dde}.project-asset-stages{display:inline-flex;flex-wrap:wrap;gap:4px 8px}.project-asset-actions{display:inline-flex;align-items:center;gap:4px}.project-asset-icon-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:6px;background:transparent;color:#8b97a8;cursor:pointer}.project-asset-icon-btn:hover{background:#f3f6fa;color:#176dde}.project-asset-icon-btn:disabled{opacity:.35;cursor:not-allowed}.project-assets-pager{display:flex;justify-content:flex-end;padding:16px 0 8px}.project-assets-pager .ant-pagination{align-items:center}.project-asset-preview-drawer .ant-drawer-body{padding:16px 20px 24px}.project-asset-preview-state{display:flex;align-items:center;justify-content:center;min-height:240px;color:#8b97a8}.project-asset-preview-state.is-error{color:#e11d48}.project-asset-preview-frame{width:100%;min-height:70vh;border:1px solid #eef2f6;border-radius:8px;background:#fff}.project-asset-preview-md{max-height:calc(100vh - 140px);overflow:auto;padding:4px 4px 12px}.project-asset-relation-drawer .ant-drawer-body{padding:22px 24px 30px}.asset-relation-body{display:flex;flex-direction:column;min-height:100%}.asset-relation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid #edf1f5}.asset-relation-head>div{min-width:0}.asset-relation-head h3{margin:0;color:#1d2d43;font-size:20px;font-weight:700;line-height:1.45;overflow-wrap:anywhere;text-wrap:balance}.asset-relation-head p{margin:7px 0 0;color:#78869a;font-size:13px}.asset-relation-head>.project-asset-status{flex:none;margin-top:1px}.asset-relation-meta{display:grid;grid-template-columns:1fr 1fr 1.4fr;margin:0;padding:15px 0 18px;border-bottom:1px solid #edf1f5}.asset-relation-meta>div{min-width:0;padding-right:16px}.asset-relation-meta>div+div{padding-left:16px;border-left:1px solid #e8edf2}.asset-relation-meta dt{color:#8492a5;font-size:11px}.asset-relation-meta dd{margin:4px 0 0;overflow:hidden;color:#1d2d43;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.asset-relation-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:22px 0 11px}.asset-relation-section-head h4{margin:0;color:#26374d;font-size:13px;font-weight:700}.asset-relation-section-head span{color:#96a1b0;font-size:11px}.asset-relation-graph{display:grid;grid-template-columns:1fr 1fr 1fr;gap:34px;position:relative}.asset-relation-arrow{position:absolute;top:51px;right:-26px;width:18px;height:2px;background:#bfccd9;pointer-events:none}.asset-relation-arrow:after{content:"";position:absolute;top:-3px;right:-1px;width:7px;height:7px;border-top:2px solid #bfccd9;border-right:2px solid #bfccd9;transform:rotate(45deg)}.asset-relation-col{position:relative;min-width:0}.asset-relation-col:last-child .asset-relation-arrow{display:none}.asset-relation-col-label{margin:0 0 8px;color:#7d899a;font-size:11px;font-weight:650}.asset-relation-node{min-height:84px;margin-bottom:8px;padding:10px 12px;border:1px solid #dde4ec;border-radius:6px;background:#fff}.asset-relation-node.is-current{border-color:#5791db;box-shadow:inset 0 0 0 1px #5791db;background:#f7faff}.asset-relation-node b{display:block;color:#1d2d43;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.asset-relation-node span{display:block;margin-top:7px;color:#7f8c9f;font-size:11px;line-height:1.45}.asset-relation-empty{min-height:84px;padding:30px 12px;border:1px dashed #dce4ed;border-radius:6px;color:#b0bac6;font-size:11px;text-align:center}.asset-relation-hops{margin:0;padding:0;border-top:1px solid #edf1f5;list-style:none}.asset-relation-hops li{display:grid;grid-template-columns:92px minmax(0,1fr) 90px;align-items:center;min-height:47px;border-bottom:1px solid #edf1f5}.asset-relation-hops b{min-width:0;overflow:hidden;color:#1d2d43;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.asset-relation-hops span{color:#77869a;font-size:12px}.asset-relation-hops em{color:#8b97a8;font-size:11px;font-style:normal;text-align:right}.asset-relation-actions{display:flex;justify-content:flex-end;padding-top:22px}@media (max-width: 900px){.project-assets-search,.project-assets-select{width:100%;min-width:0}}@media (max-width: 600px){.project-asset-relation-drawer .ant-drawer-body{padding:18px 16px 24px}.asset-relation-meta,.asset-relation-graph{grid-template-columns:1fr}.asset-relation-meta>div{padding:9px 0}.asset-relation-meta>div+div{padding-left:0;border-top:1px solid #edf1f5;border-left:0}.asset-relation-graph{gap:12px}.asset-relation-arrow{display:none}.asset-relation-hops li{grid-template-columns:58px minmax(0,1fr) auto;gap:8px}}.uis{position:fixed;z-index:2200;top:56px;right:28px;bottom:28px;left:28px;display:flex;flex-direction:column;background:#f7f9fc;color:#1e293b;border:1px solid #d7e0ea;border-radius:16px;box-shadow:0 24px 60px #0f172a2e;overflow:hidden}.uis.is-max{top:0;right:0;bottom:0;left:0;border-radius:0;border:0}.uis__bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#fff;border-bottom:1px solid #e6edf5}.uis__bar strong{font-size:14px}.uis__badge,.uis__progress,.uis__chip{font-size:12px;padding:2px 8px;border-radius:999px;background:#eef4ff;color:#1d4ed8}.uis__source{color:#607086;font-size:12px}.uis__bar-actions{margin-left:auto;display:flex;gap:8px}.uis__progress-track{height:3px;background:#e6edf5}.uis__progress-track div{height:100%;background:linear-gradient(90deg,#60a5fa,#2563eb);transition:width .35s ease}.uis__body{flex:1;min-height:0;display:grid;grid-template-columns:220px minmax(0,1fr) 300px}.uis__nav,.uis__side{overflow:auto;background:#fff}.uis__nav{border-right:1px solid #e6edf5;padding:10px}.uis__side{border-left:1px solid #e6edf5;padding:12px;display:flex;flex-direction:column;gap:12px}.uis__group{font-size:11px;color:#64748b;margin:8px 4px 4px}.uis__screen,.uis__step{width:100%;display:flex;align-items:center;gap:8px;text-align:left;border:0;background:transparent;border-radius:8px;padding:7px 8px;cursor:pointer;color:inherit}.uis__screen.is-on,.uis__step.is-on{background:#eaf2ff;color:#1d4ed8}.uis__screen em{margin-left:auto;font-style:normal;font-size:11px;color:#94a3b8}.uis__stage{position:relative;min-width:0;overflow:auto;padding:22px;display:flex;flex-direction:column;gap:12px}.uis__toast{position:sticky;top:0;align-self:center;z-index:2;background:#0f172a;color:#fff;border-radius:999px;padding:6px 14px;font-size:12px;box-shadow:0 8px 20px #0f172a2e}.uis__table{width:100%;border-collapse:collapse;background:#fff}.uis__table th,.uis__table td{text-align:left;padding:6px 8px;border-bottom:1px solid #eef2f6}.uis__table th{color:#64748b;font-weight:600}.uis__table tbody tr{cursor:pointer}.uis__table tbody tr.is-picked{background:#eaf2ff}.uis__window{background:#fff;border:1px solid #dbe3ee;border-radius:14px;box-shadow:0 10px 30px #0f172a0f;padding:16px 18px 18px;animation:uis-in .35s ease}@keyframes uis-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.uis__window-bar{display:flex;align-items:center;gap:8px;margin-bottom:8px}.uis__dots{display:inline-flex;gap:4px}.uis__dots i{width:8px;height:8px;border-radius:50%;background:#e2e8f0;display:block}.uis__dots i:first-child{background:#fb7185}.uis__dots i:nth-child(2){background:#fbbf24}.uis__dots i:nth-child(3){background:#34d399}.uis__desc,.uis__muted,.uis__hint{margin:0;color:#64748b;font-size:12px}.uis__toolbar{display:flex;gap:8px;margin:8px 0;font-size:12px;color:#475569}.uis__form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.uis__field,.uis__label,.uis__grid{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#475569}.uis__grid,.uis__label{grid-column:1 / -1}.uis__field input,.uis__field select{border:1px solid #d7e0ea;border-radius:8px;padding:7px 10px;background:#f8fafc;color:#0f172a}.uis__field.is-hot input,.uis__field.is-hot select,.uis__label.is-hot,.uis__grid.is-hot{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26;animation:uis-pulse 1.2s ease infinite}@keyframes uis-pulse{50%{box-shadow:0 0 0 6px #2563eb14}}.uis__grid{border:1px dashed #cbd5e1;border-radius:10px;padding:10px}.uis__list{display:flex;flex-direction:column;gap:4px}.uis__list-item,.uis__table tr{cursor:pointer}.uis__list-item{text-align:left;border:1px solid transparent;border-radius:6px;background:#fff;padding:6px 8px}.uis__list-item.is-picked,.uis__table tr.is-picked{background:#e8f1ff;border-color:#b9d4f5}.uis__menu{display:flex;flex-direction:column;gap:6px}.uis__grid-empty{color:#94a3b8}.uis__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.uis__press{border:1px solid #d7e0ea;background:#fff;border-radius:8px;padding:7px 12px;cursor:pointer}.uis__press.is-hot{background:#2563eb;color:#fff;border-color:#2563eb;animation:uis-pulse 1.2s ease infinite}.uis__now{display:flex;align-items:baseline;gap:8px;font-size:13px}.uis__now span{color:#64748b}.uis__now em{margin-left:auto;font-style:normal;color:#6d28d9}.uis__side-title{font-size:12px;font-weight:650;margin-bottom:6px}.uis__step i{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e2e8f0;font-style:normal;font-size:11px;flex:none}.uis__step.is-on i{background:#2563eb;color:#fff}.uis__chain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.uis__chain li{display:flex;gap:8px;align-items:center;border-radius:8px;padding:6px 8px;font-size:12px}.uis__chain b{flex:none}.uis__link{margin-top:8px;width:100%;height:32px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:8px;background:#6aa9d4;color:#fff;font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;box-shadow:0 1px 2px #6aa9d447;cursor:pointer}.uis__link:hover{background:#4f8fb8}.uis__link-name{margin:6px 0 0;font-size:12px;line-height:1.4;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uis__log{min-height:0}.uis__log-line{font-size:12px;padding:4px 0;border-bottom:1px solid #f1f5f9}.uis__log-line.is-behavior_call{color:#1d4ed8}.uis__log-line.is-navigate{color:#6d28d9}.uis__log-line.is-action{color:#0f766e}.uis__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#fff;border-top:1px solid #e6edf5;font-size:12px;color:#64748b}.uis__foot div{display:flex;gap:8px}.uis-tree-play{margin-left:6px;border:0;background:#eaf2ff;color:#1d4ed8;border-radius:999px;font-size:11px;padding:0 6px;cursor:pointer}.ihr{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto;background:radial-gradient(circle at 12% 0%,rgba(109,176,214,.16),transparent 36%),#f6fafc;color:#1d2d43}.ihr.is-max{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2300;background:radial-gradient(circle at 12% 0%,rgba(109,176,214,.18),transparent 32%),#f4f8fb}.ihr-top{display:flex;flex:0 0 auto;align-items:flex-start;gap:16px;padding:14px 16px 12px;border-bottom:1px solid #e6eef5}.ihr-top-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ihr-top-copy b{font-size:16px;line-height:1.45;font-weight:650}.ihr-brief{display:flex;flex-direction:column;gap:8px}.ihr-brief-row{display:grid;grid-template-columns:64px minmax(0,1fr);-moz-column-gap:10px;column-gap:10px;align-items:start}.ihr-brief-row>em{font-style:normal;font-weight:700;font-size:13px;line-height:1.55;color:#111}.ihr-brief-demand,.ihr-brief-goal,.ihr-brief-flow{margin:0;font-size:13px;font-weight:400;line-height:1.55;color:#1d2d43}.ihr-brief-demand{font-weight:700;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ihr-brief-goal,.ihr-brief-flow{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ihr-brief-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.ihr-brief-list li{display:grid;grid-template-columns:1.25em minmax(0,1fr);-moz-column-gap:4px;column-gap:4px;font-size:13px;font-weight:400;line-height:1.55;color:#24364c}.ihr-brief-list i{font-style:normal;color:#7b8b9e}.ihr-top-copy>span,.ihr-foot{color:#64758a;font-size:12px}.ihr-icon,.ihr-controls button,.ihr-code-toggle{height:30px;display:inline-flex;align-items:center;gap:4px;padding:0 10px;border:1px solid #d5e2ee;border-radius:6px;background:#fff;color:#1d2d43;font-size:12px;white-space:nowrap;cursor:pointer}.ihr-icon:hover,.ihr-controls button:hover,.ihr-code-toggle:hover,.ihr-cards button:hover{border-color:#8db9ef;color:#176dde}.ihr-cards.six{grid-template-columns:repeat(6,minmax(0,1fr));gap:0;align-items:end;padding:4px 16px 0;background:transparent;border-bottom:0;overflow:visible;position:relative;z-index:1}.ihr-face{position:relative;min-width:0;margin-bottom:0;padding:6px 8px 8px;border:0;border-radius:0;background:transparent;color:#1d2d43}.ihr-face.on{z-index:1;background:#fff;box-shadow:none}.ihr-face.on:before,.ihr-face.on:after{content:"";position:absolute;bottom:0;width:12px;height:12px;pointer-events:none}.ihr-face.on:before{left:-12px;border-bottom-right-radius:12px;box-shadow:6px 0 #fff}.ihr-face.on:after{right:-12px;border-bottom-left-radius:12px;box-shadow:-6px 0 #fff}.ihr-face:not(.on):after{content:"";position:absolute;right:0;top:22%;width:1px;height:40%;background:#8ea0b3;pointer-events:none}.ihr-cards.six .ihr-face:last-child:not(.on):after,.ihr-cards.six .ihr-face:not(.on):has(+.ihr-face.on):after{content:none}.ihr-cards.six .ihr-face-hit,.ihr-cards.six .ihr-face-more{border:0;background:transparent;box-shadow:none;color:inherit;padding:0}.ihr-cards.six .ihr-face-more{padding:0 6px;color:#8b939e}.ihr-cards.six .ihr-face-hit:hover,.ihr-cards.six .ihr-face-more:hover{border-color:transparent;background:transparent;color:inherit}.ihr-face-hit{display:flex;flex-direction:column;gap:2px;width:100%;min-width:0;padding:0;text-align:left;cursor:pointer}.ihr-cards.six .ihr-face-hit em{display:block;font-style:normal;font-weight:700;font-size:13px;line-height:1.3;color:#111}.ihr-face-hit span{display:block;min-width:0;font-size:12px;font-weight:400;line-height:1.4;white-space:nowrap;overflow:hidden;color:#24364c}.ihr-face-hit span.is-fade{padding-right:40px;-webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.7) 16%,rgba(0,0,0,.38) 42%,rgba(0,0,0,.12) 70%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.7) 16%,rgba(0,0,0,.38) 42%,rgba(0,0,0,.12) 70%,transparent 100%)}.ihr-face-more{position:absolute;right:6px;bottom:5px;height:18px;padding:0 6px;border-radius:4px;background:transparent;color:#8b939e;font-size:11px;line-height:18px;cursor:pointer}.ihr-cards.six .ihr-face-more:hover{color:#5e6874;background:#ffffffb8}.ihr-face-pop{position:fixed;z-index:2400;max-height:min(280px,calc(100vh - 24px));display:flex;flex-direction:column;padding:10px 12px;border:1px solid #d5e2ee;border-radius:8px;background:#fff;box-shadow:0 10px 28px #172a4429;color:#1d2d43}.ihr-face-pop header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.ihr-face-pop header b{font-size:13px;font-weight:700}.ihr-face-pop header button{height:22px;padding:0 8px;border:0;border-radius:4px;background:#eef3f8;color:#3d4f63;font-size:12px;cursor:pointer}.ihr-face-pop p{margin:0;overflow:auto;font-size:13px;font-weight:400;line-height:1.6}.ihr-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:4px 16px 10px}.ihr-cards button{min-width:0;text-align:left;padding:8px 10px;border:1px solid #e1ebf4;border-radius:8px;background:#ffffffeb;cursor:pointer}.ihr-cards button.on{border-color:#4f8fb8;box-shadow:0 0 0 3px #4f8fb829}.ihr-cards em{display:block;color:#6b7c90;font-size:11px;font-style:normal}.ihr-cards strong{display:block;margin-top:3px;font-size:12px;font-weight:650;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihr-stage{flex:1 1 auto;min-height:420px;display:flex;flex-direction:column;gap:6px;padding:0 16px 8px;overflow:hidden;container-type:inline-size;background:#fff}.ihr-cards.six+.ihr-stage{padding-top:6px}.ihr-drawer{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);grid-template-rows:minmax(0,1fr);gap:12px}.ihr-main,.ihr-diff-pane{min-width:0;min-height:0;height:100%;overflow:auto;padding:14px 16px 16px;border:1px solid #e1ebf4;border-radius:12px;background:#fffffff5;box-shadow:0 8px 24px #1d2d430a}.ihr-main h3{margin:0 0 8px;font-size:15px}.ihr-story,.ihr-detail{min-height:0;min-width:0}.ihr-story{display:flex;flex-direction:column;gap:10px}.ihr-rail{flex:0 0 auto;min-height:0;display:flex;align-items:stretch;gap:28px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 4px}.ihr-node{position:relative;flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;width:-moz-max-content;width:max-content;max-width:none;height:76px;min-height:76px;padding:6px 14px;border:1px solid #d7e4ef;border-radius:12px;background:#fff;text-align:left;cursor:pointer;box-sizing:border-box;transition:box-shadow .35s ease,opacity .35s ease,border-color .35s ease}.ihr-node i{display:inline-flex;flex:none;width:18px;height:18px;align-items:center;justify-content:center;border-radius:50%;background:#e7f1f8;color:#3d6f90;font-size:11px;font-style:normal;line-height:18px}.ihr-node b,.ihr-list b,.ihr-code b,.ihr-group>b{display:block;margin-top:6px;font-size:14px;line-height:1.3}.ihr-node b{flex:none;margin-top:0;max-width:none;overflow:visible;font-size:14px;line-height:18px;white-space:nowrap;word-break:keep-all}.ihr-node small{display:block;flex:none;margin-top:0;color:#6b7c90;font-size:11px;line-height:16px;white-space:nowrap}.ihr-node.is-wait{opacity:.42}.ihr-node.is-seen{border-color:#b7d3e6}.ihr-node.is-now{opacity:1;border-color:#4f8fb8;box-shadow:0 4px 14px #4f8fb838}.ihr-node small em{font-style:normal;padding:0 4px;border-radius:3px}.ihr-node small em.is-edit{background:#f6d4d4;color:#9a3e3e}.ihr-node small em.is-touch{background:#fff1c2;color:#7a5b00}.ihr-link,.ihr-link.on{position:absolute;top:50%;right:-19px;width:14px;height:2px;margin-top:-1px;background:#4f8fb8;pointer-events:none;animation:none}.ihr-link:before{content:none}.ihr-link:after,.ihr-link.on:after{content:"";position:absolute;left:100%;top:50%;width:0;height:0;margin-top:-4px;border-style:solid;border-width:4px 0 4px 6px;border-color:transparent transparent transparent #4f8fb8;background:none;transform:none}.ihr-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ihr-controls button.primary{background:#176dde;border-color:#176dde;color:#fff}.ihr-controls button:disabled{opacity:.45;cursor:default}.ihr-controls span{margin-left:auto;color:#64758a;font-size:12px}.ihr-detail{overflow:auto}.ihr-panel{min-height:100%;padding:14px 14px 16px;border:1px solid #e1ebf4;border-radius:12px;background:#fffffff5;box-shadow:0 8px 24px #1d2d430a;animation:ihr-in .35s ease}.ihr-panel h3{margin:0 0 8px;font-size:15px}.ihr-rel,.ihr-note,.ihr-id{margin:0 0 8px;color:#64758a;font-size:12px;line-height:1.5}.ihr-sentence{margin:0 0 10px;font-size:15px;line-height:1.65}.ihr-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.ihr-pills span,.ihr-group em{padding:2px 8px;border-radius:999px;background:#eaf3fa;color:#2f6288;font-size:11px;font-style:normal}.ihr-code-toggle{margin-bottom:8px}.ihr-diff{margin:6px 0 10px;border:1px solid #e1ebf4;border-radius:8px;overflow:auto;background:#f8fbfd;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.55}.ihr-diff div{padding:0 10px;white-space:pre}.ihr-diff .meta,.ihr-diff .hunk{color:#5c7190;background:#eef4f9}.ihr-diff .add{color:#146c3a;background:#e7f6ec}.ihr-diff .del{color:#a12626;background:#fdecec}.ihr-diff .ctx{color:#334155}.ihr-code,.ihr-list{margin:0;padding:0;list-style:none}.ihr-code li,.ihr-list li{padding:8px 0;border-top:1px solid #eef3f8}.ihr-code code{display:block;margin-top:4px;padding:4px 6px;border-radius:4px;background:#f3f7fb;color:#245172;font-size:12px;word-break:break-all}.ihr-code span,.ihr-list span{display:block;margin-top:3px;color:#52667c;font-size:12px;line-height:1.5}.ihr-list button{width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.ihr-group{margin-top:10px}.ihr-group p{margin:6px 0 0;font-size:13px;line-height:1.55}.ihr-foot{margin:0;padding:0 16px 10px}@keyframes ihr-pulse{0%,to{box-shadow:0 10px 28px #4f8fb838}50%{box-shadow:0 0 0 6px #4f8fb829,0 12px 28px #4f8fb847}}@keyframes ihr-draw{0%{transform:scaleX(.2);transform-origin:left center}to{transform:scaleX(1);transform-origin:left center}}@keyframes ihr-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (max-width: 1100px){.ihr-cards,.ihr-cards.six{grid-template-columns:repeat(3,minmax(0,1fr))}.ihr-rail{flex:none}}@container (max-width: 720px){.ihr-drawer{grid-template-columns:1fr;grid-template-rows:minmax(0,1.15fr) minmax(160px,.85fr)}}.ahv{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at 8% 0%,rgba(109,176,214,.16),transparent 34%),#f6fafc;color:#1d2d43}.ahv.is-max{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2300;background:radial-gradient(circle at 8% 0%,rgba(109,176,214,.18),transparent 30%),#f4f8fb}.ahv-top{flex:none;display:flex;align-items:flex-start;gap:12px;padding:14px 16px 6px}.ahv-top>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ahv-top b{font-size:16px;line-height:1.45;font-weight:650}.ahv-top span{color:#5d7186;font-size:12px}.ahv-icon,.ahv-controls button{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 10px;border:1px solid #d5e2ee;border-radius:8px;background:#fff;color:#24425c;font-size:12px;cursor:pointer}.ahv-controls button.primary{border-color:#4f8fb8;background:#4f8fb8;color:#fff}.ahv-controls button:disabled{opacity:.45;cursor:default}.ahv-method{flex:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:4px 16px 8px;list-style:none}.ahv-method li{padding:4px 10px;border-radius:999px;background:#e8f1f8;color:#4d6478;font-size:12px}.ahv-method li.on{background:#1f4f73;color:#fff}.ahv-rail{flex:none;display:flex;gap:10px;overflow-x:auto;padding:6px 16px 10px}.ahv-scroll{flex:1;min-height:0;overflow:auto;padding:0 16px 12px}.ahv-node{flex:0 0 168px;display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid #d7e4ef;border-radius:12px;background:#fff;text-align:left;cursor:pointer}.ahv-node small,.ahv-node em{color:#6b7c90;font-size:11px;font-style:normal}.ahv-node b{font-size:13px;line-height:1.35}.ahv-node.is-wait{opacity:.45}.ahv-node.is-seen{border-color:#b7d3e6}.ahv-node.is-now{border-color:#4f8fb8;box-shadow:0 10px 24px #4f8fb83d;animation:ihr-pulse 1.6s ease-in-out infinite}.ahv-panel{min-width:0;padding:12px 14px;border:1px solid #d7e4ef;border-radius:12px;background:#fff;animation:ihr-in .35s ease}.ahv .ihr-diff{max-width:100%;overflow:auto}.ahv-panel h3{margin:0 0 8px;font-size:15px}.ahv-think,.ahv-point,.ahv-note,.ahv-why{margin:0 0 8px;font-size:13px;line-height:1.6;color:#334155}.ahv-think b{color:#1f4f73}.ahv-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.ahv-pair div{padding:8px 10px;border-radius:8px;background:#f4f8fb}.ahv-pair em{display:block;margin-bottom:4px;color:#6b7c90;font-size:11px;font-style:normal}.ahv-pair b{font-size:13px;line-height:1.45;font-weight:600}.ahv-controls{flex:none;display:flex;align-items:center;gap:8px;padding:8px 16px 12px;border-top:1px solid #e3edf5;background:#f6fafc}.ahv-controls span,.ahv-why{color:#5d7186;font-size:12px}.ahv-why{margin:10px 0 0;padding:0}.change-workbench table.kv{width:100%;table-layout:auto}.change-workbench table.kv td:first-child{white-space:nowrap;padding-right:10px;vertical-align:top}.experience-page{height:calc(100vh - 56px);min-height:0;display:flex;flex-direction:column;gap:14px;padding:18px 20px 16px;background:radial-gradient(900px 280px at 10% -10%,rgba(47,111,173,.14),transparent 60%),radial-gradient(700px 240px at 90% 0%,rgba(15,138,106,.1),transparent 55%),#f3f7fb;color:#172238;overflow:hidden}.xp-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.xp-head h1{display:flex;align-items:center;gap:8px;margin:0;font-size:24px;color:#14324d}.xp-head p{margin:4px 0 0;color:#5c6f86;font-size:13px}.xp-services{display:flex;gap:8px;flex-wrap:wrap}.xp-services span{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#fff;border:1px solid #d7e3ee;color:#7b8ba0;font-size:12px}.xp-services span.on{color:#1769dc;border-color:#b9d4f5;background:#f4f8ff}.xp-layout{flex:1;min-height:0;display:grid;grid-template-columns:250px minmax(0,1fr) 320px;gap:14px}.xp-panel,.xp-graph-card,.xp-result,.xp-ask form,.xp-templates article,.xp-insights article,.xp-seeds article{background:#ffffffeb;border:1px solid #e1ebf3;border-radius:16px}.xp-panel{padding:14px;overflow:auto;display:flex;flex-direction:column;gap:8px}.xp-panel h2,.xp-graph-head h2,.xp-seeds h3{margin:6px 0 0;font-size:13px;color:#5c6f86;font-weight:600}.xp-modes{display:flex;flex-direction:column;gap:6px}.xp-modes button,.xp-engine button,.xp-presets button,.xp-templates button,.xp-result-head button,.xp-seeds button{border:1px solid #e1ebf3;background:#fff;color:#24364c;border-radius:12px;text-align:left;cursor:pointer}.xp-modes button{padding:8px 10px}.xp-modes button strong,.xp-templates strong,.xp-insights strong{display:block;font-size:13px}.xp-modes button span,.xp-templates p,.xp-insights p,.xp-seeds p,.xp-chat p,.xp-placeholder,.xp-stat,.xp-apply-note{color:#5c6f86;font-size:12px;line-height:1.45}.xp-modes button.on,.xp-engine button.on,.xp-result-head button.on{border-color:#1769dc;background:#f3f8ff;box-shadow:0 0 0 3px #1769dc14}.xp-engine{display:grid;grid-template-columns:1fr 1fr;gap:6px}.xp-engine button{text-align:center;padding:7px 0;font-size:12px}.xp-go{margin-top:6px;height:38px;border:0;border-radius:12px;background:linear-gradient(90deg,#1f4f73,#1769dc);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.xp-go:disabled{opacity:.55;cursor:default}.xp-spin{animation:xp-spin .8s linear infinite}@keyframes xp-spin{to{transform:rotate(360deg)}}.xp-stage{min-width:0;min-height:0;display:flex;flex-direction:column;gap:12px;overflow:auto}.xp-graph-card{position:relative;padding:12px 12px 0}.xp-graph-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:0 4px}.xp-graph-head span{color:#5c6f86;font-size:12px}.xp-graph-wrap{position:relative;min-height:220px}.xp-map svg{width:100%;height:auto;display:block}.xp-map line{stroke:#d5e2ee}.xp-map line.on{stroke:#7aa2c9}.xp-map text{font-size:12px;fill:#172238}.xp-map g{cursor:pointer}.xp-map g.is-on circle{stroke:#14324d;stroke-width:3px}.xp-legend{display:flex;gap:12px;flex-wrap:wrap;padding:0 8px;color:#5c6f86;font-size:12px}.xp-legend span{display:inline-flex;align-items:center;gap:5px}.xp-legend i{width:8px;height:8px;border-radius:50%}.xp-map-hint{margin:6px 8px 8px;color:#5c6f86;font-size:12px}.xp-relations{margin:0;padding:0 4px 4px;display:flex;flex-direction:column;gap:6px;max-height:180px;overflow:auto}.xp-relations li{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) minmax(0,1.1fr);gap:8px;align-items:center;font-size:12px;color:#172238}.xp-relations li.alone{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.xp-relations b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xp-relations i{height:1px;background:#8eb4d8}.xp-relations span{color:#3d5168}.xp-scan{position:absolute;top:18px;right:18px;bottom:18px;left:18px;border-radius:50%;pointer-events:none;background:conic-gradient(from 0deg,transparent 0 72%,rgba(23,105,220,.55) 88%,transparent 100%);-webkit-mask:radial-gradient(circle,transparent 58%,#000 60%);mask:radial-gradient(circle,transparent 58%,#000 60%);animation:xp-scan 1.6s linear infinite}@keyframes xp-scan{to{transform:rotate(360deg)}}.xp-stage.is-scanning .xp-graph-card{box-shadow:0 0 0 1px #1769dc40,0 12px 40px #1769dc14}.xp-result{padding:14px}.xp-result-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.xp-result-head h2{margin:0;font-size:18px}.xp-result-head p{margin:6px 0;color:#24364c;font-size:13px;line-height:1.55}.xp-result-head em,.xp-insights em{color:#7b8ba0;font-style:normal;font-size:12px}.xp-result-head button{padding:6px 10px;white-space:nowrap}.xp-insights{display:grid;gap:8px;margin-top:10px}.xp-insights article{padding:10px 12px;transition:box-shadow .25s,border-color .25s}.xp-insights article.is-focus{border-color:#1769dc;box-shadow:0 8px 24px #1769dc1f;scroll-margin:24px}.xp-insights header{display:flex;justify-content:space-between;gap:8px}.xp-insights ul{margin:6px 0 0;display:flex;flex-direction:column;gap:4px}.xp-insights li{font-size:12px;color:#3d5168}.xp-insights b{margin-right:6px;color:#1769dc;font-weight:600}.xp-risks{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.xp-risks span{padding:4px 8px;border-radius:999px;background:#fff6ea;color:#8a5a16;font-size:12px}.xp-seeds{margin-top:12px;display:grid;gap:8px}.xp-seeds article,.xp-templates article{padding:10px 12px;display:flex;flex-direction:column;gap:6px}.xp-seeds article{flex-direction:row;justify-content:space-between;align-items:center}.xp-seeds button,.xp-templates button{padding:6px 10px;font-size:12px;display:inline-flex;align-items:center;gap:4px}.xp-ask form{display:flex;width:100%;box-sizing:border-box;gap:6px;padding:6px}.xp-ask form input{flex:1 1 auto;min-width:0;width:100%;border:0;outline:none;padding:6px 8px;font-size:13px}.xp-ask{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.xp-ask form button{width:32px;height:32px;flex:0 0 auto;border:0;border-radius:10px;background:#1769dc;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.xp-ask form button:disabled{background:#b7c3d1;cursor:default}.xp-presets{display:flex;flex-direction:column;gap:6px}.xp-presets button{padding:7px 8px;font-size:12px;line-height:1.4}.xp-chat{display:flex;flex-direction:column;gap:8px;flex-shrink:0;min-height:140px;max-height:240px;overflow:auto;padding:8px;border-radius:12px;background:#f7fafc;border:1px solid #e1ebf3}.xp-chat article{padding:8px 10px;border-radius:12px;font-size:13px;line-height:1.5}.xp-chat article.user{background:#eaf3ff;color:#17324d;white-space:pre-wrap}.xp-chat article.assistant{background:#f6f8fb;color:#24364c;white-space:normal}.xp-templates{display:flex;flex-direction:column;gap:8px}.xp-templates div{display:flex;gap:6px;flex-wrap:wrap}.xp-templates button.xp-delete{color:#a33b32;border-color:#f0d0cc;background:#fff8f7}.xp-empty,.xp-placeholder{margin:8px 4px 12px}.xp-apply-note{margin:0}.xp-side{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:auto}.xp-frame{background:#ffffffeb;border:1px solid #e1ebf3;border-radius:16px;padding:12px 14px;min-width:0}.xp-frame>header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.xp-frame>header h2{margin:0;font-size:13px;color:#5c6f86}.xp-frame-tools{display:flex;align-items:center;gap:8px;color:#5c6f86;font-size:12px}.xp-frame-tools button,.xp-max{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:8px;border:1px solid #d7e3ee;background:#fff;color:#24364c;font-size:12px;cursor:pointer}.xp-frame .xp-result{background:transparent;border:0;padding:0;border-radius:0}.xp-max-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2390;background:#e8f0f8b8}.xp-frame.is-max{position:fixed;top:20px;right:20px;bottom:20px;left:20px;z-index:2400;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 70px #17305429}.xp-frame.is-max .xp-frame-body{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.xp-frame.is-max .xp-ask,.xp-frame.is-max .xp-chat{flex:1;min-height:0;max-height:none;width:100%}.xp-frame.is-max .xp-ask form{width:100%;flex-shrink:0}.xp-frame.is-max .xp-ask form input{flex:1 1 auto;min-width:0;font-size:15px;padding:10px 12px}.xp-frame.is-max .xp-ask form button{width:44px;height:44px}.xp-refine-note{margin:0;color:#5c6b7a;font-size:12px;line-height:1.55}.xp-refine-diff{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;background:#f4f7fb;border-radius:10px;font-size:12px;line-height:1.5}.xp-refine-diff h4{margin:0 0 4px;font-size:12px;color:#1769dc}.xp-refine-diff p{margin:0 0 4px;color:#314155}.xp-map line.hot{stroke:#1769dc}.xp-map g.is-dim{opacity:.28}.xp-profile{display:grid;grid-template-columns:220px minmax(0,1fr);gap:14px;align-items:center}.xp-orbit{position:relative;height:220px}.xp-orbit-ring{position:absolute;top:28px;right:28px;bottom:28px;left:28px;border-radius:50%;border:1px dashed #b7cbe0;animation:xp-spin 28s linear infinite}.xp-orbit strong{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:96px;text-align:center;font-size:13px;color:#14324d}.xp-orbit span{position:absolute;transform:translate(-50%,-50%);max-width:92px;padding:2px 6px;border-radius:999px;background:#f4f8ff;border:1px solid #d5e4f4;color:#3d5168;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xp-profile-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.xp-profile-cols section{min-width:0}.xp-profile-cols h3{margin:0;font-size:13px;color:#172238}.xp-profile-cols header span{display:block;margin:2px 0 8px;color:#7b8ba0;font-size:11px}.xp-profile-cols ul{margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.xp-profile-cols button{width:100%;padding:6px 8px;text-align:left;border-radius:10px;display:flex;flex-direction:column;gap:4px;align-items:stretch}.xp-profile-cols button.on{border-color:#1769dc;background:#f4f8ff}.xp-profile-cols b{font-size:12px;font-weight:600;color:#172238}.xp-profile-cols i{display:block;height:6px;border-radius:999px;background:linear-gradient(90deg,#8eb4d8,#1769dc);transform-origin:left center;animation:xp-bar .55s ease}.xp-profile-cols em{font-style:normal;font-size:11px;color:#5c6f86}@keyframes xp-bar{0%{transform:scaleX(.2)}to{transform:scaleX(1)}}.xp-frame.is-max .xp-profile{grid-template-columns:280px minmax(0,1fr);align-items:start;padding-top:12px}@media (max-width: 1100px){.experience-page{height:auto;overflow:auto}.xp-layout{grid-template-columns:1fr}}.ihr-cards.seven{grid-template-columns:repeat(7,minmax(0,1fr))}.ihr-cards.seven strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}@media (max-width: 1200px){.ihr-cards.seven{grid-template-columns:repeat(4,minmax(0,1fr))}}.overview-diff-flag{display:inline-grid;place-items:center;flex-shrink:0;min-width:14px;height:14px;padding:0 3px;border-radius:3px;font-size:9px;font-style:normal;font-weight:700;line-height:1}.overview-diff-flag.is-added{background:#e3f4e9;color:#2f8a5b}.overview-diff-flag.is-updated{background:#e6f1fc;color:#2b74b8}.overview-diff-flag.is-removed{background:#eef1f5;color:#8695a6}.overview-diff-count{display:inline-flex;align-items:center;gap:4px;margin-left:2px;padding:0;background:transparent;font-size:10px;font-weight:600}.overview-diff-count>span{padding:0 4px;border-radius:3px;line-height:15px}.overview-diff-count>.is-added{background:#e3f4e9;color:#2f8a5b}.overview-diff-count>.is-updated{background:#e6f1fc;color:#2b74b8}.overview-diff-count>.is-removed{background:#eef1f5;color:#8695a6}.overview-diff-ins{background:#e3f4e9;color:#2a7b50;text-decoration:none;border-radius:2px}.overview-diff-del{background:#f6eaea;color:#a2625f;text-decoration:line-through;border-radius:2px}.overview-diff-rewritten{display:inline-block;margin-right:6px;padding:0 5px;border-radius:3px;background:#eef1f5;color:#7c8b9c;font-size:10px;line-height:16px}.overview-diff-old{display:block;color:#97a3b1;font-size:11px;text-decoration:line-through}.requirement-chapter-list{display:flex;flex-direction:column;gap:6px}.requirement-chapter-card{padding:7px 9px;border:1px solid #e6edf4;border-radius:6px;background:#fbfcfe}.requirement-chapter-card.is-diff-added,.requirement-chapter-card.is-diff-updated{position:relative;border-color:#e9cd96;background:#fffaf0}.requirement-chapter-card.is-diff-added:before,.requirement-chapter-card.is-diff-updated:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:#e0a043}.requirement-chapter-diff-tag{flex-shrink:0;padding:0 5px;border-radius:3px;background:#fbe6bd;color:#915d0c;font-size:9px;font-weight:700;line-height:15px;white-space:nowrap}.requirement-chapter-head{display:flex;align-items:center;gap:6px;width:100%;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.requirement-chapter-head>i{flex-shrink:0;padding:1px 5px;border-radius:3px;background:#eaf2fb;color:#2b74b8;font-size:9px;font-style:normal;font-weight:700;letter-spacing:.04em}.requirement-chapter-head>b{color:#2a3b50;font-size:12px;font-weight:650}.requirement-chapter-count{color:#8a97a7;font-size:10px;white-space:nowrap}.requirement-chapter-stats{display:flex;gap:5px;margin-left:auto;font-size:10px;font-weight:700}.requirement-chapter-stats>em{padding:1px 5px;border-radius:3px;font-style:normal;white-space:nowrap}.requirement-chapter-stats>.is-plus{color:#1f7a4c;background:#daf0e3}.requirement-chapter-stats>.is-minus{color:#a8432c;background:#f8ddd3}.requirement-chapter-stats>.is-edit{color:#1f6aab;background:#dcecf9}.requirement-chapter-chevron{flex-shrink:0;color:#9aabbb;transition:transform .16s ease}.requirement-chapter-card.is-open .requirement-chapter-chevron{transform:rotate(180deg)}.requirement-chapter-card.is-active{border-color:#b6d5ec;box-shadow:0 0 0 2px #5f97c11f}.requirement-chapter-summary{margin:4px 0 0;color:#5c6f86;font-size:11px;line-height:1.5}.requirement-chapter-items{display:flex;flex-direction:column;gap:3px;margin:5px 0 0;padding:0;list-style:none}.requirement-chapter-items>li{display:flex;align-items:flex-start;gap:4px;padding:2px 4px;border-radius:4px;color:#45576d;font-size:11px;line-height:1.55}.requirement-chapter-items>li:before{content:"·";flex-shrink:0;color:#9aa8b8}.requirement-chapter-item-body{flex:1;min-width:0}.requirement-chapter-items>li.is-diff-added{background:#e4f5ea}.requirement-chapter-items>li.is-diff-updated{background:#e3f0fb}.requirement-bp-wrap{position:relative;margin:8px 0 4px;border:1px solid #e3edf5;border-radius:8px;background:radial-gradient(circle at 50% 46%,#fbfdff,#f4f9fd 62%,#eef5fb);overflow:hidden}.requirement-bp-wrap.is-empty{display:flex;align-items:center;justify-content:center;color:#93a3b4;font-size:11px;text-align:center}.requirement-bp-wrap .react-flow{width:100%;height:100%}.requirement-bp-wrap .react-flow__controls{box-shadow:none}.requirement-bp-wrap .react-flow__controls-button{border-bottom-color:#eaf1f7;background:#fff}.requirement-bp-wrap .requirement-bp-node{padding:6px 8px;border:1px solid transparent;border-radius:8px;background:#fff;color:#33506b;font-size:10px;line-height:1.3;text-align:left;box-shadow:0 1px 2px #3a60800d,0 6px 16px #3a60800a}.requirement-bp-wrap .requirement-bp-node.is-root{padding:8px 10px;background:linear-gradient(150deg,#f5faff,#e9f3fc);text-align:center;box-shadow:0 2px 6px #3a608012}.requirement-bp-root>b{display:block;color:#2a5f8a;font-size:11px}.requirement-bp-root>span{display:block;color:#8aa0b4;font-size:9px}.requirement-bp-chapter{display:flex;flex-direction:column;gap:5px}.requirement-bp-chapter-head{display:flex;align-items:center;gap:5px}.requirement-bp-chapter-head>i{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 3px;border-radius:4px;background:#eef5fc;color:#5b8db3;font-size:9px;font-style:normal;font-weight:600}.requirement-bp-chapter-head>b{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2f4a63;font-size:10.5px;font-weight:650}.requirement-bp-chapter-head>span{flex:0 0 auto;color:#8ba0b4;font-size:9px}.requirement-bp-family-bar{display:flex;gap:1px;height:4px;border-radius:2px;overflow:hidden;background:#eef3f8}.requirement-bp-family-bar>i{display:block;min-width:3px;border-radius:2px}.requirement-bp-family-bar>i.is-empty{flex:1;background:#e6edf4}.requirement-bp-family-tags{display:flex;flex-wrap:wrap;gap:2px 6px;font-size:9px;line-height:1.2}.requirement-bp-family-tags>em{font-style:normal;font-weight:600;letter-spacing:.2px}.requirement-bp-family-tags>em.is-more,.requirement-bp-family-tags>em.is-empty{color:#a3b2c2;font-weight:500}.requirement-bp-family-tags>em.is-plus{color:#4c9a6f}.requirement-bp-family-tags>em.is-edit{color:#5f97c1}.requirement-bp-family-tags>em.is-minus{color:#c07a5e}.requirement-bp-node.is-chapter.is-diff-added,.requirement-bp-node.is-chapter.is-diff-updated{border-color:#e9cd96;background:#fffaf0}.requirement-bp-node.is-chapter.is-active{border-color:#8cb8da;box-shadow:0 0 0 2px #5f97c129}.requirement-bp-legend{position:absolute;right:8px;bottom:6px;display:flex;gap:8px;color:#8b9aab;font-size:9px;pointer-events:none}.requirement-bp-legend>span{display:inline-flex;align-items:center;gap:3px}.requirement-bp-legend i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#c9dbe8}.requirement-bp-legend i.is-added{background:#7cc39a}.requirement-bp-legend i.is-updated{background:#7fb3d8}.requirement-bp-switch{margin-left:auto;display:inline-flex;align-items:center;padding:2px;border-radius:5px;background:#f1f6fb}.requirement-bp-switch>button{display:inline-flex;align-items:center;gap:3px;height:22px;padding:0 7px;border:none;border-radius:4px;background:transparent;color:#7d92a8;font-size:11px;cursor:pointer}.requirement-bp-switch>button:hover{color:#3f6f96}.requirement-bp-switch>button.is-on{background:#fff;color:#2a5f8a;font-weight:600;box-shadow:0 1px 2px #3a608014}.requirement-result-scroll>section>header .requirement-bp-switch+.requirement-overview-view{margin-left:6px}.requirement-journey{margin:8px 0 4px;padding:9px 10px 10px;border:1px solid #e3edf5;border-radius:8px;background:linear-gradient(180deg,#fbfdff,#f5f9fd);overflow:auto}.requirement-journey-summary{margin-bottom:6px}.requirement-journey-summary>span{color:#93a4b5;font-size:10px}.requirement-journey-list{position:relative;display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.requirement-journey-list>li{position:relative;padding-left:16px}.requirement-journey-list>li:before{content:"";position:absolute;left:5px;top:0;bottom:0;width:1px;background:#e1ebf4}.requirement-journey-list>li:first-child:before{top:12px}.requirement-journey-list>li:last-child:before{bottom:calc(100% - 14px)}.requirement-journey-list>li:after{content:"";position:absolute;left:2px;top:10px;width:7px;height:7px;border-radius:50%;background:#a9c6dd}.requirement-journey-row{display:flex;gap:8px;width:100%;padding:4px 6px 6px;border:none;border-radius:6px;background:transparent;text-align:left;cursor:pointer}.requirement-journey-row:hover{background:#f0f6fc}.requirement-journey-row.is-active{background:#eaf3fb;box-shadow:inset 0 0 0 1px #cfe2f2}.requirement-journey-mark{flex:0 0 auto;display:flex;align-items:center;gap:4px;padding-top:1px}.requirement-journey-mark>i{color:#5b8db3;font-size:10px;font-style:normal;font-weight:700;letter-spacing:.3px}.requirement-journey-mark>em{padding:0 4px;border-radius:3px;background:#e6f2fb;color:#4a86ad;font-size:8px;font-style:normal}.requirement-journey-body{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;gap:4px}.requirement-journey-line{display:flex;align-items:center;gap:6px}.requirement-journey-line>b{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2f4a63;font-size:11px;font-weight:650}.requirement-journey-line>em{color:#93a4b5;font-size:9px;font-style:normal}.requirement-journey-count{flex:0 0 auto;color:#7d92a8;font-size:9px}.requirement-journey-row.is-latest .requirement-journey-line>b{color:#2a5f8a}.requirement-result-tags span.is-added,.requirement-result-tags.role span.is-added{background:#e3f4e9;color:#2f8a5b}.requirement-result-tags span.is-updated,.requirement-result-tags.role span.is-updated{background:#e6f1fc;color:#2b74b8}.requirement-result-tags span.is-removed,.requirement-result-tags.role span.is-removed{background:#eef1f5;color:#8695a6}.requirement-result-tags span>s{color:#97a3b1;font-size:10px;text-decoration:line-through}.requirement-rule-table tbody tr.is-added td{background:#f3faf5}.requirement-rule-table tbody tr.is-updated td{background:#f5faff}.requirement-rule-table tbody tr.is-added td:first-child{box-shadow:inset 2px 0 #2f8a5b}.requirement-rule-table tbody tr.is-updated td:first-child{box-shadow:inset 2px 0 #2b74b8}.requirement-process-preview-steps li.is-diff-added button{background:#f3faf5;box-shadow:inset 2px 0 #2f8a5b}.requirement-process-preview-steps li.is-diff-updated button{background:#f5faff;box-shadow:inset 2px 0 #2b74b8}.requirement-process-preview-steps li.is-diff-removed button{color:#8695a6;text-decoration:line-through}.requirement-rf-node.is-diff-added,.requirement-rf-node.is-diff-updated,.requirement-rf-node.is-diff-removed{position:relative}.requirement-rf-node.is-diff-added{outline:2px solid #63b184;outline-offset:2px}.requirement-rf-node.is-diff-updated{outline:2px solid #7fb0e0;outline-offset:2px}.requirement-rf-node.is-diff-removed{outline:2px dashed #b3bdc8;outline-offset:2px}.requirement-rf-node.is-diff-added:after,.requirement-rf-node.is-diff-updated:after,.requirement-rf-node.is-diff-removed:after{position:absolute;top:-8px;right:-8px;width:15px;height:15px;display:grid;place-items:center;border:1.5px solid #fff;border-radius:50%;color:#fff;font-size:9px;font-weight:700;line-height:1}.requirement-rf-node.is-diff-added:after{content:"＋";background:#2f8a5b}.requirement-rf-node.is-diff-updated:after{content:"改";background:#2b74b8}.requirement-rf-node.is-diff-removed:after{content:"−";background:#8695a6}.overview-diff-removed{margin-top:6px;color:#8695a6;font-size:11px}.overview-diff-removed>summary{cursor:pointer;color:#7c8b9c;list-style:none}.overview-diff-removed>summary::-webkit-details-marker{display:none}.overview-diff-removed>summary:before{content:"▸";margin-right:4px;font-size:9px}.overview-diff-removed[open]>summary:before{content:"▾"}.overview-diff-removed ul{margin:4px 0 0;padding-left:16px;line-height:1.6}.overview-diff-removed li{text-decoration:line-through}.requirement-result-foot>span.requirement-overview-diff-foot{display:inline-flex;align-items:center;gap:8px;overflow:visible;color:#8a5a12;font-weight:600}@media (prefers-reduced-motion: reduce){.requirement-result-scroll>section.has-diff{animation:none}}.simulate-panel{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;box-sizing:border-box;padding:10px 12px 12px;background:#fff}.stage-ipo-process .simulate-panel{padding:12px 16px 16px}.simulate-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.simulate-target-label{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 8px;border-radius:6px;background:#eef6fb;color:#4a82a8;font-size:12px}.simulate-report-select{flex:1 1 180px;width:auto;min-width:160px;max-width:100%}.simulate-upstream{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#6b7c93;font-size:12px}.simulate-upstream .ant-select{flex:1 1 220px;min-width:200px}.simulate-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#8492a5;font-size:12px}.simulate-meta .ant-tag{margin-inline-end:0}.simulate-chips{display:flex;flex-wrap:wrap;gap:6px}.simulate-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;background:#f1f7fc;color:#4a6b85;font-size:11px}.simulate-chip>b{color:#8492a5;font-weight:500}.simulate-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e6eef5;border-radius:10px;background:#fbfdff}.simulate-frame{flex:1;width:100%;min-height:0;border:0;background:#f6f7f9}.simulate-logs{flex:1;min-height:0;margin:0;padding:12px 14px;overflow:auto;white-space:pre-wrap;word-break:break-word;background:#f6f9fc;color:#33475b;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.simulate-empty{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;color:#8492a5;font-size:12px;text-align:center}.simulate-error{flex:1;display:flex;flex-direction:column;gap:8px;padding:14px;overflow:auto;color:#b4483a;font-size:12px}.simulate-error>svg{flex:0 0 auto}.simulate-error pre{margin:0;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.6}.stage-ipo.requirement-chat .stage-ipo-body.is-process-hidden{grid-template-columns:272px minmax(0,1fr)}.stage-ipo.requirement-chat .stage-ipo-body.is-process-hidden.is-input-collapsed,.stage-ipo.requirement-chat .stage-ipo-body.is-process-hidden.is-input-hidden{grid-template-columns:minmax(0,1fr)}.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-process-hidden{grid-template-columns:272px minmax(0,1fr)}.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-process-hidden.is-input-collapsed,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-process-hidden.is-input-hidden{grid-template-columns:minmax(0,1fr)}@media (max-width: 1600px){.stage-ipo.requirement-chat .stage-ipo-body.is-process-hidden,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-process-hidden{grid-template-columns:272px minmax(0,1fr)}}@media (max-width: 1280px){.stage-ipo.requirement-chat .stage-ipo-body.is-process-hidden,.stage-ipo.requirement-chat.is-silent .stage-ipo-body.is-process-hidden{grid-template-columns:224px minmax(0,1fr)}}.stage-ipo.requirement-chat:not(.is-silent) .stage-ipo-body:not(.is-process-hidden){--req-pool-width: 280px;--req-output-width: 340px;grid-template-columns:var(--req-pool-width) minmax(0,1fr) var(--req-output-width)}.stage-ipo.requirement-chat:not(.is-silent) .stage-ipo-body:not(.is-process-hidden).is-input-collapsed,.stage-ipo.requirement-chat:not(.is-silent) .stage-ipo-body:not(.is-process-hidden).is-input-hidden{grid-template-columns:minmax(0,1fr) var(--req-output-width)}.stage-ipo.requirement-chat:not(.is-silent) .stage-ipo-body:not(.is-process-hidden).is-output-collapsed,.stage-ipo.requirement-chat:not(.is-silent) .stage-ipo-body:not(.is-process-hidden).is-output-hidden{grid-template-columns:var(--req-pool-width) minmax(0,1fr)}.stage-ipo.requirement-chat:not(.is-silent) .stage-ipo-body:not(.is-process-hidden).is-input-collapsed.is-output-collapsed,.stage-ipo.requirement-chat:not(.is-silent) .stage-ipo-body:not(.is-process-hidden).is-input-hidden.is-output-collapsed,.stage-ipo.requirement-chat:not(.is-silent) .stage-ipo-body:not(.is-process-hidden).is-input-collapsed.is-output-hidden,.stage-ipo.requirement-chat:not(.is-silent) .stage-ipo-body:not(.is-process-hidden).is-input-hidden.is-output-hidden{grid-template-columns:minmax(0,1fr)}@media (max-width: 1600px){.stage-ipo.requirement-chat:not(.is-silent) .stage-ipo-body:not(.is-process-hidden){--req-pool-width: 280px;--req-output-width: 320px}}@media (max-width: 1280px){.stage-ipo.requirement-chat:not(.is-silent) .stage-ipo-body:not(.is-process-hidden){--req-pool-width: 240px;--req-output-width: 280px}}.stage-ipo.requirement-chat .stage-ipo-body{grid-template-rows:auto minmax(0,1fr);row-gap:0}.stage-ipo.requirement-chat .stage-ipo-input .stage-ipo-pane-head,.stage-ipo.requirement-chat .stage-ipo-output .stage-ipo-pane-head{height:auto;min-height:44px;padding-top:6px;padding-bottom:6px;flex-wrap:wrap;row-gap:4px}.stage-ipo.requirement-chat .stage-ipo-input{grid-column:1;grid-row:1 / span 2}.stage-ipo.requirement-chat .stage-ipo-band{grid-column:2 / -1;grid-row:1;min-width:0}.stage-ipo.requirement-chat .stage-ipo-process{grid-column:2;grid-row:2;border-top-left-radius:0;border-top-right-radius:0}.stage-ipo.requirement-chat .stage-ipo-output{grid-column:3;grid-row:2;border-top-left-radius:0;border-top-right-radius:0}.stage-ipo.requirement-chat .stage-ipo-body.is-process-hidden .stage-ipo-band,.stage-ipo.requirement-chat .stage-ipo-body.is-process-hidden .stage-ipo-output{grid-column:2}.stage-ipo.requirement-chat .stage-ipo-body.is-input-collapsed .stage-ipo-band,.stage-ipo.requirement-chat .stage-ipo-body.is-input-hidden .stage-ipo-band{grid-column:1 / -1}.stage-ipo.requirement-chat .stage-ipo-body.is-input-collapsed .stage-ipo-process,.stage-ipo.requirement-chat .stage-ipo-body.is-input-hidden .stage-ipo-process{grid-column:1}.stage-ipo.requirement-chat .stage-ipo-body.is-input-collapsed .stage-ipo-output,.stage-ipo.requirement-chat .stage-ipo-body.is-input-hidden .stage-ipo-output{grid-column:2}.stage-ipo.requirement-chat .stage-ipo-body.is-process-hidden.is-input-collapsed .stage-ipo-band,.stage-ipo.requirement-chat .stage-ipo-body.is-process-hidden.is-input-hidden .stage-ipo-band,.stage-ipo.requirement-chat .stage-ipo-body.is-process-hidden.is-input-collapsed .stage-ipo-output,.stage-ipo.requirement-chat .stage-ipo-body.is-process-hidden.is-input-hidden .stage-ipo-output{grid-column:1}.req-task-tabs{display:flex;align-items:flex-end;gap:0;min-height:40px;padding:6px 12px 0}.req-task-tab{position:relative;height:34px;margin:0;padding:0 18px;border:0;border-radius:0;background:transparent;color:#1d2d43;font-size:13px;line-height:34px;cursor:pointer}.req-task-tab:focus,.req-task-tab:focus-visible{outline:none}.req-task-tab.on{z-index:1;background:#fff;border-radius:10px 10px 0 0}.req-task-tab.on:before,.req-task-tab.on:after{content:"";position:absolute;bottom:0;width:12px;height:12px;pointer-events:none}.req-task-tab.on:before{left:-12px;border-bottom-right-radius:12px;box-shadow:6px 0 #fff}.req-task-tab.on:after{right:-12px;border-bottom-left-radius:12px;box-shadow:-6px 0 #fff}.req-task-tab:not(.on):after{content:"";position:absolute;right:0;top:22%;width:1px;height:40%;background:#8ea0b3;pointer-events:none}.req-task-tab:last-child:not(.on):after,.req-task-tab:not(.on):has(+.req-task-tab.on):after{content:none}.placeholder\:text-mist\/50::-moz-placeholder{color:#7a8a9980}.placeholder\:text-mist\/50::placeholder{color:#7a8a9980}.hover\:bg-brand\/90:hover{background-color:#6aa9d4e6}.hover\:bg-ink\/10:hover{background-color:#2d3a4a1a}.hover\:bg-ink\/5:hover{background-color:#2d3a4a0d}.hover\:text-brand\/80:hover{color:#6aa9d4cc}.hover\:text-ink:hover{--tw-text-opacity: 1;color:rgb(45 58 74 / var(--tw-text-opacity, 1))}@media (prefers-color-scheme: dark){.dark\:bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}}
