.guided-project{max-width:1280px;margin:0 auto;padding:24px 28px 0;color:var(--ink);font-size:var(--font-md)}.guided-project h1{font-size:var(--font-page);font-weight:600;margin:0 0 10px}.guided-project h2{font-size:var(--font-xl);font-weight:500;margin:0 0 18px}.guided-heading,.guided-actions,.guided-status,.guided-tabs{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.guided-heading{justify-content:space-between;padding-bottom:20px}.guided-status{color:var(--secondary);font-size:var(--font-sm)}.guided-project button,.guided-project input,.guided-project select{font:inherit;min-height:var(--control-md);border:1px solid var(--line);border-radius:6px;background:#fff;padding:5px 10px;color:inherit}.guided-project button:hover{background:var(--hover)}.guided-project button:disabled{opacity:.45;cursor:default}.guided-project .guided-primary{background:var(--accent);color:#fff}.guided-tabs{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.guided-tabs .active{background:var(--selected)}.guided-steps{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden}.guided-steps button{display:flex;align-items:center;gap:10px;min-height:64px;border:0;border-right:1px solid var(--line);border-radius:0;text-align:left}.guided-steps button:last-child{border-right:0}.guided-steps .active{background:#fff4eb;color:#994a16}.guided-steps small{font-size:var(--font-xs);margin-left:auto}.guided-steps span{color:var(--secondary)}.guided-current{padding:18px 0;display:flex;gap:16px;align-items:center;justify-content:space-between}.guided-current p{margin:0}.guided-current>span{color:var(--secondary);white-space:nowrap}.guided-layout{display:flex;flex-direction:column;gap:16px}.guided-reference{order:2}.guided-reference>summary{cursor:pointer;font-weight:500}.guided-layout.wide{grid-template-columns:minmax(0,1fr)}.guided-panel{border:1px solid var(--line);border-radius:10px;padding:20px;background:#fff;min-width:0}.guided-reference{align-self:start}.guided-reference details{margin-top:20px}.guided-project summary{cursor:pointer;line-height:1.7}.guided-project p{line-height:1.65;overflow-wrap:anywhere}.guided-muted{color:var(--secondary)}.guided-object>section{padding:10px 0;border-bottom:1px solid var(--line)}.guided-object strong{font-weight:500}.guided-requirement>div>label{display:flex;align-items:center;margin:0}.guided-project input[type=checkbox]{min-height:auto}.guided-project label{display:grid;gap:8px;margin-bottom:14px;color:var(--secondary)}.guided-requirement{border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:12px}.guided-requirement>div{display:flex;justify-content:space-between;align-items:center;color:var(--secondary)}.guided-requirement textarea{width:100%;resize:vertical;min-height:62px;margin:8px 0;border:1px solid var(--line);border-radius:6px;padding:10px;font:inherit;box-sizing:border-box}.guided-table-scroll{overflow:auto;max-height:480px}.guided-project table{border-collapse:collapse;width:100%;text-align:left}.guided-project td,.guided-project th{border-bottom:1px solid var(--line);padding:10px;font-weight:400;vertical-align:top;min-width:80px}.guided-project th{color:var(--secondary);background:var(--hover)}.guided-value{font-family:inherit;font-size:var(--font-sm);white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto}.guided-observation{background:#fff8e8;padding:12px;border-radius:6px}.guided-fail{color:#a33131}.guided-verdict{margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:8px}.guided-verdict summary span{display:inline-block;min-width:74px}.guided-pass summary span{color:#287443}.guided-fail summary span{color:#a33131}.guided-unverified summary span{color:#8a601b}.guided-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.guided-events{margin-top:16px}.guided-events article{display:flex;gap:16px;align-items:baseline}.guided-events time{color:var(--secondary);font-size:var(--font-xs)}.guided-events p{margin:8px 0}.guided-composer{position:sticky;bottom:0;background:#fff;padding:12px 0;z-index:3}.guided-composer .global-chat{position:static;width:100%;padding:0;margin:0;max-width:none}.guided-preview{position:fixed;top:8%;right:8%;bottom:8%;left:22%;z-index:20;background:#fff;border:1px solid var(--line);box-shadow:0 12px 70px #0003;border-radius:10px;padding:24px;overflow:auto}.guided-preview>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:16px}@media (max-width: 1000px){.guided-layout{grid-template-columns:minmax(0,1fr)}.guided-reference{order:2}.guided-project{padding:16px}.guided-current{align-items:start;flex-direction:column}.guided-steps small{display:none}.guided-preview{top:5%;right:5%;bottom:5%;left:5%}}.guided-current{position:static}.guided-current .guided-todo{display:flex;align-items:center;gap:12px}.guided-current .guided-todo button{white-space:nowrap}.guided-beam{position:relative;border:1px solid var(--line);border-radius:14px;padding:22px 16px 16px;overflow:hidden;background:#f6f8fb;background-image:radial-gradient(rgba(60,80,110,.13) 1px,transparent 1px);background-size:14px 14px}.guided-beam>svg{position:absolute;left:0;top:0;width:100%;height:100%;z-index:1}.guided-beam .cards{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.guided-beam .card{position:relative;display:block;min-height:100px;text-align:left;border-radius:12px;background:#ffffffbd;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(120,135,150,.28);padding:12px 12px 10px;cursor:pointer;font:inherit;color:inherit}.guided-beam .card .n{display:flex;justify-content:space-between;font-size:11px;color:#7a8794;letter-spacing:.04em}.guided-beam .card .n em{font-style:normal}.guided-beam .card .t{font-size:14px;font-weight:500;color:#22303f;margin-top:2px}.guided-beam .card .m{font-size:11px;color:#5f6b78;margin-top:8px;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.guided-beam .done{border-color:#1f9e7a73}.guided-beam .done .n em{color:#1f9e7a}.guided-beam .todo{opacity:.55}.guided-beam .cur{border-color:transparent}.guided-beam .cur .n em{color:#5b7ba6}.guided-beam .cur:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:12px;padding:1.5px;background:conic-gradient(from var(--beam-angle, 0deg),transparent 0 70%,#5b7ba6 82%,#8fd3ff 90%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:guided-beam-spin 2.6s linear infinite;pointer-events:none}.guided-beam .sel{box-shadow:0 0 0 2px #5b7ba659}@property --beam-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@keyframes guided-beam-spin{to{--beam-angle: 360deg}}.guided-beam .light{stroke-dasharray:38 400;animation:guided-beam-flow 2.2s linear infinite}@keyframes guided-beam-flow{to{stroke-dashoffset:-438}}@media (max-width: 1000px){.guided-beam .cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.guided-beam .card .m{display:none}}.guided-link{border:0;background:none;padding:0 2px;color:#1f6f5c;text-decoration:underline;cursor:pointer;font:inherit}.guided-feed article{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;padding:6px 0;border-top:.5px solid var(--line);font-size:13px}.guided-feed article time{color:var(--secondary);font-variant-numeric:tabular-nums}.guided-feed article p{margin:0;white-space:pre-wrap;word-break:break-word}.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))}.challenge-page{--challenge-orange:var(--accent);max-width:1500px;margin:0 auto;padding:6px 12px 24px;color:#182332}.challenge-page button{border:1px solid #e2e6ed;background:#fff;color:inherit;border-radius:9px;padding:10px 18px}.challenge-page button:focus-visible,.challenge-page input:focus-visible{outline:2px solid var(--challenge-orange);outline-offset:3px}.challenge-heading{display:flex;justify-content:space-between;align-items:center}.challenge-heading h1{font-size:var(--font-page);letter-spacing:0;margin:0;font-weight:600}.challenge-heading p{margin:4px 0 20px;color:#778092;font-size:var(--font-md)}.challenge-heading>span{font-size:12px;color:#87909b}.challenge-tabs{display:flex;gap:28px;border-bottom:1px solid #e9ecf1;margin-bottom:20px}.challenge-tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;padding:10px 20px;background:none;color:#7a8290}.challenge-tabs button.selected{color:var(--challenge-orange);border-bottom-color:var(--challenge-orange)}.challenge-title>p{font-size:13px;color:#7c8697;margin:0 0 6px}.challenge-title>p span{color:#a1a8b2}.content .challenge-title h2{font-size:var(--font-xl);font-weight:600;margin:0 0 18px;display:flex;gap:20px;align-items:center}.challenge-title small{font-size:12px;font-weight:400;white-space:nowrap;background:#fff0e5;color:#ad521c;padding:5px 13px;border-radius:30px}.challenge-frame{position:relative;border-radius:14px;overflow:hidden;background:#0b1219;box-shadow:0 3px 12px #0b1c2315}.challenge-art{display:block;width:100%;height:clamp(300px,44vh,540px)}.challenge-page .challenge-fullscreen{position:absolute;right:16px;top:16px;background:#1b2531cf;border-color:#58647370;color:#eef3f8;padding:6px 13px;font-size:12px}.challenge-frame:fullscreen{width:100vw;height:100vh;border-radius:0}.challenge-frame:fullscreen .challenge-art{height:100vh}.challenge-explanation{position:absolute;bottom:20px;left:24px;right:24px;max-width:700px;padding:15px 20px;background:#101a24e8;color:#dae3ed;border-left:2px solid #ff9a45;pointer-events:none}.challenge-explanation strong{font-weight:500}.challenge-explanation p{margin:7px 0 0;color:#b7c3ce;font-size:13px}.challenge-stages{display:grid;grid-template-columns:repeat(4,1fr);margin-top:12px}.challenge-stages button{display:flex;align-items:center;justify-content:center;gap:16px;border:0;border-bottom:3px solid transparent;border-radius:0;padding:16px 6px;color:#657083;background:none}.challenge-stages button.selected{color:var(--challenge-orange);border-bottom-color:var(--challenge-orange)}.challenge-stages svg{width:35px;height:35px;fill:none;stroke:currentColor;stroke-width:1.5}.challenge-invitation{font-size:12px;color:#8a929d;text-align:right;margin:10px 8px 18px}.challenge-controls{display:flex;align-items:center;gap:25px;padding-top:12px;border-top:1px solid #eef0f3}.challenge-page .challenge-primary{background:var(--challenge-orange);color:#fff;border:0;min-width:150px;font-size:16px;padding:12px 25px}.challenge-controls label{display:flex;flex-direction:row-reverse;align-items:center;gap:12px;cursor:pointer;color:#657080}.challenge-controls input{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:0;width:40px;height:23px;border-radius:20px;background:#b6bcc5;position:relative;cursor:pointer;margin:0}.challenge-controls input:before{content:"";position:absolute;width:17px;height:17px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .2s}.challenge-controls input:checked{background:var(--challenge-orange)}.challenge-controls input:checked:before{transform:translate(17px)}.challenge-next{margin-left:auto}.challenge-input{display:flex;gap:10px;border:1px solid #e3e7ed;border-radius:11px;padding:8px 12px;margin-top:13px;box-shadow:0 3px 12px #202a3510}.challenge-input input{flex:1;min-width:0;border:0;background:transparent;outline:none;padding:6px 8px}.challenge-input input::placeholder{color:#969eab}.challenge-input button{border-radius:50%;background:#f1f3f6;width:34px;height:34px;min-height:0;padding:0}.challenge-library-note{color:#959dab;font-size:var(--font-xs);margin:8px 4px}.challenge-message{color:#946330;background:#fff7ed;padding:10px;border-radius:6px}.challenge-history>p{color:#8a929e}.challenge-history>button{display:flex;width:100%;text-align:left;padding:24px;margin-top:12px;gap:20px;align-items:center}.challenge-history>button span{font-size:12px;color:#7b8795}.challenge-history>button strong{flex:1;font-weight:500}@media (max-width:1150px){.challenge-page{padding:0}.challenge-stages button{gap:7px;font-size:12px}.challenge-controls{gap:14px}.challenge-controls label{gap:6px}.content .challenge-title h2{font-size:var(--font-xl)}.challenge-heading h1{font-size:var(--font-page)}.challenge-stages svg{width:25px}}@media (prefers-reduced-motion:reduce){.challenge-controls input:before{transition:none}}:root{--sans: "Segoe UI Variable Text", "Segoe UI", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;--mono: "Cascadia Code", Consolas, monospace;font-family:var(--sans);font-synthesis:none;color:var(--ink);background:var(--soft);--ink: #292d29;--secondary: #596159;--muted: #70786e;--subtle: #7b8278;--accent: #b85b26;--accent-soft: #f8ede4;--line: #dedfd7;--panel: #fdfdf9;--soft: #f3f4ef;--input: #f1f3ed;--hover: #eef0e9;--selected: #e7ebe0;--danger: #b74538;--ok: #397452;--font-xs: 12px;--font-sm: 13px;--font-md: 14px;--font-lg: 16px;--font-xl: 18px;--font-page: 24px;--font-hero: 32px;--font-brand: 16px;--font-metric: 24px;--font-2xs: var(--font-xs);--font-3xs: var(--font-xs);--control-sm: 28px;--control-md: 34px;--control-lg: 38px;--icon-sm: 14px;--icon-md: 16px;--icon-lg: 20px;--radius-control: 7px;--radius-panel: 12px;--radius-modal: 16px;--shadow-panel: 0 2px 8px #28342405;--shadow-float: 0 12px 36px #28342418}*{box-sizing:border-box}body{margin:0;min-width:980px;min-height:100vh;font-size:var(--font-md);line-height:1.5}b,strong{font-weight:600}button,input,textarea,select{font:inherit}button{min-height:var(--control-md);font-size:var(--font-md);cursor:pointer}input,select{min-height:var(--control-md);font-size:var(--font-md)}textarea{font-size:var(--font-md)}button:disabled{cursor:not-allowed;opacity:.42}button:active:not(:disabled){transform:translateY(1px);filter:brightness(.92)}.ui-icon{display:block;flex:0 0 auto;width:var(--icon-md);height:var(--icon-md)}.ui-icon-sm{width:var(--icon-sm);height:var(--icon-sm)}.ui-icon-lg{width:var(--icon-lg);height:var(--icon-lg)}.icon-button{width:var(--control-sm);height:var(--control-sm);min-height:var(--control-sm);padding:0;display:grid;place-items:center}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);height:100vh;overflow:hidden;background:var(--soft)}.sidebar{position:sticky;top:0;height:100vh;padding:18px 14px 14px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column}.brand{height:48px;display:flex;align-items:center;gap:10px;font-size:var(--font-brand);padding:0 8px}.brand b{font-weight:600}.brand img{width:38px;height:38px;border-radius:10px}.new-project{height:40px;border:0;border-radius:10px;background:var(--hover);text-align:left;padding:0 12px;font-weight:400;margin:10px 0 14px;display:flex;align-items:center;gap:8px}.side-title{color:var(--subtle);font-size:var(--font-sm);padding:0 12px}.project-list{min-width:0;display:grid;gap:4px;overflow-x:hidden;overflow-y:auto}.project-entry{min-width:0;position:relative}.project-entry.child{margin-left:18px;width:calc(100% - 18px)}.project-item{width:100%;min-height:44px;border:0;background:transparent;border-radius:10px;padding:8px 38px 8px 12px;display:flex;align-items:center;gap:10px;text-align:left;color:var(--ink)}.project-item:hover{background:var(--hover)}.project-item.selected{background:var(--selected)}.project-entry.child .project-glyph{color:var(--muted)}.project-more{position:absolute;top:8px;right:5px;border:0;border-radius:7px;background:transparent;color:var(--secondary)}.project-more:hover{background:#e3e4e6}.project-menu{position:fixed;z-index:8;width:126px;padding:5px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 8px 24px #1e232824}.project-menu button{width:100%;height:var(--control-md);border:0;border-radius:6px;background:transparent;padding:0 9px;text-align:left}.project-menu button:hover{background:#f7eded}.project-menu button.danger{color:var(--danger)}.project-glyph{width:var(--icon-md);height:var(--icon-md);color:#9ea3aa}.project-copy{min-width:0;flex:1;display:block}.project-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;display:block}.restart-app{height:var(--control-lg);margin-top:auto;border:0;background:transparent;text-align:left;padding:0 10px;color:var(--secondary);display:flex;align-items:center;gap:8px}.restart-app:hover{background:var(--hover)}.side-bottom{border-top:1px solid var(--line);padding-top:12px}.side-pages{margin-top:14px}.side-pages,.side-tools,.side-bottom{display:grid}.side-pages button,.side-tools button,.side-bottom button{height:var(--control-lg);border:0;background:transparent;text-align:left;padding:0 10px;color:var(--secondary);display:flex;align-items:center;gap:8px}.side-pages button:hover,.side-tools button:hover,.side-bottom button:hover{background:var(--hover)}.side-pages button.active,.side-tools button.active,.side-bottom button.active{background:var(--selected);color:var(--ink)}.workspace{position:relative;min-width:0;height:100vh;padding:8px 8px 8px 0;display:grid;grid-template-rows:56px minmax(0,1fr)}.topbar{height:56px;background:#fff;border-radius:0 12px 0 0;border-bottom:1px solid var(--line);padding:0 20px;display:flex;align-items:stretch;justify-content:space-between}.add-feature{border:0;background:transparent;color:var(--ink);padding:0 12px;font-size:var(--font-sm);font-weight:500;white-space:nowrap}.add-feature:hover{background:var(--hover)}.project-topline{display:flex;align-items:stretch;min-width:0}.project-topline>span{display:flex;align-items:center;gap:6px;margin-left:18px;color:var(--muted);font-size:var(--font-sm);white-space:nowrap}.project-topline>span b{color:var(--ink);font-weight:500}.project-topline>span em{font-style:normal;color:#9a9ea5}.project-topline>span button{border:0;background:transparent;color:#376791;padding:5px 7px}.cognition-tabs{display:flex;align-items:stretch;gap:2px}.cognition-tab{position:relative;border:0;background:transparent;color:var(--muted);padding:0 12px;font-size:var(--font-sm);font-weight:400;white-space:nowrap}.cognition-tab.active{color:var(--ink);font-weight:500}.cognition-tab.active:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--accent)}.steps{display:flex;align-items:stretch;gap:2px}.step{position:relative;border:0;background:transparent;color:var(--muted);padding:0 12px;font-size:var(--font-sm);font-weight:400;white-space:nowrap}.step span{display:inline-grid;place-items:center;width:18px;height:18px;margin-right:6px;border-radius:50%;background:#edeff1;font-size:var(--font-xs)}.step.active{color:var(--ink);font-weight:500}.step.active:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--accent)}.step.active span{background:var(--accent);color:#fff}.state{align-self:center;border-radius:999px;padding:7px 12px;background:#f1f2f4;color:#656a72;font-size:var(--font-xs)}.state-live{background:#e7f4ec;color:#27734b}.state-failed,.state-live_error,.state-no_executor{background:#fcebea;color:#b63e3e}.content{min-height:0;overflow-y:auto;contain:paint;padding:20px 24px;background:#fff}.content.project-content{overflow:hidden}.content h2{font-size:var(--font-xl);line-height:1.4;font-weight:500}.content h3{font-size:var(--font-lg);line-height:1.4;font-weight:500}.global-error{position:fixed;top:72px;right:24px;z-index:10;max-width:520px;background:#2b2d31;color:#fff;padding:11px 13px;border-radius:9px;box-shadow:0 10px 28px #00000029;display:flex;gap:14px;align-items:center}.global-error button{border:0;color:#ffbf62;background:transparent;white-space:nowrap}.new-screen{min-height:calc(100vh - 220px);display:flex;flex-direction:column;justify-content:center;align-items:center}.new-heading{text-align:center;margin-bottom:24px}.new-heading h1{margin:0;font-size:var(--font-hero);line-height:1.25;font-weight:400}.composer{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 20px #1e23280f}.composer.large{width:min(760px,90%);padding:12px 14px}.folder-row{height:40px;background:var(--soft);border-radius:8px;display:flex;align-items:center;gap:8px;padding:0 11px}.folder-row>button{flex:0 0 auto;margin-left:-8px}.folder-row code{font-family:inherit;flex:0 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-right:2em}.folder-row button,.attach{height:var(--control-sm);min-height:var(--control-sm);border:0;background:transparent;color:var(--muted)}.attachment-list{display:flex;gap:8px;flex-wrap:wrap;padding:10px 0 2px}.attachment-list>span{background:#f3f4f5;border:1px solid #e3e5e8;border-radius:8px;padding:5px 7px 5px 9px;font-size:var(--font-sm);display:inline-flex;align-items:center;gap:6px}.attachment-list button{width:24px;height:24px;min-height:24px;border:0;background:transparent;color:#999;padding:0;display:grid;place-items:center}.composer textarea{width:100%;border:0;resize:none;outline:0;padding:14px 6px;color:var(--ink);background:transparent;line-height:1.55}.composer-actions{display:flex;align-items:center;gap:12px}.composer-actions .attach{margin-right:auto;color:var(--secondary);padding:0 5px;display:flex;align-items:center;gap:6px}.submit{width:var(--control-lg);height:var(--control-lg);min-height:var(--control-lg);flex:0 0 var(--control-lg);padding:0;border-radius:50%;border:0;color:#fff;background:#232529;display:grid;place-items:center}.submit-busy{font-size:var(--font-lg);line-height:1}.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:18px}.page-heading h1{margin:0;font-size:var(--font-page);line-height:1.4;font-weight:400}.heading-actions{display:flex;align-items:center;gap:8px}.page-heading button,.heading-actions button,.review-actions button,button.primary{border-color:#24262a;background:#24262a;color:#fff}.request-card{width:min(780px,100%);margin:0 auto 14px;border-radius:10px;padding:12px 14px;background:var(--hover);color:var(--ink)}.request-card small{color:var(--muted)}.request-card p{margin:5px 0 0;white-space:pre-wrap;line-height:1.55}.request-card span{display:block;margin-top:9px;color:var(--muted);font-size:var(--font-xs)}.event-stream{width:min(780px,100%);margin:auto;display:grid}.waterfall-item{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;padding:0 0 12px}.waterfall-item:not(:last-child):before{content:"";position:absolute;left:13px;top:28px;bottom:0;width:1px;background:var(--line)}.event-mark{position:relative;z-index:1;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#e6f4ec;color:var(--ok);font-size:var(--font-xs);font-weight:500}.waterfall-item.failed .event-mark{background:#fae8e7;color:var(--danger)}.waterfall-item.user .event-mark{background:#27292d;color:#fff;font-size:var(--font-xs)}.event-copy{min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}.waterfall-item.running .event-copy{border-color:#b9dfc7;background:#fbfefc}.waterfall-item.user .event-copy{width:fit-content;max-width:82%;margin-left:auto;background:#f3f4f5}.event-title{min-height:18px;font-size:var(--font-lg);font-weight:400}.event-title time{float:right;margin-left:18px;color:#a2a6ad;font-size:var(--font-xs);font-weight:400}.event-copy p{margin:5px 0 0;color:var(--secondary);line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.event-copy ul{margin:8px 0 0;padding:8px 10px 8px 26px;border-radius:8px;background:var(--soft);color:var(--secondary);line-height:1.55}.chat-decision{display:flex;gap:8px;margin-top:10px}.chat-decision button{min-height:var(--control-md);border:1px solid #dadde1;border-radius:8px;background:#fff;padding:0 12px}.event-thought{margin-top:9px;color:#277451;font-size:var(--font-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-cards{width:23px;height:17px;display:flex;align-items:flex-end;justify-content:center;gap:2px}.run-cards i{width:3px;height:8px;border-radius:3px;background:var(--ok);opacity:.22;animation:run-card-sweep 1.1s ease-in-out infinite}.run-cards i:nth-child(2){height:12px;animation-delay:.12s}.run-cards i:nth-child(3){height:15px;animation-delay:.24s}.run-cards i:nth-child(4){height:10px;animation-delay:.36s}@keyframes run-card-sweep{0%,60%,to{opacity:.22;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:var(--font-xs)/1.55 "Cascadia Mono",Consolas,monospace;color:#5e646d;background:#f7f8f9;border-radius:8px;padding:10px;margin:9px 0 0;max-height:300px;overflow:auto}.global-chat{position:relative;z-index:1;min-width:0;padding:8px 24px 12px;background:#fff;border-radius:0 0 12px}.project-workspace{min-height:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden}.project-workspace-scroll{min-height:0;overflow-y:auto}.project-workspace .global-chat{border-top:1px solid var(--line);border-radius:0}.composer.compact{position:static;width:min(780px,100%);margin:0 auto;display:flex;align-items:center;padding:2px 6px 2px 10px}.composer.compact textarea{width:auto;min-width:0;flex:1;padding:10px 5px}.executor-control{position:relative;flex:0 0 auto;color:var(--secondary)}.executor-control summary{min-height:var(--control-sm);max-width:240px;padding:0 5px;border-radius:7px;display:flex;align-items:center;gap:5px;cursor:pointer;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--font-sm)}.executor-control summary::-webkit-details-marker{display:none}.executor-control summary:hover{background:var(--hover)}.executor-control summary:focus-visible{outline:1px solid var(--line)}.executor-menu{position:absolute;z-index:12;right:0;bottom:calc(100% + 7px);min-width:290px;padding:5px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 10px 28px #1e232829}.executor-menu button{width:100%;min-height:var(--control-lg);padding:7px 9px;border:0;border-radius:7px;background:transparent;color:var(--ink);display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:6px;text-align:left;white-space:nowrap}.executor-menu button:hover,.executor-menu button[aria-selected=true]{background:var(--hover)}.executor-menu button span{color:var(--ok)}.executor-empty{flex:0 0 auto;padding:0 5px;color:var(--muted);font-size:var(--font-sm)}.global-chat .chat-reply{width:min(780px,100%);margin:0 auto 8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 6px 20px #1e23281a;display:grid;gap:4px}.chat-reply small,.chat-reply span{color:var(--muted)}.chat-reply.requirement{border-color:#b9dfc7}.chat-reply.unclear,.chat-reply.uncertain{border-color:#efc985}.notice{padding:13px 15px;border-radius:10px;margin-bottom:14px}.notice.warning{background:#fff4df;color:#8b5a14}.assertion-list{display:grid;gap:10px}.assertion{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:10px}.assertion.critical{border-left:4px solid var(--accent);background:#fffaf1}.assertion.excluded{opacity:.52}.check{width:24px;height:24px;min-height:24px;padding:0;border-radius:6px;border:1px solid #cfd2d7;background:#27292d;color:#fff;display:grid;place-items:center}.assertion-meta{display:flex;gap:8px;align-items:center}.assertion-meta span{font-size:var(--font-xs);border-radius:999px;background:#f0f1f3;padding:4px 7px;color:#6e747c}.assertion-main p{margin:10px 0 5px;line-height:1.6}.assertion-main small{color:var(--muted)}.assertion-text{width:100%;min-height:60px;margin:8px 0;padding:8px 10px;border:1px solid transparent;border-radius:7px;background:transparent;resize:vertical;font:inherit;line-height:1.6;color:var(--ink)}.assertion-text:hover,.assertion-text:focus{border-color:var(--line);background:#fff;outline:0}.assertion-meta label{display:inline-flex;align-items:center;gap:4px}.assertion-meta select{border:0;background:transparent;color:inherit;font:inherit}.structured{margin-top:10px;padding:9px 10px;border-radius:8px;background:#edf5ff;color:#376791;font-size:var(--font-sm)}.side-effect{margin-top:11px;padding:12px;border:1px solid #efc3c0;background:#fff4f3;border-radius:9px;display:grid;gap:8px}.side-effect>b{color:#b3413b}.side-effect.uncertain{border-color:#efc985;background:#fff9ec}.side-effect.uncertain>b{color:#8a5b12}.side-effect button{border:1px solid #d8dade;background:#fff;padding:7px 10px;margin-right:8px;border-radius:7px}.side-effect button.selected{border-color:#2e7953;color:#256845;background:#e7f4ec}.side-effect button.selected.danger{border-color:#b3413b;color:#a23530;background:#fde9e7}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:24px}.today-result{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fff}.data-status.available{color:var(--ok)}.data-status.partial{color:#9a630f}.data-status.unavailable,.data-status.missing{color:var(--danger)}.data-status.untested{color:var(--muted)}.today-result h2{margin:0 0 10px;font-size:var(--font-lg)}.empty{color:var(--muted)}.cap-id{font:var(--font-xs) "Cascadia Mono",monospace;color:#777d85}.cap-tags{display:flex;gap:8px;margin-top:12px}.cap-tags span{background:#f4f5f6;border-radius:7px;padding:5px 8px;font-size:var(--font-xs);color:#71767e}.review-actions{display:flex;gap:8px;margin-top:14px}.review-actions input{flex:1;min-width:180px;border:1px solid #d9dce0;border-radius:8px;padding:9px 11px;outline:0}.today-result{margin-bottom:12px}@media (max-width: 1100px){.app-shell{grid-template-columns:230px minmax(0,1fr)}.step{padding:0 8px}.step span{display:none}}.utility-title{align-self:center;font-size:var(--font-lg);font-weight:400}.board-title{display:flex;align-items:center;gap:8px}.board-title .link{color:var(--muted)}.topbar-actions{display:flex;align-items:center}.topbar-actions .back-top{padding:7px 22px;font-weight:600}.utility-title.editing{border:0;border-bottom:1px solid var(--accent);background:transparent;padding:0;outline:none;font:inherit;width:12em}.utility-screen{max-width:1050px;margin:0 auto}.self-cognition-screen,.project-cognition-screen{padding-bottom:28px}.project-cognition-section{margin-bottom:28px}.project-cognition-section h2{margin:0 0 14px;font-size:var(--font-xl);font-weight:500}.project-cognition-flow{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.project-cognition-flow li{min-height:56px;border:1px solid var(--line);border-left:0;display:flex;align-items:center;justify-content:center;gap:8px;background:#fff}.project-cognition-flow li:first-child{border-left:1px solid var(--line);border-radius:10px 0 0 10px}.project-cognition-flow li:last-child{border-radius:0 10px 10px 0}.project-cognition-flow li>span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#fff0d9;color:#9a630f;font-size:var(--font-xs)}.project-cognition-flow b{font-weight:400}.project-cognition-rules{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.project-cognition-rules span{min-height:52px;border:1px solid var(--line);border-radius:9px;display:grid;place-content:center;gap:2px;text-align:center;background:var(--soft);color:var(--secondary)}.project-cognition-rules b{color:var(--ink);font-weight:400}.project-cognition-rules small{color:var(--muted);font-size:var(--font-xs)}.project-skill-table{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.project-skill-head,.project-skill-row{min-height:48px;padding:0 14px;display:grid;grid-template-columns:180px 220px minmax(0,1fr);align-items:center;gap:18px;border-top:1px solid var(--line)}.project-skill-head{min-height:42px;border-top:0;background:var(--soft);color:var(--muted);font-size:var(--font-xs)}.project-skill-row b{font-weight:500}.project-skill-row span{color:var(--secondary)}.cognition-flow{margin:0 0 18px;padding:0 0 16px;border-bottom:1px solid var(--line);list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.cognition-flow li{display:flex;align-items:center;gap:8px;color:var(--muted)}.cognition-flow li>span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#edeff1;font-size:var(--font-xs)}.cognition-flow li.active{color:var(--ink)}.cognition-flow li.active>span{background:#fff0d9;color:#9a630f}.cognition-flow li.done>span{background:#e7f4ec;color:var(--ok)}.cognition-actions{margin:0 0 14px;display:flex;justify-content:flex-end;gap:8px}.cognition-actions button{height:var(--control-md);border:1px solid #dadde1;background:#fff;border-radius:9px;padding:0 14px}.cognition-actions button.primary{border-color:#24262a;background:#24262a;color:#fff}.cognition-status,.cognition-decision,.cognition-files,.cognition-result{margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff}.cognition-status.status-analyzing b,.cognition-status.status-executing b,.cognition-status.status-verifying b{color:#9a630f}.cognition-status.status-completed b,.cognition-status.status-applied b{color:var(--ok)}.cognition-status.status-rolled_back b{color:#9a630f}.cognition-status.status-blocked b,.cognition-status.status-failed b{color:var(--danger)}.cognition-status span{display:block;margin-top:6px;color:var(--secondary);font-size:var(--font-sm);white-space:pre-wrap}.cognition-attempts{margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;gap:8px}.cognition-attempts h2{margin:0 0 4px;font-size:var(--font-sm);font-weight:500;color:var(--muted)}.cognition-attempts div{display:grid;gap:4px;padding-left:10px;border-left:3px solid var(--line)}.cognition-attempts div.passed{border-left-color:var(--ok)}.cognition-attempts div.failed{border-left-color:var(--danger)}.cognition-attempts span{color:var(--secondary);font-size:var(--font-sm);white-space:pre-wrap}.cognition-decision h2{margin:0 0 4px}.cognition-decision dl{margin:0}.cognition-decision dl>div{padding:11px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px}.cognition-decision dt{color:var(--muted)}.cognition-decision dd{margin:0;white-space:pre-wrap}.cognition-files,.cognition-result{display:grid;gap:6px}.cognition-files span,.cognition-result span{color:var(--secondary);font-size:var(--font-sm)}.function-screen{width:min(900px,100%);min-height:100%;margin:0 auto}.function-development-screen{width:100%;max-width:none;height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.function-development-screen>.function-stages,.function-development-screen>.function-bottom-composer{width:min(900px,100%);margin-left:auto;margin-right:auto}.function-waterfall-inner{width:min(900px,100%);margin:0 auto}.function-stages{margin:0 0 20px;padding:0 0 16px;border-bottom:1px solid var(--line);list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.function-stages li{display:flex;align-items:center;justify-content:center;gap:7px;color:var(--muted)}.function-stages li span{width:21px;height:21px;border-radius:50%;background:#edeff1;display:grid;place-items:center;font-size:var(--font-xs)}.function-stages li.active{color:var(--ink)}.function-stages li.active span{background:var(--accent);color:#fff}.function-stages li.done span{background:#e7f4ec;color:var(--ok)}.function-waterfall{min-height:0;overflow-y:auto;padding:0 0 18px}.function-message{width:fit-content;max-width:min(620px,80%);margin:0 0 12px;padding:10px 14px;border-radius:14px}.function-message p{margin:0;white-space:pre-wrap}.function-message.user{margin-left:auto;background:#2b2d31;color:#fff}.function-message.bc{background:var(--soft);color:var(--ink)}.function-analysis-card{width:min(780px,100%);margin:0 auto}.function-card-body{border:1px solid var(--line);border-radius:11px;padding:15px 17px;background:#fff}.function-card-body h2{margin:0 0 10px}.function-card-body dl{margin:0}.function-card-body dl>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:9px 0;border-top:1px solid var(--line)}.function-card-body dt{color:var(--muted)}.function-card-body dd{margin:0;white-space:pre-wrap}.contract-row dd{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.contract-row code{color:#376791}.contract-row span{border-radius:999px;padding:3px 7px;background:#e7f4ec;color:var(--ok);font-size:var(--font-xs)}.contract-row span.new{background:#fff0d9;color:#9a630f}.contract-row small{flex-basis:100%;color:var(--muted)}.function-status{display:block;margin-top:12px;color:#9a630f}.function-status.status-published{color:var(--ok)}.function-status.status-failed,.function-error{color:var(--danger)}.function-bottom-composer{position:relative;margin-top:10px;display:flex;align-items:center;gap:10px;padding:9px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 6px 20px #1e232814}.function-bottom-composer textarea,.pipeline-run-input textarea{flex:1;min-height:48px;border:0;outline:0;resize:none;padding:8px;font:inherit}.function-row-actions button,.pipeline-actions button,.compatible-functions button,.pipeline-screen .heading-actions button{min-height:var(--control-md);border:1px solid #dadde1;border-radius:8px;background:#fff;padding:0 12px}.function-bottom-composer .submit{border:0;border-radius:50%;padding:0;background:#24262a;color:#fff}.pipeline-screen .heading-actions button.primary{border-color:#24262a;background:#24262a;color:#fff}.pipeline-check-result{color:var(--ok);font-size:var(--font-sm);white-space:nowrap}.pipeline-version{margin-left:7px;color:var(--muted);font-size:var(--font-sm);font-weight:400}.pipeline-switch{display:flex;gap:8px;margin-bottom:14px}.pipeline-switch select,.pipeline-switch button{height:var(--control-md);border:1px solid #dadde1;border-radius:8px;background:#fff;padding:0 12px}.pipeline-switch select{min-width:240px}.function-library-list{display:grid;border:1px solid var(--line);border-radius:11px;overflow:hidden}.function-library-list article{padding:12px 17px;background:#fff}.function-library-list article+article{border-top:1px solid var(--line)}.function-library-list article.disabled{opacity:.6}.function-release-head{display:flex;align-items:center;gap:8px}.function-release-head h2{margin:0}.function-release-head span{color:var(--muted)}.function-release-head em{margin-left:8px;color:var(--ok);font-style:normal;font-size:var(--font-sm)}.function-release-head .function-row-actions{margin-left:auto}.function-release-head .function-row-actions button{min-height:30px;padding:0 10px}.function-contract{display:flex;align-items:center;gap:8px;margin:8px 0 0;color:#376791}.function-contract b{font-weight:400}.function-meta{margin:8px 0 0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.function-row-actions{display:flex;gap:8px}.pipeline-list{width:min(780px,100%);margin:0 auto}.pipeline-node{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:12px 14px}.pipeline-node>b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#edeff1}.pipeline-node h2{margin:0 0 5px}.pipeline-node h2 small{color:var(--muted);font-weight:400}.pipeline-node code{color:#376791}.pipeline-actions{display:flex;gap:4px}.pipeline-actions button{width:30px;padding:0}.pipeline-contract-link{min-height:72px;display:grid;place-items:center;color:var(--ok)}.pipeline-contract-link span{height:17px}.pipeline-contract-link code{color:#376791}.pipeline-contract-link b{font-size:var(--font-sm)}.compatible-functions,.pipeline-run,.pipeline-run-input{width:min(780px,100%);margin:18px auto 0}.compatible-functions{border-top:1px solid var(--line);padding-top:14px}.compatible-functions h2{margin:0 0 8px}.compatible-functions button{width:100%;height:auto;padding:9px 11px;display:flex;justify-content:space-between;text-align:left}.compatible-functions button small,.compatible-functions p{color:var(--muted)}.compatible-functions .browse-functions{width:auto;margin-bottom:8px;border:0;background:transparent;padding-left:0;color:var(--ink)}.pipeline-run-input{display:flex;border:1px solid var(--line);border-radius:10px}.pipeline-run{border-top:1px solid var(--line);padding-top:14px}.pipeline-run-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.pipeline-run-head h2{margin:0}.pipeline-run-head span{margin-left:auto;color:var(--muted)}.pipeline-run-head button,.pipeline-run article button{min-height:var(--control-sm);border:1px solid #dadde1;border-radius:7px;background:#fff;padding:0 10px;justify-self:start}.pipeline-run article{display:grid;gap:5px;padding:12px 14px;border:1px solid var(--line);border-radius:10px}.pipeline-run article+article{margin-top:9px}.pipeline-run article span{color:var(--muted);font-size:var(--font-sm)}.pipeline-run article.running{border-color:#c6d8e8}.pipeline-run article.failed{border-color:#e6b4b4}.pipeline-run pre{max-height:280px;margin:4px 0 0;overflow:auto;border-radius:7px;background:#f6f7f8;padding:10px;white-space:pre-wrap}.consensus-screen{padding-bottom:28px}.consensus-screen>.page-heading{justify-content:flex-end}.consensus-instruction{width:100%;min-height:100px;margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;outline:0;resize:vertical;color:var(--ink);background:#fff;line-height:1.6}.consensus-instruction:focus{border-color:#c7cbd0}.consensus-source{min-width:0;margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:16px;background:#fff}.consensus-source>div{min-width:0;flex:1;display:grid;gap:3px}.consensus-source span,.consensus-source small{color:var(--muted);font-size:var(--font-xs)}.consensus-source b,.consensus-source small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.consensus-source code{flex:0 0 auto;padding:5px 8px;border-radius:7px;background:var(--soft);color:var(--secondary);font-size:var(--font-xs)}.consensus-progress{margin-bottom:14px;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.consensus-status{min-height:46px;padding:0 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.consensus-status span{color:var(--muted);font-size:var(--font-xs)}.consensus-status.status-running b{color:#9a630f}.consensus-status.status-agreed b{color:var(--ok)}.consensus-status.status-unresolved b,.consensus-status.status-failed b,.consensus-status.status-stale b{color:var(--danger)}.consensus-progress ol{margin:0;padding:8px 14px;list-style:none}.consensus-progress li{min-height:40px;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:9px;color:var(--muted);border-top:1px solid var(--line)}.consensus-progress li:first-child{border-top:0}.consensus-progress li>span{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#edeff1;color:var(--muted);font-size:var(--font-xs)}.consensus-progress li.done{color:var(--secondary)}.consensus-progress li.done>span{background:#e7f4ec;color:var(--ok)}.consensus-progress li.active{color:var(--ink)}.consensus-progress li.active>span{background:#fff0d9;color:#9a630f}.consensus-message,.consensus-result{margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff}.consensus-message.failed,.consensus-result.unresolved{border-color:#efc3c0;background:#fff7f6;color:#913d39}.consensus-result h2{margin:0}.consensus-result p{margin:5px 0 0;color:var(--muted)}.consensus-result ul{margin:10px 0 0;padding-left:20px}.consensus-result-head{display:flex;align-items:start;justify-content:space-between;gap:16px}.consensus-result-head>span{border-radius:999px;padding:5px 8px;background:#e7f4ec;color:var(--ok);font-size:var(--font-xs)}.consensus-result.agreed pre{max-height:460px;margin-top:14px}.consensus-output{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);display:grid;grid-template-columns:72px minmax(0,1fr);gap:7px 12px}.consensus-output span{color:var(--muted);font-size:var(--font-xs)}.consensus-output b{min-width:0;overflow-wrap:anywhere;font-size:var(--font-sm)}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.metric-row article{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;display:flex;flex-direction:column}.metric-row b{font-size:var(--font-metric);font-weight:500}.metric-row span{color:var(--muted);margin-top:3px}.utility-list{display:grid;gap:8px}.utility-list button{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;text-align:left}.utility-list button:hover{border-color:#cfd2d6;background:var(--hover)}.utility-list span{display:flex;flex-direction:column;gap:4px}.utility-list small{color:var(--muted)}.utility-list em{font-style:normal;color:var(--secondary)}.executor-list{display:grid;gap:12px}.executor-list article{display:flex;flex-wrap:nowrap;gap:10px;align-items:center;overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px}.executor-list article>div{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;flex:0 0 auto}.executor-list article>div.executor-name{min-width:130px}.executor-name .lamp{width:10px;height:10px;border-radius:50%;background:#c9ccd1;flex:0 0 auto}.executor-name .install-cli{min-height:var(--control-sm);height:var(--control-sm);border:1px solid #d9dde1;border-radius:8px;background:#fff;padding:0 10px;font-size:var(--font-xs)}.executor-name .lamp.ok{background:var(--ok)}.executor-name .lamp.warn{background:var(--accent)}.executor-name .lamp.bad{background:var(--danger)}.executor-list article span,.executor-list article em{font-size:var(--font-xs);color:var(--muted);font-style:normal}.executor-list article em.ok{color:#277b55}.executor-list textarea{resize:vertical;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:9px;font-family:Cascadia Mono,Consolas,monospace}.executor-list article .executor-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.executor-connection{flex-wrap:nowrap}.executor-connection>label{display:flex;align-items:center}.executor-connection>label select{min-width:130px}.executor-connection select,.executor-key input{min-height:36px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#fff;color:var(--ink);font:inherit}.executor-key{display:flex;align-items:center;gap:8px}.executor-key input{width:150px}.executor-key button{white-space:nowrap}.settings-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.settings-heading h2{margin:0 0 3px}.settings-heading small{color:var(--muted)}.settings-heading>button,.settings-heading .heading-actions>button{border:1px solid #d9dde1;border-radius:8px;background:#fff;color:var(--ink);padding:8px 12px}.executor-list article>div.executor-model{margin-left:auto;gap:6px}.executor-model select{min-height:36px;width:140px;border:1px solid var(--line);border-radius:8px;padding:0 9px;background:#fff;color:var(--ink)}.executor-model select.executor-effort{width:78px}.executor-model select:disabled{background:var(--soft);color:var(--muted)}.executor-list article .model-error{margin-left:auto;color:var(--danger);white-space:nowrap}.executor-actions button,.executor-list article>button{border:1px solid #d9dde1;border-radius:8px;background:#fff;padding:8px 12px}.executor-actions button:first-child{border-color:#24262a;background:#24262a;color:#fff}.executor-list article.executor-login-card{flex-wrap:wrap}.executor-list article .login-guide,.executor-list article .executor-result{flex:1 1 100%;max-width:none;white-space:normal;overflow:visible}.login-guide{display:flex!important;grid-template-columns:none!important;flex-wrap:nowrap;align-items:center;gap:12px!important;padding:11px 13px;border-radius:9px;background:#f2f7f4;color:#3a5145}.login-guide a{color:#26734f}.login-guide strong{font-size:var(--font-lg);letter-spacing:1px;color:var(--ink)}.login-guide .verification-entry{flex:1 1 auto;display:flex;gap:8px}.login-guide b{white-space:nowrap}.verification-entry input{flex:1;min-width:260px;border:1px solid #cfd9d3;border-radius:8px;padding:9px 11px;background:#fff}.verification-entry button{border:0;border-radius:8px;padding:9px 14px;background:#24262a;color:#fff}.executor-result{margin:0;padding:9px 11px;border-radius:8px;background:#f3f7f5;color:#277b55;font-size:var(--font-sm)}.executor-result.failed{background:#fff1f0;color:var(--danger)}.settings-subtitle{margin:28px 0 12px;font-size:var(--font-xl)}.model-list .mail-fields{flex-wrap:wrap}.model-list .mail-fields input:nth-child(1){width:170px}.model-list .mail-fields input:nth-child(2){width:64px}.model-list .mail-fields input:nth-child(3),.model-list .mail-fields input:nth-child(4){width:190px}.model-list .model-fields input{width:200px}.model-list .model-fields input:nth-child(2){width:150px}.model-list .executor-actions em.ok{color:#277b55}.connection-list article{grid-template-columns:minmax(0,1fr);align-items:start}.connection-list .connection-row,.connection-list .connection-form{grid-column:1;display:flex;align-items:center;gap:8px}.connection-row span{min-width:130px;color:var(--ink)!important;font-size:var(--font-md)!important}.connection-row em{flex:1}.connection-row strong{font-weight:400;font-size:var(--font-sm)}.connection-row strong.ok{color:var(--ok)}.connection-row strong.failed{color:var(--danger)}.connection-form input,.connection-form select{min-width:0;flex:1;border:1px solid var(--line);border-radius:8px;padding:0 9px;background:#fff}.connection-form button,.connection-row button{border:1px solid #d9dde1;border-radius:8px;background:#fff;padding:7px 10px;white-space:nowrap}.connection-row button.quiet-danger{color:var(--danger)}@media (max-width: 900px){.metric-row{grid-template-columns:1fr}.executor-list article{overflow-x:auto}}.output-text{white-space:pre-wrap;margin:0}.capture-binding{margin-left:16px;color:var(--muted);font-size:var(--font-xs)}.capture-binding select{margin-left:4px;font:inherit;border:1px solid var(--line);border-radius:6px;padding:2px 6px}:root{--up: #e5443a;--up-soft: #fdecea;--down: #1fa37a;--teal: #1e9e8c;--teal-soft: #e3f5f2;--warn: #d9931b;--warn-soft: #fbf1dc;--tone-1: #b3261e;--tone-2: #d53f32;--tone-3: #ee6a5c;--tone-4: #f6a19a;--tone-5: #f9d2ce}.board-screen{max-width:1360px;margin:0 auto}.board-screen.wide{max-width:none}.board-screen .top{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:16px}.board-screen .top .actions{display:flex;align-items:center;gap:8px;margin-left:auto}.board-screen .sub{color:var(--muted);font-size:var(--font-sm);margin-top:2px}.board-screen .sub b{color:var(--secondary);font-weight:500}.board-screen .num,.detail .num{font-family:var(--sans);font-variant-numeric:tabular-nums}.board-screen .muted,.detail .muted{color:var(--muted)}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:6px 14px;font:inherit;font-weight:500;cursor:pointer}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.sm{padding:3px 10px;font-size:var(--font-xs)}.btn.danger{color:var(--up)}.btn:disabled{opacity:.5;cursor:default}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:2px 9px;font-size:var(--font-xs);font-weight:500;white-space:nowrap}.pill i{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}.pill.ok{background:var(--teal-soft);color:var(--teal)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.idle{background:var(--hover);color:var(--muted)}.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));grid-auto-rows:360px;gap:14px}.card .body{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:12px}.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px 12px;display:flex;flex-direction:column;gap:12px;position:relative;cursor:pointer;transition:transform .15s,border-color .15s;outline:0;text-align:left;min-width:0;height:100%;box-sizing:border-box;overflow:hidden}.card:hover,.card:focus-visible{transform:translateY(-2px);border-color:var(--teal)}.card.w2{grid-column:span 2}.card .head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.card h2{margin:0;font-size:var(--font-lg);font-weight:500}.card .meta{color:var(--muted);font-size:var(--font-xs);margin-top:2px}.card .meta b{color:var(--secondary);font-weight:500}.head-actions{display:flex;align-items:center;gap:6px;position:relative}.card .menu{border:0;background:transparent;color:var(--muted);font-size:var(--font-lg);line-height:1;cursor:pointer;padding:0 4px}.slot-menu{position:absolute;right:0;top:26px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px -12px #0000004d;display:grid;min-width:120px;z-index:3}.slot-menu button{border:0;background:transparent;text-align:left;padding:8px 12px;font:inherit;cursor:pointer}.slot-menu button:hover{background:var(--hover)}.slot-menu .danger{color:var(--up)}.hero{display:flex;align-items:baseline;gap:12px}.hero .big{font-family:var(--sans);font-size:var(--font-hero);font-weight:500;line-height:1;color:var(--up)}.hero .big.neu{color:var(--ink)}.hero .cap{color:var(--secondary);font-size:var(--font-sm)}.hero .cap b{color:var(--ink);font-weight:500}.ladder{display:flex;height:14px;border-radius:6px;overflow:hidden;gap:2px;background:var(--hover)}.ladder span{display:block;min-width:6px}.ladder-key{display:flex;gap:12px;flex-wrap:wrap;font-size:var(--font-xs);color:var(--muted)}.ladder-key i{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:-1px;margin-right:4px}.tone-1{background:var(--tone-1)}.tone-2{background:var(--tone-2)}.tone-3{background:var(--tone-3)}.tone-4{background:var(--tone-4)}.tone-5{background:var(--tone-5)}.top3{display:flex;flex-direction:column;gap:5px;border-top:1px solid var(--line);padding-top:10px}.row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;font-size:var(--font-sm)}.row b{font-weight:500}.row .tag{font-size:var(--font-xs);color:var(--secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .v{color:var(--up)}.bars{display:flex;flex-direction:column;gap:7px}.bar{display:grid;grid-template-columns:90px 1fr 56px;align-items:center;gap:10px;font-size:var(--font-sm)}.bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar .track{height:11px;background:var(--hover);border-radius:4px;overflow:hidden}.bar .fill{display:block;height:100%;border-radius:4px;background:var(--up)}.bar .fill.down{background:var(--down)}.bar .n{text-align:right;color:var(--secondary);font-size:var(--font-xs)}.dots{display:flex;gap:6px;flex-wrap:wrap}.dot{display:flex;align-items:center;gap:6px;font-size:var(--font-xs);color:var(--secondary);background:var(--hover);border-radius:8px;padding:4px 8px}.dot i{width:9px;height:9px;border-radius:50%;background:var(--teal)}.dot i.bad{background:var(--warn)}.textlist{display:flex;flex-direction:column;gap:6px;font-size:var(--font-sm)}.textlist b{font-weight:500}.textlist span{color:var(--muted);font-size:var(--font-xs);display:block}.kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px 14px;margin:0}.kv div{display:flex;justify-content:space-between;gap:8px;font-size:var(--font-sm)}.kv dt{color:var(--muted)}.kv dd{margin:0}.card .foot{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:var(--font-xs);margin-top:auto}.card .foot .link{color:var(--teal);font-weight:500}.spark{width:100%;height:30px}.spark .area{fill:var(--teal);opacity:.12}.spark .line{fill:none;stroke:var(--teal);stroke-width:2}.spark circle{fill:var(--teal)}.slot{border:1px dashed var(--line);background:transparent;border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;height:100%;box-sizing:border-box;font:inherit;font-size:var(--font-sm);gap:8px}.slot:hover{border-color:var(--teal);color:var(--teal)}.slot b{font-size:var(--font-hero);font-weight:400;line-height:1}.card .empty,.board-screen .empty,.detail .empty,.modal .empty{color:var(--muted);font-size:var(--font-sm);margin:0}.tbl{overflow:auto}.output-table{border-collapse:collapse;width:100%;font-size:var(--font-sm)}.output-table th,.output-table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap}.output-table th{color:var(--muted);font-weight:500}.output-table th.num,.output-table td.num{text-align:right}.output-table td.wrap{white-space:normal;min-width:320px;overflow-wrap:anywhere}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:30;background:#0a0e1673}.modal .box{width:min(760px,92vw);max-height:86vh;overflow:auto;background:#f6f7f9;border:1px solid var(--line);border-radius:16px;padding:20px 22px;box-shadow:0 24px 48px -24px #00000080}.modal h2{margin:0 0 4px;font-size:var(--font-xl);font-weight:600}.modal .hint{color:var(--muted);font-size:var(--font-sm);margin:0 0 12px}.modal h3{font-size:var(--font-sm);color:var(--secondary);margin:16px 0 8px;font-weight:500}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.pick{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;margin-bottom:8px;cursor:pointer}.pick.on{border-color:var(--teal)}.pick b{font-weight:500}.pick .d{color:var(--muted);font-size:var(--font-xs)}.shape{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.shape i{font-style:normal;font-size:var(--font-xs);padding:1px 7px;border-radius:6px;background:var(--hover);border:1px solid var(--line);color:var(--secondary)}.shape i.hit{background:var(--teal-soft);border-color:transparent;color:var(--teal)}.rules{display:flex;flex-wrap:wrap;gap:8px}.rule{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 12px;font-size:var(--font-sm);cursor:pointer;display:flex;flex-direction:column;gap:4px;min-width:150px}.rule.on{border-color:var(--up);background:var(--up-soft)}.rule small{color:var(--muted);font-size:var(--font-xs)}.rule input,.rule select{font:inherit;border:1px solid var(--line);border-radius:6px;padding:2px 6px;width:110px;background:#fff}.rule select{width:100%;max-width:220px}.gsum .ok{color:#277b55;font-size:var(--font-xs)}.grole{font-size:var(--font-xs);padding:1px 6px;border-radius:999px;background:#ffffff40;color:#fff;margin-left:4px;white-space:nowrap}.role-rows{display:flex;flex-direction:column;gap:8px;margin:8px 0}.role-rows label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--font-sm)}.role-rows select{font:inherit;border:1px solid var(--line);border-radius:6px;padding:3px 6px}.after-times{margin-top:6px;padding-top:6px;border-top:1px dashed var(--line);display:flex;flex-direction:column;gap:4px}.examples-row{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.example-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:#fff}.example-card small{display:block;color:var(--muted);margin-top:2px}.upstream-picks{display:flex;flex-direction:column;gap:4px}.upstream-picks label{display:flex;align-items:center;gap:6px;font-size:var(--font-sm);cursor:pointer}.upstream-picks label.on{color:var(--up)}.upstream-picks input{width:auto}.upstream-picks small{color:var(--muted);font-size:var(--font-xs)}.preview{border:1px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;font-size:var(--font-sm);color:var(--secondary);display:grid;grid-template-columns:auto 1fr;gap:4px 12px}.preview b{color:var(--ink);font-weight:500}.detail{display:flex;flex-direction:column}.dhead{border-bottom:1px solid var(--line);padding:4px 0 0}.dhead .back{border:0;background:transparent;color:var(--teal);font:inherit;font-size:var(--font-sm);padding:0;cursor:pointer;margin-bottom:6px;display:block}.dhead .t{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.dhead h2{margin:0;font-size:var(--font-lg)}.dhead .meta{color:var(--muted);font-size:var(--font-xs);margin-top:4px}.dhead-actions{display:flex;gap:8px;align-items:center}.dhead .x{border:1px solid var(--line);background:#fff;border-radius:8px;width:32px;height:32px;font-size:var(--font-md);cursor:pointer;color:var(--secondary)}.detail .tabs{display:flex;gap:4px;margin-top:12px}.detail .tabs button{border:0;background:transparent;font:inherit;color:var(--muted);padding:8px 12px;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px}.detail .tabs button.on{color:var(--ink);border-color:var(--up);font-weight:500}.dbody{padding:18px 0 40px;display:flex;flex-direction:column;gap:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px}.panel h3{margin:0 0 10px;font-size:var(--font-sm);color:var(--secondary);font-weight:500}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:var(--hover);border:1px solid var(--line);border-radius:6px;padding:2px 8px;font:inherit;font-size:var(--font-xs);color:var(--secondary);cursor:pointer}.chip.on{background:var(--up-soft);border-color:transparent;color:var(--up)}.runs{margin:0;list-style:none;background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px 18px}.runs li{display:grid;grid-template-columns:150px 1fr auto;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:var(--font-sm);align-items:center}.runs li:last-child{border-bottom:0}.run-error{color:var(--muted);font-size:var(--font-xs);margin-left:8px;font-style:normal}.search{width:100%;max-width:520px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:9px 14px;font:inherit;margin-bottom:14px;display:block}.lib-list{display:flex;flex-direction:column;gap:10px}.lib{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px;display:grid;grid-template-columns:1fr auto;gap:8px 20px;align-items:center}.lib h2{margin:0;font-size:var(--font-md);font-weight:500;display:inline}.lib .dom{font-size:var(--font-xs);color:var(--muted);margin:0 8px}.lib p{margin:3px 0 0;color:var(--secondary);font-size:var(--font-sm)}.kv-line{display:flex;gap:16px;font-size:var(--font-xs);color:var(--muted);margin-top:6px;flex-wrap:wrap}.kv-line b{color:var(--secondary);font-weight:500}.lib .rename{display:inline-flex;gap:6px;align-items:center}.lib .rename input{font:inherit;border:1px solid var(--line);border-radius:8px;padding:4px 8px;width:260px}.lib .acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.lib .onboard{font-size:var(--font-xs);color:var(--teal);grid-column:1 / -1}@media (max-width: 1100px){.board{grid-template-columns:repeat(2,1fr)}}@media (max-width: 760px){.board{grid-template-columns:1fr}.card.w2{grid-column:auto}.two,.lib{grid-template-columns:1fr}}.resize-grip{position:absolute;left:0;right:0;top:-4px;height:9px;cursor:ns-resize;z-index:2}.resize-grip:after{content:"";position:absolute;left:50%;top:3px;width:36px;height:3px;margin-left:-18px;border-radius:3px;background:var(--line);opacity:0;transition:opacity .15s}.resize-grip:hover:after,.function-bottom-composer:hover .resize-grip:after,.composer.compact:hover .resize-grip:after{opacity:1}.function-message.pending{color:var(--muted)}.function-message .dots{display:inline-flex;gap:3px;margin-left:6px;vertical-align:middle}.function-message .dots i{width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.35;animation:bc-dot 1.2s infinite}.function-message .dots i:nth-child(2){animation-delay:.2s}.function-message .dots i:nth-child(3){animation-delay:.4s}@keyframes bc-dot{0%,80%,to{opacity:.35}40%{opacity:1}}@media (prefers-reduced-motion: reduce){.function-message .dots i{animation:none;opacity:.7}}.pipeline-users{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 14px;color:var(--muted);font-size:var(--font-sm)}.pipeline-users b{color:var(--ink);font-weight:500}.hero-summary{margin:0 0 .75rem;color:var(--secondary);line-height:1.5}.pill.running{background:var(--hover);color:var(--accent)}.pill i.spin{width:10px;height:10px;border-radius:50%;background:none;border:2px solid currentColor;border-right-color:transparent;animation:pill-spin .8s linear infinite}@keyframes pill-spin{to{transform:rotate(360deg)}}.connection-list{display:block;overflow:visible}.connection-list article{display:grid;width:100%;box-sizing:border-box}.connection-list .connection-line{grid-column:1;display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:36px;width:100%}.connection-list .connection-row{display:flex;align-items:center;gap:12px;padding:8px 4px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.connection-list .connection-row:last-child{border-bottom:0}.connection-row span{flex:1 1 auto;min-width:0}.connection-list .connection-row em{margin-left:auto;flex:none}.connection-list .connection-row{padding:12px 8px}.connection-row em{flex:none}.connection-row button{padding:4px 8px}.connection-empty{color:var(--muted);font-size:var(--font-sm)}.connection-add{border:1px dashed #d9dde1;border-radius:999px;background:transparent;padding:6px 12px;color:var(--secondary);white-space:nowrap;margin-left:auto}.connection-list .connection-form{grid-column:1 / -1;flex-wrap:wrap}.connection-form input,.connection-form select{flex:1 1 10rem;height:34px}.connection-heading{margin-top:0}.connection-heading h2{margin:0}.connection-heading>button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.base-chat{margin-top:0}.policy-modes{margin-left:auto;display:flex;gap:6px}.policy-modes button{min-height:36px;padding:0 14px;border:1px solid #d9dde1;border-radius:8px;background:#fff;color:var(--ink)}.policy-modes button.selected{border-color:#24262a;background:#24262a;color:#fff}.policy-modes button:disabled{opacity:.6}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg, #f6f6f4)}.login-card{width:320px;display:flex;flex-direction:column;gap:10px;padding:28px 24px;background:#fff;border:1px solid var(--line);border-radius:14px}.login-brand{font-weight:500;font-size:var(--font-xl);margin-bottom:6px}.login-card input{height:40px;border:1px solid var(--line);border-radius:8px;padding:0 12px;font:inherit}.login-card button.primary{height:40px;border:0;border-radius:8px;background:var(--ink);color:#fff;font:inherit}.login-card button.primary:disabled{opacity:.5}.login-card button.link{border:0;background:transparent;color:var(--secondary);font:inherit}.login-error{margin:0;color:var(--danger);font-size:var(--font-sm)}.login-sent{margin:0;color:var(--secondary);font-size:var(--font-sm)}.remote-switch{display:flex;align-items:center;gap:6px}.members-table{width:100%;border-collapse:collapse}.members-table th,.members-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);font-weight:400}.members-table input[readonly]{width:100%;min-width:260px;height:var(--control-sm);border:1px solid var(--line);border-radius:6px;padding:0 8px;font:inherit}.login-links{flex-wrap:wrap}.login-links{display:flex;justify-content:center;gap:18px}.account-anchor{position:relative;margin-top:10px}.account-pill{width:100%;height:44px;border:0;border-radius:12px;background:transparent;padding:0 8px;display:flex;align-items:center;gap:10px;text-align:left;color:var(--ink)}.account-pill:hover,.account-pill.open{background:var(--hover)}.account-pill .avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:var(--font-sm);flex:0 0 auto}.account-pill b{font-weight:400;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.account-menu{position:absolute;left:0;right:0;bottom:50px;z-index:8;padding:6px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 8px 24px #1e232824;display:grid;gap:2px}.account-menu>button{height:var(--control-md);border:0;border-radius:6px;background:transparent;padding:0 9px;text-align:left;color:var(--ink)}.account-menu>button:hover{background:var(--hover)}.password-form{display:grid;gap:6px;padding:4px}.password-form input{height:var(--control-md);border:1px solid var(--line);border-radius:8px;padding:0 10px;font:inherit}.password-form button{height:var(--control-md);border:1px solid #d9dde1;border-radius:8px;background:#fff}.release-screen{padding-bottom:28px}.release-form{margin-bottom:14px}.release-fields{display:flex;align-items:center;gap:14px;margin-bottom:10px}.release-fields input[type=text]{width:120px;height:var(--control-md);padding:0 10px;border:1px solid var(--line);border-radius:8px;outline:0;background:#fff;color:var(--ink)}.release-fields input[type=text]:focus{border-color:#c7cbd0}.release-fields label{display:flex;align-items:center;gap:6px;color:var(--secondary);font-size:var(--font-sm)}.release-fields button[type=submit]{margin-left:auto}.release-job{margin-bottom:14px;border:1px solid var(--line);border-radius:10px;background:#fff;overflow:hidden}.release-job-head{min-height:46px;padding:0 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.release-job-head span{color:var(--muted);font-size:var(--font-xs)}.release-job.status-running b{color:#9a630f}.release-job.status-done b{color:var(--ok)}.release-job.status-failed b{color:var(--danger)}.release-job pre{max-height:260px;margin:0;padding:10px 14px;overflow:auto;color:var(--secondary);font-size:var(--font-xs);white-space:pre-wrap}.release-job p{margin:0;padding:10px 14px;border-top:1px solid var(--line);color:var(--danger);font-size:var(--font-sm);white-space:pre-wrap}.release-list{display:grid;gap:8px}.release-empty{margin:0;color:var(--muted)}.release-entry{padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#fff}.release-entry-head{display:flex;align-items:center;gap:10px}.release-entry-head small{color:var(--muted);font-size:var(--font-xs)}.release-entry-head button{margin-left:auto}.release-status,.release-flag{border-radius:999px;padding:3px 8px;background:var(--soft);color:var(--muted);font-size:var(--font-xs)}.release-entry.status-current .release-status{background:#e7f4ec;color:var(--ok)}.release-entry.status-withdrawn .release-status{background:#fff7f6;color:#913d39}.release-flag{background:#fff0d9;color:#9a630f}.release-entry p{margin:8px 0 0;color:var(--secondary);font-size:var(--font-sm);white-space:pre-wrap}.chart-block{display:flex;flex-direction:column;gap:2px;min-width:0}.chart{width:100%;min-width:0}.chart-cap{color:var(--muted);font-size:var(--font-xs)}.slot-menu{min-width:150px;max-height:340px;overflow:auto}.slot-menu .sub{padding-left:24px;color:var(--secondary);font-size:var(--font-sm)}.slot-menu .sub.on{color:var(--ink);font-weight:500}.slot-menu .sep{border-top:1px solid var(--line);margin:4px 0}.detail .panel .chart-block{margin-top:4px}.board-screen.docked{height:100%;display:flex;flex-direction:column;min-height:0}.board-screen.docked .top{margin-bottom:12px}.board-scroll{flex:1;min-height:0;overflow-y:auto;padding-bottom:12px}.cards-wrap{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 6px 280px;gap:6px}.cards-wrap .graph-side{overflow:auto}.board-chat{width:100%;margin:0;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:8px}.board-chat .composer.compact{width:100%}.board-chat-log{display:grid;gap:6px;padding:0 4px}.board-chat-item{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;font-size:var(--font-sm)}.board-chat-item .q{color:var(--muted)}.board-chat-item .a{color:var(--ink);line-height:1.5}.board-chat-item .a.failed{color:var(--danger)}.update-toast{position:fixed;right:24px;bottom:24px;z-index:12;width:320px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 10px 28px #0000001f;display:grid;gap:8px}.update-toast-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.update-toast-row>span{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:var(--font-sm);white-space:nowrap}.update-toast-row small{max-width:120px;overflow:hidden;text-overflow:ellipsis;color:var(--danger);font-size:var(--font-xs)}.update-toast-bar{height:4px;border-radius:2px;background:var(--soft);overflow:hidden}.update-toast-bar i{display:block;height:100%;border-radius:2px;background:var(--accent);transition:width .3s}.update-toast button{min-height:var(--control-sm);padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:var(--font-sm)}.update-toast button.quiet{border-color:transparent;color:var(--muted)}.update-toast.state-failed b{color:var(--danger)}.update-toast.state-downloaded b{color:var(--ok)}.side-tools{margin-top:auto;padding-bottom:8px}.side-version-row{margin-top:0;display:flex;align-items:center;gap:8px}.side-version-row .restart-app{margin-top:0;flex:1;min-width:0}.side-version{flex:0 0 auto;padding:0 8px;color:var(--subtle);font-size:var(--font-xs);white-space:nowrap}button.side-version{min-height:var(--control-sm);border:0;background:transparent}button.side-version.new{color:var(--accent)}button.side-version.new:hover{background:var(--hover);border-radius:8px}.rc-list{display:flex;flex-direction:column;gap:12px}.rc-card{border:1px solid var(--line);border-radius:10px;padding:12px 16px;background:#fff}.rc-card h4{margin:0 0 8px;font-size:var(--font-md);font-weight:600}.rc-card section{margin-top:8px}.rc-card h5{margin:0 0 3px;font-size:var(--font-xs);color:var(--muted);font-weight:500}.rc-card section>span{font-size:var(--font-sm);line-height:1.55}.rc-kv{margin:0;display:grid;gap:4px}.rc-kv div{display:grid;grid-template-columns:minmax(90px,200px) 1fr;gap:10px;font-size:var(--font-sm)}.rc-kv dt{color:var(--secondary)}.rc-kv dd{margin:0;white-space:pre-wrap}.rc-table{width:100%;border-collapse:collapse;font-size:var(--font-xs);margin-top:2px}.rc-table th,.rc-table td{text-align:left;padding:4px 8px;border-top:1px solid var(--line);vertical-align:top}.rc-table th{color:var(--muted);font-weight:500;border-top:0}.rc-summary article{padding:8px 0;border-top:1px solid var(--line)}.rc-summary article:first-child{border-top:0}.rc-summary h4{margin:0 0 2px;font-size:var(--font-sm);font-weight:600}.rc-summary p{margin:2px 0 0;font-size:var(--font-xs);line-height:1.5}.rc-muted{color:var(--muted)}.dhead-actions{display:flex;align-items:center;gap:12px}.runs li.run-row{cursor:pointer}.runs li.run-row:hover{background:var(--hover)}.runs li.run-row.on{background:var(--hover);font-weight:500}.view-switch{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.view-switch button{border:0;background:#fff;padding:4px 12px;font:inherit;font-size:var(--font-xs);color:var(--secondary);cursor:pointer;min-height:0}.view-switch button.on{background:var(--teal-soft);color:var(--teal);font-weight:500}.graph-wrap,.graph-wrap *{-webkit-user-select:none;user-select:none}.graph-wrap{display:grid;grid-template-columns:minmax(0,1fr) 6px 280px;gap:6px;height:calc(100vh - 185px);min-height:480px}.graph-splitter{cursor:col-resize;border-radius:3px;background:transparent;position:relative}.graph-splitter:after{content:"";position:absolute;left:2px;top:0;bottom:0;width:2px;border-radius:2px;background:transparent}.graph-splitter:hover:after{background:var(--up)}.graph-canvas{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#f7f7f8}.graph-toolbar{position:absolute;right:12px;top:10px;z-index:5;display:flex;gap:8px;background:#ffffffe6;padding:6px 8px;border-radius:10px;border:1px solid var(--line)}.graph-legend{position:absolute;left:12px;bottom:10px;display:flex;gap:14px;font-size:var(--font-xs);color:var(--muted);background:#ffffffd9;padding:4px 10px;border-radius:8px;pointer-events:none}.graph-legend{pointer-events:auto}.graph-legend label{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.graph-legend input{margin:0;min-height:0;width:12px;height:12px}.graph-legend .lg-btn{border:1px solid var(--line);background:#fff;border-radius:6px;padding:1px 8px;font:inherit;font-size:var(--font-xs);color:var(--secondary);cursor:pointer;min-height:0}.graph-legend i{display:inline-block;width:18px;height:0;border-top:2px solid #5b616a;vertical-align:middle;margin-right:5px}.graph-legend i.lg-data{border-top:2px dashed #7c5cbf}.graph-legend i.lg-evt{width:10px;height:10px;border:0;border-radius:6px;background:#d53f32}.gnode{width:262px;background:#fff;border:1px solid var(--line);border-radius:10px;font-size:13px;color:var(--ink);box-shadow:0 1px 2px #0000000a}.gnode.selected{outline:2px solid var(--accent)}.gnode.running{box-shadow:0 0 0 3px #1e9e8c2e;animation:gpulse 1.6s ease-in-out infinite}@keyframes gpulse{0%,to{box-shadow:0 0 0 2px #1e9e8c1f}50%{box-shadow:0 0 0 6px #1e9e8c38}}.gnode .ghead{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:9px 9px 0 0;background:var(--gc);color:#fff}.gnode .ghead b{font-weight:500;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.gnode .gtype{font-size:var(--font-xs);padding:1px 5px;border-radius:4px;background:#ffffff40}.gnode .glight{width:8px;height:8px;border-radius:50%;background:#ffffff8c}.gnode .glight.on{background:#fff;box-shadow:0 0 6px #fff;animation:gblink 1s infinite}.gnode .glight.bad{background:#ffd2cf}@keyframes gblink{50%{opacity:.35}}.gnode .gpins{display:flex;justify-content:space-between;gap:8px;padding:4px 12px;color:var(--secondary);font-size:12px}.gnode .grefs{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gnode .gsum{padding:6px 12px 2px;font-size:13px}.gnode .gsum b{font-size:var(--font-xl);color:var(--ink)}.gnode .gsum .bad{color:var(--up)}.gnode .gsum .muted{color:var(--muted)}.gnode .gfoot{padding:0 12px 8px;font-size:var(--font-xs);color:var(--muted);font-family:var(--sans)}.pin.react-flow__handle{width:11px;height:11px;border:2px solid #fff;background:#5b616a}.pin-trig.react-flow__handle{border-radius:2px}.pin-trig.react-flow__handle-left{transform:translate(-50%,-50%) rotate(45deg)}.pin-trig.react-flow__handle-right{transform:translate(50%,-50%) rotate(45deg)}.pin-data.react-flow__handle{border-radius:50%;background:#7c5cbf}.gevent{background:#fdecea;color:#a02a22;border:1px solid #f0997b;border-radius:999px;padding:6px 14px 6px 12px;font-size:13px;font-weight:500;white-space:nowrap}.graph-side{border:1px solid var(--line);border-radius:14px;background:#fff;padding:12px;overflow:auto;font-size:13px}.graph-side .gs-title{font-weight:500;margin-bottom:8px}.graph-side .gs-item{border:1px solid var(--line);border-radius:8px;padding:6px 8px;margin-bottom:6px;cursor:grab;background:#fff}.graph-side .gs-item:active{cursor:grabbing}.graph-side .gs-detail{margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.graph-side dl{display:grid;grid-template-columns:44px 1fr;gap:4px 8px;margin:0 0 10px;font-size:12px}.graph-side dt{color:var(--muted)}.graph-side dd{margin:0}.graph-side .muted{color:var(--muted)}.graph-wrap.no-side{grid-template-columns:minmax(0,1fr)}.glane-label{position:absolute;font-size:var(--font-xs);color:#8c929b;background:#f7f7f8;padding:1px 6px;border-radius:6px;pointer-events:none}.gmenu{position:fixed;z-index:30;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 28px -12px #00000059;min-width:180px;padding:6px;font-size:13px}.gmenu .gmenu-title{padding:4px 10px 6px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line);margin-bottom:4px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gmenu>button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:7px 10px;font:inherit;border-radius:6px;cursor:pointer;min-height:0}.gmenu>button:hover{background:var(--hover)}.gmenu>button.danger{color:var(--up)}.gmenu .gmenu-sub{display:flex;align-items:center;gap:4px;padding:4px 10px;color:var(--muted);font-size:12px}.gmenu .gmenu-sub button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:1px 7px;font:inherit;font-size:12px;cursor:pointer;min-height:0}.gmenu .gmenu-sub button.on{background:var(--teal-soft);color:var(--teal);border-color:transparent}.gquick{width:300px}.gquick .gquick-list{max-height:160px;overflow:auto;margin-bottom:6px}.gquick .gquick-list button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:6px 10px;font:inherit;border-radius:6px;cursor:pointer;min-height:0}.gquick .gquick-list button:hover{background:var(--hover)}.gquick .gquick-new textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;padding:8px;font:inherit;font-size:12px;resize:vertical}.gquick .gquick-new>div{display:flex;justify-content:flex-end;gap:6px;margin-top:6px}.gquick .gquick-new>div button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:4px 12px;font:inherit;font-size:12px;cursor:pointer;min-height:0}.gquick .gquick-new>div button.primary{background:var(--teal);border-color:var(--teal);color:#fff}.gquick .gquick-new>div button:disabled{opacity:.5;cursor:default}.pin.react-flow__handle{cursor:crosshair;transition:transform .12s,box-shadow .12s}.pin-data.react-flow__handle-left:hover{transform:translate(-50%,-50%) scale(1.5)}.pin-data.react-flow__handle-right:hover{transform:translate(50%,-50%) scale(1.5)}.pin-trig.react-flow__handle-left:hover{transform:translate(-50%,-50%) rotate(45deg) scale(1.5)}.pin-trig.react-flow__handle-right:hover{transform:translate(50%,-50%) rotate(45deg) scale(1.5)}.react-flow__handle.connectingfrom{box-shadow:0 0 0 4px #2426292e}.react-flow__handle.connectingto.valid{background:#1fa37a!important;box-shadow:0 0 0 5px #1fa37a4d}.react-flow__handle.connectingto:not(.valid){background:#e5443a!important;box-shadow:0 0 0 5px #e5443a40}.react-flow__edge.selected path{stroke-width:3!important}.times-editor{display:flex;flex-direction:column;gap:4px;margin-top:4px}.times-row{display:flex;align-items:center;gap:8px;font-size:var(--font-xs);color:var(--secondary)}.times-row label{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.times-row label input{min-height:0;width:12px;height:12px;margin:0}.times-row .times-del{border:0;background:transparent;color:var(--muted);font-size:14px;cursor:pointer;min-height:0;padding:0 4px}.times-add{border:1px dashed var(--line);background:transparent;border-radius:6px;padding:2px 8px;font:inherit;font-size:var(--font-xs);color:var(--secondary);cursor:pointer;min-height:0;align-self:flex-start}.gs-timeline{display:flex;flex-direction:column;margin-bottom:8px}.gs-feed{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.fc{border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:12px;cursor:pointer;background:#fff;border-left:3px solid #1e9e8c}.fc:hover{background:var(--hover)}.fc-failed{border-left-color:#d53f32}.fc-not_ready{border-left-color:#b9bec7}.fc-stuck{border-left-color:#d53f32;background:#fdecea}.fc-head{display:flex;align-items:center;gap:6px;margin-bottom:4px}.fc-head b{font-weight:600}.fc-ver{font-size:var(--font-xs);padding:0 6px;border-radius:999px;background:#fdecea;color:#a02a22}.fc-time{margin-left:auto;color:var(--muted);font-size:var(--font-xs)}.fc-bad{color:#a02a22}.fc-muted{color:var(--muted)}.fc-line{color:var(--ink)}.fc-foot{color:var(--muted);font-size:var(--font-xs);margin-top:4px}.fc-table{display:block;color:var(--muted);font-size:var(--font-xs);margin-bottom:2px}.fc-row{display:flex;gap:6px;flex-wrap:wrap;padding:2px 0;border-top:1px dashed var(--line)}.fc-row span:empty{display:none}.fc-star{color:#e07b39;font-weight:600}.tl-row{display:grid;grid-template-columns:42px 1fr auto;gap:6px;align-items:center;padding:4px 2px;border-top:1px solid var(--line);font-size:12px;cursor:pointer}.tl-row:first-child{border-top:0}.tl-row:hover{background:var(--hover)}.tl-time{font-family:var(--sans);color:var(--muted)}.tl-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-status{color:var(--muted);font-size:var(--font-xs);white-space:nowrap}.tl-succeeded .tl-status{color:var(--down)}.tl-failed .tl-status{color:var(--up)}.tl-running .tl-status{color:var(--teal)}.tl-skipped .tl-status,.tl-merged .tl-status{color:var(--warn)}.day-scroll{padding:0 2px 40px}.agent-bar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin-bottom:12px;font-size:var(--font-sm)}.agent-bar .t{color:var(--muted);margin-right:6px}.agent-bar .a{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;padding:2px 9px;background:#f7f7f8;font:inherit;cursor:pointer;color:inherit}.agent-bar .a:hover{border-color:var(--teal)}.agent-bar .a i{width:7px;height:7px;border-radius:50%;background:#1e9e8c}.agent-bar .a i.run{background:#3b82f6;box-shadow:0 0 0 3px #dbeafe}.agent-bar .a i.bad{background:#d53f32}.agent-bar .link,.day .link{margin-left:auto;border:0;background:none;color:#3b6fd6;cursor:pointer;font:inherit;padding:0 4px}.day-scroll .board{margin-bottom:12px}.day{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:14px;overflow:hidden}.day .hd{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);background:#fafbfc}.day .hd b{font-size:16px}.day .tag{font-size:11px;padding:1px 8px;border-radius:999px;background:#fdecea;color:#a02a22}.day .tag.gray{background:#eef1f4;color:#555}.day .tag.ok{background:#e6f5f2;color:#0f6f62}.day .hd .meta{margin-left:auto;color:var(--muted);font-size:12px;display:flex;gap:8px;align-items:center}.day .hd .meta .link{margin-left:0}.day .body{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.day .body.one{grid-template-columns:1fr}.day .list{padding:10px 16px 14px;overflow-x:auto}.day-table{width:100%;border-collapse:collapse;font-size:13px}.day-table th{color:var(--muted);font-weight:500;text-align:left;padding:6px;border-bottom:1px solid var(--line);white-space:nowrap}.day-table td{padding:7px 6px;border-bottom:1px dashed var(--line);white-space:nowrap}.day-table td.code{font-family:Consolas,monospace}.day-table td.reason{white-space:normal;color:#555;min-width:160px}.day-table .star{color:#e07b39;font-weight:700}.day-table .pos{color:#c62828;font-weight:600}.day-table .neg{color:#1b7f3b}.day-table .warn{color:#a05a1c;font-size:12px}.day-table .muted,.day .muted{color:var(--muted)}.day-table td.more{text-align:center;border-bottom:0}.day .fold{margin-top:8px;font-size:12px}.day .fold .link{margin-left:0}.day-review{border-left:1px solid var(--line);padding:10px 16px 14px;background:#fcfcfd}.day-review h4{margin:0 0 8px;font-size:13px;color:var(--muted);font-weight:500}.day-review .kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:10px}.day-review .kpi{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff}.day-review .kpi small{display:block;color:var(--muted);font-size:11px}.day-review .kpi b{font-size:20px}.day-review .kpi b.ok{color:#1e9e8c}.day-review .small{font-size:12.5px;margin:0}.day-pending{color:var(--muted);font-size:13px;padding:22px 16px;text-align:center}.day-more{text-align:center;color:var(--muted);font-size:12px;padding:6px}@media (max-width: 900px){.day .body{grid-template-columns:1fr}.day-review{border-left:0;border-top:1px solid var(--line)}}.day-table tr.group td{background:#fafbfc;color:var(--muted);font-size:12px;padding:5px 6px;border-bottom:1px solid var(--line)}.day-table tr.group .link{margin-left:0;padding:0}.fc-exp{border-left-style:dashed;opacity:.9}.fc-tag{font-size:var(--font-xs);padding:0 6px;border-radius:999px;background:#eef1f4;color:#555}.fc-tag.warn{background:#fff4e5;color:#a05a1c}.fc-exp-head{padding:8px 4px 4px;font-size:var(--font-sm)}.fc-exp-head .link{border:0;background:none;color:#3b6fd6;cursor:pointer;font:inherit;padding:0}.day-review .warn{color:#a05a1c}.restart-app:disabled{opacity:.45;cursor:not-allowed}.day-nav{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:var(--font-sm)}.day-nav-label{color:var(--muted)}.day-nav-label b{color:var(--ink)}.day.col{display:flex;flex-direction:column;margin-bottom:0}.day.col .sec{padding:10px 14px 12px;border-bottom:1px solid var(--line)}.day.col .sec:last-child{border-bottom:0}.day.col .sec.grow{flex:1}.day.col .sec h4{margin:0 0 8px;font-size:12px;color:var(--muted);font-weight:500;letter-spacing:.04em}.day.col .hd .meta{display:inline}.day.col .day-table td.reason{min-width:0}.day .lines{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;font-size:12px;margin-bottom:8px}.day .lines div{border:1px solid var(--line);border-radius:8px;padding:6px 8px}.day .lines div b{display:block;font-size:14px}.day .lines div span{color:var(--muted)}.day .kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:8px}.day .kpi{border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:#fff}.day .kpi small{display:block;color:var(--muted);font-size:11px}.day .kpi b{font-size:20px}.day .kpi b.ok{color:#1e9e8c}.day .kpi b.bad{color:#a05a1c}.day .logic{display:grid;gap:8px}.day .logic .row{border-left:3px solid var(--line);padding:2px 10px}.day .logic .row b{display:block;font-size:13px}.day .logic .row span{color:var(--muted);font-size:12px}.day .logic .row.dir{border-left-color:#1e9e8c}.day .note{font-size:12px;color:var(--muted);margin:8px 0 0}.day p.small{margin:6px 0 0;font-size:12px}.btn.share{border-color:#4c7a4e;color:#4c7a4e;font-weight:600}.share-dialog-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#14181c59;z-index:60;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow:auto}.share-dialog{width:min(980px,100%);background:#f3f5f1;color:#1f2328;border-radius:16px;box-shadow:0 24px 60px -20px #00000059;display:grid;grid-template-columns:230px 1fr;overflow:hidden}.sd-side{padding:28px 22px;border-right:1px solid #dfe3e0}.sd-eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#6f7780}.sd-side h2{font-size:26px;margin:6px 0 24px;font-weight:600}.sd-card{background:#fff;border:1px solid #4c7a4e;border-radius:12px;padding:16px}.sd-ico{width:44px;height:44px;border-radius:10px;background:#e7ece5;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:10px}.sd-card b{display:block;font-size:16px}.sd-card small{color:#6f7780;display:block}.sd-card hr{border:0;border-top:1px solid #dfe3e0;margin:10px 0}.sd-side p{color:#6f7780;font-size:12px;margin:18px 0 0;line-height:1.7}.sd-main{padding:28px 30px 22px;position:relative}.sd-close{position:absolute;right:22px;top:20px;font-size:18px;color:#6f7780;border:0;background:none;cursor:pointer}.sd-main h3{font-size:24px;margin:6px 0 4px;font-weight:600}.sd-status{position:absolute;right:56px;top:24px;font-size:12px;border:1px solid #dfe3e0;border-radius:999px;padding:3px 10px;background:#fff;color:#6f7780}.sd-meta{color:#6f7780;font-size:12px;margin-bottom:18px}.sd-box{background:#e7ece5;border-radius:12px;padding:16px 18px;margin-bottom:12px}.sd-box .t{display:flex;justify-content:space-between;font-size:13px;font-weight:600;margin-bottom:10px}.sd-box .t span{font-weight:400;color:#6f7780;font-size:12px}.sd-field{display:block;margin-bottom:12px}.sd-field span{display:block;font-size:12px;color:#6f7780;margin-bottom:5px}.sd-field input,.sd-field textarea{width:100%;box-sizing:border-box;background:#fff;border:1px solid #dfe3e0;border-radius:8px;padding:9px 12px;font:inherit;font-size:14px;color:#1f2328}.sd-thumb{display:grid;grid-template-columns:1fr 150px;gap:14px;align-items:start}.sd-thumb .shot{aspect-ratio:16/9;background:#fff;border:1px solid #dfe3e0;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}.sd-thumb .shot img{width:100%;height:100%;object-fit:cover}.sd-thumb .ops{display:grid;gap:8px}.sd-thumb .ops .btn{text-align:center}.sd-thumb .ops small{color:#6f7780;font-size:11px;text-align:center}.sd-price{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.sd-price .seg{display:inline-flex;border:1px solid #dfe3e0;border-radius:999px;overflow:hidden;background:#fff}.sd-price .seg button{border:0;background:none;padding:6px 16px;font:inherit;font-size:13px;color:#6f7780;cursor:pointer}.sd-price .seg button.on{background:#4c7a4e;color:#fff}.sd-price .amt{display:flex;align-items:center;gap:6px;color:#6f7780;font-size:13px}.sd-price .amt input{width:90px;padding:6px 10px;background:#fff;border:1px solid #dfe3e0;border-radius:8px;font:inherit;color:#1f2328}.sd-price .amt input:disabled{opacity:.5}.sd-foot{display:flex;gap:10px;align-items:center;margin-top:6px}.sd-foot .btn.go{background:#4c7a4e;color:#fff;border-color:#4c7a4e;font-weight:600}.sd-foot .btn:disabled{opacity:.55;cursor:not-allowed}.sd-foot .hint{margin-left:auto;color:#6f7780;font-size:12px}@media (max-width: 760px){.share-dialog{grid-template-columns:1fr}.sd-side{border-right:0;border-bottom:1px solid #dfe3e0}}.market{padding:18px 22px 26px}.mhead{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.mhead h1{font-size:18px;margin:0}.mhead .sub{color:var(--muted);font-size:12px}.mhead .search{margin-left:auto;background:var(--soft, #f6f7f8);border:1px solid var(--line);border-radius:10px;padding:8px 14px;font:inherit;font-size:13px;width:min(320px,100%)}.market .tabs{display:flex;gap:6px;margin-bottom:14px}.market .tabs button{border:1px solid var(--line);border-radius:999px;padding:4px 12px;font:inherit;font-size:12px;color:var(--muted);background:transparent;cursor:pointer}.market .tabs button.on{background:var(--ink);color:#fff;border-color:var(--ink)}.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.mitem{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.mitem .shot{aspect-ratio:16/9;background:#f3f5f1;border-bottom:1px solid var(--line);overflow:hidden}.mitem .shot img{width:100%;height:100%;object-fit:cover;display:block}.mitem .noshot{height:100%;padding:12px;display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start}.mitem .noshot span{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:2px 8px;background:#fff;color:var(--muted)}.mitem .body{padding:12px 14px 14px;display:flex;flex-direction:column;flex:1}.mitem .body b{font-size:15px}.mitem .body p{margin:4px 0 8px;color:var(--muted);font-size:12px;line-height:1.6;min-height:38px;flex:1}.mitem .row{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);flex-wrap:wrap}.mitem .pill{border:1px solid var(--line);border-radius:999px;padding:1px 8px}.mitem .pill.free{color:#4c7a4e;border-color:#4c7a4e}.mitem .pill.paid{color:#a05a1c;border-color:#a05a1c}.mitem .act{display:flex;gap:8px;margin-top:10px}.mitem .act .btn{flex:1;text-align:center}.mitem .act .btn.go{background:#4c7a4e;color:#fff;border-color:#4c7a4e}.mitem .act .btn.dis{color:var(--muted);background:#f3f5f1}.mitem .act .btn.mine{border-color:#e07b39;color:#e07b39}.board-scroll.day-scroll{overflow:hidden;display:flex;flex-direction:column;padding-bottom:0}.board-scroll.day-scroll .day-board.three{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.day-nav{flex:0 0 auto}.day-cols{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}.day.col{height:100%;min-height:0;display:flex;flex-direction:column;margin-bottom:0;overflow:hidden;font-size:12.5px}.day.col .hd{flex:0 0 auto;padding:9px 12px;gap:6px}.day.col .hd b{font-size:15px}.day.col .hd .meta{font-size:11px}.day.col .sec{flex:1 1 50%;min-height:0;overflow:hidden;padding:8px 12px 10px;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;margin:0}.day.col .sec h4{text-align:left;align-self:stretch}.day.col .sec.top{border-bottom:1px solid var(--line)}.day.col .sec h4{flex:0 0 auto;margin:0 0 6px;font-size:11px}.day.col .sec>*:not(h4){min-height:0}.day.col .day-table{font-size:12px}.day.col .day-table th{padding:3px 5px}.day.col .day-table td{padding:4px 5px}.day.col .kpis{gap:6px;margin-bottom:6px}.day.col .kpi{padding:5px 8px}.day.col .kpi b{font-size:18px}.day.col .lines{gap:5px;margin-bottom:6px}.day.col .lines div{padding:4px 7px}.day.col .lines div b{font-size:13px}.day.col .logic{gap:5px}.day.col .logic .row{padding:1px 8px}.day.col .logic .row b{font-size:12px}.day.col .logic .row span{font-size:11px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.day.col .note,.day.col p.small{font-size:11px;margin:4px 0 0}.mkt{display:flex;flex-direction:column;gap:6px}.mkt-title{font-size:11px;color:var(--muted)}.mkt .lines.three{grid-template-columns:repeat(3,1fr);margin-bottom:0}.mkt .lines div b.pos{color:#c62828}.mkt .lines div b.neg{color:#1b7f3b}.mkt-row{font-size:11px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}.mkt-row b{color:var(--ink);font-size:12px}.mkt-row em{font-style:normal;color:#a05a1c}.mkt-dirs{display:grid;gap:4px}.mkt-dirs div{border-left:3px solid #1e9e8c;padding:1px 8px}.mkt-dirs div b{display:block;font-size:12px}.mkt-dirs div span{font-size:11px;color:var(--muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.steps{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px;font-size:12px;flex:0 0 auto}.step{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:999px;padding:2px 9px 2px 7px;background:#fff;color:var(--ink)}.step i{width:7px;height:7px;border-radius:50%;background:#c9ced6}.step.ok i{background:#1e9e8c}.step.soft i{background:#7fcfc4}.step.bad i{background:#d53f32}.step.run i{background:#3b82f6;box-shadow:0 0 0 3px #dbeafe}.step.wait i{background:#e5c07b}.step b{font-weight:600;font-variant-numeric:tabular-nums}.step small{color:var(--muted)}.secs{display:grid;gap:5px}.secrow{border-left:3px solid var(--line);padding:1px 8px}.secrow b{display:block;font-size:12px}.secrow span{font-size:11px;color:var(--muted);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-screen .top .actions .sync-wrap{display:inline-flex;flex-direction:column;align-items:center;gap:2px}.board-screen .top .actions .sync-note{font-size:var(--font-xs);color:var(--secondary);line-height:1;white-space:nowrap}.agent-bar .btn.add{margin-right:6px}.board-name-box{width:min(420px,92vw)}.board-name-box input{width:100%;height:var(--control-lg);padding:0 10px;border:1px solid var(--line);border-radius:8px;font-size:var(--font-md);background:#fff}.composer.large,.composer.large button,.composer.large summary,.composer.large textarea,.composer.large code,.composer.large input{font-family:Microsoft YaHei UI,Microsoft YaHei,PingFang SC,Segoe UI,sans-serif}.folder-spacer{flex:1}.folder-row.web .folder-spacer{display:none}.folder-row.web .board-control .executor-menu{left:0;right:auto}.folder-row .board-control summary{height:var(--control-sm);min-height:var(--control-sm);padding:0 6px;color:var(--muted);font-size:var(--font-md);max-width:260px}.folder-row .board-control .executor-menu{top:calc(100% + 6px);bottom:auto;right:0;left:auto}.settings-section{margin-bottom:22px}.settings-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;min-height:38px}.settings-section-toggle{border:0;background:transparent;padding:4px 8px 4px 0;display:flex;align-items:center;gap:10px;color:var(--ink);min-width:0}.settings-section-toggle:hover b{text-decoration:underline;text-underline-offset:4px}.settings-section-toggle b{font-size:var(--font-xl);font-weight:600;white-space:nowrap}.settings-section-toggle span{color:var(--subtle);font-size:var(--font-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-section-toggle i{flex:0 0 auto;width:0;height:0;border-left:6px solid var(--muted);border-top:4px solid transparent;border-bottom:4px solid transparent;transition:transform .12s ease}.settings-section.open .settings-section-toggle i{transform:rotate(90deg)}.settings-section-head .heading-actions>button{border:1px solid #d9dde1;border-radius:8px;background:#fff;color:var(--ink);padding:8px 12px}.bridge-fields input{min-width:0}.use-switch{flex:0 0 auto;display:flex;align-items:center;gap:6px;margin-left:10px;color:var(--secondary);font-size:var(--font-sm);white-space:nowrap;cursor:pointer}.use-switch input{min-height:0;width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.executor-list article>.use-switch{margin-left:auto}.executor-list article>.executor-model+.use-switch,.executor-list article>.model-error+.use-switch{margin-left:10px}.executor-list article .executor-result{flex:1 1 auto}.executor-list article.executor-login-card .executor-result,.executor-list article.executor-login-card .login-guide{flex:1 1 100%}:root{--ch-bg: #F4F1EA;--ch-case: #E9E5DC;--ch-panel: #D6D3CB;--ch-panel2: #DEDBD3;--ch-line: #B9B5AC;--ch-ink: #111111;--ch-ink2: #3A3A3A;--ch-al: #6E6B64;--ch-dim: #BDB9B0;--ch-org: #FF6600;--ch-grn: #0E9F4A;--ch-red: #FF3B30;--ch-screen: #0A0A0A;--ch-lit: #00FF66;--ch-mono: "IBM Plex Mono", "Cascadia Mono", Consolas, "Courier New", monospace}.chassis-screen{font-family:var(--sans);font-size:var(--font-xs);letter-spacing:0;color:var(--ch-ink);max-width:1480px;margin:0 auto}.chassis-screen b{font-weight:500}.ch-top{display:flex;justify-content:space-between;align-items:center;color:var(--ch-al);font-size:var(--font-2xs);text-transform:none;letter-spacing:0;margin-bottom:10px}.ch-top b{color:var(--ch-ink)}.ch-top .led{display:inline-block;width:7px;height:7px;background:var(--ch-grn);margin-right:8px}.ch-top .led.warn{background:var(--ch-red)}.ch-top .top-act{margin-right:14px;min-height:22px;padding:0 12px;border:1px solid var(--ch-line);background:#fbfaf7;color:var(--ch-ink);font-family:var(--sans);font-size:var(--font-2xs);letter-spacing:0;text-transform:none}.ch-top .top-act.primary{background:var(--ch-org);border-color:var(--ch-org);color:#000}.ch-top .top-act:hover:not(:disabled){filter:brightness(.95)}.ch-case{position:relative;background:var(--ch-case);border:1px solid #C6C2B9;padding:14px 14px 18px;box-shadow:inset 0 0 0 1px #fff,0 30px 60px -40px #00000059}.ch-rail{height:8px;background:repeating-linear-gradient(90deg,#c9c5bc 0,#c9c5bc 6px,#b8b4ab 6px,#b8b4ab 12px);border-top:1px solid #fff;border-bottom:1px solid #A9A59C;margin:0 0 6px}.ch-rail.b{margin:6px 0 0}.ch-row{display:grid;gap:4px}.ch-row>*{min-width:0}.ch-row.ch-stages{grid-template-columns:repeat(8,1fr)}.ch-row.ch-parts{grid-template-columns:repeat(6,1fr);min-height:150px;margin-top:70px}@media (min-width: 1500px){.ch-row.ch-parts{grid-template-columns:repeat(8,1fr)}}.ch-case .m{position:relative;background:var(--ch-panel);border:1px solid var(--ch-line);box-shadow:inset 0 0 0 1px #edeae3;padding:10px 10px 12px;display:flex;flex-direction:column;gap:8px;min-height:250px;cursor:pointer;font:inherit;text-align:left;color:inherit;border-radius:0}.ch-case .m:hover,.ch-case .m:focus-visible{background:var(--ch-panel2);outline:none}.ch-case .m .screw{position:absolute;width:6px;height:6px;border-radius:50%;background:#b3afa6;box-shadow:inset 0 0 0 1.5px #8e8a81}.ch-case .m .screw.tl{left:4px;top:4px}.ch-case .m .screw.tr{right:4px;top:4px}.ch-case .m .screw.bl{left:4px;bottom:4px}.ch-case .m .screw.br{right:4px;bottom:4px}.ch-case .m .hd{display:flex;justify-content:space-between;align-items:baseline;color:var(--ch-al);font-size:var(--font-2xs);text-transform:none;letter-spacing:0;margin-top:4px}.ch-case .m .hd b{color:var(--ch-ink);font-size:var(--font-2xs)}.ch-case .m .hd>*,.shelf .m .hd>*{white-space:nowrap}.ch-case .m .hd .last,.shelf .m .hd .last{letter-spacing:0;text-transform:none}.ch-case .m .hd .last.ok,.shelf .m .hd .last.ok{color:var(--ch-grn)}.ch-case .m .hd .last.fail,.shelf .m .hd .last.fail{color:var(--ch-red)}.ch-case .m.done .hd b,.ch-case .m.active .hd b{color:var(--ch-org)}.ch-case .m.blocked .hd b{color:var(--ch-red)}.ch-case .m .name{font-family:var(--sans, inherit);font-size:var(--font-xs);color:var(--ch-ink2);opacity:0;transition:opacity .1s;height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ch-case .m:hover .name,.ch-case .m .name.on{opacity:1}.ch-case .scr{flex:1;border:1px solid #2a2a2a;background:var(--ch-screen);position:relative;min-height:90px;box-shadow:inset 0 0 12px #000}.ch-case .scr canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.ch-case .scr .t{position:absolute;left:6px;bottom:4px;font-size:var(--font-3xs);letter-spacing:0;color:#8e8b84}.ch-case .m.done .scr .t,.ch-case .m.active .scr .t{color:var(--ch-lit)}.ch-case .m.blocked .scr .t{color:var(--ch-red)}.ch-case .scr.act{display:grid;place-items:center;color:var(--ch-lit);font:inherit;font-size:var(--font-sm);letter-spacing:0;cursor:pointer;border-color:var(--ch-org);box-shadow:inset 0 0 12px #000,0 0 0 1px var(--ch-org)}.ch-case .scr.act:hover{background:#161616}.ch-case .leds{display:flex;gap:3px}.ch-case .leds i{flex:1;height:5px;background:#bebab1}.ch-case .m.done .leds i{background:var(--ch-org)}.ch-case .m.active .leds i{animation:ch-ledfill 4s steps(1,end) infinite;animation-delay:calc(var(--k) * .4s)}.ch-case .m.blocked .leds i{background:var(--ch-red);opacity:.55}@keyframes ch-ledfill{0%{background:#bebab1}10%{background:var(--ch-org)}90%{background:var(--ch-org)}to{background:#bebab1}}.ch-case .knob{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#f7f5f0,#c9c5bc 70%);box-shadow:0 0 0 1px #9e9a91,0 1px #fff;position:relative;flex-shrink:0}.ch-case .knob:after{content:"";position:absolute;left:50%;top:2px;width:2px;height:7px;margin-left:-1px;background:#111}.ch-case .m.active .knob{animation:ch-turn 6s steps(24,end) infinite}@keyframes ch-turn{to{transform:rotate(360deg)}}.ch-case .ctl{display:flex;align-items:center;justify-content:space-between}.ch-case .ctl .lbl{font-size:var(--font-3xs);color:var(--ch-al);text-transform:none;letter-spacing:0}.ch-case .foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.ch-case .foot .ctl{flex:1}.ch-case .jacks{display:flex;gap:8px;align-items:center;min-height:24px}.ch-case .jack{width:20px;height:20px;border-radius:50%;background:#1a1a1a;box-shadow:inset 0 0 0 2px #8e8a81,0 0 0 1px #fff;position:relative}.ch-case .jack.in{box-shadow:inset 0 0 0 2px #111,0 0 0 1px #fff}.ch-case .jack.in:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;background:var(--ch-org)}.ch-case .jack.empty{box-shadow:inset 0 0 0 2px var(--ch-org),0 0 0 1px #fff;animation:ch-breathe 3s ease-in-out infinite}@keyframes ch-breathe{50%{opacity:.55}}.ch-case .jacks .l{font-size:var(--font-3xs);color:var(--ch-al);text-transform:none;letter-spacing:0}.ch-case .m.p{min-height:140px;padding-bottom:12px}.ch-case .m.p.k .hd b{color:var(--ch-grn)}.ch-case .m.p.s .hd b{color:var(--ch-ink2)}.ch-case .m.p.d .hd b{color:var(--ch-org)}.ch-case .m.p .strip{height:26px;border:1px solid #2a2a2a;background:var(--ch-screen);display:flex;align-items:stretch;gap:2px;padding:3px}.ch-case .m.p .jacks{margin-top:auto}.ch-case .m.p.blank{background:transparent;border:1px dashed #B3AFA6;box-shadow:none;display:grid;place-items:center;color:#a9a59c;min-height:140px}.ch-case .m.p.blank:hover{background:transparent;color:var(--ch-org)}.ch-detail{margin-top:4px;background:var(--ch-panel);border:1px solid var(--ch-line);box-shadow:inset 0 0 0 1px #edeae3;padding:10px 14px 12px}.ch-detail-head{display:flex;align-items:center;gap:12px;color:var(--ch-al);font-size:var(--font-2xs);text-transform:none;letter-spacing:0}.ch-detail-head b{color:var(--ch-ink)}.ch-detail-head .icon-button{margin-left:auto}.ch-detail ul{margin:8px 0 0;padding-left:18px;font-family:var(--sans, inherit);font-size:var(--font-sm);color:var(--ch-ink2);line-height:1.6}.ch-detail .muted{color:var(--ch-al);margin:8px 0 0}.ch-io{display:grid;grid-template-columns:1fr 2fr 1fr;gap:4px;margin-top:4px}.ch-io.ch-problems{grid-template-columns:1fr}.ch-io .problem{display:flex;gap:10px;align-items:baseline;padding:4px 0;border-top:1px solid var(--ch-line);font-size:var(--font-xs)}.ch-io .problem:first-of-type{border-top:0}.ch-io .problem .t{font-family:var(--sans);color:var(--ch-al);flex:0 0 auto}.ch-io .problem .x{color:#a83c2e;overflow-wrap:anywhere}.ch-io>div{background:var(--ch-panel);border:1px solid var(--ch-line);box-shadow:inset 0 0 0 1px #edeae3;padding:10px 12px;min-height:74px}.ch-io .l{font-size:var(--font-3xs);color:var(--ch-al);text-transform:none;letter-spacing:0;margin-bottom:8px}.ch-io form{display:flex;gap:1px;background:var(--ch-line);border:1px solid var(--ch-line);align-items:stretch}.ch-io form .folder{background:#fbfaf7;border:0;color:var(--ch-al);padding:0 10px;cursor:pointer}.ch-io form textarea{flex:1;min-width:0;min-height:var(--control-md);max-height:180px;resize:none;background:#fbfaf7;border:0;outline:0;color:var(--ch-ink);font:inherit;font-family:var(--sans, inherit);font-size:var(--font-sm);line-height:1.5;padding:6px 12px}.ch-io form textarea::placeholder{color:#9a968d}.ch-io form button[type=submit]{background:var(--ch-org);border:0;color:#000;font:inherit;font-weight:500;padding:0 18px;cursor:pointer;letter-spacing:0}.ch-io form button[type=submit]:disabled{opacity:.45}@keyframes ch-belt{to{transform:translate(14px)}}.ch-io .cart{position:absolute;top:7px;height:16px;min-height:0;padding:0 8px;border:0;background:var(--ch-org);color:#000;font:inherit;font-size:var(--font-3xs);line-height:16px;font-weight:500;letter-spacing:0;transition:left .5s steps(5,end);transform:translate(-50%);white-space:nowrap;cursor:pointer}.ch-io .cart.sel{box-shadow:0 0 0 2px var(--ch-lit)}.ch-io .cart.halt{background:var(--ch-red);color:#fff}.ch-io .muted{color:var(--ch-al)}.ch-io .files{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.ch-io .files span{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--ch-line);background:#fbfaf7;padding:0 4px 0 8px;font-size:var(--font-3xs)}.ch-io .files .icon-button{min-height:0;border:0;background:transparent;padding:2px;color:var(--ch-al);cursor:pointer}.ch-stream{margin-top:18px;font-family:var(--sans, inherit);letter-spacing:0}.shelf{font-family:var(--sans);font-size:var(--font-xs);color:var(--ch-ink);max-width:1480px;margin:0 auto}.shelf .ch-top{margin-bottom:10px}.shelf-section{background:var(--ch-case);border:1px solid #C6C2B9;padding:12px 14px 16px;box-shadow:inset 0 0 0 1px #fff;margin-bottom:12px}.shelf-section .ch-rail{margin-bottom:8px}.shelf-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--ch-al);font-size:var(--font-2xs);text-transform:none;letter-spacing:0;margin-bottom:8px}.shelf-head b{color:var(--ch-ink)}.shelf-head button{font:inherit;font-size:var(--font-2xs);letter-spacing:0;text-transform:none;border:1px solid var(--ch-ink);background:transparent;color:var(--ch-ink);padding:0 12px;min-height:var(--control-sm);cursor:pointer}.shelf-head button.primary{background:var(--ch-org);border-color:var(--ch-org);color:#000}.shelf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}@media (min-width: 1400px){.shelf-grid{grid-template-columns:repeat(6,1fr)}}.shelf .m{position:relative;background:var(--ch-panel);border:1px solid var(--ch-line);box-shadow:inset 0 0 0 1px #edeae3;padding:10px 10px 12px;display:flex;flex-direction:column;gap:6px;min-height:150px}.shelf .m.off{opacity:.55}.shelf .m .hd{display:flex;justify-content:space-between;align-items:baseline;color:var(--ch-al);font-size:var(--font-2xs);text-transform:none;letter-spacing:0}.shelf .m .hd b{color:var(--ch-ink)}.shelf .m.s .hd b{color:var(--ch-ink2)}.shelf .m.d .hd b{color:var(--ch-org)}.shelf .m.k .hd b{color:var(--ch-grn)}.shelf .m .name{font-family:var(--sans, inherit);font-size:var(--font-sm);color:var(--ch-ink)}.shelf .m .desc{font-family:var(--sans, inherit);font-size:var(--font-xs);color:var(--ch-ink2);line-height:1.5;max-height:4.5em;overflow:hidden}.shelf .m .io{font-size:var(--font-3xs);color:var(--ch-al);letter-spacing:0;word-break:break-all;margin-top:auto}.shelf .m .io b{color:var(--ch-ink2)}.shelf .m .acts{display:flex;gap:6px;flex-wrap:wrap}.shelf .m .acts button{font:inherit;font-size:var(--font-3xs);letter-spacing:0;text-transform:none;border:1px solid var(--ch-line);background:#fbfaf7;color:var(--ch-ink);padding:0 8px;min-height:22px;cursor:pointer}.shelf .m .acts button.danger{color:var(--ch-red)}.shelf .strip{height:20px;border:1px solid #2a2a2a;background:var(--ch-screen);display:flex;align-items:stretch;gap:2px;padding:3px}.ch-case .m.p .strip i,.shelf .strip i{flex:1;background:#1e1e1e}.ch-case .m.p .strip i.ok,.shelf .strip i.ok{background:var(--ch-lit)}.ch-case .m.p .strip i.fail,.shelf .strip i.fail{background:var(--ch-red)}.ch-case .m.p .strip i.on,.shelf .strip i.on{background:var(--ch-org)}.shelf .segment{background:var(--ch-panel);border:1px solid var(--ch-line);box-shadow:inset 0 0 0 1px #edeae3;padding:10px 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}.shelf .segment .sname{font-family:var(--sans, inherit);font-size:var(--font-sm);color:var(--ch-ink);min-width:200px}.shelf .segment .sname small{color:var(--ch-al);font-family:var(--sans);font-size:var(--font-3xs);margin-left:6px}.shelf .segment .chip{border:1px solid var(--ch-ink);padding:2px 8px;font-size:var(--font-3xs);letter-spacing:0;background:#fbfaf7}.shelf .segment .arrow{color:var(--ch-al)}.shelf .segment .users{margin-left:auto;color:var(--ch-al);font-size:var(--font-3xs);letter-spacing:0}.shelf .segment .users b{color:var(--ch-ink2)}.shelf .empty{color:var(--ch-al);font-family:var(--sans, inherit)}.shelf-back{display:inline-flex;align-items:center;gap:6px;font:inherit;font-size:var(--font-2xs);letter-spacing:0;text-transform:none;border:0;background:transparent;color:var(--ch-al);padding:0;min-height:0;margin-bottom:10px;cursor:pointer}.shelf-back:hover{color:var(--ch-org)}.ch-versions{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.ch-version{font:inherit;font-size:var(--font-2xs);letter-spacing:0;text-transform:none;border:1px solid var(--ch-line);background:var(--ch-panel);color:var(--ch-ink2);padding:0 12px;min-height:var(--control-sm);cursor:pointer}.ch-version.on{border-color:var(--ch-org);color:var(--ch-ink);box-shadow:inset 0 -3px 0 var(--ch-org)}.ch-version small{color:var(--ch-al);font-size:var(--font-3xs)}.ch-version.add{display:inline-flex;align-items:center;gap:4px;border-style:dashed;background:transparent;color:var(--ch-al)}.ch-version.add:hover{color:var(--ch-org);border-color:var(--ch-org)}.ch-io.ch-io-base{grid-template-columns:1fr 1fr 1fr}.ch-io.ch-io-base input{width:100%;background:#fbfaf7;border:1px solid var(--ch-line);font:inherit;font-size:var(--font-sm);padding:0 8px}.ch-case .m.p.off,.ch-case .m.p.off .strip{opacity:.45}.ch-case .m.sel{box-shadow:inset 0 0 0 1px #edeae3,0 0 0 2px var(--ch-org)}.ch-hint{font-family:var(--sans, inherit);color:var(--ch-al);margin:14px 0 0}.base-pick{display:inline-flex;align-items:center;gap:6px;margin-left:auto;color:var(--secondary);font-size:var(--font-sm)}.base-pick select{min-height:var(--control-sm);border:1px solid var(--line);border-radius:8px;background:#fff;padding:0 8px}.ch-stream{margin-top:4px}.ch-stream .flow-screen{background:#fbfaf7;border:1px solid var(--ch-line);box-shadow:inset 0 0 0 1px #fff;padding:10px 14px 6px}.ch-stream .page-heading{padding:0 0 8px;margin:0 0 8px;border-bottom:1px solid #E5E1D8;align-items:center}.ch-stream .page-heading h1{font-family:var(--sans);font-size:var(--font-2xs);text-transform:none;letter-spacing:0;color:var(--ch-al)}.ch-stream .page-heading h1:before{content:"JOB · "}.ch-stream .page-heading button,.ch-stream .heading-actions button{border-radius:0;background:var(--ch-ink);border-color:var(--ch-ink);color:#fbfaf7;font-family:var(--sans);font-size:var(--font-2xs);letter-spacing:0;text-transform:none;min-height:var(--control-sm)}.ch-stream .page-heading button.primary{background:var(--ch-org);border-color:var(--ch-org);color:#000}.ch-stream .request-card{width:100%;margin:0 0 6px;border-radius:0;padding:8px 12px;background:var(--ch-panel);border:1px solid var(--ch-line);color:var(--ch-ink2)}.ch-stream .request-card:before{content:"ORDER";display:block;font-family:var(--sans);font-size:var(--font-3xs);letter-spacing:0;color:var(--ch-al);margin-bottom:4px}.ch-stream .request-card p{margin:0;font-size:var(--font-sm)}.ch-stream .event-stream{width:100%;margin:0}.ch-stream .waterfall-item{grid-template-columns:22px minmax(0,1fr);gap:8px;padding:0 0 0 78px;border-bottom:1px solid #E5E1D8}.ch-stream .waterfall-item:last-child{border-bottom:0}.ch-stream .waterfall-item:before{display:none}.ch-stream .event-mark{width:18px;height:18px;margin-top:8px;border-radius:0;background:transparent;color:var(--ch-grn)}.ch-stream .waterfall-item.failed .event-mark{background:transparent;color:var(--ch-red)}.ch-stream .waterfall-item.user .event-mark{background:var(--ch-ink);color:#fbfaf7;font-family:var(--sans);font-size:var(--font-3xs)}.ch-stream .event-copy{border:0;border-radius:0;background:transparent;padding:7px 0}.ch-stream .waterfall-item.running .event-copy{background:transparent}.ch-stream .waterfall-item.running{background:#f3f0e7}.ch-stream .waterfall-item.failed{background:#fbecea}.ch-stream .waterfall-item.user .event-copy{width:auto;max-width:none;margin:0;background:transparent}.ch-stream .event-title{font-size:var(--font-md);color:var(--ch-ink)}.ch-stream .event-title time{float:none;position:absolute;left:0;top:9px;width:70px;margin:0;font-family:var(--sans);font-size:var(--font-2xs);letter-spacing:0;color:var(--ch-al)}.ch-stream .event-copy p{margin:3px 0 0;color:var(--ch-ink2);font-size:var(--font-sm)}.ch-stream .event-copy ul{margin:6px 0 0;padding:0 0 0 14px;border-left:2px solid var(--ch-line);border-radius:0;background:transparent;color:var(--ch-ink2);font-size:var(--font-sm)}.ch-stream .event-thought{margin-top:4px;font-family:var(--sans);font-size:var(--font-2xs);color:var(--ch-grn)}.ch-stream .run-cards i{background:var(--ch-org);border-radius:0}.ch-stream .chat-decision button,.ch-stream .survey-decision button{border-radius:0;border-color:var(--ch-line);background:#fbfaf7;font-family:var(--sans);font-size:var(--font-2xs);letter-spacing:0}.ch-stream .global-chat{margin:0 0 8px;padding:8px 12px;background:var(--ch-panel);border:1px solid var(--ch-line);border-radius:0;box-shadow:inset 0 0 0 1px #edeae3}.ch-stream .composer.compact{width:100%;margin:0;border-radius:0;border:1px solid var(--ch-line);background:#fbfaf7;box-shadow:none}.ch-stream .composer.compact textarea{font-family:var(--sans, inherit)}.ch-stream .composer .submit{border-radius:0;background:var(--ch-org);border-color:var(--ch-org);color:#000}.ch-stream .composer .submit:disabled{background:var(--ch-dim);border-color:var(--ch-dim)}.ch-stream .global-chat .chat-reply{width:100%;margin:0 0 6px;border-radius:0;border-color:var(--ch-line);background:#fbfaf7;box-shadow:none}.ch-case .lamp{width:18px;height:18px;border-radius:50%;background:#2a2a2a;box-shadow:inset 0 0 0 2px #8e8a81,0 0 0 1px #fff;flex-shrink:0}.ch-case .lamp.on.org{background:var(--ch-org);box-shadow:inset 0 0 0 2px #111,0 0 0 1px #fff,0 0 8px #f609}.ch-case .lamp.on.grn{background:var(--ch-lit);box-shadow:inset 0 0 0 2px #111,0 0 0 1px #fff,0 0 8px #00ff6680}.ch-case .lamp.on.amb{background:#f5b400;box-shadow:inset 0 0 0 2px #111,0 0 0 1px #fff,0 0 8px #f5b40099}.ch-case .lamp.pulse{animation:ch-lamp 3s ease-in-out infinite}.ch-case .lamp.want{box-shadow:inset 0 0 0 2px var(--ch-org),0 0 0 1px #fff;animation:ch-breathe 3s ease-in-out infinite}@keyframes ch-lamp{50%{filter:brightness(.65)}}.ch-case .jacks .count{font-size:var(--font-3xs);color:var(--ch-ink);border:1px solid var(--ch-line);background:#fbfaf7;padding:0 4px;line-height:14px}.ch-case .m.hot{background:var(--ch-panel2);box-shadow:inset 0 0 0 1px #edeae3,0 0 0 2px var(--ch-ink2)}.ch-case .m.hot .lamp.on{filter:brightness(1.15)}@media (prefers-reduced-motion: reduce){.ch-case *,.ch-io *{animation:none!important}}.ch-top .redev{margin-left:10px;padding:1px 8px;font-size:var(--font-3xs);letter-spacing:0;color:#3e6e4e;border:1px solid #3E6E4E;border-radius:2px}.ch-io.ch-io-self{grid-template-columns:1fr 1fr 1fr}.ch-io-self>.self-panel{grid-column:1 / -1}.ch-io-self .l em{font-style:normal;text-transform:none;letter-spacing:0;margin-left:10px;color:var(--ch-al)}.ch-io-self .belt-steps{display:flex;gap:1px;margin-bottom:8px;border:1px solid #2a2a2a;background:#2a2a2a}.ch-io-self .belt-steps i{flex:1;font-style:normal;text-align:center;background:var(--ch-screen);color:#9a9a9a;font-size:var(--font-xs);letter-spacing:0;padding:8px 0;display:flex;flex-direction:column;gap:4px}.ch-io-self .belt-steps i small{font-size:var(--font-xs);letter-spacing:0;opacity:.8}.ch-io-self .belt-steps i.done{color:var(--ch-grn)}.ch-io-self .belt-steps i.now{color:var(--ch-org)}.ch-io-self form .folder{font-family:var(--sans);font-size:var(--font-3xs);letter-spacing:0}.ch-io-self .self-status{display:flex;align-items:center;gap:10px;margin-top:8px;font-family:var(--sans, inherit);font-size:var(--font-xs);color:var(--ch-ink)}.ch-io-self .self-status .lamp{width:7px;height:7px;background:#c9ccd1;flex-shrink:0}.ch-io-self .self-status .lamp.ok{background:var(--ch-grn)}.ch-io-self .self-status .lamp.bad{background:var(--ch-red)}.ch-io-self .self-status .lamp.warn,.ch-io-self .self-status .lamp.run{background:var(--ch-org)}.ch-io-self .self-status .link{font-family:var(--sans);color:var(--ch-al);font-size:var(--font-3xs);letter-spacing:0;border:0;background:transparent;padding:0;min-height:0;cursor:pointer}.ch-io-self .self-status .link:hover{color:var(--ch-org)}.ch-io-self .self-status .link:disabled{opacity:.45;cursor:default}.ch-io-self .self-error{margin-top:6px;color:var(--ch-red);font-family:var(--sans, inherit);font-size:var(--font-xs);white-space:pre-wrap}.ch-io-self .out .a{align-items:flex-start}.ch-io-self .out .a i{margin-top:5px}.ch-io-self .out .a .k{flex:0 0 auto;font-family:var(--sans);font-size:var(--font-3xs);letter-spacing:0;color:var(--ch-al);padding-top:2px}.ch-io-self .out .a .v{flex:1;min-width:0;white-space:pre-wrap;word-break:break-word}.ch-io.ch-io-segments,.ch-io.ch-io-panel{grid-template-columns:1fr}.ch-io-segments .l .link,.ch-io-panel .l .link{margin-left:10px;font-family:var(--sans);color:var(--ch-al);font-size:var(--font-3xs);letter-spacing:0;border:0;background:transparent;padding:0;min-height:0;cursor:pointer;text-transform:none}.ch-io-segments .l .link:hover,.ch-io-panel .l .link:hover{color:var(--ch-org)}.ch-io-segments .a{display:flex;align-items:center;gap:10px;font-family:var(--sans, inherit);font-size:var(--font-xs);color:var(--ch-ink);margin-bottom:6px}.ch-io-segments .a i{width:7px;height:7px;background:var(--ch-grn);flex-shrink:0}.ch-io-segments .a .aname{flex:0 0 auto;border:0;background:transparent;padding:0;min-height:0;font:inherit;color:inherit;cursor:pointer}.ch-io-segments .a .aname:hover{color:var(--ch-org)}.ch-io-segments .a .chain{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--sans);font-size:var(--font-3xs);letter-spacing:0;color:var(--ch-al)}.ch-io-segments .a .who{flex:0 0 auto;font-family:var(--sans);font-size:var(--font-3xs);letter-spacing:0;color:var(--ch-al)}.ch-io-panel>div{padding-bottom:14px}.ch-io-panel .function-screen,.ch-io-panel .utility-screen{padding:0}body{letter-spacing:0}:where(button,input,textarea,select){font-family:var(--sans)}:where(button){transition:background-color .15s,border-color .15s,box-shadow .15s}:where(button,input,textarea,select,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px}:where(input,textarea)::placeholder{color:var(--muted);opacity:1}:where(input[type=checkbox],input[type=radio],input[type=range]){accent-color:var(--accent)}:where(pre,code,kbd,samp){font-family:var(--mono)}:where(h1,h2,h3){line-height:1.4;letter-spacing:0}.sidebar,.topbar,.global-chat{background:var(--panel)}.sidebar{padding:20px 16px 16px}.brand{gap:12px}.side-title{color:var(--muted);margin-bottom:8px}.project-item.selected,.side-pages button.active,.side-bottom button.active{background:var(--selected);color:var(--ink);font-weight:500}.side-pages button,.side-bottom button,.restart-app{border-radius:var(--radius-control)}.topbar{border-radius:0}.project-glyph{color:var(--muted)}.content,.board-screen{background:var(--panel)}.page-heading h1,.content>h1,.board-screen .detail h1{font-size:var(--font-page);font-weight:600;line-height:1.35}.card h2,.lib h2,.lib b.title{font-size:var(--font-lg);line-height:1.5;font-weight:500}.card,.lib,.panel,.runs,.pick,.preview,.release-entry,.login-card{background:var(--panel);border-color:var(--line);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel)}.card:hover,.lib:hover{border-color:#bfc7b7}.card .meta,.card .foot,.sub,.kv-line{line-height:1.6}.hero .big{font-weight:600;font-variant-numeric:tabular-nums}.num,.tl-time,.fc-time,.gfoot,.output-table,.members-table{font-variant-numeric:tabular-nums}.btn,.acts button,.heading-actions button,.page-heading button,.review-actions button,.cognition-actions button,.policy-modes button,.connection-row button,.connection-add,.modal-actions button,.graph-toolbar button,.guided-project button,.challenge-page button{border-radius:var(--radius-control);font-size:var(--font-md);font-weight:500}.btn{background:var(--panel);padding:7px 12px}.btn.sm{font-size:var(--font-sm);padding:4px 10px}button.primary,.btn.primary,.page-heading button.primary,.heading-actions button.primary,.review-actions button.primary,.cognition-actions button.primary,.pipeline-screen .heading-actions button.primary,.connection-heading>button.primary,.login-card button.primary,.gquick .gquick-new>div button.primary,.guided-project .guided-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn:hover:not(:disabled):not(.primary):not(.danger){background:var(--hover);border-color:#bfc7b7}.btn.danger{color:var(--danger)}.icon-button{border-radius:var(--radius-control)}.project-menu,.account-menu,.executor-menu,.gmenu{background:var(--panel);border-radius:10px;box-shadow:var(--shadow-float)}.pill,.shape i,.chip,.assertion-meta span{font-family:var(--sans);font-size:var(--font-xs);letter-spacing:0;border-radius:6px}.pill{padding:3px 8px;line-height:1.5}.search,.role-rows select,.rule input,.rule select,.lib .rename input,.login-card input,.password-form input,.connection-form input,.connection-form select,.release-fields input[type=text],.guided-project input,.guided-project select,.executor-list input,.executor-list select,.executor-list textarea{background:var(--input);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-control)}.search{padding:10px 12px}.composer,.composer.compact,.function-bottom-composer{border-color:var(--line);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel)}.modal{background:#1d281b66;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal .box{background:var(--panel);padding:24px;border-radius:var(--radius-modal);box-shadow:0 24px 70px #18201630}.modal h2{font-size:var(--font-xl);font-weight:600;margin-bottom:8px}.modal h3,.panel h3{font-size:var(--font-md);font-weight:500}.modal .hint{line-height:1.6;margin-bottom:16px}.modal-actions{gap:8px;padding-top:16px;border-top:1px solid var(--line)}.connection-list .connection-row{padding:14px 8px}.settings-heading h2{font-size:var(--font-page);font-weight:600;line-height:1.35}.settings-heading{margin-bottom:20px}.executor-list article{background:var(--panel);padding:12px;border-radius:var(--radius-panel)}.executor-actions button,.executor-actions button:first-child,.executor-key button,.executor-list article>button,.settings-heading .heading-actions>button{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);color:var(--ink);padding:7px 12px;font-weight:500}.executor-actions button.quiet-danger{color:var(--danger)}.executor-list textarea{font-family:var(--mono)}.executor-list article.model-add{flex-wrap:wrap}.executor-list article>.model-fields{flex:1 1 440px;flex-wrap:wrap;min-width:0}.executor-list .model-fields input{flex:1 1 140px;min-width:100px}.pick.on{border-color:var(--accent);background:var(--accent-soft)}.rule.on,.chip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.connection-row span{font-size:var(--font-md)}.connection-row em{font-size:var(--font-xs)}.output-table{font-size:var(--font-sm);line-height:1.6}.output-table th,.members-table th{background:var(--soft);color:var(--secondary);font-weight:500}.output-table th,.output-table td{padding:8px 10px}.output-table tbody tr:hover,.members-table tbody tr:hover{background:var(--hover)}.graph-canvas{background:var(--soft);border-radius:var(--radius-panel)}.graph-toolbar,.graph-legend{background:#fdfdf9f2;border:1px solid var(--line);box-shadow:var(--shadow-panel)}.graph-legend{font-size:var(--font-xs);gap:10px;max-width:calc(100% - 24px);flex-wrap:wrap}.graph-legend .lg-btn{font-size:var(--font-xs)}.view-switch{padding:3px;background:var(--soft);border-radius:8px;gap:2px}.view-switch button{background:transparent;border-radius:5px;padding:5px 12px;font-size:var(--font-sm)}.view-switch button.on{background:var(--panel);color:var(--ink);box-shadow:0 1px 3px #202b2012}.gnode{background:var(--panel);border-color:#d5dacf;box-shadow:0 3px 10px #27352308}.gnode .ghead{background:color-mix(in srgb,var(--gc) 10%,var(--panel));color:var(--ink);border-bottom:1px solid color-mix(in srgb,var(--gc) 20%,var(--line))}.gnode .ghead b{font-size:var(--font-md);font-weight:600;min-width:0}.gnode .gpins>span:last-child{flex-shrink:0;white-space:nowrap}.gnode .gtype,.gnode .grole{flex-shrink:0}.gnode .gtype{color:color-mix(in srgb,var(--gc) 70%,#242d26);background:color-mix(in srgb,var(--gc) 12%,white);font-size:var(--font-xs);padding:1px 4px}.grole{background:#ffffffc7;color:var(--secondary);font-size:var(--font-xs);margin-left:0;padding:1px 4px}.gnode .glight{background:#a4b19c;flex:0 0 8px}.gnode .glight.on{background:var(--ok);box-shadow:0 0 0 3px #39745215}.gnode .glight.bad{background:var(--danger)}.gnode .gfoot{font-family:var(--sans);font-size:var(--font-xs);line-height:1.5}.gnode .gsum b{color:var(--ink);font-weight:600}.gnode .gsum .bad{color:var(--danger)}.gnode.selected{outline-offset:2px}.gevent{background:#faf0eb;border-color:#e1c5b7;color:#9a5237;font-size:var(--font-xs)}.glane-label{background:var(--soft);color:var(--secondary);font-size:var(--font-xs)}.graph-side{background:var(--panel);border-radius:var(--radius-panel);padding:16px}.graph-side .gs-title{font-size:var(--font-md);font-weight:600;margin-bottom:12px}.fc{background:var(--panel);padding:12px;border-radius:8px;line-height:1.6}.fc-head{flex-wrap:wrap}.fc-head b{font-size:var(--font-sm)}.fc-time,.fc-foot,.fc-table,.fc-ver,.tl-status{font-size:var(--font-xs)}.tl-row{padding:8px 2px;line-height:1.5}.tl-name{font-size:var(--font-sm)}.react-flow__controls{border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-panel)}.react-flow__controls-button{background:var(--panel);border-bottom-color:var(--line);color:var(--secondary)}.react-flow__minimap{border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:var(--shadow-panel)}.chassis-screen,.shelf{font-family:var(--sans);letter-spacing:0}.ch-top,.shelf-top,.ch-version,.shelf-back{letter-spacing:0}.ch-top .top-act,.ch-version,.shelf-back{border-radius:var(--radius-control)}.guided-project h1{font-weight:600}.challenge-page{color:var(--ink)}.challenge-page .challenge-primary{font-size:var(--font-md);border-radius:var(--radius-control)}@media (prefers-reduced-motion: reduce){button,.gnode.running,.gnode .glight.on{animation:none;transition:none}}
