:root{--ws-border:#e3e8f2;--ws-ink:#172033;--ws-muted:#66758f;--ws-soft:#f5f7fb;--ws-purple:#7157f5;--ws-purple-soft:#f0edff}
body{background:linear-gradient(135deg,#f3f8ff 0,#faf8ff 45%,#fff 100%);color:var(--ws-ink)}
.workspace-main{padding:22px 22px 28px;min-width:0;overflow:hidden}.workspace-head{min-height:120px;padding:24px 28px;margin-bottom:14px;border:1px solid rgba(255,255,255,.85);border-radius:22px;background:rgba(255,255,255,.72);box-shadow:0 14px 34px rgba(57,76,120,.08);display:flex;align-items:center;justify-content:space-between;gap:22px}.workspace-head h1{font-size:26px;margin:10px 0 6px}.workspace-head p{max-width:820px;color:var(--ws-muted);margin:0;line-height:1.65}.workspace-board{height:calc(100vh - 190px);min-height:620px;display:grid;grid-template-columns:280px minmax(420px,1fr) minmax(350px,430px);border:1px solid rgba(255,255,255,.95);border-radius:22px;background:rgba(255,255,255,.82);box-shadow:0 16px 42px rgba(57,76,120,.08);overflow:hidden}.work-tree-panel,.topic-panel,.topic-detail{min-width:0;overflow:auto}.work-tree-panel{padding:20px 14px;border-right:1px solid var(--ws-border);background:rgba(247,249,253,.75)}.topic-panel{padding:20px;border-right:1px solid var(--ws-border)}.topic-detail{padding:22px;background:rgba(250,251,254,.74)}
.panel-title,.topic-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title small,.topic-toolbar small,.ws-dialog small{font-weight:900;letter-spacing:.1em;color:var(--ws-purple)}.panel-title h2,.topic-toolbar h2{margin:3px 0 0;font-size:18px}.icon-btn{border:1px solid var(--ws-border);width:34px;height:34px;border-radius:11px;background:#fff;display:grid;place-items:center;color:var(--ws-muted)}.icon-btn:hover{color:var(--ws-purple);border-color:#b9b0ff}.icon-btn svg,.ws-btn svg,.ws-search svg,.tree-note svg{width:16px;height:16px}.ws-search{height:38px;padding:0 10px;margin-bottom:10px;display:flex;align-items:center;gap:7px;border:1px solid var(--ws-border);border-radius:12px;background:#fff;color:#94a3b8}.ws-search input{width:100%;border:0;outline:0;background:transparent}.tree-all,.tree-row{width:100%;border:0;background:transparent;border-radius:10px;display:flex;align-items:center;gap:7px;text-align:left;color:#45536b;min-height:36px;padding:7px 9px;font-weight:700}.tree-all span,.tree-row .tree-count{margin-left:auto;font-size:11px;background:#e9eef7;border-radius:999px;padding:2px 7px;color:#738098}.tree-all.active,.tree-row.active{background:var(--ws-purple-soft);color:var(--ws-purple)}.tree-row:hover,.tree-all:hover{background:#eef2f8}.tree-row .node-dot{width:9px;height:9px;border-radius:3px;flex:none}.tree-row .node-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-row .node-add{display:none;margin-left:2px;border:0;background:transparent;padding:2px;color:#8793a8}.tree-row:hover .node-add{display:grid}.tree-children{margin-left:14px;padding-left:7px;border-left:1px solid #dce3ef}.tree-note{display:flex;gap:8px;margin-top:16px;padding:11px;border-radius:12px;background:#edf3ff;color:#6b7890;font-size:11px;line-height:1.55}.tree-note svg{flex:none;margin-top:2px}.topic-actions,.topic-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ws-btn{min-height:36px;padding:8px 13px;border:1px solid var(--ws-border);border-radius:11px;background:#fff;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:800;color:#4c5870;cursor:pointer}.ws-btn:hover{border-color:#b9b0ff;color:var(--ws-purple)}.ws-btn.primary{border-color:transparent;color:#fff;background:linear-gradient(135deg,#5b8cff,#8054ee);box-shadow:0 8px 18px rgba(103,83,232,.22)}.ws-btn.danger{color:#c2414c}.topic-filters{padding-bottom:14px;border-bottom:1px solid var(--ws-border)}.topic-filters button{border:0;border-radius:999px;padding:7px 11px;background:#f2f5fa;color:#6d7890;font-size:12px;font-weight:800}.topic-filters button.active{background:var(--ws-purple-soft);color:var(--ws-purple)}.topic-list{display:grid;gap:10px;padding-top:14px}.topic-card{border:1px solid var(--ws-border);border-radius:16px;padding:15px;background:#fff;cursor:pointer;transition:.18s ease}.topic-card:hover,.topic-card.active{border-color:#b9b0ff;box-shadow:0 10px 24px rgba(70,68,140,.09);transform:translateY(-1px)}.topic-card.active{background:linear-gradient(135deg,#fff,#f7f5ff)}.topic-card header{display:flex;align-items:flex-start;gap:8px}.topic-card h3{font-size:15px;line-height:1.45;margin:0;flex:1}.topic-card p{color:var(--ws-muted);font-size:12px;line-height:1.55;margin:8px 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.topic-meta{display:flex;align-items:center;gap:7px;color:#8490a4;font-size:11px}.status-pill{border-radius:999px;padding:3px 7px;background:#eff4fb;color:#63718b;font-style:normal}.status-researching,.status-decision{background:#fff3cf;color:#8e6611}.status-started{background:#e7f7ee;color:#25754a}.status-documented{background:#e9efff;color:#375fb2}.status-paused{background:#f1f2f4;color:#777}.detail-placeholder{height:100%;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--ws-muted)}.placeholder-icon{width:64px;height:64px;border-radius:22px;display:grid;place-items:center;background:var(--ws-purple-soft);color:var(--ws-purple);margin-bottom:12px}.placeholder-icon svg{width:28px}.detail-placeholder h2{color:var(--ws-ink);margin:5px}.detail-placeholder p{max-width:310px;line-height:1.7;font-size:13px}.topic-editor header{display:flex;gap:10px;align-items:flex-start;margin-bottom:17px}.topic-editor header>div{flex:1}.topic-editor .title-input{width:100%;font-size:20px;font-weight:900;border:0;background:transparent;outline:0;color:var(--ws-ink);padding:2px 0}.editor-meta{display:flex;gap:8px;margin-top:8px}.editor-meta select{border:1px solid var(--ws-border);border-radius:8px;background:#fff;padding:6px;color:#5f6c82}.editor-section{display:block;margin:0 0 14px}.editor-section span{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:900;margin-bottom:6px}.editor-section textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:74px;border:1px solid var(--ws-border);border-radius:12px;background:#fff;padding:10px 11px;outline:none;line-height:1.6;color:#344159}.editor-section textarea:focus{border-color:#a99dff;box-shadow:0 0 0 3px rgba(113,87,245,.09)}.editor-foot{position:sticky;bottom:-22px;margin:6px -22px -22px;padding:13px 22px;background:rgba(250,251,254,.95);border-top:1px solid var(--ws-border);display:flex;align-items:center;gap:7px;flex-wrap:wrap}.editor-foot .save-state{font-size:11px;color:#8390a3;margin-right:auto}.ws-empty{padding:34px 15px;text-align:center;color:#8995a8;font-size:13px}.ws-dialog{width:min(500px,calc(100vw - 30px));border:0;border-radius:20px;padding:0;box-shadow:0 28px 80px rgba(30,37,60,.28)}.ws-dialog::backdrop{background:rgba(26,32,48,.4);backdrop-filter:blur(3px)}.ws-dialog form{padding:22px}.ws-dialog header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.ws-dialog h2{margin:4px 0}.ws-dialog header button{border:0;background:#f1f3f7;border-radius:9px;width:31px;height:31px;font-size:19px}.ws-dialog label{display:grid;gap:7px;margin:12px 0;font-size:13px;font-weight:800;color:#4f5c72}.ws-dialog input,.ws-dialog select,.ws-dialog textarea{border:1px solid var(--ws-border);border-radius:11px;padding:10px;background:#fff;outline:0;font:inherit;color:var(--ws-ink)}.ws-dialog footer{display:flex;gap:8px;align-items:center;margin-top:20px}.footer-spacer{flex:1}.dialog-tip{font-size:12px;color:var(--ws-muted);background:#f5f7fb;padding:10px;border-radius:10px}.ws-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:10px 16px;border-radius:11px;background:#1f2937;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.2);transition:.2s;z-index:100}.ws-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1200px){.workspace-board{grid-template-columns:250px minmax(390px,1fr) 370px}}
@media(max-width:980px){.workspace-main{overflow:auto}.workspace-head{align-items:flex-start}.workspace-board{height:auto;grid-template-columns:240px 1fr}.topic-detail{grid-column:1/-1;border-top:1px solid var(--ws-border);min-height:600px}.topic-panel{border-right:0}}
@media(max-width:700px){.workspace-main{padding:12px}.workspace-head{padding:18px;display:grid}.workspace-board{display:block}.work-tree-panel,.topic-panel,.topic-detail{max-height:none;border-right:0;border-bottom:1px solid var(--ws-border)}.work-tree-panel{max-height:360px}.workspace-head h1{font-size:22px}}

/* Dynamic workspace tree, node overview, and topic collaboration surfaces. */
.panel-title-actions{display:flex;align-items:center;gap:6px}.tree-row-wrap{display:flex;align-items:center;gap:3px}.tree-row-wrap>.tree-row{flex:1;min-width:0}.tree-actions{display:flex;gap:1px;opacity:0;transition:opacity .15s}.tree-row-wrap:hover .tree-actions,.tree-row-wrap:focus-within .tree-actions{opacity:1}.tree-action{border:0;background:transparent;color:#8290a6;border-radius:6px;padding:3px;display:grid;place-items:center;cursor:pointer}.tree-action:hover{background:#e8edf7;color:var(--ws-purple)}.tree-action svg{width:14px;height:14px}.archived-tree{margin-top:15px;padding:12px;border:1px dashed #ccd5e4;border-radius:12px;background:#fafbfe}.archived-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;color:#7a879c;font-size:12px;font-weight:800}.archived-row{display:flex;align-items:center;gap:7px;padding:6px 2px;color:#707d92;font-size:12px}.archived-row .node-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-btn{border:0;background:transparent;color:var(--ws-purple);font-weight:800;cursor:pointer;padding:3px 5px}.text-btn:hover{text-decoration:underline}.node-content-tabs{display:flex;gap:7px;margin:14px 0 12px;padding-bottom:10px;border-bottom:1px solid var(--ws-border)}.node-content-tabs button{border:0;border-radius:999px;padding:7px 11px;background:#f2f5fa;color:#68768e;font-weight:800;font-size:12px;cursor:pointer}.node-content-tabs button.active{background:var(--ws-purple-soft);color:var(--ws-purple)}.node-content-list{display:grid;gap:9px;margin-bottom:14px}.node-item-card{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid var(--ws-border);border-radius:13px;background:#fff}.node-item-card .node-item-main{min-width:0;flex:1}.node-item-card h3{margin:0 0 4px;font-size:14px}.node-item-card p{margin:0;color:var(--ws-muted);font-size:12px;line-height:1.5}.node-item-card a{color:inherit;text-decoration:none}.node-item-card a:hover{color:var(--ws-purple)}.node-item-kind{flex:none;border-radius:999px;padding:3px 7px;background:#eef3fb;color:#6b7891;font-size:11px;font-weight:800}.collab-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--ws-border)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.section-head h3{font-size:13px;margin:0}.collab-list,.comment-list{display:grid;gap:8px}.collab-item,.comment-item{padding:9px 10px;border:1px solid var(--ws-border);border-radius:10px;background:#fff;font-size:12px}.collab-item{display:flex;align-items:center;gap:8px}.collab-item input[type=checkbox]{accent-color:var(--ws-purple)}.collab-item .item-main{min-width:0;flex:1}.collab-item .item-main strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collab-item .item-meta,.comment-item small{color:#8a96a9;font-size:11px}.comment-item p{margin:0 0 5px;line-height:1.55;white-space:pre-wrap}.inline-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:8px}.inline-add input,.inline-add textarea{width:100%;box-sizing:border-box;border:1px solid var(--ws-border);border-radius:9px;padding:8px;background:#fff;outline:0;font:inherit}.inline-add textarea{resize:vertical;min-height:46px}.link-list{display:grid;gap:6px}.link-row{display:flex;align-items:center;gap:7px;padding:7px 9px;border-radius:9px;background:#f7f8fc;font-size:12px}.link-row a{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#52617a;text-decoration:none}.link-row a:hover{color:var(--ws-purple)}.link-row .text-btn{color:#9a7180;font-size:11px}.topic-card.archived{opacity:.72}.topic-card .topic-counts{margin-left:auto;color:#8a96a9;font-size:11px}.source-topic-list{display:flex;gap:5px;flex-wrap:wrap}.source-topic-list a{padding:3px 7px;border-radius:999px;background:#f0edff;color:var(--ws-purple);font-size:11px;text-decoration:none}
.node-item-card strong{display:block;min-width:0;flex:1;font-size:14px}.node-item-card>span{color:#7a879b;font-size:11px;white-space:nowrap}.action-row{display:flex;align-items:center;gap:7px;list-style:none;padding:8px 10px;border:1px solid var(--ws-border);border-radius:10px;background:#fff;font-size:12px}.action-row>span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-row.done>span{text-decoration:line-through;color:#8995a8}.action-row input{accent-color:var(--ws-purple)}.attachment-add{grid-template-columns:minmax(100px,.7fr) minmax(150px,1.3fr) auto}.collab-list{padding:0;margin:0;list-style:none}.collab-list:empty:after{content:'暂无记录';display:block;color:#8995a8;font-size:12px;padding:8px}.comment-item strong{display:block;margin-bottom:4px}
.attachment-add{grid-template-columns:minmax(100px,.7fr) minmax(150px,1.3fr) minmax(120px,1fr) auto}@media(max-width:700px){.attachment-add{grid-template-columns:1fr}.attachment-add .ws-btn{width:100%}}
