html,body{height:100%;overscroll-behavior:none}body{overflow:hidden}.shell{height:100vh;height:100dvh;min-height:0;display:flex;flex-direction:column;max-width:100%;overflow-x:hidden}.modelWorkspaceCanvas{border-radius:12px;border:1px solid rgba(255,255,255,.1);background:var(--diagram-canvas-bg);padding:12px;flex:1;min-height:0;display:flex;flex-direction:column}.workspace{display:flex;flex-direction:column;height:100%;min-height:0}.shellHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;width:100%;max-width:100%;box-sizing:border-box;border-bottom:1px solid rgba(255,255,255,.12);background:#ffffff08;position:sticky;top:0;z-index:10}.shellBrand{display:flex;flex-direction:column;gap:2px;min-width:140px;max-width:40vw;overflow:hidden}.shellTitle{font-size:16px;font-weight:700;letter-spacing:.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shellSubtitle{font-size:12px;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shellNav{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.shellNavLink{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;text-decoration:none;color:inherit;opacity:.85;border:1px solid transparent}.shellNavLink:hover{opacity:1;border-color:#ffffff24;background:var(--surface-1)}.shellNavLink.isActive{opacity:1;background:var(--surface-3);border-color:#ffffff2e}.shellActions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.shellStatus{display:flex;align-items:center;gap:6px;margin-right:4px}.shellStatusChip{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid var(--border-1);background:var(--surface-2);opacity:.92}.shellStatusChipButton{cursor:pointer}.shellStatusChipButton:hover{opacity:1}.shellStatusChip.isOverlayActive{border-color:#ffffff38}.shellStatusChip.isOffline,.shellStatusChip.isDirty{border-color:#ffffff47}.shellButton{padding:7px 10px;border-radius:10px;border:1px solid var(--button-border);background:var(--surface-1);color:inherit;cursor:pointer}.linkButton{padding:2px 4px;border-radius:8px;border:1px solid transparent;background:transparent;color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;opacity:.9}.linkButton:hover{opacity:1;background:#ffffff0f;border-color:#ffffff1a}.shellButton:disabled{opacity:.55;cursor:not-allowed}.shellSelect{padding:7px 10px;border-radius:10px;border:1px solid var(--button-border);background:var(--surface-1);color:inherit;cursor:pointer}.shellValidationMode{display:inline-flex;align-items:center;gap:6px}.shellValidationModeLabel{font-size:12px;opacity:.85}.shellOnlySmall{display:none}.shellIconButton{padding:7px 10px;border-radius:10px;border:1px solid var(--button-border);background:var(--surface-1);color:inherit;cursor:pointer;line-height:1}.toast{position:fixed;left:50%;bottom:14px;transform:translate(-50%);z-index:1000;width:min(560px,calc(100vw - 24px));border-radius:12px;border:1px solid var(--border-1);background:var(--surface-3);box-shadow:0 14px 30px #00000073;padding:10px 12px}.toastRow{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}.toastMsg{font-size:13px;line-height:1.35}.toast-warn,.toast-success,.toast-error{border-color:#ffffff38}.toast-error{border-color:#ffffff47}.shellBody{flex:1;display:grid;--shellLeftWidth: 260px;--shellRightWidth: 320px;grid-template-columns:1fr;gap:12px;padding:12px;min-height:0;max-height:100%;overflow:hidden}.shellBody.isLeftDockedOpen.isRightDockedOpen{grid-template-columns:var(--shellLeftWidth) 1fr var(--shellRightWidth)}.shellBody.isLeftDockedOpen:not(.isRightDockedOpen){grid-template-columns:var(--shellLeftWidth) 1fr}.shellBody.isRightDockedOpen:not(.isLeftDockedOpen){grid-template-columns:1fr var(--shellRightWidth)}.shellSidebar{position:relative;border:1px solid var(--diagram-canvas-border);border-radius:12px;background:#ffffff08;overflow:hidden;min-height:0;display:flex;flex-direction:column}.shellSidebar:not(.isOpen){display:none}.shellSidebar.isOpen{display:flex}.shellResizer{position:absolute;top:0;bottom:0;width:10px;cursor:col-resize;touch-action:none}.shellResizerLeft{right:-5px}.shellResizerRight{left:-5px}.shellResizer:hover{background:var(--surface-3)}.shell.isResizing{cursor:col-resize}.shell.isResizing *{-webkit-user-select:none;user-select:none}.shellBackdrop{position:fixed;top:54px;left:0;right:0;bottom:0;background:#00000073;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:auto;z-index:15}.shell.isNavigatorDragging .shellBackdrop{display:none;pointer-events:none;backdrop-filter:none;-webkit-backdrop-filter:none}.shellSidebarHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.12)}.shellSidebarTitle{font-weight:700}.shellSidebarContent{padding:10px 12px;overflow:auto;flex:1;min-height:0;-webkit-overflow-scrolling:touch}.shellMain{display:flex;flex-direction:column;border:1px solid var(--border-1);border-radius:12px;background:#ffffff05;padding:14px;min-height:0;overflow:auto}.panelHint{margin:0 0 12px;opacity:.85}.treeList{margin:0;padding-left:16px}.treeNode{font-weight:600}.treeLeaf{opacity:.8;font-style:italic}.propertiesGrid{display:flex;flex-direction:column;gap:8px}.propertiesRow{display:grid;grid-template-columns:92px 1fr;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid var(--border-1);background:#ffffff05}.propertiesKey{opacity:.78}.propertiesValue{font-weight:600}.workspaceHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.workspaceTitle{margin:0;font-size:18px}.workspaceTabs{display:flex;gap:8px}.tabButton{padding:7px 10px;border-radius:10px;border:1px solid var(--button-border);background:var(--surface-1);color:inherit;cursor:pointer}.tabButton.isActive{background:var(--surface-3)}.tabButton:disabled{opacity:.55;cursor:not-allowed}.canvasPlaceholder{margin-top:14px;border-radius:12px;border:2px dashed rgba(255,255,255,.18);background:#ffffff03;min-height:420px;display:flex}.canvasPlaceholderInner{margin:auto;max-width:520px;padding:18px;text-align:center}.canvasTitle{margin:0;font-size:16px;font-weight:700}.canvasHint{margin:10px 0 0;opacity:.85}.diagramToolbar{display:flex;flex-direction:column;gap:10px;align-items:stretch;padding:12px;border:1px solid var(--border-1);border-radius:12px;background:var(--surface-2);margin-bottom:10px}.diagramToolbarRow{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.diagramToolbarButtons{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-left:auto}.diagramZoomLabel{min-width:64px;text-align:center;opacity:.9}.diagramCanvas{border:1px solid var(--diagram-canvas-border);border-radius:12px;padding:12px;background:var(--diagram-canvas-bg);display:flex;flex-direction:column;height:100%}.diagramCanvasHeader{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:10px}.diagramCanvasTitle{font-size:14px;font-weight:700}.diagramCanvasControls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.diagramViewport{position:relative;overflow:auto;border-radius:12px;border:1px dashed var(--border-2);background:var(--surface-1);min-height:0;overscroll-behavior:auto;flex:1;max-height:100%}.portalReadOnlyDiagram .diagramViewport{min-height:420px}.diagramViewport.isDropTarget{border-style:solid;border-color:var(--border-3);box-shadow:inset 0 0 0 1px var(--border-2)}.diagramSurface{position:relative;height:420px;border-radius:12px;background:repeating-linear-gradient(0deg,var(--diagram-grid-line),var(--diagram-grid-line) 1px,transparent 1px,transparent 24px),repeating-linear-gradient(90deg,var(--diagram-grid-line),var(--diagram-grid-line) 1px,transparent 1px,transparent 24px);-webkit-touch-callout:none}.diagramNodesLayer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.diagramRelationships{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.diagramRelHit{fill:none;stroke:transparent;stroke-width:14px;pointer-events:stroke;cursor:pointer}.diagramRelLine{fill:none;stroke:var(--diagram-rel-stroke);color:var(--diagram-rel-stroke);stroke-width:2px;pointer-events:none}.diagramRelLine.isSelected{stroke:var(--diagram-rel-stroke-selected);color:var(--diagram-rel-stroke-selected);stroke-width:3.5px}.diagramMarquee{pointer-events:none;border:1px solid var(--border-3);background:#78a0ff26;border-radius:6px}.diagramHint{position:sticky;top:10px;left:10px;z-index:5;display:inline-flex;gap:6px;align-items:baseline;padding:8px 10px;color:var(--hint-fg);background:var(--hint-bg);border:1px solid var(--button-border);border-radius:10px;box-shadow:0 6px 18px #00000059;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.diagramNode{position:absolute;box-sizing:border-box;border-radius:12px;border:1px solid rgba(0,0,0,.18);background:var(--diagram-node-bg, rgba(255, 255, 255, .92));box-shadow:0 6px 16px #00000040;padding:10px;color:#000000e0;-webkit-user-select:none;user-select:none;cursor:grab;touch-action:none;-webkit-touch-callout:none}.diagramNode--uml-initial,.diagramNode--uml-activityFinal,.diagramNode--uml-flowFinal,.diagramNode--uml-decision,.diagramNode--uml-merge,.diagramNode--uml-fork,.diagramNode--uml-join{padding:0;border:none;background:transparent;box-shadow:none;border-radius:0}.diagramNode--uml-action,.diagramNode--uml-object,.diagramNode--uml-activity{padding:6px;border-radius:10px}.diagramConnectorNode{position:absolute;box-sizing:border-box;border-radius:999px;padding:0;background:transparent;-webkit-user-select:none;user-select:none;cursor:grab;display:flex;align-items:center;justify-content:center;touch-action:none;-webkit-touch-callout:none}.diagramConnectorShape{width:100%;height:100%;border:2px solid rgba(0,0,0,.25);background:#ffffffe6;box-shadow:0 6px 16px #0000002e;border-radius:999px}.diagramConnectorShape--diamond{border-radius:6px;transform:rotate(45deg) scale(.76)}.diagramViewObjectNode{position:absolute;box-sizing:border-box;border-radius:12px;border:1px solid rgba(0,0,0,.18);background:#ffffffeb;box-shadow:0 6px 16px #0000002e;padding:10px;color:#000000e0;-webkit-user-select:none;user-select:none;cursor:grab;overflow:hidden;touch-action:none;-webkit-touch-callout:none}.diagramViewObjectNode--note{background:#ffffc8eb}.diagramViewObjectNode--groupBox{background:transparent;border-width:2px;border-style:dashed;box-shadow:none}.diagramViewObjectNode--label{background:transparent;border-style:dashed;box-shadow:none;padding:4px 6px}.diagramViewObjectNode--divider{background:transparent;border:none;box-shadow:none;padding:0;border-radius:0}.diagramDividerLine{position:absolute;left:0;top:50%;width:100%;height:2px;transform:translateY(-1px);background:#0000008c}.diagramViewObjectNode.isSelected{outline:2px solid #7aa6ff;outline-offset:2px}.diagramViewObjectNode:active{cursor:grabbing}.diagramViewObjectTitle{font-weight:800;font-size:12px;opacity:.9;margin-bottom:6px}.diagramViewObjectText{font-size:13px;line-height:1.25;white-space:pre-wrap;word-break:break-word}.diagramResizeHandle{position:absolute;right:-7px;bottom:-7px;width:14px;height:14px;border-radius:4px;border:1px solid rgba(0,0,0,.18);background:#ffffffeb;box-shadow:0 6px 14px #0000002e;cursor:nwse-resize}.diagramConnectorNode.isRelTarget{outline:2px solid rgba(34,197,94,.85);outline-offset:2px}.diagramConnectorNode.isRelSelfTarget{outline:2px dashed rgba(234,179,8,.9);outline-offset:2px}.diagramConnectorNode.isRelSource{outline:2px solid rgba(59,130,246,.7);outline-offset:2px}.diagramConnectorNode.isSelected{outline:2px solid #7aa6ff;outline-offset:2px}.diagramRelHandle--connector{right:-10px;top:-10px;width:20px;height:20px;font-size:12px}.diagramNode.isRelTarget{outline:2px solid rgba(34,197,94,.85);outline-offset:2px}.diagramNode.isRelSelfTarget{outline:2px dashed rgba(234,179,8,.9);outline-offset:2px}.diagramNode.isRelSource{outline:2px solid rgba(59,130,246,.7);outline-offset:2px}.diagramRelHandle{position:absolute;right:-12px;top:-12px;transform:none;width:24px;height:24px;border-radius:999px;border:1px solid rgba(0,0,0,.18);background:#ffffffeb;box-shadow:0 6px 14px #0000002e;display:inline-flex;align-items:center;justify-content:center;color:#000000c7;font-weight:800;font-size:14px;line-height:1;cursor:crosshair;-webkit-user-select:none;user-select:none}.diagramRelHandle:hover{transform:scale(1.06)}.diagramNode:active{cursor:grabbing}.diagramNode.isSelected{outline:2px solid #7aa6ff;outline-offset:2px}.diagramNode.isHighlighted{border-width:2px;border-color:#ffb703}.diagramNodeTag{margin-top:6px;font-size:11px;padding:2px 8px;border-radius:999px;background:#f1f3f5;color:#000000c7;display:inline-block}.diagramNodeHeader{display:flex;align-items:center;gap:8px;margin-bottom:6px}.diagramNodeSymbol{width:18px;height:18px;flex:0 0 18px;color:#000000c7}.diagramNodeSymbol svg{width:18px;height:18px;display:block}.diagramNodeTitle{font-weight:700;font-size:13px;margin:0}.diagramNodeMeta{font-size:12px;opacity:.85;color:#000000b8}.about{max-width:820px}.aboutSection{margin-top:18px;padding:12px 14px;border-radius:12px;border:1px solid var(--border-1);background:#ffffff05}.aboutHeading{margin:0 0 10px;font-size:16px}@media(max-width:1100px){.shellHeader{overflow-x:clip}.shellHeader>*{min-width:0}.shellActions>.shellButton:not(.shellPrimaryAction){display:none}.shellOnlySmall{display:inline-flex}.shellNavLinkAbout{display:none}.shellBody{--shellLeftWidth: 240px;--shellRightWidth: 280px}.shellSidebarRight{position:fixed;top:54px;bottom:12px;right:12px;width:min(360px,calc(100vw - 24px));background:var(--overlay-panel-bg);box-shadow:0 18px 40px #00000073;z-index:20}}@media(max-width:720px){.shellHeader .shellActions>.shellButton:not(.shellPrimaryAction){display:none}.shellBrand,.shellNavLinkAbout{display:none}.shellNav{flex:0;min-width:0}.shellNavLink{padding:6px 8px;font-size:13px}.shellOnlySmall{display:inline-flex}.shellBody{grid-template-columns:1fr}.workspaceHeader{flex-direction:column;align-items:flex-start}.workspaceTabs{flex-wrap:wrap}.diagramToolbar{justify-content:flex-start}.shellSidebar{position:fixed;top:54px;bottom:12px;width:min(360px,calc(100vw - 24px));z-index:20;background:var(--overlay-panel-bg);box-shadow:0 18px 40px #00000073;transition:transform .14s ease;transform:translate(0);display:none}.shellSidebar.isOpen{display:flex}.shellSidebarLeft{left:12px}.shellSidebarRight{right:12px}.shell.isNavigatorDragging .shellSidebarLeft.isOpen{transform:translate(calc(-100% + 56px))}.shellBackdrop{position:fixed;top:54px;left:0;right:0;bottom:0;background:#00000073;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);pointer-events:auto;z-index:15}}.shellButton.isActive{background:var(--surface-3);border-color:var(--border-3)}.diagramToolbarTools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.diagramToolbarDivider{width:1px;height:22px;background:var(--border-2);border-radius:1px;opacity:.9}.dialogBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;padding:24px;z-index:50}.dialogPanel{width:min(560px,100%);border-radius:14px;border:1px solid var(--border-2);background:var(--hint-bg);color:var(--hint-fg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 18px 48px #00000073;overflow:hidden;max-height:calc(100vh - 48px);display:flex;flex-direction:column}.dialogHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border-1)}.dialogTitle{font-weight:800}.dialogBody{padding:14px;overflow:auto;flex:1 1 auto}.dialogFooter{display:flex;justify-content:flex-end;gap:8px;padding:12px 14px;border-top:1px solid var(--border-1)}.formGrid{display:grid;gap:10px}.formRow{display:grid;gap:6px}.formRow label{font-size:12px;opacity:.85}.textInput,.textArea,.selectInput{width:100%;box-sizing:border-box;padding:8px 10px;border-radius:10px;border:1px solid var(--border-2);background:var(--surface-1);color:inherit}.textArea{min-height:84px;resize:vertical}.hintText{margin:0;font-size:12px;opacity:.75}.sandboxInsertRow{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.sandboxInsertField{display:flex;flex-direction:column;gap:4px;min-width:0}.sandboxInsertField .textInput,.sandboxInsertField .selectInput{min-width:0}.sandboxInsertField--mode{flex:0 1 260px;min-width:180px}.sandboxInsertField--k{flex:0 0 96px;min-width:96px}.sandboxInsertField--maxHops{flex:0 0 120px;min-width:120px}.sandboxInsertField--depth{flex:0 0 96px;min-width:96px}.sandboxInsertField--direction{flex:1 1 200px;min-width:180px}.navigator{display:flex;flex-direction:column;gap:10px}.navigatorHeader{display:flex;flex-direction:column;gap:4px}.navigatorModelName{font-weight:800}.navigatorMeta{font-size:12px;opacity:.75}.navTree{list-style:none;padding:0;margin:0;display:grid;gap:6px}.navAriaTree{display:flex;flex-direction:column;gap:2px;flex:1;min-height:0;overflow:auto;padding-bottom:10px;-webkit-overflow-scrolling:touch}.navEmpty{padding:8px;opacity:.75}.navAriaTree [data-focus-visible] .navTreeRow,.navAriaTree [data-focus-visible=true] .navTreeRow{outline:2px solid var(--border-3);outline-offset:2px}.navAriaTree [data-selected=true] .navTreeRow{background:var(--surface-2)}.navTreeRow{position:relative;display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;background:transparent;min-width:0;-webkit-user-select:none;user-select:none;cursor:pointer}.navTreeRow:hover{background:var(--surface-2)}.navTreeRow.isDropTarget{outline:2px dashed var(--border-2);outline-offset:2px;background:var(--surface-2)}.navTopLevelRow{margin:4px 0 6px;padding:3px 6px;cursor:default;opacity:.9}.navTopLevelRow:hover{background:var(--surface-1)}.navTopLevelCreate{margin-left:auto;border:1px solid var(--border-1);background:var(--surface-1);color:inherit;border-radius:4px;padding:2px 6px;font-size:12px;cursor:pointer}.navTopLevelCreate:hover{background:var(--surface-2)}.navTreeIndent{height:18px;align-self:stretch;display:inline-block;background-image:linear-gradient(to right,var(--border-1) 0 1px,transparent 1px);background-size:12px 100%;background-repeat:repeat-x;opacity:.9}.navTreeConnector{width:8px;height:1px;background:var(--border-1);display:inline-block;margin-right:1px}.navTreeChevron,.navTreeChevronSpacer{width:14px;display:inline-flex;justify-content:center;opacity:.85}.navTreeChevronButton{border:none;background:transparent;color:inherit;padding:0;width:14px;height:18px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.navTreeChevronButton:hover{background:var(--surface-2);border-radius:4px}.navAriaTree [role=treeitem][aria-expanded=true] .navTreeChevron:before{content:"▾"}.navAriaTree [role=treeitem][aria-expanded=false] .navTreeChevron:before{content:"▸"}.navTreeIcon{width:16px;display:inline-flex;justify-content:center;opacity:.9;color:var(--app-muted-fg)}.navTreeRow:hover .navTreeIcon,.navAriaTree [data-selected=true] .navTreeIcon{color:var(--app-fg)}.navTreeLabel{font-weight:600;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navTreeRow:hover .navTreeLabel,.navAriaTree [data-selected=true] .navTreeLabel{padding-right:44px}.navTreeSecondary{font-size:11px;opacity:.72;padding:0 6px;border:none;background:transparent;white-space:nowrap}.navTreeActions{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:inline-flex;gap:6px;opacity:0;pointer-events:none;padding-left:10px;background:linear-gradient(to left,var(--panel-bg, var(--surface-1)) 70%,transparent)}.navTreeRow:hover .navTreeActions,.navTreeRow:focus-within .navTreeActions,.navAriaTree [data-selected] .navTreeActions,.navAriaTree [data-selected=true] .navTreeActions{opacity:1;pointer-events:auto}.navInlineRename{padding:4px 6px;border-radius:4px}.navNode{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;border:1px solid var(--border-1);background:#ffffff05}.navNode.isSelected{border-color:#ffffff42;background:var(--surface-2)}.navNodeMain{display:inline-flex;align-items:center;gap:8px;min-width:0}.navNodeButton{border:none;background:transparent;color:inherit;cursor:pointer;padding:0;font:inherit;text-align:left;min-width:0}.navNodeTitle{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navNodeCount{font-size:12px;opacity:.75}.navNodeActions{display:inline-flex;gap:6px}.miniButton{border-radius:8px;border:1px solid var(--button-border);background:var(--surface-1);color:inherit;padding:5px 7px;cursor:pointer;line-height:1}.miniButton:disabled{opacity:.55;cursor:not-allowed}.navChildren{list-style:none;margin:6px 0 0;padding-left:14px;display:grid;gap:6px}.navHint{margin:0;font-size:12px;opacity:.75}.navTreeRow[data-kind=section]{font-weight:750;margin-top:6px}.navMenuPopover{border:1px solid var(--button-border);background:var(--hint-bg);color:var(--hint-fg);border-radius:10px;padding:4px;box-shadow:0 12px 30px #00000073}.navMenu{display:flex;flex-direction:column;gap:2px;outline:none}.navMenuItem{padding:6px 10px;border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.navMenuItem[data-focused=true],.navMenuItem:hover{background:var(--surface-3)}.crudSection{margin-top:14px;padding:12px 14px;border-radius:12px;border:1px solid var(--border-1);background:#ffffff05}.crudHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.crudTitle{margin:0;font-size:14px;font-weight:800}.crudHint{margin:6px 0 0;font-size:12px;opacity:.78}.toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.toolbarGroup{display:grid;gap:6px;min-width:160px}.toolbarGroup label{font-size:12px;opacity:.85}.errorText{margin:10px 0 0;padding:8px 10px;border-radius:10px;border:1px solid rgba(255,120,120,.35);background:#ff787814;font-size:12px}.dataTable{width:100%;margin-top:12px;border-collapse:collapse;overflow:hidden;border-radius:12px;border:1px solid var(--border-1)}.dataTable th,.dataTable td{padding:10px;border-bottom:1px solid rgba(255,255,255,.1);text-align:left;vertical-align:top}.dataTable th{font-size:12px;opacity:.85;background:#ffffff08}.tableSortButton{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:6px}.tableSortButton:hover{text-decoration:underline}.tableSortIndicator{font-size:10px;opacity:.75}.dataTable tbody tr:hover{background:#ffffff08}.rowActions{display:flex;gap:8px;justify-content:flex-end}.miniLinkButton{border:1px solid var(--button-border);background:#ffffff08;color:inherit;cursor:pointer;border-radius:10px;padding:6px 8px;font-size:12px}.miniLinkButton:disabled{opacity:.55;cursor:not-allowed}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.crudCard{width:100%;border:1px solid var(--border-1);border-radius:12px;padding:10px 12px;background:#ffffff05}.crudCard:hover{background:#ffffff0a}.crudCardActive{outline:2px solid rgba(120,170,255,.45);outline-offset:1px}.analysisSandboxRoot{height:68vh;border-top:1px solid var(--border, #ddd)}.analysisSandboxSvg{width:100%;height:100%;background:#fff;touch-action:none}.analysisSandboxEdge line{stroke:#444;stroke-width:1.2}.analysisSandboxEdge polyline{stroke:#444;stroke-width:1.2}.analysisSandboxEdge{cursor:pointer}.analysisSandboxEdge:focus,.analysisSandboxEdge:focus-visible{outline:none}.analysisSandboxEdge.isSelected line{stroke:#111;stroke-width:2.2}.analysisSandboxEdge.isSelected polyline{stroke:#111;stroke-width:2.2}.analysisSandboxEdge text{font-size:11px;fill:#333;pointer-events:none;-webkit-user-select:none;user-select:none}.analysisSandboxEdge.isSelected text{font-weight:700}.analysisSandboxNode rect{fill:#f7f7f7;stroke:#0000002e;stroke-width:1}.analysisSandboxNode.isSelected rect{stroke:#111;stroke-width:2.2}.analysisSandboxNode.isPairSelected rect{stroke:#111;stroke-width:2}.analysisSandboxNode.isPairSecondary rect{stroke-dasharray:4 2}.analysisSandboxNodeTitle{font-size:13px;font-weight:600;fill:#111;pointer-events:none;-webkit-user-select:none;user-select:none}.analysisSandboxNodeMeta{font-size:11px;fill:#444;pointer-events:none;-webkit-user-select:none;user-select:none}.analysisSandboxSvg.isDropTarget{background:#00000008}.analysisSandboxEmpty text{font-size:14px;fill:#333;-webkit-user-select:none;user-select:none;pointer-events:none}:root{color-scheme:dark;--app-bg: #0b1220;--app-fg: #e5e7eb;--app-muted-fg: rgba(229, 231, 235, .72);--overlay-panel-bg: rgba(11, 18, 32, .98);--surface-1: rgba(255, 255, 255, .04);--surface-2: rgba(255, 255, 255, .06);--surface-3: rgba(255, 255, 255, .08);--border-1: rgba(255, 255, 255, .12);--border-2: rgba(255, 255, 255, .2);--border-3: rgba(255, 255, 255, .28);--button-bg: rgba(255, 255, 255, .06);--button-bg-hover: rgba(255, 255, 255, .1);--button-fg: rgba(255, 255, 255, .92);--button-border: rgba(255, 255, 255, .14);--hint-bg: rgba(17, 24, 39, .78);--hint-fg: rgba(255, 255, 255, .92);--diagram-canvas-bg: rgba(255, 255, 255, .02);--diagram-canvas-border: rgba(255, 255, 255, .12);--diagram-grid-line: rgba(255, 255, 255, .06);--diagram-rel-stroke: rgba(255, 255, 255, .72);--diagram-rel-stroke-selected: rgba(255, 255, 255, .95);--analysis-heatmap-fill-rgb: 255, 255, 255;--analysis-matrix-missing-bg: rgba(255, 255, 255, .03);--arch-layer-strategy: rgba(182, 139, 106, .92);--arch-layer-motivation: rgba(197, 168, 255, .92);--arch-layer-business: rgba(255, 235, 140, .92);--arch-layer-application: rgba(159, 207, 255, .92);--arch-layer-technology: rgba(168, 233, 178, .92);--arch-layer-physical: rgba(168, 233, 178, .92);--arch-layer-implementation: rgba(255, 180, 206, .92)}:root[data-theme=light]{color-scheme:light;--app-bg: #f6f7fb;--app-fg: #111827;--app-muted-fg: rgba(17, 24, 39, .7);--overlay-panel-bg: rgba(255, 255, 255, .98);--surface-1: rgba(17, 24, 39, .04);--surface-2: rgba(17, 24, 39, .06);--surface-3: rgba(17, 24, 39, .08);--border-1: rgba(17, 24, 39, .12);--border-2: rgba(17, 24, 39, .2);--border-3: rgba(17, 24, 39, .28);--button-bg: rgba(17, 24, 39, .04);--button-bg-hover: rgba(17, 24, 39, .08);--button-fg: rgba(17, 24, 39, .92);--button-border: rgba(17, 24, 39, .16);--hint-bg: rgba(255, 255, 255, .86);--hint-fg: rgba(17, 24, 39, .92);--diagram-canvas-bg: rgba(255, 255, 255, .86);--diagram-canvas-border: rgba(17, 24, 39, .12);--diagram-grid-line: rgba(17, 24, 39, .1);--diagram-rel-stroke: rgba(17, 24, 39, .55);--diagram-rel-stroke-selected: rgba(17, 24, 39, .88);--analysis-heatmap-fill-rgb: 17, 24, 39;--analysis-matrix-missing-bg: rgba(17, 24, 39, .06)}html,body{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.5;background:var(--app-bg);color:var(--app-fg);overflow-x:hidden}#root{min-height:100%}.analysisHeatLegend{display:inline-flex;gap:8px;align-items:center;font-size:12px;opacity:.9}.analysisHeatLegendBar{width:120px;height:10px;border-radius:999px;border:1px solid var(--border-1);background:linear-gradient(to right,rgba(var(--analysis-heatmap-fill-rgb),0),rgba(var(--analysis-heatmap-fill-rgb),.18))}.analysisModeBar{display:flex;gap:8px;margin-bottom:12px}.analysisModeLink{text-decoration:none;display:inline-flex;align-items:center}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}
