.tree-node[data-v-55e3ba23]{flex-direction:column;margin-top:5px;display:flex}.node-row[data-v-55e3ba23]{border-radius:var(--radius-md);background:var(--panel);border:1px solid var(--border);align-items:center;gap:6px;padding:7px 12px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex;box-shadow:0 1px 2px #0000002e}.node-row[data-v-55e3ba23]:hover{background:var(--panel-hover);border-color:var(--accent-line);box-shadow:0 2px 10px #00000038, 0 0 0 1px var(--accent-line)}.tree-node.root>.node-row[data-v-55e3ba23]{background:linear-gradient(135deg, var(--accent-soft), transparent);border-color:var(--accent-line);border-left:3px solid var(--accent-strong);font-weight:700}.node-row.depth-0 .node-name[data-v-55e3ba23]{font-size:15.5px;font-weight:700}.node-row.depth-1 .node-name[data-v-55e3ba23]{font-size:14px;font-weight:600}.node-row.depth-2 .node-name[data-v-55e3ba23]{font-size:13px;font-weight:500}.node-row.depth-3 .node-name[data-v-55e3ba23]{font-size:12.5px;font-weight:500}.node-row.depth-4 .node-name[data-v-55e3ba23]{font-size:12px;font-weight:400}.node-children[data-v-55e3ba23]{border-left:1.5px solid #ffffff24;margin-left:26px;padding-left:15px;position:relative}.tree-node.root>.node-children[data-v-55e3ba23]{border-left:none;margin-left:0;padding-left:0}.node-number[data-v-55e3ba23]{background:var(--accent-soft);color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.3px;white-space:nowrap;border:1px solid var(--accent-line);border-radius:999px;flex-shrink:0;padding:1px 9px;font-size:11px;font-weight:700;line-height:1.6}.node-row.depth-1 .node-number[data-v-55e3ba23]{font-size:10.5px}.node-row.depth-2 .node-number[data-v-55e3ba23],.node-row.depth-3 .node-number[data-v-55e3ba23],.node-row.depth-4 .node-number[data-v-55e3ba23]{padding:0 7px;font-size:10px}.node-name[data-v-55e3ba23]{cursor:text;-webkit-user-select:none;user-select:none;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.node-name[data-v-55e3ba23]:hover{color:var(--accent)}.note-badge[data-v-55e3ba23]{color:var(--warn);cursor:help;background:#fbbf2429;border:1px solid #fbbf2433;border-radius:4px;flex-shrink:0;padding:0 6px;font-size:10px;line-height:1.4}.btn[data-v-55e3ba23]{cursor:pointer;width:28px;height:28px;color:var(--text-dim);background:#ffffff12;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;line-height:1;transition:background .12s,color .12s,transform .12s;display:flex}.btn[data-v-55e3ba23]:hover:not(:disabled){transform:scale(1.1)}.btn[data-v-55e3ba23]:disabled{opacity:.3;cursor:not-allowed}.btn-add[data-v-55e3ba23]{background:var(--accent-soft);color:var(--accent)}.btn-add[data-v-55e3ba23]:hover:not(:disabled){background:var(--accent-soft)}.btn-up[data-v-55e3ba23],.btn-down[data-v-55e3ba23]{color:var(--info);background:#7dd3fc21}.btn-up[data-v-55e3ba23]:hover:not(:disabled),.btn-down[data-v-55e3ba23]:hover:not(:disabled){background:#7dd3fc3d}.btn-del[data-v-55e3ba23]{color:var(--danger);background:#f8717124}.btn-del[data-v-55e3ba23]:hover:not(:disabled){background:#f8717142}.btn-note[data-v-55e3ba23]{color:var(--warn);background:#fbbf2424}.btn-note[data-v-55e3ba23]:hover:not(:disabled){background:#fbbf2442}.drag-ghost[data-v-55e3ba23]{opacity:.4}.outline-view[data-v-bdf70fbf]{padding:0 2px}.ol-row[data-v-bdf70fbf]{border-radius:var(--radius-md);border:1px solid #0000;align-items:center;gap:7px;margin-top:5px;padding:7px 10px;transition:background .13s,border-color .13s;display:flex}.ol-row[data-v-bdf70fbf]:hover{background:var(--panel-hover);border-color:var(--border)}.ol-root[data-v-bdf70fbf]{background:linear-gradient(135deg, var(--accent-soft), transparent);border:1px solid var(--accent-line);border-left:3px solid var(--accent-strong);border-radius:var(--radius-md);font-weight:600}.ol-number[data-v-bdf70fbf]{background:var(--accent-soft);color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.3px;white-space:nowrap;border:1px solid var(--accent-line);border-radius:999px;flex-shrink:0;padding:2px 10px;font-size:12.5px;font-weight:700;line-height:1.5}.ol-number-root[data-v-bdf70fbf]{color:var(--accent);font-weight:700}.ol-name[data-v-bdf70fbf]{cursor:text;-webkit-user-select:none;user-select:none;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14.5px;font-weight:500;line-height:1.6;overflow:hidden}.ol-name[data-v-bdf70fbf]:hover{color:var(--accent)}.note-badge[data-v-bdf70fbf]{color:var(--warn);cursor:help;background:#fbbf2429;border:1px solid #fbbf2433;border-radius:4px;flex-shrink:0;padding:0 6px;font-size:10px;line-height:1.4}.btn[data-v-bdf70fbf]{cursor:pointer;width:28px;height:28px;color:var(--text-dim);background:#ffffff12;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;line-height:1;transition:background .12s,color .12s,transform .12s;display:flex}.btn[data-v-bdf70fbf]:hover:not(:disabled){transform:scale(1.1)}.btn[data-v-bdf70fbf]:disabled{opacity:.3;cursor:not-allowed}.btn-add[data-v-bdf70fbf]{background:var(--accent-soft);color:var(--accent)}.btn-add[data-v-bdf70fbf]:hover:not(:disabled){background:var(--accent-soft)}.btn-up[data-v-bdf70fbf],.btn-down[data-v-bdf70fbf]{color:var(--info);background:#7dd3fc21}.btn-up[data-v-bdf70fbf]:hover:not(:disabled),.btn-down[data-v-bdf70fbf]:hover:not(:disabled){background:#7dd3fc3d}.btn-del[data-v-bdf70fbf]{color:var(--danger);background:#f8717124}.btn-del[data-v-bdf70fbf]:hover:not(:disabled){background:#f8717142}.btn-note[data-v-bdf70fbf]{color:var(--warn);background:#fbbf2424}.btn-note[data-v-bdf70fbf]:hover:not(:disabled){background:#fbbf2442}:root,html[data-theme=emerald]{--bg-0:#07130e;--bg-1:#0b1f17;--glow-1:#34d39929;--glow-2:#10b9811f;--glow-3:#10b98112;--panel:#ffffff09;--panel-hover:#ffffff12;--border:#ffffff17;--border-strong:#ffffff29;--text:#e6f2ec;--text-dim:#9db8ae;--accent:#34d399;--accent-strong:#10b981;--accent-soft:#34d39926;--accent-line:#34d39961;--toolbar-bg:#07130eb8;--hint-bg:#07130e99;--title-from:#fff;--danger:#f87171;--warn:#fbbf24;--info:#7dd3fc}html[data-theme=sky]{--bg-0:#071522;--bg-1:#0c2438;--glow-1:#38bdf82e;--glow-2:#0ea5e924;--glow-3:#38bdf814;--panel:#ffffff0a;--panel-hover:#ffffff14;--border:#ffffff1a;--border-strong:#ffffff2e;--text:#e8f4fb;--text-dim:#9fc3d9;--accent:#38bdf8;--accent-strong:#0ea5e9;--accent-soft:#38bdf829;--accent-line:#38bdf866;--toolbar-bg:#071522b8;--hint-bg:#07152299;--title-from:#fff}html[data-theme=dark]{--bg-0:#0a0b0e;--bg-1:#14161c;--glow-1:#94a3b81f;--glow-2:#64748b1a;--glow-3:#94a3b80f;--panel:#ffffff09;--panel-hover:#ffffff13;--border:#ffffff17;--border-strong:#ffffff2b;--text:#e8eaef;--text-dim:#9aa3b2;--accent:#cbd5e1;--accent-strong:#94a3b8;--accent-soft:#cbd5e124;--accent-line:#cbd5e159;--toolbar-bg:#0a0b0ebf;--hint-bg:#0a0b0e9e;--title-from:#fff}html[data-theme=light]{--bg-0:#eef1f5;--bg-1:#fff;--glow-1:#10b9811a;--glow-2:#34d39912;--glow-3:#10b9810a;--panel:#ffffffe6;--panel-hover:#fff;--border:#0f172a1a;--border-strong:#0f172a2e;--text:#1f2937;--text-dim:#64748b;--accent:#059669;--accent-strong:#10b981;--accent-soft:#10b98121;--accent-line:#05966959;--toolbar-bg:#ffffffd1;--hint-bg:#eef1f5e6;--title-from:#111827;--danger:#dc2626;--warn:#d97706;--info:#0284c7}html[data-theme=gray]{--bg-0:#17181c;--bg-1:#26282e;--glow-1:#cbd5e11a;--glow-2:#94a3b814;--glow-3:#cbd5e10d;--panel:#ffffff0a;--panel-hover:#ffffff14;--border:#ffffff1a;--border-strong:#ffffff2e;--text:#e7e9ee;--text-dim:#a3aab8;--accent:#94a3b8;--accent-strong:#cbd5e1;--accent-soft:#94a3b829;--accent-line:#cbd5e159;--toolbar-bg:#17181cc2;--hint-bg:#17181c9e;--title-from:#fff}:root{--radius-lg:16px;--radius-md:10px;--font:"Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif}*{box-sizing:border-box}html{font-family:var(--font)}body{min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;background:radial-gradient(1000px 480px at 85% -120px, var(--glow-1), transparent 60%), radial-gradient(800px 420px at -10% 0px, var(--glow-2), transparent 55%), radial-gradient(700px 500px at 50% 110%, var(--glow-3), transparent 60%), linear-gradient(180deg, var(--bg-1) 0%, var(--bg-0) 100%);background-attachment:fixed;margin:0;font-size:14px;line-height:1.55;transition:background .3s,color .3s}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.toolbar{z-index:100;background:var(--toolbar-bg);-webkit-backdrop-filter:blur(14px)saturate(1.4);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 18px;transition:background .3s;display:flex;position:sticky;top:0}.title{white-space:nowrap;letter-spacing:.3px;background:linear-gradient(92deg, var(--title-from) 20%, var(--accent) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 10px 0 0;font-size:16px;font-weight:700}.toolbar-group{align-items:center;gap:5px;padding-right:6px;display:flex}.theme-label{color:var(--text-dim);letter-spacing:.5px;margin-right:2px;font-size:11px}.theme-dot{cursor:pointer;border:2px solid #ffffff40;border-radius:50%;width:18px;height:18px;padding:0;transition:transform .12s,box-shadow .12s,border-color .12s}.theme-dot:hover{transform:scale(1.2)}.theme-dot.active{box-shadow:0 0 0 2px var(--accent-strong), 0 0 8px #0000004d;border-color:#fff;transform:scale(1.15)}.toolbar-group+.toolbar-group{border-left:1px solid var(--border);padding-left:12px}.sync-dot{background:var(--text-dim);border-radius:50%;width:9px;height:9px;transition:background .2s;box-shadow:0 0 6px #0006}.sync-dot.syncing{background:var(--warn);animation:1s ease-in-out infinite sync-pulse}.sync-dot.ok{background:var(--accent);box-shadow:0 0 6px var(--accent)}.sync-dot.error{background:var(--danger);box-shadow:0 0 6px var(--danger)}@keyframes sync-pulse{0%,to{opacity:1}50%{opacity:.35}}.tb-btn{border:1px solid var(--border);background:var(--panel);color:var(--text-dim);cursor:pointer;white-space:nowrap;letter-spacing:.2px;border-radius:999px;padding:5px 13px;font-family:inherit;font-size:12.5px;transition:all .15s}.tb-btn:hover:not(:disabled){background:var(--panel-hover);color:var(--text);border-color:var(--border-strong)}.tb-btn.active{background:linear-gradient(135deg, var(--accent-strong), #059669);color:#04231a;border-color:#0000;font-weight:600;box-shadow:0 2px 12px #10b98159}.tb-btn:disabled{opacity:.35;cursor:not-allowed}.main-area{flex:1;align-items:stretch;gap:16px;min-height:0;padding:18px 20px 26px;display:flex;overflow:hidden}.side-panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;width:320px;min-width:320px;max-width:38vw;min-height:0;transition:opacity .18s,transform .18s;display:flex;overflow:hidden;box-shadow:0 10px 34px #0000003d,inset 0 1px #ffffff0a}.main-area.tree .side-panel{display:none}.main-area.outline .side-panel{width:100%!important;min-width:100%!important;max-width:100%!important}.panel-body{flex:1;min-height:0;padding:8px 12px 12px;overflow:auto}.splitter{cursor:col-resize;z-index:2;border-radius:4px;flex-shrink:0;width:8px;margin:0 -3px;transition:background .15s;position:relative}.splitter:hover,.main-area.resizing .splitter{background:var(--accent-line)}body.resizing,body.resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.work-area{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.work-area .wbs-canvas{flex:1;min-height:0;overflow:auto}@media (width<=768px){.splitter{display:none!important}}.wbs-canvas{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:8px 18px 18px;box-shadow:0 10px 34px #00000047,inset 0 1px #ffffff0a}.wbs-canvas.exporting{box-shadow:none;color:#1f2a3d!important;background:#fff!important}.wbs-canvas.exporting .node-row{box-shadow:none!important;background:#fff!important;border-color:#dde4ee!important}.wbs-canvas.exporting .node-name,.wbs-canvas.exporting .ol-name{color:#1f2a3d!important}.wbs-canvas.exporting .node-number,.wbs-canvas.exporting .ol-number{color:#2e5cb8!important;background:#eef4ff!important}.wbs-canvas.exporting .btn{color:#55627a!important;background:#f1f4f9!important}.wbs-canvas.exporting .node-children{border-left-color:#dbe4f0!important}.wbs-canvas.exporting .note-badge{color:#b45309!important;background:#fef3c7!important}.edit-overlay{-webkit-backdrop-filter:blur(4px);z-index:200;background:#030a078c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.edit-box{border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:linear-gradient(#11261efa,#0a1813fa);width:min(420px,92vw);padding:20px 22px;box-shadow:0 24px 70px #0000008c,inset 0 0 0 1px #ffffff08}.edit-box label{color:var(--text-dim);letter-spacing:.4px;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.edit-box input{border:1px solid var(--border-strong);border-radius:var(--radius-md);width:100%;color:var(--text);background:#030a0799;outline:none;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.edit-box input:focus{border-color:var(--accent-strong);box-shadow:0 0 0 3px var(--accent-soft)}.edit-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.edit-actions button{border:1px solid var(--border-strong);color:var(--text);cursor:pointer;background:#ffffff0d;border-radius:999px;padding:6px 16px;font-family:inherit;font-size:13px;transition:all .15s}.edit-actions button:first-child{background:linear-gradient(135deg, var(--accent-strong), #059669);color:#04231a;border-color:#0000;font-weight:600}.edit-actions button:first-child:hover{filter:brightness(1.1)}.edit-actions button:last-child:hover{background:#ffffff1a}.mobile-hint{text-align:center;color:var(--text-dim);background:var(--hint-bg);border-top:1px solid var(--border);letter-spacing:.2px;padding:9px;font-size:11.5px}@media (width<=768px){.toolbar{flex-direction:column;align-items:stretch;gap:7px;padding:10px 12px}.title{margin:0 0 2px}.toolbar-group{flex-wrap:wrap}.toolbar-group+.toolbar-group{border-left:none;padding-left:0}.main-area{flex-direction:column;gap:10px;padding:10px}.side-panel{width:100%;min-width:0;max-width:none;max-height:42vh}.wbs-canvas{padding:10px}}
