*{box-sizing:border-box}html,body{color:#202734;background:#f5f6f8;height:100%;margin:0;font-family:Arial,Helvetica,sans-serif}button,input,textarea{font:inherit}button:disabled{cursor:not-allowed;opacity:.58}.loginPage{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.loginPanel{background:#fff;border:1px solid #d6dbe4;border-radius:8px;gap:16px;width:100%;max-width:380px;padding:20px;display:grid}.appShell{grid-template-columns:minmax(300px,360px) minmax(0,1fr) minmax(340px,430px);min-width:0;height:100vh;display:grid}.appShell.chatCollapsed{grid-template-columns:56px minmax(0,1fr) minmax(340px,430px)}.appShell.contextClosed{grid-template-columns:minmax(300px,360px) minmax(0,1fr)}.appShell.contextClosed.chatCollapsed{grid-template-columns:56px minmax(0,1fr)}.chatPanel{background:#fff;border-right:1px solid #d6dbe4;flex-direction:column;min-height:0;padding:16px;display:flex;overflow:hidden}.collapsedChatPanel{align-items:stretch;padding:8px}.chatRailButton{color:#394254;cursor:pointer;background:#fff;border:1px solid #c4ccd9;border-radius:6px;flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;width:100%;height:100%;padding:12px 4px;font-size:12px;font-weight:700;display:inline-flex}.chatRailButton:hover{color:#1849a9;border-color:#1849a9}.miroNote{background:#f8fafc;border:1px solid #d6dbe4;border-radius:6px;margin-top:12px;margin-bottom:12px;padding:10px}.miroNote p:last-child{color:#394254;margin:0;font-size:13px;line-height:1.45}.graphPanel{min-height:0;padding:14px}.chat h1,.contextCard h2,.proposalPreview h2{margin:0;font-size:18px;line-height:1.25}.emptyText,.eyebrow{color:#657085;font-size:13px}.eyebrow{text-transform:uppercase;margin:0 0 3px}.graphCanvas{background:#fff;border:1px solid #d6dbe4;height:100%;min-height:0;position:relative}.graphViewShell{width:100%;height:100%;min-height:0;position:relative}.graphViewToolbar{z-index:5;background:#fffffff0;border:1px solid #d6dbe4;border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;max-width:min(560px,100% - 72px);padding:6px;display:flex;position:absolute;top:10px;left:10px}.graphViewSelectLabel{color:#657085;font-size:12px}.graphViewSelect{color:#1f2937;border:1px solid #c8cfdb;border-radius:6px;max-width:170px;height:28px;padding:0 8px;font-size:13px}.graphViewButton{color:#1f2937;cursor:pointer;background:#fff;border:1px solid #c8cfdb;border-radius:6px;height:28px;padding:0 8px;font-size:12px}.graphViewButton:hover{border-color:#8a94a6}.graphBottomOverlay{color:#657085;z-index:5;background:#ffffffeb;border:1px solid #d6dbe4;border-radius:6px;align-items:center;gap:8px;padding:5px 6px 5px 8px;font-size:13px;display:inline-flex;position:absolute;bottom:10px;left:10px}.modelSelector{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.modelSelector span{color:#394254;font-weight:700}.modelSelector select{color:#1f2937;background:#fff;border:1px solid #c4ccd9;border-radius:6px;height:32px;padding:0 26px 0 8px;font-size:13px}.graphSaveButton{color:#fff;cursor:pointer;white-space:nowrap;background:#175cd3;border:0;border-radius:6px;align-items:center;gap:6px;height:32px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.graphBottomOverlay .ghostButton,.graphBottomOverlay .secondaryButton,.graphBottomOverlay .graphSaveButton{white-space:nowrap;border-radius:6px;align-items:center;height:32px;margin-top:0;padding:0 10px;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.graphBottomOverlay .graphSaveButton{font-weight:700}.contextCard{background:#fff;min-height:0;padding:14px;overflow:auto}.contextPanel{background:#fff;border-left:1px solid #d6dbe4;min-height:0;overflow:auto}.contextHeader{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.contextHeaderActions{flex:none;align-items:center;gap:8px;display:inline-flex}.iconButton{color:#394254;cursor:pointer;background:#fff;border:1px solid #c4ccd9;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.historyIconButton{position:relative}.historyIconButtonActive{color:#205f97;border-color:#8fb2d8}.historyIconButtonActive:after{content:"";background:#2f80c6;border:2px solid #fff;border-radius:999px;width:7px;height:7px;position:absolute;top:-2px;right:-2px}.dangerIconButton{color:#b42318;border-color:#f0b8b8}.dangerIconButton:hover{background:#fff1f1;border-color:#d92d20}.modelIntroCard{color:#394254;flex-direction:column;gap:14px;display:flex}.modelIntroCard h3{margin:0 0 8px;font-size:15px}.modelIntroCard p,.modelIntroCard li{font-size:13px;line-height:1.5}.modelIntroCard p{margin:0}.modelIntroCard ul{margin:8px 0 0;padding-left:18px}.introLead{border-bottom:1px solid #e3e7ee;padding-bottom:12px}.introSection{gap:10px;display:grid}.introItem{border-left:3px solid #d6dbe4;padding-left:10px}.introItem strong{color:#202736;margin-bottom:3px;font-size:13px;display:block}.termList{gap:8px;margin:0;display:grid}.termList div{gap:2px;display:grid}.termList dt{color:#202736;font-size:13px;font-weight:700}.termList dd{color:#394254;margin:0;font-size:13px;line-height:1.5}.exampleList{color:#586275}.exampleList li+li{margin-top:4px}.contextCard pre{color:#394254;white-space:pre-wrap;background:#f5f6f8;border:1px solid #d6dbe4;border-radius:6px;max-height:180px;padding:10px;font-size:13px;line-height:1.45;overflow:auto}.entityDefinition{color:#394254;margin:14px 0;font-size:14px;line-height:1.5}.markdownContent{color:#394254;gap:8px;display:grid}.markdownContent h1,.markdownContent h2,.markdownContent h3,.markdownContent p,.markdownContent ul,.markdownContent table{margin:0}.markdownContent h1{font-size:18px}.markdownContent h2{border-top:1px solid #e4e7ec;margin-top:6px;padding-top:8px;font-size:15px}.markdownContent h3{font-size:14px}.markdownContent p,.markdownContent li{font-size:13px;line-height:1.45}.markdownContent ul{padding-left:20px}.markdownTableScroller{max-width:100%;overflow-x:auto}.markdownContent table{border-collapse:collapse;min-width:100%;font-size:12px}.markdownContent th,.markdownContent td{text-align:left;vertical-align:top;border:1px solid #d7dce5;padding:7px 8px;line-height:1.35}.markdownContent th{color:#202939;background:#f6f8fb;font-weight:650}.markdownContent td{background:#fff}.wikiLink{color:#1849a9;background:#eef4ff;border:1px solid #c7d7fe;border-radius:5px;padding:0 4px}.contextCard input,.contextCard textarea,.commentThread input,.commentThread textarea,.chat input,.chat textarea{border:1px solid #c4ccd9;border-radius:6px;width:100%;padding:8px}.manualEditForm{border-top:1px solid #e3e7ee;gap:10px;margin-top:12px;padding-top:12px;display:grid}.manualEditForm textarea{resize:vertical;min-height:220px}.manualEditForm .compactTextarea{min-height:78px}.manualEditForm .primaryButton{width:auto;margin-top:0}.chat textarea{resize:vertical;min-height:118px;margin-top:12px}.commentThread{border-top:1px solid #d6dbe4;gap:12px;margin-top:14px;padding-top:12px;display:grid}.commentComposer{gap:8px;display:grid}.commentComposer label{color:#394254;gap:5px;font-size:13px;font-weight:700;display:grid}.commentComposer textarea{resize:vertical;min-height:82px}.commentActions{flex-wrap:wrap;gap:8px;display:flex}.commentActions button{color:#394254;cursor:pointer;background:#fff;border:1px solid #c4ccd9;border-radius:6px;align-items:center;gap:6px;min-height:32px;padding:7px 10px;font-size:13px;display:inline-flex}.commentActions .primaryButton{color:#fff;background:#1849a9;border-color:#1849a9;width:auto;margin-top:0}.commentListHeader{justify-content:space-between;align-items:center;display:flex}.commentListHeader h3{margin:0;font-size:13px}.commentListHeader span{color:#657085;font-size:12px}.commentList{gap:8px;display:grid}.commentItem{color:#394254;background:#fff;border:1px solid #d6dbe4;border-radius:6px;gap:6px;padding:9px;font-size:13px;line-height:1.45;display:grid}.commentItem header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:6px;display:flex}.commentItem header div{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.commentItem time{color:#657085;font-size:12px}.commentDeleteButton{color:#657085;cursor:pointer;background:0 0;border:0;align-items:center;padding:2px;display:inline-flex}.commentDeleteButton:disabled{cursor:wait;opacity:.6}.commentResolveButton{color:#657085;cursor:pointer;background:0 0;border:0;align-items:center;padding:2px;display:inline-flex}.commentResolveButton:disabled{cursor:wait;opacity:.6}.commentItem p{white-space:pre-wrap;margin:0}.chat{border-top:1px solid #d6dbe4;flex:none;padding-top:12px}.chatModelLine{color:#657085;justify-content:flex-end;align-items:center;gap:8px;margin-top:4px;font-size:12px;display:flex}.textLinkButton{color:#175cd3;cursor:pointer;font:inherit;text-underline-offset:2px;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.chatModelSelect{color:#1f2937;background:#fff;border:1px solid #c4ccd9;border-radius:6px;width:auto;height:28px;margin:5px 0 0 auto;padding:0 22px 0 8px;font-size:12px;display:block}.historyBlock{border-top:1px solid #d6dbe4;margin-top:14px;padding-top:12px}.historyBlock h3{margin:0 0 6px;font-size:13px}.historyBlock p{color:#4b5565;margin:0;font-size:13px;line-height:1.45}.primaryButton,.secondaryButton,.ghostButton{cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:9px 12px;display:inline-flex}.primaryButton{color:#fff;background:#175cd3;border:0;width:100%;margin-top:8px}.secondaryButton{color:#1849a9;background:#eef4ff;border:1px solid #9db7e8;margin-top:8px}.ghostButton{color:#394254;background:#fff;border:1px solid #c4ccd9;text-decoration:none}.compactButton{white-space:nowrap;padding:6px 9px;font-size:13px}.buttonRow{gap:8px;display:flex}.buttonRow .primaryButton{width:auto}.proposalActions{background:#f8fafc;border:1px solid #d6dbe4;border-radius:6px;gap:12px;margin-top:10px;padding:10px;display:grid}.adjustmentForm{gap:8px;display:grid}.adjustmentForm .fieldLabel>span{color:#394254;font-size:13px;font-weight:700}.adjustmentForm textarea{resize:none;border:1px solid #c4ccd9;border-radius:6px;width:100%;min-height:74px;padding:8px;overflow:hidden}.adjustmentForm .secondaryButton{justify-self:start;margin-top:0}.proposalActionFooter{justify-content:flex-start;align-items:center;gap:8px;display:flex}.proposalActionFooter .primaryButton{width:auto;margin-top:0}.proposalActionFooter .ghostButton{margin-top:0}.chatActionRow{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-top:10px;display:flex}.chatLinkButton,.undoLinkButton{color:#1849a9;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-size:13px;text-decoration:underline}.chatLinkButton:hover,.undoLinkButton:hover{color:#123a88}.undoLinkButton:disabled{color:#657085;cursor:not-allowed}.panelTitle{align-items:center;gap:8px;margin-bottom:12px;display:flex}.chatPanelHeader{border-bottom:1px solid #d6dbe4;flex:none;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;padding-bottom:12px;display:flex}.chatAuthorBar{flex:auto;min-width:0}.chatCollapseButton{flex:none}.authorChip{color:#1849a9;background:#eef4ff;border:1px solid #c7d7fe;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:5px 6px 5px 9px;font-size:13px;font-weight:700;display:inline-flex}.chipDeleteButton{color:#1849a9;cursor:pointer;background:#fff;border:1px solid #c7d7fe;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:inline-flex}.fieldLabel{gap:6px;display:grid}.compactField{margin:0}.inputShell{align-items:center;gap:8px;display:flex}.chipList{flex-direction:column;gap:8px;margin-top:14px;display:flex}.chip{background:#f5f6f8;border:1px solid #c4ccd9;border-radius:6px;padding:8px 10px;font-size:13px}.chip strong{margin-bottom:3px;display:block}.chip em{color:#657085;margin-bottom:3px;font-size:12px;font-style:normal;display:block}.formError,.warningText{color:#b42318;font-size:13px}.resultText{color:#176b3a;font-size:13px}.inlineResultText{margin-right:auto}.factList{gap:8px;display:grid}.factList div{grid-template-columns:120px minmax(0,1fr);display:grid}.factList dt{color:#657085}.factList dd{margin:0}.relationshipBlock{border-top:1px solid #d6dbe4;margin-top:14px;padding-top:12px}.relationshipBlock h3{margin:0 0 8px;font-size:13px}.relationshipRows{gap:7px;display:grid}.relationshipRow{flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.textLinkButton{color:#1849a9;cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;min-width:0;padding:0;overflow:hidden}.cardinalityBadge{color:#1849a9;cursor:pointer;background:#eef4ff;border:1px solid #c7d7fe;border-radius:5px;padding:2px 5px;font-size:12px}.proposalPreview{border-top:1px solid #d6dbe4;margin-top:16px;padding-top:16px;font-size:13px;line-height:1.45}.proposalPreview .panelTitle{margin-bottom:8px}.proposalPreview h2{font-size:14px;line-height:1.35}.proposalPreview p,.proposalPreview ul{margin:0}.approvalComposer{border-top:1px solid #d6dbe4;flex:none;padding-top:12px}.approvalComposer .proposalPreview{border:1px solid #d6dbe4;border-radius:6px;margin-top:0;padding:10px}.approvalSummary{place-items:flex-start start;gap:10px;display:grid}.affectedFilesText{color:#657085;font-size:12px}.chatThread{flex:auto;align-content:start;gap:10px;min-height:0;margin-top:14px;padding-right:2px;display:grid;overflow:auto}.chatMessage{color:#394254;white-space:pre-wrap;border:1px solid #d6dbe4;border-radius:6px;padding:10px;font-size:13px;line-height:1.45}.userMessage{background:#eef4ff;border-color:#c7d7fe}.assistantMessage{background:#fff}.errorMessage{color:#912018;background:#fff4f3;border-color:#fecdca}.assistantMessage h2{color:#202734;margin:0 0 6px;font-size:14px}.errorMessage h2{color:#912018}.assistantMessage p{margin:0}.assistantMessage small{color:#657085;margin-top:8px;display:block}.typingIndicator{color:#657085;justify-content:flex-start;align-items:center;gap:8px;display:inline-flex}.typingDots{align-items:center;gap:6px;padding-top:1px;display:inline-flex}.typingDots span{background:#9ea5b4;border-radius:99px;width:7px;height:7px;animation:1s ease-in-out infinite typingDot}.typingDots span:nth-child(2){animation-delay:.12s}.typingDots span:nth-child(3){animation-delay:.24s}@keyframes typingDot{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-3px)}}.chatGate{border:1px solid #d6dbe4;border-radius:6px;padding:0 10px 10px}.proposalMessage{gap:8px;display:grid}.proposalNotice h2{align-items:center;display:flex}.gateStatus{color:#657085;margin:8px 0 0;font-size:12px}.proposalPreview h3{margin:10px 0 6px;font-size:13px}.proposalPreview details{border:1px solid #d6dbe4;border-radius:6px;margin-bottom:8px;padding:8px}.diffViewer{border:1px solid #d6dbe4;border-radius:6px;padding:10px}.diffModalBackdrop{z-index:50;background:#1118276b;justify-content:center;align-items:flex-start;padding:16px;display:flex;position:fixed;inset:0;overflow:auto}.diffModal{background:#fff;border:1px solid #d6dbe4;border-radius:6px;width:min(1120px,100vw - 32px);max-width:1120px;margin:auto 0;box-shadow:0 20px 45px #11182738}.diffModalHeader{border-bottom:1px solid #d6dbe4;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.diffModalHeader h2{margin:0;font-size:14px}.diffModalBody{padding:12px}.diffModal .diffViewer{border:0;padding:0}.historyModal{width:min(760px,100vw - 32px);max-width:760px}.historyList{gap:10px;max-height:min(62vh,620px);padding-right:2px;display:grid;overflow:auto}.historyItem{border:1px solid #d6dbe4;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px;display:flex}.historyItem h3{color:#202734;margin:0 0 6px;font-size:14px}.historyItem p{color:#394254;margin:0 0 8px;font-size:13px;line-height:1.45}.historyItem small{color:#657085;font-size:12px;display:block}.historyItemUndone{background:#fff7f5;border-color:#fecdca}.historyItemUndone h3,.historyItemUndone p{color:#912018}.historyItemTitleRow{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.historyItemTitleRow h3{margin-bottom:0}.historyStatusBadge{color:#912018;background:#fee4e2;border:1px solid #fecdca;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:700;line-height:1}.historyItem .undoLinkButton{flex:none}.historyItemActions{flex:none;place-items:flex-end end;gap:8px;display:grid}.proposalPreview summary{cursor:pointer;font-size:13px;font-weight:700}.cardinalityRows{gap:8px;margin-top:12px;display:grid}.cardinalityRow{border:1px solid #d6dbe4;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.cardinalityRow span{min-width:0}.cardinalityRow strong{color:#1849a9;background:#eef4ff;border:1px solid #c7d7fe;border-radius:5px;flex:none;padding:2px 5px;font-size:12px}.diffBlock{white-space:pre-wrap;word-break:break-word;background:#f7f8fa;border:1px solid #d6dbe4;border-radius:6px;margin:8px 0 0;padding:0;font-size:13px;line-height:1.45;overflow:visible}.diffLine{padding:1px 8px;display:block}.diffLineContext{color:#4b5565}.diffLineRemoved{color:#a8071a;background:#fff1f0}.diffLineAdded{color:#166534;background:#f0fff4}.react-flow__node{color:#202734;text-align:center;border-color:#9aa4b2;border-radius:6px;min-width:170px;font-weight:700}.primaryGraphNode{background:#eef4ff;border-color:#175cd3;min-width:185px}.secondaryGraphNode{background:#fff;border-color:#c4ccd9;min-width:155px;font-weight:600}.secondaryGroupNode{color:#394254;cursor:pointer;background:#f5f6f8;border-style:dashed;border-color:#8b94a3;min-width:140px;font-weight:700}.hoveredGraphNode,.connectedGraphNode{border-color:#175cd3;box-shadow:0 0 0 2px #175cd333}.dimmedGraphNode{opacity:.34}.selectedNode{border-color:#175cd3;box-shadow:0 0 0 2px #175cd338}.draggingGraphNode{cursor:grabbing;opacity:.92;z-index:20;border-color:#175cd3;box-shadow:0 0 0 2px #175cd342,0 10px 24px #1f29372e}.draggingGraphNode:after{content:"";pointer-events:none;border:1px dashed #175cd3ad;border-radius:6px;position:absolute;inset:-8px}.selectedEdge .react-flow__edge-path{stroke:#175cd3;stroke-width:2.5px}.hoveredGraphEdge .react-flow__edge-path{stroke:#175cd3;stroke-width:2.75px}.hoveredGraphEdge .react-flow__edge-text{fill:#1849a9;font-weight:700}.elkEdgeLabel{color:#394254;pointer-events:none;background:#ffffffdb;border:1px solid #d6dbe4;border-radius:4px;max-width:140px;padding:2px 4px;font-size:11px;line-height:1.2;position:absolute}.dimmedGraphEdge{opacity:.2}@media (max-width:860px){.appShell{grid-template-rows:auto 70vh auto;grid-template-columns:1fr;height:auto;min-height:100vh}.appShell.chatCollapsed{grid-template-rows:56px 70vh auto;grid-template-columns:1fr}.appShell.contextClosed{grid-template-rows:auto 70vh;grid-template-columns:1fr}.appShell.contextClosed.chatCollapsed{grid-template-rows:56px 70vh;grid-template-columns:1fr}.chatPanel{border-bottom:1px solid #d6dbe4;border-right:0;max-height:100vh}.collapsedChatPanel{max-height:none}.chatRailButton{flex-direction:row;justify-content:center;padding:0 12px}.contextPanel{border-top:1px solid #d6dbe4;border-left:0}}
