.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#555;--xy-background-pattern-lines-color-default:#333;--xy-background-pattern-cross-color-default:#333;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}
.pa-viewer{color:#172326;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f7f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.pa-viewer *{box-sizing:border-box}.pa-viewer button,.pa-viewer input,.pa-viewer select{font:inherit}.pa-viewer button{cursor:pointer}.pa-viewer button:disabled{cursor:not-allowed;opacity:.62}.app-shell{background:#eef3f4;grid-template-rows:72px minmax(0,1fr) 34px;height:100vh;display:grid;overflow:hidden}.topbar{background:#fbfcfc;border-bottom:1px solid #d6e0e2;justify-content:space-between;align-items:center;gap:20px;padding:12px 18px;display:flex}.brand-block{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{color:#f9fbfb;background:#20363b;border-radius:7px;flex:none;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.brand-block h1{letter-spacing:0;margin:0;font-size:18px;line-height:1.2}.brand-block p{color:#5d6f74;text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:13px;overflow:hidden}.toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.tool-button{color:#25383d;background:#fff;border:1px solid #cbd8da;border-radius:7px;align-items:center;gap:7px;min-height:36px;padding:0 11px;display:inline-flex;box-shadow:0 1px 1px #12292e0d}.tool-button:hover{background:#f7fbfb;border-color:#8fb0b7}.tool-button.active{color:#14353b;background:#dcebec;border-color:#86aab1}.file-input{display:none}.workspace{grid-template-columns:minmax(0,1fr) 360px;min-height:0;display:grid}.diagram-region{border-right:1px solid #d6e0e2;min-width:0;position:relative}.diagram-status{z-index:5;pointer-events:none;flex-wrap:wrap;align-items:center;gap:10px;display:flex;position:absolute;top:14px;left:14px;right:14px}.viewer-selectors,.search-box,.filter-tabs,.graph-actions{color:#5a6c70;pointer-events:auto;background:#fffffff0;border:1px solid #cbd8da;border-radius:7px;align-items:center;min-height:40px;display:flex;box-shadow:0 10px 28px #182d3214}.viewer-selectors{gap:6px;padding:4px}.viewer-selectors select{color:#172326;min-width:150px;max-width:240px;height:32px;font:inherit;background:#eef3f4;border:0;border-radius:6px;padding:0 8px;font-size:12px}.viewer-selectors select:first-child{min-width:190px}.search-box{gap:8px;width:min(330px,40vw);padding:0 12px}.search-box input{color:#172326;background:0 0;border:0;outline:0;width:100%;min-width:0}.filter-tabs{gap:4px;padding:3px 5px 3px 10px}.filter-tabs button{color:#52676c;background:0 0;border:0;border-radius:6px;min-height:32px;padding:0 10px}.filter-tabs button.active{color:#14353b;background:#dcebec}.graph-actions{gap:4px;padding:3px 5px}.graph-actions button{color:#52676c;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:5px;min-width:32px;height:32px;padding:0 8px;font-size:12px;font-weight:750;display:inline-flex}.graph-actions button:hover{color:#14353b;background:#eef3f4}.react-flow{background:#eef3f4}.part-node{box-sizing:border-box;background:#fff;border:1px solid #bdd0d4;border-radius:8px;width:max-content;min-width:200px;max-width:360px;transition:border-color .12s,box-shadow .12s,opacity .12s;position:relative;box-shadow:0 8px 24px #1c353a1a}.part-node__body{z-index:1;flex-direction:column;align-items:stretch;min-width:0;padding:12px 14px;display:flex;position:static;overflow:hidden}.part-node.selected,.react-flow__node.selected .part-node{border-color:#d16f4d;box-shadow:0 0 0 3px #d16f4d2e,0 10px 28px #1c353a24}.react-flow__node.is-highlighted .part-node{border-color:#d16f4d}.react-flow__node.is-dimmed{opacity:.34}.part-node__identity{text-align:center;border-bottom:1px solid #dce5e7;flex-direction:column;align-items:center;width:100%;min-height:42px;padding:3px 0 10px;display:flex}.part-node__stereotype{color:#66787d;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;font-weight:800;line-height:1.2;overflow:hidden}.part-node__name{color:#172326;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:15px;font-weight:800;line-height:1.2;overflow:hidden}.part-node__compartment{border-top:1px solid #edf2f3;flex-direction:column;align-items:stretch;min-width:0;margin:0 -14px;padding:7px 14px 6px;display:flex}.part-node__compartment-toggle{color:#51676c;cursor:pointer;background:0 0;border:0;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:24px;padding:0 4px;display:flex}.part-node__compartment-toggle:hover{color:#14353b;background:#f4f8f9}.part-node__compartment-title{color:#51676c;text-transform:uppercase;font-size:10px;font-weight:850;line-height:1}.part-node__compartment-meta{color:#66787d;align-items:center;gap:3px;font-size:10px;font-weight:850;line-height:1;display:inline-flex}.part-node__member-list{flex-direction:column;gap:3px;min-width:0;display:flex}.part-node__detail-list{gap:5px;min-width:0;display:grid}.part-node__attribute-row{background:#fbfcfc;border:1px solid #edf2f3;border-radius:6px;grid-template-columns:minmax(86px,.9fr) minmax(0,1.1fr);align-items:start;gap:8px;min-width:0;padding:5px 6px;display:grid}.part-node__attribute-row strong{color:#172326;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;font-weight:800;line-height:1.25;overflow:hidden}.part-node__attribute-row span{color:#5d6f74;text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;line-height:1.25;overflow:hidden}.part-node__port-row{background:#fbfcfc;border:1px solid #edf2f3;border-radius:6px;gap:3px;min-width:0;padding:5px 6px;display:grid}.part-node__port-name-line{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.part-node__port-name-line strong{color:#172326;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;font-weight:800;line-height:1.25;overflow:hidden}.part-node__port-doc{color:#5d6f74;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;line-height:1.25;display:-webkit-box;overflow:hidden}.part-node__member-row{color:#30464b;flex-direction:column;align-items:stretch;min-width:0;font-size:10px;line-height:1.25;display:flex}.part-node__relationship-row{color:#30464b;min-width:0;font-size:10px;line-height:1.25}.part-node__member-name,.part-node__member-detail,.part-node__relationship-detail{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.part-node__member-name{color:#172326;font-weight:800}.part-node__member-detail{color:#66787d}.part-node__relationship-detail{color:#66787d;display:block}.port-anchor{z-index:3;cursor:grab;pointer-events:auto;-webkit-user-select:none;user-select:none;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%)}.port-anchor:active{cursor:grabbing}.port-anchor.selected .port-dot{box-shadow:0 0 0 3px #d16f4d47,0 0 0 1px #1723266b}.port-anchor.selected .port-chip{color:#8a442b;font-weight:850}.port-chip{color:#42575c;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;background:0 0;align-items:center;gap:3px;max-width:112px;padding:1px 0;font-size:11px;font-weight:750;line-height:1.25;display:inline-flex;position:absolute;overflow:hidden}.port-anchor.left .port-chip{top:-9px;right:20px}.port-anchor.right .port-chip{top:-9px;left:20px}.port-anchor.top .port-chip,.port-anchor.bottom .port-chip{text-align:right;top:-1px;right:20px}.port-chip.in{color:#2f7046}.port-chip.out{color:#994f34}.port-chip.both{color:#42656d}.port-dot,.port-flow-handle{border-radius:50%;width:14px;height:14px;position:absolute;inset:0}.port-dot{color:#fff;text-align:center;z-index:3;pointer-events:none;background:#8ea4a9;border:1px solid #1723266b;justify-content:center;align-items:center;font-size:10px;font-weight:900;line-height:14px;display:flex;box-shadow:0 0 0 1px #4d666c61}.react-flow__resize-control.line{border-color:#d16f4da6}.react-flow__resize-control.handle{background:#d16f4d;border:1px solid #fff;width:8px;height:8px}.port-dot.in{background:#4b9a64}.port-dot.out{background:#d16f4d}.port-dot.both{background:#5e828a}.port-flow-handle{opacity:.01;z-index:4;background:0 0;border:0}.port-anchor .react-flow__handle{inset:0 auto auto 0;transform:none}.react-flow__edge-path{stroke:#7f999f;stroke-width:1.9px}.react-flow__edge.is-highlighted .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path{stroke:#d16f4d;stroke-width:2.6px}.react-flow__edge.is-dimmed{opacity:.16}.layout-badge{color:#30464b;background:#fff;border:1px solid #cbd8da;border-radius:7px;padding:8px 12px;font-size:13px;box-shadow:0 10px 28px #182d3214}.validation-review-panel{color:#4f3822;background:#fffaf4f5;border:1px solid #e2c9aa;border-radius:7px;width:min(360px,100vw - 48px);padding:10px 12px;box-shadow:0 12px 30px #4d37191f}.validation-review-panel__header{color:#8a5a1f;align-items:center;gap:6px;display:flex}.validation-review-panel strong{font-size:13px}.validation-review-panel p,.validation-review-panel li,.validation-review-panel small{color:#5f4a34;margin:0;font-size:12px;line-height:1.35}.validation-review-panel ul{gap:3px;margin:8px 0;padding-left:18px;display:grid}.part-node__drill-hint{color:#88979b;margin-top:4px;font-size:10px;font-weight:700}.part-node__subpart-ports{color:#66787d;font-weight:600}.part-node--boundary{box-shadow:none;background:#f3f6f7;border-style:dashed}.part-node--boundary .part-node__name{color:#51676c}.excerpt-breadcrumb{color:#30464b;pointer-events:auto;background:#fffffff5;border:1px solid #bdd0d4;border-radius:7px;flex:1 0 100%;align-items:center;gap:10px;max-width:min(100%,920px);min-height:40px;padding:5px 12px;font-size:13px;font-weight:700;display:flex;overflow:hidden;box-shadow:0 10px 28px #182d3214}.excerpt-breadcrumb__back{color:#52676c;background:#eef3f4;border:1px solid #cbd8da;border-radius:6px;align-items:center;gap:5px;min-height:30px;font-size:12px;font-weight:850;display:inline-flex}.excerpt-breadcrumb__back:hover{color:#14353b;background:#dcebec}.excerpt-breadcrumb__link{color:#d16f4d;white-space:nowrap;background:0 0;border:none;padding:0;font-weight:800}.excerpt-breadcrumb__link:hover{text-decoration:underline}.excerpt-breadcrumb__sep{color:#9aa9ac}.excerpt-breadcrumb__current{color:#172326;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.excerpt-breadcrumb__item{align-items:center;gap:8px;min-width:0;display:inline-flex}.react-flow__edge-text{fill:#51676c;font-size:11px;font-weight:800}.react-flow__edge-textbg{fill:#fff}.usecase-controls{z-index:5;background:#fffffff0;border:1px solid #cbd8da;border-radius:7px;align-items:center;gap:4px;padding:4px;display:inline-flex;position:absolute;top:14px;left:14px;box-shadow:0 10px 28px #182d3214}.usecase-controls label{color:#52676c;align-items:center;gap:7px;padding:0 7px;font-size:12px;font-weight:800;display:inline-flex}.usecase-controls select{color:#25383d;background:#fff;border:1px solid #cbd8da;border-radius:6px;max-width:210px;min-height:32px;padding:0 8px}.usecase-controls button{color:#52676c;background:0 0;border:0;border-radius:6px;min-height:32px;padding:0 10px}.usecase-controls button.active{color:#14353b;background:#dcebec}.usecase-node{text-align:center;background:#fff;border:1px solid #bdd0d4;border-radius:8px;align-content:center;gap:5px;width:220px;min-height:64px;padding:11px 12px;display:grid;box-shadow:0 8px 24px #1c353a1a}.usecase-boundary{pointer-events:none;background:#ffffff3d;border:2px dashed #aabcc1;border-radius:8px;width:100%;height:100%}.usecase-boundary__stereotype,.usecase-boundary__label{color:#49666c;pointer-events:none;position:absolute;left:18px}.usecase-boundary__stereotype{font-size:11px;font-weight:850;top:14px}.usecase-boundary__label{font-size:15px;font-weight:900;top:31px}.usecase-actor{color:#172326;text-align:center;justify-items:center;gap:8px;width:150px;min-height:72px;padding:4px 0;display:grid}.usecase-actor.selected,.react-flow__node.selected .usecase-actor{filter:drop-shadow(0 0 #0000)}.usecase-actor.selected .usecase-actor__figure,.react-flow__node.selected .usecase-actor .usecase-actor__figure{filter:drop-shadow(0 0 4px #d16f4d8c)}.usecase-actor__figure{width:42px;height:56px;position:relative}.usecase-actor__head,.usecase-actor__body,.usecase-actor__arms,.usecase-actor__left-leg,.usecase-actor__right-leg{background:#30464b;display:block;position:absolute}.usecase-actor__head{background:0 0;border:2px solid #30464b;border-radius:50%;width:16px;height:16px;top:0;left:13px}.usecase-actor__body{width:2px;height:23px;top:17px;left:20px}.usecase-actor__arms{transform-origin:50%;width:30px;height:2px;top:24px;left:6px;transform:rotate(-8deg)}.usecase-actor__left-leg,.usecase-actor__right-leg{transform-origin:top;width:2px;height:20px;top:38px;left:20px}.usecase-actor__left-leg{transform:rotate(32deg)}.usecase-actor__right-leg{transform:rotate(-32deg)}.usecase-actor__label{color:#172326;overflow-wrap:anywhere;max-width:150px;font-size:12px;font-weight:850;line-height:1.2}.usecase-node.selected,.react-flow__node.selected .usecase-node{border-color:#d16f4d;box-shadow:0 0 0 3px #d16f4d2e,0 10px 28px #1c353a24}.usecase-node--useCase{background:#fff8f4;border-color:#d9b2a4;width:240px;min-height:92px}.usecase-node--function{background:#f7faff;border-color:#bdcbe0;width:270px}.usecase-node--subfunction{background:#fff;width:270px;min-height:38px;padding:8px 10px}.usecase-node__stereotype{color:#66787d;font-size:10px;font-weight:850;line-height:1}.usecase-node__label{color:#172326;overflow-wrap:anywhere;font-size:13px;font-weight:850;line-height:1.25}.usecase-handle{opacity:.01;background:0 0;border:0;width:8px;height:8px}.requirement-node{text-align:center;background:#fff;border:1px solid #bdd0d4;border-radius:8px;align-content:center;gap:5px;width:270px;min-height:78px;padding:11px 12px;display:grid;box-shadow:0 8px 24px #1c353a1a}.requirement-node.selected,.react-flow__node.selected .requirement-node{border-color:#d16f4d;box-shadow:0 0 0 3px #d16f4d2e,0 10px 28px #1c353a24}.requirement-node--stakeholder{background:#f9fbfb;width:250px}.requirement-node--problem{background:#fffaf0;border-color:#d8c184;min-height:92px}.requirement-node--requirement{background:#fff8f4;border-color:#d9b2a4;min-height:96px}.requirement-node--useCase{background:#f7faff;border-color:#bdcbe0}.requirement-node--verification{background:#f7fcf9;border-color:#b8d7c2}.requirement-node__stereotype{color:#66787d;font-size:10px;font-weight:850;line-height:1}.requirement-node__id{color:#8a442b;font-size:11px;font-weight:900;line-height:1.1}.requirement-node__label{color:#172326;overflow-wrap:anywhere;font-size:13px;font-weight:850;line-height:1.25}.requirement-attribute-list{background:#fff;border:1px solid #dce5e7;border-radius:7px;margin-top:14px;padding:0 12px}.matrix-view{background:#f4f7f8;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;padding:16px;display:grid}.matrix-controls{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.matrix-title{align-items:center;gap:10px;min-width:0;display:flex}.matrix-title svg{color:#5e7f86;flex:none}.matrix-title strong{color:#172326;font-size:15px;line-height:1.2;display:block}.matrix-title span,.matrix-controls label span{color:#5d6f74;font-size:12px;line-height:1.35}.matrix-controls label{gap:5px;min-width:220px;display:grid}.matrix-controls select{color:#25383d;background:#fff;border:1px solid #cbd8da;border-radius:7px;min-height:36px;padding:0 10px}.matrix-table-wrap{background:#fff;border:1px solid #d6e0e2;border-radius:8px;min-width:0;min-height:0;overflow:auto;box-shadow:0 10px 30px #1c353a14}.relationship-matrix{border-collapse:separate;border-spacing:0;color:#172326;width:max-content;min-width:100%;font-size:12px}.relationship-matrix th,.relationship-matrix td{vertical-align:middle;border-bottom:1px solid #dce5e7;border-right:1px solid #dce5e7}.relationship-matrix thead th{z-index:2;text-align:left;background:#eef5f6;min-width:160px;max-width:190px;padding:10px;position:sticky;top:0}.relationship-matrix tbody th{z-index:1;text-align:left;background:#fbfcfc;width:245px;max-width:245px;padding:10px 12px;position:sticky;left:0}.relationship-matrix th.selected{background:#dcebec}.relationship-matrix td.selected{outline-offset:-2px;outline:2px solid #86aab1}.matrix-header-button,.matrix-cell-button{width:100%;color:inherit;text-align:left;background:0 0;border:0;padding:0;display:block}.matrix-header-button{min-height:58px}.matrix-header-button:hover strong{color:#0f5963}.matrix-cell-button{min-height:40px}.relationship-matrix .matrix-corner{z-index:3;background:#e4eef0;min-width:245px;left:0}.relationship-matrix th span{color:#66787d;text-transform:uppercase;font-size:10px;font-weight:850;line-height:1.2;display:block}.relationship-matrix th strong{color:#172326;overflow-wrap:anywhere;margin-top:4px;font-size:12px;line-height:1.25;display:block}.relationship-matrix th small{color:#8a442b;margin-top:4px;font-size:10px;font-weight:850;line-height:1.2;display:block}.relationship-matrix td{background:#fff;width:160px;height:56px;padding:7px}.relationship-matrix td.has-relationship{background:#fffdf8}.requirement-review-matrix{width:100%;min-width:1180px}.requirement-review-matrix thead th{min-width:0;max-width:none}.requirement-review-matrix th:first-child,.requirement-review-matrix td:first-child{width:210px}.requirement-review-matrix th:nth-child(2),.requirement-review-matrix td:nth-child(2){width:300px}.requirement-review-matrix th:nth-child(3),.requirement-review-matrix td:nth-child(3){width:290px}.requirement-review-matrix th:nth-child(4),.requirement-review-matrix td:nth-child(4),.requirement-review-matrix th:nth-child(5),.requirement-review-matrix td:nth-child(5),.requirement-review-matrix th:nth-child(6),.requirement-review-matrix td:nth-child(6){width:170px}.requirement-review-matrix td{color:#4f6266;overflow-wrap:anywhere;height:auto;padding:10px;line-height:1.4}.requirement-review-matrix tbody tr.selected td{background:#fffaf0}.requirement-review-matrix td strong{color:#172326;font-size:13px;line-height:1.25;display:block}.requirement-review-matrix td small{color:#8a442b;margin-top:5px;font-size:10px;font-weight:850;line-height:1.2;display:block}.code-view{background:#f4f7f8;grid-column:1/-1;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;padding:16px;display:grid}.code-controls{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.code-actions{align-items:end;gap:10px;display:flex}.code-actions label{gap:5px;min-width:220px;display:grid}.code-actions label span{color:#5d6f74;font-size:12px;line-height:1.35}.code-actions select{color:#25383d;background:#fff;border:1px solid #cbd8da;border-radius:7px;min-height:36px;padding:0 10px}.code-frame{background:#172326;border:1px solid #d6e0e2;border-radius:8px;min-width:0;min-height:0;overflow:auto;box-shadow:0 10px 30px #1c353a1f}.code-listing{color:#e5eff1;tab-size:4;white-space:pre-wrap;gap:0;margin:0;padding:14px 0;font-family:Cascadia Code,Consolas,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;line-height:1.55;display:grid}.code-line{grid-template-columns:64px minmax(0,1fr);min-width:0;padding:0 18px 0 0;display:grid}.code-line:hover{background:#ffffff0f}.code-line-number{-webkit-user-select:none;user-select:none;color:#789094;text-align:right;padding-right:16px}.code-line code{color:#edf7f8;overflow-wrap:anywhere;min-width:0}.matrix-chip{color:#52676c;background:#fbfcfc;border:1px dashed #7f999f;border-radius:6px;align-items:center;min-height:22px;margin:2px;padding:0 7px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.matrix-chip--rationale,.matrix-chip--concern{color:#795f25;border-color:#b08a3a}.matrix-chip--derive,.matrix-chip--copy,.matrix-chip--trace,.matrix-chip--containment{color:#8a442b;border-color:#d16f4d}.matrix-chip--satisfy{color:#3f5f96;border-color:#5f7fb8}.matrix-chip--verify{color:#2f7046;border-color:#4b9a64}.details-panel{background:#fbfcfc;min-width:0;padding:16px;overflow:auto}.panel-title{border-bottom:1px solid #dce5e7;align-items:flex-start;gap:10px;padding-bottom:16px;display:flex}.panel-title svg{color:#d16f4d;flex:none;margin-top:3px}.panel-title h2{color:#172326;overflow-wrap:anywhere;margin:0;font-size:18px;line-height:1.25}.panel-title span{color:#6b7d82;overflow-wrap:anywhere;margin-top:3px;font-size:12px;display:block}.details-copy{color:#4f6266;margin:0;font-size:13px;line-height:1.5}.details-copy--spaced{margin-top:16px}.description-block{background:#fff;border:1px solid #dce5e7;border-radius:7px;gap:6px;margin-top:14px;padding:12px;display:grid}.description-block span{color:#66787d;text-transform:uppercase;font-size:12px;font-weight:850}.description-block p{color:#4f6266;margin:0;font-size:13px;line-height:1.45}.markup-text{color:#4f6266;gap:8px;font-size:13px;line-height:1.45;display:grid}.markup-text p,.markup-text ul{margin:0}.markup-text ul{padding-left:18px}.markup-text li+li{margin-top:4px}.markup-text strong{color:#172326;font-weight:850}.relationship-chain{background:#fff;border:1px solid #dce5e7;border-radius:7px;gap:10px;margin-top:14px;padding:12px;display:grid}.relationship-chain>span{color:#66787d;text-transform:uppercase;font-size:12px;font-weight:850}.relationship-chain__path,.relationship-chain__related{gap:8px;display:grid}.relationship-chain__step{grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;display:grid}.relationship-chain__step:first-child{grid-template-columns:minmax(0,1fr)}.relationship-chain__arrow{color:#d16f4d;text-align:center;font-size:12px;font-weight:900}.relationship-chain small{color:#7a8b8f;font-size:11px;line-height:1.2;display:block}.relationship-chain strong{color:#172326;overflow-wrap:anywhere;font-size:13px;line-height:1.25;display:block}.relationship-chain__related{border-top:1px solid #edf2f3;padding-top:8px}.relationship-chain__related p{color:#4f6266;margin:2px 0 0;font-size:12px;line-height:1.4}.section-title{color:#30464b;text-transform:uppercase;align-items:center;gap:7px;margin:20px 0 10px;font-size:12px;font-weight:800;display:flex}.details-section{background:#fff;border:1px solid #dce5e7;border-radius:7px;margin-top:10px;overflow:hidden}.details-section__summary{color:#30464b;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:0 11px;list-style:none;display:flex}.details-section__summary::-webkit-details-marker{display:none}.details-section__label,.details-section__meta{align-items:center;min-width:0;display:inline-flex}.details-section__label{text-transform:uppercase;gap:8px;font-size:12px;font-weight:850}.details-section__label svg{color:#d16f4d;flex:none}.details-section__meta{color:#66787d;gap:6px;font-size:12px}.details-section__meta svg{transition:transform .14s}.details-section[open] .details-section__meta svg{transform:rotate(180deg)}.details-section__body{border-top:1px solid #edf2f3;padding:0 11px 11px}.port-list,.attribute-list,.connection-list,.diagnostics-list{gap:8px;display:grid}.attribute-row{border-bottom:1px solid #edf2f3;gap:3px;padding:9px 0;display:grid}.attribute-row strong{color:#172326;overflow-wrap:anywhere;font-size:13px}.attribute-row span{color:#617378;overflow-wrap:anywhere;font-size:12px;line-height:1.35}.port-row{border-bottom:1px solid #edf2f3;grid-template-columns:10px minmax(0,1fr);align-items:start;gap:8px;padding:9px 0;display:grid}.port-row--port{grid-template-columns:minmax(0,1fr)}.direction-dot{background:#9dafb3;border-radius:50%;width:8px;height:8px;margin-top:5px}.direction-dot.in{background:#4b9a64}.direction-dot.out{background:#d16f4d}.port-row__name{color:#172326;overflow-wrap:anywhere;font-size:13px;font-weight:800}.port-row__name-line{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.port-row__doc{color:#617378;margin-top:3px;font-size:12px;line-height:1.4}.port-row__meta{color:#7a8b8f;margin-top:1px;font-size:11px}.direction-badge{color:#52676c;text-transform:uppercase;background:#fff;border:1px solid #dce5e7;border-radius:999px;flex:none;align-items:center;min-height:20px;padding:0 7px;font-size:10px;font-weight:850;line-height:1;display:inline-flex}.direction-badge.in{color:#2f7046;border-color:#b8d7c2}.direction-badge.out{color:#8a442b;border-color:#d9b2a4}.direction-badge.both{color:#42656d;border-color:#bdd0d4}.connection-row,.endpoint-block,.diagnostics-list div{background:#fff;border:1px solid #dce5e7;border-radius:7px}.connection-row{color:#30464b;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr);align-items:center;gap:8px;padding:9px;font-size:12px;display:grid}.connection-row span{overflow-wrap:anywhere}.connection-row svg{color:#d16f4d}.endpoint-block{gap:4px;margin-top:10px;padding:12px;display:grid}.endpoint-block:first-child{margin-top:0}.endpoint-block span,.endpoint-block small{color:#66787d;font-size:12px}.endpoint-block strong{color:#172326;overflow-wrap:anywhere;font-size:14px}.diagnostics-list div{color:#8a442b;padding:10px;font-size:12px;line-height:1.4}.statusbar{color:#596c70;background:#fbfcfc;border-top:1px solid #d6e0e2;align-items:center;gap:18px;padding:0 14px;font-size:12px;display:flex}.statusbar div{align-items:center;gap:6px;min-width:0;display:inline-flex}.projects-view{background:#f4f7f8;grid-column:1/-1;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;padding:16px;display:grid;overflow:auto}.projects-header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.projects-header-actions{align-items:center;gap:8px;display:flex}.projects-header h2,.project-panel h3{color:#172326;letter-spacing:0;margin:0}.projects-header h2{font-size:18px}.projects-header p{color:#5d6f74;margin:3px 0 0;font-size:13px}.projects-grid{grid-template-columns:minmax(300px,1fr) minmax(360px,1fr);gap:14px;min-height:0;display:grid}.project-panel{background:#fff;border:1px solid #d6e0e2;border-radius:8px;align-content:start;gap:12px;min-width:0;padding:14px;display:grid;box-shadow:0 10px 30px #1c353a12}.project-panel--wide{grid-column:1/-1}.project-panel h3{font-size:14px}.project-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-width:0;display:grid}.summary-metric{background:#fbfcfc;border:1px solid #dce5e7;border-radius:7px;gap:4px;min-width:0;padding:9px 10px;display:grid}.summary-metric span{color:#66787d;text-transform:uppercase;font-size:10px;font-weight:850;line-height:1}.summary-metric strong{color:#172326;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;line-height:1.2;overflow:hidden}.summary-metric--ok{background:#f7fcf9;border-color:#b8d7c2}.summary-metric--warn{background:#fff8f4;border-color:#d9b2a4}.project-form-row,.repository-row,.project-actions{align-items:center;gap:8px;min-width:0;display:flex}.project-actions--top{justify-content:flex-start;padding-bottom:2px}.checkbox-control{color:#52676c;white-space:nowrap;flex:none;align-items:center;gap:7px;min-height:36px;font-size:12px;font-weight:700;display:inline-flex}.checkbox-control input{width:15px;height:15px}.project-form-row input,.repository-row input,.project-panel select{color:#172326;background:#fff;border:1px solid #cbd8da;border-radius:7px;min-width:0;min-height:36px;padding:0 10px}.project-form-row input,.repository-row input{flex:1 1 0}.project-panel select,.project-select{width:100%}.run-select{width:min(300px,38vw);max-width:100%}.project-list{gap:6px;min-width:0;display:grid}.project-list-item{text-align:left;cursor:pointer;background:#fbfcfc;border:1px solid #dce5e7;border-radius:7px;gap:2px;min-width:0;padding:10px 12px;transition:border-color .12s,background .12s;display:grid}.project-list-item:hover{background:#f4f7f8;border-color:#a8bfc3}.project-list-item--active{background:#eef3f4;border-color:#20363b}.project-list-item-name{color:#172326;font-size:13px;font-weight:600}.project-list-item-slug{color:#5d6f74;font-size:11px}.repo-list-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.repo-list-header h3{color:#172326;margin:0;font-size:14px}.repo-list-header-actions{align-items:center;gap:6px;display:flex}.repo-list{gap:8px;min-width:0;display:grid}.repo-list-empty{color:#5d6f74;margin:0;font-size:12px}.repo-item{background:#fbfcfc;border:1px solid #dce5e7;border-radius:7px;align-items:flex-start;gap:10px;min-width:0;padding:10px;display:flex}.repo-item-meta{flex:1 1 0;gap:3px;min-width:0;display:grid}.repo-item-title{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.repo-item-meta strong{color:#172326;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.status-pill{color:#5d6f74;text-transform:uppercase;background:#fff;border:1px solid #dce5e7;border-radius:999px;flex:none;align-items:center;min-height:20px;padding:0 7px;font-size:10px;font-weight:850;line-height:1;display:inline-flex}.status-pill--ok{color:#2f7046;border-color:#b8d7c2}.status-pill--warn{color:#8a442b;border-color:#d9b2a4}.repo-item-meta small{color:#5d6f74;overflow-wrap:anywhere;font-size:12px;line-height:1.35}.repo-item-meta em{color:#8a442b;overflow-wrap:anywhere;font-size:12px;font-style:normal}.repository-editor,.repository-draft,.inventory-list,.event-log{gap:8px;min-width:0;display:grid}.repository-draft{background:#fbfcfc;border:1px dashed #cbd8da;border-radius:7px;padding:8px}.branch-input{flex-shrink:0;max-width:140px}.branch-badge{color:#2a6db5;background:#e8f0fe;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600}.repository-draft-name{color:#5d6f74;align-items:center;gap:5px;font-size:12px;display:inline-flex}.icon-button{color:#52676c;background:#fff;border:1px solid #cbd8da;border-radius:7px;flex:none;place-items:center;width:36px;height:36px;display:inline-grid}.icon-button--danger{color:#8a442b}.icon-button--danger:hover{background:#fff8f4;border-color:#d9b2a4}.inventory-item,.event-row{background:#fbfcfc;border:1px solid #dce5e7;border-radius:7px;gap:4px;min-width:0;padding:10px;display:grid}.inventory-item strong,.event-row strong{color:#172326;font-size:13px}.inventory-item span,.event-row span{color:#2f7046;text-transform:uppercase;font-size:11px;font-weight:850}.inventory-item small,.event-row p,.inventory-list p,.event-log p{color:#5d6f74;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.35}.inventory-item em{color:#8a442b;overflow-wrap:anywhere;font-size:12px;font-style:normal}.event-row--delta{background:#f4f8f9;border-left:2px solid #2f7046;grid-template-columns:1fr;padding-left:6px;font-family:monospace}.event-row--delta p{color:#2a5c3a;white-space:pre-wrap;font-size:11px}.event-row--reasoning{background:#f9f7ff;border-left:2px solid #7c6fcd;padding-left:6px}.event-row--reasoning span{color:#7c6fcd;text-transform:uppercase;font-size:11px;font-weight:850}.event-row--reasoning p{color:#4a4370;white-space:pre-wrap;font-size:11px;font-style:italic}.event-row--loading{color:#5d6f74;align-items:center;gap:6px;font-size:12px;display:flex}.event-row--loading p{color:#5d6f74;margin:0;font-size:12px}.elapsed-timer{color:#5d6f74;font-variant-numeric:tabular-nums;min-width:3ch;font-size:12px}.elapsed-label{color:#2a6db5;font-size:11px;font-weight:700}.event-time{font-variant-numeric:tabular-nums;color:#9aafb5;min-width:3ch;font-size:10px}.event-row--pass{border-top:1px solid #dce5e7;margin-top:2px;padding-top:6px}.event-row--pass p{color:#172326;font-size:12px;font-weight:700}.event-row--validation{background:#fffaf4;border-left:2px solid #b67a2f;padding-left:8px}.validation-notes{gap:5px;display:grid}.validation-notes--compact{border-top:1px solid #eadcc9;margin-top:4px;padding-top:6px}.validation-notes strong{color:#5a3719;font-size:12px}.validation-notes ul{gap:3px;margin:0;padding-left:18px;display:grid}.validation-notes li,.validation-notes small{color:#6b5238;font-size:12px;line-height:1.35}.opencode-card{background:#fbfcfc;border:1px solid #dce5e7;border-radius:7px;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.opencode-card-icon{color:#5e7f86;background:#eef3f4;border-radius:7px;place-items:center;width:34px;height:34px;display:grid}.opencode-card div:last-child{gap:3px;min-width:0;display:grid}.opencode-card strong{color:#172326;font-size:13px;line-height:1.2}.opencode-card span,.opencode-card small{color:#5d6f74;overflow-wrap:anywhere;font-size:12px;line-height:1.35}.blocking-modal{z-index:50;background:#1723266b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.blocking-modal__panel{background:#fff;border:1px solid #bdd0d4;border-radius:8px;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:14px;width:min(520px,100%);padding:20px;display:grid;box-shadow:0 24px 70px #12292e47}.blocking-modal__panel h3{color:#172326;margin:0;font-size:18px;line-height:1.2}.blocking-modal__panel p{color:#30464b;margin:7px 0 0;font-size:14px;line-height:1.45}.blocking-modal__panel small{color:#66787d;margin-top:8px;font-size:12px;line-height:1.35;display:block}.inline-link-button{color:#225e69;width:fit-content;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:700}.inline-link-button:hover{color:#172326;text-decoration:underline}.spin{color:#5e7f86;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.backend-status{margin-left:auto}.backend-status--loaded{color:#2f7046}.backend-status--error{color:#8a442b}@media (max-width:960px){.app-shell{grid-template-rows:auto minmax(0,1fr) auto}.topbar{flex-direction:column;align-items:flex-start}.workspace{grid-template-rows:minmax(420px,1fr) 320px;grid-template-columns:1fr}.diagram-region{border-bottom:1px solid #d6e0e2;border-right:0}.diagram-status{flex-direction:column;align-items:stretch}.search-box{width:100%}.filter-tabs{overflow-x:auto}.tool-button span{display:none}.statusbar{flex-wrap:wrap;min-height:34px;padding:7px 14px}.projects-grid{grid-template-columns:1fr}.project-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.repository-row{flex-direction:column;align-items:stretch}}.pa-viewer--embedded{background:#eef3f4;border-top:1px solid #d6e0e2;grid-template-rows:46px minmax(0,1fr) 32px;height:100%;min-height:0;display:grid;overflow:hidden}.pa-viewer--embedded:fullscreen{border:0;height:100vh}.pa-viewer__modebar{background:#fbfcfc;border-bottom:1px solid #d6e0e2;justify-content:space-between;align-items:center;gap:16px;padding:0 14px;display:flex}.pa-viewer__title{color:#25383d;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;align-items:baseline;gap:16px;min-width:0;font-size:13px;font-weight:600;display:flex;overflow:hidden}.pa-viewer__about{color:#5e7f86;white-space:nowrap;font-size:12px;font-weight:500;text-decoration:none}.pa-viewer__about:hover{color:#25383d;text-decoration:underline}.pa-viewer__modes{flex:none;gap:6px;display:inline-flex}.pa-viewer__modes button{color:#25383d;background:#fff;border:1px solid #cbd8da;border-radius:7px;align-items:center;gap:6px;height:30px;padding:0 10px;font-size:12px;display:inline-flex}.pa-viewer__modes button:hover{background:#f7fbfb;border-color:#8fb0b7}.pa-viewer__modes button.active{color:#14353b;background:#dcebec;border-color:#86aab1}.pa-viewer--embedded .workspace--code{grid-template-columns:minmax(0,1fr)}.pa-viewer__hint{color:#7d9197;margin-left:auto;font-style:italic}@media (max-width:860px){.pa-viewer--embedded .workspace{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.pa-viewer__modes button span{display:none}}
