:root{color-scheme:light;--ink: #171918;--muted: #6d716d;--subtle: #929790;--paper: #f5f5f2;--panel: #ffffff;--line: #d9ddd7;--line-strong: #b9beb8;--red: #dd3e38;--yellow: #f2c94c;--teal: #16877c;--blue: #3a70c2;--orange: #e58a36;--shadow: 0 12px 34px rgba(24, 28, 25, .08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body{width:100%;min-height:100%}body{margin:0;overflow:hidden;color:var(--ink);background:var(--paper)}button,input{font:inherit}button{color:inherit;cursor:pointer}[hidden]{display:none!important}.eyebrow{margin:0 0 3px;color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:0}.login-view{display:grid;grid-template-columns:auto minmax(0,410px);align-content:center;justify-content:center;gap:22px 28px;min-height:100vh;padding:28px;background:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px),var(--paper);background-size:36px 36px}.login-mark,.brand-mark{display:grid;place-items:center;flex:0 0 auto;color:#fff;background:var(--red);font-weight:900}.login-mark{grid-row:span 2;width:74px;height:74px;border-radius:8px;font-size:2rem;box-shadow:8px 8px 0 var(--yellow)}.login-copy{align-self:end}.login-copy h1{margin:0;font-size:2.25rem;line-height:1.05}.login-copy>p:last-child{margin:8px 0 0;color:var(--muted)}.login-form{grid-column:2;display:grid;gap:8px}.login-form label{color:var(--muted);font-size:.78rem;font-weight:800}.login-field{display:grid;grid-template-columns:1fr auto;gap:8px}.login-field input{min-width:0;height:44px;padding:0 12px;border:1px solid var(--line-strong);border-radius:6px;background:#fff}.login-field input:focus,.search-wrap input:focus{outline:3px solid rgba(58,112,194,.18);border-color:var(--blue)}.primary-command{min-width:72px;height:44px;padding:0 16px;border:0;border-radius:6px;color:#fff;background:var(--ink);font-weight:800}.form-error{min-height:18px;margin:0;color:var(--red);font-size:.78rem}.app-shell{height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;height:72px;padding:0 18px;border-bottom:1px solid var(--line);background:#fff}.brand-block,.topbar-actions,.detail-header,.detail-actions,.stage-toolbar,.stage-actions,.view-tabs,.sync-status{display:flex;align-items:center}.brand-block{gap:11px}.brand-mark{width:38px;height:38px;border-radius:6px;font-size:1rem}.brand-block h1{margin:0;font-size:1.16rem;line-height:1.1}.topbar-actions,.stage-actions,.detail-actions{gap:7px}.sync-status{gap:7px;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:.76rem;font-weight:700;white-space:nowrap}.sync-dot{width:7px;height:7px;border-radius:50%;background:var(--orange)}.sync-status.ready .sync-dot{background:var(--teal)}.sync-status.error .sync-dot{background:var(--red)}.icon-command{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:6px;background:#fff}.icon-command:hover{border-color:var(--line-strong);background:#f4f5f2}.icon-command svg,.view-tab svg,.search-wrap svg{width:16px;height:16px;stroke-width:2}.workspace{display:grid;grid-template-columns:240px minmax(430px,1fr) 330px;height:calc(100vh - 72px)}.root-sidebar,.detail-panel{min-width:0;background:#fff}.root-sidebar{display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-right:1px solid var(--line)}.search-wrap{position:relative;display:flex;align-items:center;margin:14px}.search-wrap>svg{position:absolute;left:10px;color:var(--muted)}.search-wrap input{width:100%;height:38px;padding:0 46px 0 34px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.search-wrap kbd{position:absolute;right:8px;padding:2px 5px;border:1px solid var(--line);border-radius:4px;color:var(--subtle);background:#fff;font-size:.65rem;font-family:inherit}.root-list{overflow:auto;padding:0 9px 12px}.root-button{display:grid;grid-template-columns:5px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 10px;border:1px solid transparent;border-radius:6px;background:transparent;text-align:left}.root-button:hover,.root-button.active{border-color:var(--line);background:var(--paper)}.root-accent{width:5px;height:28px;border-radius:3px;background:var(--root-color)}.root-label{overflow:hidden;font-size:.84rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.root-count{color:var(--muted);font-size:.7rem}.sidebar-footer{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.sidebar-footer>div{display:grid;gap:2px;padding:12px 14px}.sidebar-footer>div+div{border-left:1px solid var(--line)}.sidebar-footer strong{font-size:1.1rem}.sidebar-footer span{color:var(--muted);font-size:.68rem}.knowledge-stage{position:relative;display:grid;grid-template-rows:50px minmax(0,1fr);min-width:0;background:var(--paper)}.stage-toolbar{justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid var(--line);background:#ffffffe0}.view-tabs{padding:2px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}.view-tab{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:0;border-radius:4px;color:var(--muted);background:transparent;font-size:.76rem;font-weight:800}.view-tab.active{color:var(--ink);background:#fff;box-shadow:0 1px 4px #191c1a1f}.tree-viewport{position:relative;overflow:hidden;background-image:linear-gradient(rgba(109,113,109,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(109,113,109,.08) 1px,transparent 1px);background-size:28px 28px;touch-action:none}#treeSvg{display:block;width:100%;height:100%;cursor:grab}#treeSvg.dragging{cursor:grabbing}.tree-edge{fill:none;stroke:#bdc3bd;stroke-width:1.5}.relation-edge{fill:none;stroke:var(--orange);stroke-width:1.5;stroke-dasharray:5 5;opacity:.78}.tree-node{cursor:pointer}.tree-node rect{fill:#fff;stroke:var(--line-strong);stroke-width:1;rx:6;filter:drop-shadow(0 8px 14px rgba(25,28,26,.07))}.tree-node:hover rect,.tree-node.selected rect{stroke:var(--node-color);stroke-width:2}.tree-node.match rect{fill:#fff9df;stroke:var(--orange)}.tree-node.dim{opacity:.24}.node-accent{fill:var(--node-color)}.node-label{fill:var(--ink);font-size:13px;font-weight:800}.node-caption{fill:var(--muted);font-size:10px}.node-toggle circle{fill:#fff;stroke:var(--node-color);stroke-width:1.5}.node-toggle text{fill:var(--node-color);font-size:13px;font-weight:900;text-anchor:middle;dominant-baseline:central}.zoom-controls{position:absolute;right:12px;bottom:12px;display:grid;gap:6px}.list-view{overflow:auto;padding:12px}.list-results{display:grid;align-content:start;gap:1px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--line)}.list-row{display:grid;grid-template-columns:6px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:66px;padding:10px 12px;border:0;background:#fff;text-align:left}.list-row:hover{background:#fafaf7}.list-row-accent{align-self:stretch;border-radius:3px;background:var(--row-color)}.list-row strong,.list-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row strong{margin-bottom:4px;font-size:.88rem}.list-row span{color:var(--muted);font-size:.74rem}.list-row small{color:var(--subtle);font-size:.68rem}.empty-state{position:absolute;inset:50px 0 0;display:grid;place-content:center;justify-items:center;gap:10px;color:var(--muted)}.empty-state svg{width:28px;height:28px}.detail-panel{overflow:auto;padding:18px;border-left:1px solid var(--line)}.detail-header{justify-content:space-between;margin-bottom:12px}.detail-kind{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border-radius:4px;color:#6d4f00;background:var(--yellow);font-size:.68rem;font-weight:900}.detail-panel h2{margin:0;font-size:1.38rem;line-height:1.22;overflow-wrap:anywhere}.detail-meta{margin:8px 0 0;color:var(--muted);font-size:.72rem;line-height:1.5}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.tag-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 8px;border:1px solid rgba(221,62,56,.25);border-radius:999px;color:#a72b27;background:#dd3e380f;font-size:.68rem;font-weight:800}.detail-content{padding:14px 0 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#343836;font-size:.86rem;line-height:1.72;overflow-wrap:anywhere}.detail-content h1,.detail-content h2,.detail-content h3{margin:16px 0 7px;font-size:.96rem}.detail-content p{margin:0 0 10px}.detail-content ul,.detail-content ol{margin:8px 0;padding-left:20px}.detail-content code{padding:1px 4px;border-radius:3px;background:var(--paper);font-size:.78rem}.relations-section{margin-top:18px}.relations-section h3{margin:0 0 8px;font-size:.76rem}.relation-list{display:grid;gap:6px}.relation-button,.relation-empty{min-height:36px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:.76rem;text-align:left}.relation-button:hover{border-color:var(--blue)}.relation-empty{color:var(--subtle)}.mobile-only{display:none}@media(max-width:1100px){.workspace{grid-template-columns:214px minmax(390px,1fr) 290px}}@media(max-width:860px){body{overflow:auto}.app-shell{min-height:100vh;height:auto}.topbar{position:sticky;top:0;z-index:20}.sync-status{display:none}.workspace{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(600px,calc(100vh - 170px));height:auto}.root-sidebar{display:block;border-right:0;border-bottom:1px solid var(--line)}.search-wrap{margin-bottom:8px}.root-list{display:flex;gap:6px;padding:0 14px 12px;overflow-x:auto}.root-button{grid-template-columns:4px minmax(120px,180px) auto;flex:0 0 auto;min-height:42px}.root-accent{height:24px}.sidebar-footer{display:none}.detail-panel{position:fixed;inset:auto 0 0;z-index:30;max-height:72vh;border:1px solid var(--line);border-radius:8px 8px 0 0;box-shadow:0 -16px 44px #181c1929;transform:translateY(105%);transition:transform .18s ease}.detail-panel.open{transform:translateY(0)}.mobile-only{display:inline-grid}}@media(max-width:560px){.login-view{grid-template-columns:1fr;align-content:center}.login-mark{grid-row:auto}.login-form{grid-column:1}.topbar{height:64px;padding:0 12px}.brand-block .eyebrow{display:none}.brand-block h1{font-size:1rem}.workspace{grid-template-rows:auto 620px}.view-tab span{display:none}.stage-actions .icon-command:nth-child(2),.stage-actions .icon-command:nth-child(3){display:none}}
