html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button:focus-visible,a:focus-visible{outline-offset:3px;outline:2px solid #1677ff}.app-layout{min-width:1180px;min-height:100vh}.desktop-sidebar{z-index:20;border-right:1px solid #f0f0f0;inset:0 auto 0 0;position:fixed!important}.main-layout{min-width:0;margin-left:232px}.brand{align-items:center;gap:12px;padding:28px 20px 38px;display:flex}.brand>div:last-child{flex-direction:column;gap:3px;display:flex}.brand>div:last-child>span:first-child{font-size:17px}.brand>div:last-child>span:last-child{font-size:11px}.nav-caption{color:#8c8c8c;letter-spacing:1px;padding:0 24px 12px;font-size:11px}.desktop-sidebar .ant-menu{padding:0 10px;border-inline-end:none!important}.sidebar-bottom{position:absolute;bottom:24px;left:16px;right:16px}.sidebar-bottom .ant-divider{margin:14px 0}.sidebar-bottom>.ant-space{padding-left:10px;font-size:12px}.app-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;gap:16px;height:72px;padding:0 36px;line-height:normal;display:flex}.snapshot-tag{color:#595959;background:#fafafa;border-color:#f0f0f0;margin:0;padding:4px 10px}.page-content{width:100%;max-width:1680px;margin:0 auto;padding:34px 36px 20px}.page-intro{justify-content:space-between;align-items:center;gap:24px;display:flex}.page-intro>div>.ant-space{letter-spacing:.5px;font-size:11px}.page-intro h2.ant-typography{letter-spacing:-.7px;margin:12px 0 8px;font-size:30px}.page-intro .ant-typography{max-width:680px}.page-intro .ant-btn{flex-shrink:0}.project-tabs{margin-top:8px}.project-tabs .ant-tabs-nav,.stats-row{margin-bottom:24px}.stat-card{height:100%;transition:border-color .15s;position:relative}.stat-edit{position:absolute;top:4px;right:4px}.stat-card:hover,.stat-card.stat-selected{border-color:#91caff}.stat-card .ant-card-body{padding:0}.stat-action{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%;height:100%;padding:20px}.stat-action .ant-statistic{margin-bottom:9px}.stat-action .ant-statistic-content{font-size:30px;font-weight:600}.stat-action .ant-statistic-content-prefix{color:#1677ff;margin-right:12px;font-size:22px}.stat-action>.ant-typography{font-size:12px}.architecture-alert{margin-bottom:24px}.workspace-card>.ant-card-head{min-height:64px}.workspace-card>.ant-card-body{padding:0}.workspace-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px 12px;display:flex}.feature-search{width:260px}.status-select{width:195px}.results-caption{align-items:center;gap:12px;padding:0 24px 18px;font-size:12px;display:flex}.results-caption .ant-tag{margin:0}.workspace-card .ant-table-pagination{padding:0 24px}.feature-name{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.feature-link.ant-btn{text-align:left;white-space:normal;height:auto;padding:0;font-weight:600;line-height:1.5}.row-reference{font-size:11px}.table-description{font-size:13px;line-height:1.65}.workspace-card .ant-table-tbody>tr:hover .feature-link{color:#4096ff}.empty-results{border-top:1px solid #f0f0f0;padding:48px 20px}.diagram{background:#fafafa;border-top:1px solid #f0f0f0;height:680px;position:relative}.diagram-loading{place-items:center;height:680px;display:grid}.app-loading{place-items:center;min-height:100vh;display:grid}.editor-alert{margin-bottom:20px}.kind-select{width:205px}.diagram-toolbar{border-top:1px solid #f0f0f0;padding:12px 24px;font-size:12px}.component-node{cursor:pointer;width:260px;height:142px}.mobile-node{background:#f0f7ff;border-color:#91caff}.component-node .node-title{min-height:45px;font-size:14px;line-height:1.5}.component-node .node-meta{margin-bottom:8px;font-size:11px}.react-flow__node.selected .component-node{border-color:#1677ff;box-shadow:0 0 0 2px #bae0ff}.react-flow__handle.scheme-handle{z-index:5;cursor:crosshair;background:radial-gradient(circle,#1677ff 0 6px,#fff 6px 8px,#0000 8px);border:0;border-radius:50%;width:28px;height:28px}.react-flow__handle.scheme-handle:hover,.react-flow__handle.scheme-handle.clickconnecting,.react-flow__handle.scheme-handle.valid{background:radial-gradient(circle,#52c41a 0 7px,#fff 7px 9px,#b7eb8f 9px 12px,#0000 12px)}.react-flow__handle.scheme-handle.clickconnecting{box-shadow:0 0 0 3px #91caff}.react-flow__handle.scheme-handle-readonly{opacity:0;pointer-events:none}.relation-card{margin-bottom:10px}.relation-card .ant-typography{margin-bottom:0}.connection-alert{z-index:1000;max-width:calc(100% - 28px);position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.diagram-hint{pointer-events:none;position:absolute;bottom:20px;right:16px}.map-card{width:280px}.node-root{background:#e6f4ff;border-color:#91caff}.node-group{background:#fafafa}.node-feature{cursor:pointer;min-height:140px}.node-feature:hover,.react-flow__node.selected .node-feature{border-color:#1677ff;box-shadow:0 0 0 2px #e6f4ff}.node-meta{margin-bottom:10px;font-size:11px}.node-title{margin-bottom:8px;font-size:15px;display:block}.node-description{font-size:12px;display:block}.page-footer{color:#8c8c8c;justify-content:space-between;gap:16px;margin-top:20px;font-size:12px;line-height:1.7;display:flex}.page-footer>.ant-space{max-width:850px}.page-footer>.ant-btn{flex-shrink:0}.feature-details h3{margin:18px 0 12px}.feature-details .ant-typography{line-height:1.8}.detail-block{margin-bottom:26px}.detail-block>span{letter-spacing:.7px;font-size:11px}.detail-block>.ant-typography:last-child{margin-top:8px}.evidence-collapse{margin-top:24px}.evidence-path{overflow-wrap:anywhere;color:#595959;font-size:12px}@media (width<=1199px){.page-content{padding:24px}.app-header{padding:0 24px}}
