:root{--bg:#f6f7fb;--surface:#fff;--surface-2:#f1f3f9;--line:#e3e6ef;--line-soft:#eef0f6;--text:#171a26;--muted:#6b7186;--accent:#5b5fe9;--accent-soft:#e9eaff;--crit:#e5484d;--crit-soft:#ffe9e9;--ok:#18a058;--weekend:#7880a017;--shadow:0 1px 2px #1418280f, 0 8px 24px #1418280f;--radius:10px;color:var(--text);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}@media (prefers-color-scheme:dark){:root{--bg:#0f1118;--surface:#171a24;--surface-2:#1e2230;--line:#2a2f40;--line-soft:#212534;--text:#e8eaf2;--muted:#8f96ad;--accent:#8286ff;--accent-soft:#26295a;--crit:#ff6369;--crit-soft:#44191c;--ok:#3ecf8e;--weekend:#a0aad20f;--shadow:0 1px 2px #0006, 0 8px 24px #00000059}}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:6px;height:34px;padding:0 12px;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn.primary:hover:not(:disabled){filter:brightness(1.08);background:var(--accent)}.btn.danger{color:var(--crit)}.btn.icon{width:34px;padding:0}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--surface-2)}.field{border:1px solid var(--line);background:var(--surface);border-radius:8px;outline:none;min-width:0;height:34px;padding:0 10px}textarea.field{resize:vertical;height:auto;padding:8px 10px}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.avatar{color:#fff;border:2px solid var(--surface);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:inline-grid}.chip{background:var(--surface-2);height:26px;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;display:inline-flex}.chip b{color:var(--text);font-weight:600}.chip.crit{background:var(--crit-soft);color:var(--crit)}.chip.crit b{color:var(--crit)}.muted{color:var(--muted)}.overlay{z-index:60;background:#0a0c1480;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);border:1px solid var(--line);width:min(560px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow);border-radius:14px;padding:20px;overflow:auto}.dialog h2{letter-spacing:-.01em;margin:0;font-size:18px}.form{gap:14px;display:grid}.form label{color:var(--muted);gap:6px;font-size:12.5px;font-weight:600;display:grid}.form label .field{color:var(--text);font-size:14px;font-weight:400}.error{color:var(--crit);margin:0;font-size:13px}.success{color:var(--ok);margin:0;font-size:13px}.admin[data-v-3f523014]{min-height:100%}.top[data-v-3f523014]{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 20px;display:flex}h1[data-v-3f523014]{margin:0;font-size:18px}main[data-v-3f523014]{gap:20px;max-width:1040px;margin:0 auto;padding:24px 20px 60px;display:grid}.box[data-v-3f523014]{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:18px}h2[data-v-3f523014]{margin:0 0 14px;font-size:15px}.scroll[data-v-3f523014]{overflow-x:auto}table[data-v-3f523014]{border-collapse:collapse;width:100%}th[data-v-3f523014]{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap;padding:0 10px 8px;font-size:11.5px}td[data-v-3f523014]{border-top:1px solid var(--line-soft);vertical-align:middle;padding:8px 10px}tr.off td[data-v-3f523014]{opacity:.55}.who[data-v-3f523014]{align-items:center;gap:10px;min-width:200px;display:flex}.who small[data-v-3f523014]{color:var(--muted);display:block}.num[data-v-3f523014]{font-variant-numeric:tabular-nums}.quota[data-v-3f523014]{width:86px}.date[data-v-3f523014]{white-space:nowrap;color:var(--muted)}.actions[data-v-3f523014]{white-space:nowrap;text-align:right}.actions .btn[data-v-3f523014]{margin-left:6px}.hint[data-v-3f523014]{margin:14px 0 0;font-size:12.5px}.create[data-v-3f523014]{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end;gap:12px;display:grid}.create label[data-v-3f523014]{color:var(--muted);gap:6px;font-size:12.5px;font-weight:600;display:grid}.create label .field[data-v-3f523014]{color:var(--text);font-size:14px;font-weight:400}.create .check[data-v-3f523014]{cursor:pointer;align-items:center;gap:6px;height:34px;display:flex}input[type=checkbox][data-v-3f523014]{width:16px;height:16px;accent-color:var(--accent)}.home[data-v-5edfe850]{min-height:100%}.h-top[data-v-5edfe850]{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:8px;padding:12px 20px;display:flex}.brand[data-v-5edfe850]{letter-spacing:-.01em;font-size:17px;font-weight:700}.logo[data-v-5edfe850]{color:var(--accent)}.grow[data-v-5edfe850]{flex:1}.me[data-v-5edfe850]{max-width:200px;padding:0 8px 0 4px}.me-name[data-v-5edfe850]{text-overflow:ellipsis;overflow:hidden}.h-main[data-v-5edfe850]{max-width:860px;margin:0 auto;padding:36px 20px 60px}h1[data-v-5edfe850]{letter-spacing:-.02em;margin:0 0 6px;font-size:26px}h2[data-v-5edfe850]{margin:32px 0 12px;font-size:16px}.new[data-v-5edfe850]{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-wrap:wrap;align-items:center;gap:10px;margin:24px 0 28px;padding:14px;display:flex}.new .grow[data-v-5edfe850]{flex:220px}.wide[data-v-5edfe850]{flex-basis:100%}.check[data-v-5edfe850]{color:var(--muted);cursor:pointer;align-items:center;gap:6px;display:flex}.cards[data-v-5edfe850]{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.card[data-v-5edfe850]{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-items:flex-start;gap:4px;padding:6px 6px 6px 0;transition:border-color .12s,box-shadow .12s;display:flex}.card[data-v-5edfe850]:hover{border-color:var(--accent);box-shadow:var(--shadow)}.card-link[data-v-5edfe850]{flex:1;gap:4px;min-width:0;padding:10px 14px;display:grid}.card-link strong[data-v-5edfe850]{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.card-link span[data-v-5edfe850]{font-size:12.5px}.empty[data-v-5edfe850]{text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius);padding:32px}.d-head[data-v-5edfe850]{justify-content:space-between;align-items:center;display:flex}.mail[data-v-5edfe850]{margin:-8px 0 0}.color[data-v-5edfe850]{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;width:60px;height:36px;padding:2px}@media (width<=560px){.me-name[data-v-5edfe850]{display:none}.h-top[data-v-5edfe850]{padding:10px 12px}}.login[data-v-88339853]{place-items:center;min-height:100%;padding:24px 16px;display:grid}.card[data-v-88339853]{background:var(--surface);border:1px solid var(--line);width:min(400px,100%);box-shadow:var(--shadow);border-radius:16px;padding:28px}.brand[data-v-88339853]{font-size:18px;font-weight:700}.logo[data-v-88339853]{color:var(--accent)}h1[data-v-88339853]{letter-spacing:-.02em;margin:0;font-size:22px}.first[data-v-88339853]{background:var(--accent-soft);border-radius:8px;margin:0;padding:10px 12px;font-size:13px}.btn.primary[data-v-88339853]{height:40px}.switch[data-v-88339853]{text-align:center;color:var(--muted);margin:0;font-size:13px}.switch a[data-v-88339853]{color:var(--accent);font-weight:600}label small[data-v-88339853]{font-weight:400}.chat[data-v-e79dd30b]{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;flex:none;width:320px;min-height:0;display:flex}header[data-v-e79dd30b]{border-bottom:1px solid var(--line);align-items:center;padding:12px 12px 12px 16px;display:flex}.grow[data-v-e79dd30b]{flex:1}.msgs[data-v-e79dd30b]{flex-direction:column;flex:1;gap:12px;padding:12px;display:flex;overflow-y:auto}.hint[data-v-e79dd30b]{background:var(--surface-2);color:var(--muted);border-radius:8px;margin:0 0 4px;padding:8px 10px;font-size:12px}.msg[data-v-e79dd30b]{align-items:flex-start;gap:8px;display:flex}.msg.mine[data-v-e79dd30b]{flex-direction:row-reverse}.bubble[data-v-e79dd30b]{background:var(--surface-2);border-radius:12px;min-width:0;max-width:82%;padding:7px 10px}.msg.mine .bubble[data-v-e79dd30b]{background:var(--accent-soft)}.bubble small[data-v-e79dd30b]{color:var(--muted);font-size:11px;display:block}.bubble p[data-v-e79dd30b]{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 0}form[data-v-e79dd30b]{border-top:1px solid var(--line);align-items:flex-end;gap:8px;padding:12px;display:flex}form .field[data-v-e79dd30b]{resize:none;flex:1}@media (width<=760px){.chat[data-v-e79dd30b]{z-index:31;border-left:0;width:auto;position:fixed;inset:0}}.panel[data-v-ec6fe972]{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;flex:none;width:400px;min-height:0;display:flex}header[data-v-ec6fe972]{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px;display:flex}.tag[data-v-ec6fe972]{background:var(--accent-soft);color:var(--accent);text-transform:uppercase;letter-spacing:.04em;border-radius:6px;flex:none;padding:3px 8px;font-size:11px;font-weight:700}.title[data-v-ec6fe972]{flex:1;min-width:0;font-weight:600}.scroll[data-v-ec6fe972]{flex:1;grid-template-columns:minmax(0,1fr);align-content:start;gap:16px;padding:14px;display:grid;overflow-y:auto}.outcome[data-v-ec6fe972]{border-radius:var(--radius);background:var(--surface-2);color:var(--muted);margin:0;padding:10px 12px;font-size:12.5px}fieldset[data-v-ec6fe972]{border:0;grid-template-columns:minmax(0,1fr);gap:18px;min-width:0;margin:0;padding:0;display:grid}fieldset:disabled .btn[data-v-ec6fe972],fieldset:disabled form[data-v-ec6fe972]{display:none}.lbl[data-v-ec6fe972]{color:var(--muted);grid-template-columns:minmax(0,1fr);gap:8px;font-size:12.5px;font-weight:600;display:grid}.lbl small[data-v-ec6fe972]{font-weight:400}.lbl .field[data-v-ec6fe972]{color:var(--text);font-size:13.5px;font-weight:400}ul[data-v-ec6fe972]{grid-template-columns:minmax(0,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.none[data-v-ec6fe972]{font-weight:400}.grow[data-v-ec6fe972]{flex:1;min-width:0}.inline[data-v-ec6fe972],.legs li[data-v-ec6fe972]{align-items:center;gap:6px;display:flex}.card[data-v-ec6fe972]{flex:none;width:64px;padding:0 4px}.role[data-v-ec6fe972]{flex:none;width:84px}.attrs li[data-v-ec6fe972]{border:1px solid var(--line);border-radius:8px;gap:6px;padding:8px;display:grid}.attrs li.key[data-v-ec6fe972]{border-color:var(--accent);background:color-mix(in srgb, var(--accent-soft) 45%, transparent)}.r1[data-v-ec6fe972]{gap:6px;display:flex}.type[data-v-ec6fe972]{flex:none;width:124px;padding:0 6px}.r2[data-v-ec6fe972]{color:var(--text);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12.5px;font-weight:400;display:flex}.r2 label[data-v-ec6fe972]{cursor:pointer;white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.tiny[data-v-ec6fe972]{width:58px;height:28px;padding:0 6px}.btn.sm[data-v-ec6fe972]{width:26px;height:26px}input[type=checkbox][data-v-ec6fe972]{accent-color:var(--accent)}footer[data-v-ec6fe972]{border-top:1px solid var(--line);gap:8px;padding:12px;display:flex}@media (width<=760px){.panel[data-v-ec6fe972]{z-index:30;border-left:0;width:auto;position:fixed;inset:0}}.data[data-v-db191920]{background:var(--surface);flex:1;min-width:0;min-height:0;display:flex}.d-main[data-v-db191920]{flex-direction:column;flex:1;min-width:0;display:flex}.d-bar[data-v-db191920]{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 14px;display:flex}.seg[data-v-db191920]{background:var(--surface-2);border-radius:9px;flex:none;padding:3px;display:flex}.seg button[data-v-db191920]{cursor:pointer;height:28px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:12.5px;font-weight:700}.seg button.on[data-v-db191920]{background:var(--surface);color:var(--accent);box-shadow:0 1px 2px #0000001f}.hint[data-v-db191920]{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.canvas[data-v-db191920]{overscroll-behavior:contain;flex:1;position:relative;overflow:auto}.canvas svg[data-v-db191920]{-webkit-user-select:none;user-select:none;display:block}.empty[data-v-db191920]{text-align:center;color:var(--muted);pointer-events:none;margin:0;padding:0 20px;position:absolute;top:80px;left:0;right:0}.dotgrid[data-v-db191920]{fill:var(--line)}.edge[data-v-db191920]{fill:none;stroke:var(--muted);stroke-width:1.5px}.arrow[data-v-db191920]{fill:var(--muted)}.cardinality[data-v-db191920]{pointer-events:none}.card-bg[data-v-db191920]{fill:var(--surface);stroke:var(--line)}.card[data-v-db191920]{fill:var(--text);font-variant-numeric:tabular-nums;font-size:11.5px;font-weight:700}.role[data-v-db191920]{fill:var(--muted);font-size:10.5px;font-style:italic}.temp[data-v-db191920]{stroke:var(--accent);stroke-width:2px;stroke-dasharray:5 4;pointer-events:none}.node[data-v-db191920]{cursor:grab;touch-action:none}svg.ro .node[data-v-db191920]{cursor:pointer}.node.active[data-v-db191920]{cursor:grabbing}.body[data-v-db191920]{fill:var(--surface);stroke:var(--muted);stroke-width:1.4px;filter:drop-shadow(0 2px 5px #1418281a)}.node.pill .body[data-v-db191920]{fill:var(--surface-2);stroke-dasharray:5 3}.node.sel .body[data-v-db191920]{stroke:var(--accent);stroke-width:2.4px;stroke-dasharray:none}.head[data-v-db191920]{fill:var(--accent-soft)}.sep[data-v-db191920]{stroke:var(--line)}.title[data-v-db191920]{fill:var(--text);pointer-events:none;font-size:13px;font-weight:700}.attr[data-v-db191920]{fill:var(--text);pointer-events:none;font-size:12px}.attr.pk[data-v-db191920]{font-weight:700;text-decoration:underline}.type[data-v-db191920]{fill:var(--muted);pointer-events:none;font-size:10.5px}.mark[data-v-db191920]{fill:var(--muted);pointer-events:none;font-size:8.5px;font-weight:700}.mark.pk[data-v-db191920]{fill:var(--accent)}.pdot[data-v-db191920]{stroke:var(--surface);stroke-width:2px}.handle[data-v-db191920]{fill:var(--surface);stroke:var(--accent);stroke-width:2px;cursor:crosshair;opacity:0;transition:opacity .12s}.node:hover .handle[data-v-db191920],.node.sel .handle[data-v-db191920]{opacity:1}.code[data-v-db191920]{border-left:1px solid var(--line);flex-direction:column;flex:none;width:min(44%,560px);min-height:0;display:flex}.code header[data-v-db191920]{border-bottom:1px solid var(--line);gap:8px;padding:8px 12px;display:flex}.grow[data-v-db191920]{flex:1;min-width:0}.warnings[data-v-db191920]{background:var(--crit-soft);color:var(--crit);margin:0;padding:8px 12px 8px 28px;font-size:12.5px}pre[data-v-db191920]{background:var(--surface-2);tab-size:4;flex:1;margin:0;padding:14px;font:12.5px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:auto}@media (width<=900px){.data[data-v-db191920]{flex-direction:column}.code[data-v-db191920]{border-left:0;border-top:1px solid var(--line);flex:50%;width:auto}.hint[data-v-db191920]{display:none}}.gantt[data-v-7144767c]{background:var(--surface);overscroll-behavior:contain;flex:1;min-width:0;overflow:auto}.g-inner[data-v-7144767c]{min-height:100%}.g-head[data-v-7144767c]{z-index:4;background:var(--surface);border-bottom:1px solid var(--line);height:52px;display:flex;position:sticky;top:0}.g-hleft[data-v-7144767c]{z-index:5;background:var(--surface);border-right:1px solid var(--line);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex:none;align-items:end;padding-bottom:8px;font-size:11.5px;font-weight:600;position:sticky;left:0}.cols[data-v-7144767c]{grid-template-columns:46px minmax(0,1fr) 62px 60px 60px 72px;align-items:center;column-gap:6px;padding-right:10px;display:grid}.compact .cols[data-v-7144767c]{grid-template-columns:34px minmax(0,1fr)}.c-num[data-v-7144767c]{text-align:center;color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px;overflow:hidden}.g-htl[data-v-7144767c]{flex:none;position:relative}.g-month[data-v-7144767c]{border-left:1px solid var(--line);height:26px;position:absolute;top:0;overflow:clip}.g-month span[data-v-7144767c]{left:var(--left);white-space:nowrap;text-transform:capitalize;padding:6px 8px 0;font-size:12px;font-weight:600;display:inline-block;position:sticky}.g-day[data-v-7144767c]{text-align:center;height:26px;color:var(--muted);white-space:nowrap;font-size:11px;line-height:26px;position:absolute;top:26px;overflow:hidden}.g-day.off[data-v-7144767c]{opacity:.45}.g-day.today[data-v-7144767c]{color:var(--accent);font-weight:700}.g-body[data-v-7144767c]{display:flex}.g-left[data-v-7144767c]{z-index:3;background:var(--surface);border-right:1px solid var(--line);flex:none;position:sticky;left:0}.g-row[data-v-7144767c]{border-bottom:1px solid var(--line-soft);cursor:pointer}.g-row[data-v-7144767c]:hover{background:var(--surface-2)}.g-row.sel[data-v-7144767c]{background:var(--accent-soft)}.g-row.group .cell[data-v-7144767c]{font-weight:650}.c-name[data-v-7144767c]{align-items:center;gap:6px;min-width:0;display:flex}.dot[data-v-7144767c]{border-radius:3px;flex:none;width:8px;height:8px;margin:0 4px}.chev[data-v-7144767c]{width:16px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:0;flex:none;padding:0;font-size:12px;transition:transform .12s}.chev.closed[data-v-7144767c]{transform:rotate(-90deg)}.chev[data-v-7144767c]:hover{color:var(--text)}.clip[data-v-7144767c]{color:var(--muted);white-space:nowrap;flex:none;font-size:11px}.pdot[data-v-7144767c]{width:9px;height:9px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;flex:none}.cell[data-v-7144767c]{text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:6px;outline:none;width:100%;min-width:0;height:28px;padding:0 6px}.cell[data-v-7144767c]:hover:not([readonly]){border-color:var(--line)}.cell[data-v-7144767c]:focus:not([readonly]){border-color:var(--accent);background:var(--surface)}.cell[readonly][data-v-7144767c]{cursor:pointer}.cell.num[data-v-7144767c]{text-align:right;appearance:textfield;padding:0 2px}.cell.num[data-v-7144767c]::-webkit-inner-spin-button{display:none}.c-dur[data-v-7144767c]{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:flex-end;align-items:center;gap:3px;display:flex}.c-date[data-v-7144767c]{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12.5px}.c-float[data-v-7144767c]{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12.5px}.c-float.crit[data-v-7144767c]{color:var(--crit);font-weight:600}.g-add[data-v-7144767c]{align-items:center;padding:0 10px 0 46px;display:flex}.compact .g-add[data-v-7144767c]{padding-left:8px}.g-empty[data-v-7144767c]{color:var(--muted);padding:24px 16px}.g-tl[data-v-7144767c]{background-image:linear-gradient(to right, var(--line) 1px, transparent 1px), linear-gradient(to bottom, transparent 37px, var(--line-soft) 37px);flex:none;position:relative}.g-tl>svg[data-v-7144767c]{-webkit-user-select:none;user-select:none;display:block}.we[data-v-7144767c]{fill:var(--weekend);pointer-events:none}.rowbg[data-v-7144767c]{fill:#0000;cursor:pointer}.rowbg[data-v-7144767c]:hover{fill:#8086aa12}.rowbg.sel[data-v-7144767c]{fill:var(--accent-soft);opacity:.6}.today[data-v-7144767c]{stroke:var(--accent);stroke-width:1.5px;stroke-dasharray:4 3;pointer-events:none}.lk[data-v-7144767c]{fill:none;stroke:var(--muted);stroke-width:1.4px;opacity:.75;pointer-events:none;stroke-linejoin:round}.lk.crit[data-v-7144767c]{stroke:var(--crit);stroke-width:1.8px;opacity:1}.arrow[data-v-7144767c]{fill:var(--muted)}.arrow.crit[data-v-7144767c]{fill:var(--crit)}.lk-temp[data-v-7144767c]{stroke:var(--accent);stroke-width:2px;stroke-dasharray:5 4;pointer-events:none}.b-body[data-v-7144767c]{cursor:grab;touch-action:none;stroke:#0000;stroke-width:2px}svg.ro .b-body[data-v-7144767c]{cursor:pointer}.b-group[data-v-7144767c]{fill:var(--text);opacity:.72;stroke-width:1.5px;stroke-linejoin:round}.bar.crit .b-body[data-v-7144767c]{stroke:var(--crit)}.bar.sel .b-body[data-v-7144767c]{filter:brightness(1.08)drop-shadow(0 2px 5px #00000040)}.bar.active .b-body[data-v-7144767c]{cursor:grabbing;opacity:.85}.b-prog[data-v-7144767c]{fill:#00000047;pointer-events:none}.b-float[data-v-7144767c]{fill:var(--muted);opacity:.35;pointer-events:none}.b-resize[data-v-7144767c]{fill:#0000;cursor:ew-resize;touch-action:none}.b-link[data-v-7144767c]{fill:var(--surface);stroke:var(--accent);stroke-width:2px;cursor:crosshair;opacity:0;touch-action:none;transition:opacity .12s}.bar:hover .b-link[data-v-7144767c],.bar.sel .b-link[data-v-7144767c],.bar.active .b-link[data-v-7144767c]{opacity:1}.b-label[data-v-7144767c]{fill:var(--muted);pointer-events:none;font-size:11.5px}.cursor[data-v-7144767c]{z-index:2;pointer-events:none;transition:left 80ms linear,top 80ms linear;position:absolute}.cursor span[data-v-7144767c]{color:#fff;white-space:nowrap;border-radius:6px;padding:1px 7px;font-size:11px;font-weight:600;position:absolute;top:14px;left:12px}.pert[data-v-3d5001d5]{background:var(--surface);flex:1;min-width:0;padding-bottom:120px;position:relative;overflow:auto}.pert>svg[data-v-3d5001d5]{display:block}.empty[data-v-3d5001d5]{text-align:center;color:var(--muted);padding:48px 20px}.edge[data-v-3d5001d5]{fill:none;stroke:var(--muted);stroke-width:1.5px;opacity:.7}.edge.crit[data-v-3d5001d5]{stroke:var(--crit);stroke-width:2.4px;opacity:1}.arrow[data-v-3d5001d5]{fill:var(--muted)}.arrow.crit[data-v-3d5001d5]{fill:var(--crit)}.tag[data-v-3d5001d5]{fill:var(--surface);stroke:var(--line)}.tag-t[data-v-3d5001d5]{fill:var(--muted);font-size:10.5px;font-weight:600}.node[data-v-3d5001d5]{cursor:pointer}.box[data-v-3d5001d5]{fill:var(--surface);stroke:var(--line);stroke-width:1.5px;filter:drop-shadow(0 2px 5px #14182814)}.node:hover .box[data-v-3d5001d5]{stroke:var(--muted)}.node.crit .box[data-v-3d5001d5]{stroke:var(--crit);stroke-width:2px}.node.sel .box[data-v-3d5001d5]{stroke:var(--accent);stroke-width:2.5px}.sep[data-v-3d5001d5]{stroke:var(--line)}.num[data-v-3d5001d5]{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.mid[data-v-3d5001d5]{fill:var(--text);font-size:11px;font-weight:600}.mid.zero[data-v-3d5001d5]{fill:var(--crit)}.name[data-v-3d5001d5]{fill:var(--text);font-size:13px;font-weight:600}.who[data-v-3d5001d5]{fill:var(--muted);font-size:11px}.pdot[data-v-3d5001d5]{stroke:var(--surface);stroke-width:2px}.legend[data-v-3d5001d5]{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--muted);align-items:center;gap:16px;margin:16px;padding:10px 14px;font-size:11px;display:inline-flex;position:sticky;bottom:16px;left:16px}.lg-node[data-v-3d5001d5]{text-align:center;grid-template-columns:repeat(3,auto);gap:3px 12px;display:grid}.lg-node strong[data-v-3d5001d5]{color:var(--text);border-block:1px solid var(--line);grid-column:1/-1;padding:2px 0}.lg-crit[data-v-3d5001d5]{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.lg-crit i[data-v-3d5001d5]{border-top:3px solid var(--crit);border-radius:2px;width:22px;height:0}@media (width<=760px){.lg-node[data-v-3d5001d5]{display:none}}header[data-v-362c78e4]{justify-content:space-between;align-items:center;gap:12px;display:flex}.add[data-v-362c78e4]{flex-wrap:wrap;gap:8px;margin:14px 0 6px;display:flex}.grow[data-v-362c78e4]{flex:200px}ul[data-v-362c78e4]{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}li[data-v-362c78e4]{align-items:center;gap:10px;display:flex}.who[data-v-362c78e4]{flex:1;min-width:0;display:grid}.who b[data-v-362c78e4],.who small[data-v-362c78e4]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.who small[data-v-362c78e4]{color:var(--muted)}.err[data-v-362c78e4]{color:var(--crit);margin:6px 0 0}.note[data-v-362c78e4]{margin:16px 0 0;font-size:12.5px}.panel[data-v-2ab69570]{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;flex:none;width:380px;min-height:0;display:flex}header[data-v-2ab69570]{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:12px;display:flex}.swatch[data-v-2ab69570]{border-radius:4px;flex:none;width:10px;height:26px}.title[data-v-2ab69570]{flex:1;font-weight:600}.scroll[data-v-2ab69570]{flex:1;grid-template-columns:minmax(0,1fr);align-content:start;gap:16px;padding:14px;display:grid;overflow-y:auto}fieldset[data-v-2ab69570]{border:0;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;margin:0;padding:0;display:grid}fieldset:disabled .btn[data-v-2ab69570]{display:none}label[data-v-2ab69570],.lbl[data-v-2ab69570]{color:var(--muted);grid-template-columns:minmax(0,1fr);gap:6px;font-size:12.5px;font-weight:600;display:grid}label small[data-v-2ab69570],.lbl small[data-v-2ab69570]{font-weight:400}label .field[data-v-2ab69570],.lbl .field[data-v-2ab69570]{color:var(--text);font-size:14px;font-weight:400}.grid2[data-v-2ab69570]{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}.inline[data-v-2ab69570]{align-items:center;gap:6px;display:flex}.grow[data-v-2ab69570]{flex:1;min-width:0}input[type=range][data-v-2ab69570]{width:100%;height:34px;accent-color:var(--accent)}.color[data-v-2ab69570]{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;flex:none;width:44px;height:34px;padding:2px}.hex[data-v-2ab69570]{text-transform:lowercase;width:110px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.summary[data-v-2ab69570]{border-radius:var(--radius);background:var(--surface-2);grid-template-columns:repeat(3,1fr);gap:8px;padding:12px;display:grid}.summary.crit[data-v-2ab69570]{background:var(--crit-soft)}.summary div[data-v-2ab69570]{gap:2px;display:grid}.summary small[data-v-2ab69570]{color:var(--muted);font-size:11px}.summary b[data-v-2ab69570]{font-size:13px}.summary p[data-v-2ab69570]{color:var(--muted);grid-column:1/-1;margin:2px 0 0;font-size:12px}.summary.crit p[data-v-2ab69570]{color:var(--crit)}.links[data-v-2ab69570]{grid-template-columns:minmax(0,1fr);gap:6px;margin:0;padding:0;list-style:none;display:grid}.links li[data-v-2ab69570]{color:var(--text);align-items:center;gap:6px;min-height:34px;font-size:13.5px;font-weight:400;display:flex}.links .none[data-v-2ab69570]{min-height:0;font-size:12.5px}.lname[data-v-2ab69570]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.file[data-v-2ab69570]{color:var(--accent)}.file[data-v-2ab69570]:hover{text-decoration:underline}.meta[data-v-2ab69570]{white-space:nowrap;font-size:12px}.sm[data-v-2ab69570]{flex:none;width:74px;padding:0 4px}.links .btn[data-v-2ab69570]{flex:none}.lag[data-v-2ab69570]{flex:none;width:58px;padding:0 6px}footer[data-v-2ab69570]{border-top:1px solid var(--line);gap:8px;padding:12px;display:flex}@media (width<=760px){.panel[data-v-2ab69570]{z-index:30;border-left:0;width:auto;position:fixed;inset:0}}.proj[data-v-d5c3e5b7]{flex-direction:column;height:100%;min-height:0;display:flex}.bar[data-v-d5c3e5b7]{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 14px;display:flex}.name[data-v-d5c3e5b7]{letter-spacing:-.01em;text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:8px;outline:none;flex:0 300px;min-width:60px;height:34px;padding:0 8px;font-size:16px;font-weight:700}.name[data-v-d5c3e5b7]:hover:not([readonly]){border-color:var(--line)}.name[data-v-d5c3e5b7]:focus:not([readonly]){border-color:var(--accent);background:var(--surface)}.tabs[data-v-d5c3e5b7]{background:var(--surface-2);border-radius:9px;flex:none;padding:3px;display:flex}.tabs button[data-v-d5c3e5b7]{cursor:pointer;height:28px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:0 14px;font-weight:600}.tabs button.on[data-v-d5c3e5b7]{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001f}.ro[data-v-d5c3e5b7]{background:var(--accent-soft);color:var(--accent);flex:none;font-weight:600}.grow[data-v-d5c3e5b7]{flex:1}.people[data-v-d5c3e5b7]{flex:none;display:flex}.people .avatar[data-v-d5c3e5b7]{margin-left:-6px}.people .me[data-v-d5c3e5b7]{box-shadow:0 0 0 2px var(--accent);border-color:var(--surface)}.chat-btn[data-v-d5c3e5b7]{position:relative}.chat-btn.on[data-v-d5c3e5b7]{border-color:var(--accent);color:var(--accent)}.badge[data-v-d5c3e5b7]{background:var(--crit);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:inline-grid}.status[data-v-d5c3e5b7]{color:var(--muted);white-space:nowrap;flex:none;align-items:center;gap:6px;font-size:12px;display:inline-flex}.status i[data-v-d5c3e5b7]{background:#e2a03f;border-radius:50%;width:8px;height:8px}.status.connected i[data-v-d5c3e5b7]{background:var(--ok)}.status.offline i[data-v-d5c3e5b7],.status.notfound i[data-v-d5c3e5b7],.status.unauthenticated i[data-v-d5c3e5b7]{background:var(--crit)}.tools[data-v-d5c3e5b7]{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 14px;display:flex}.opt[data-v-d5c3e5b7]{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.opt.check[data-v-d5c3e5b7]{cursor:pointer}.group[data-v-d5c3e5b7]{gap:4px;display:inline-flex}.warn[data-v-d5c3e5b7]{background:var(--crit-soft);color:var(--crit);margin:0;padding:8px 14px;font-size:13px}.work[data-v-d5c3e5b7]{flex:1;min-height:0;display:flex}.state[data-v-d5c3e5b7]{text-align:center;flex:1;place-content:center;justify-items:center;gap:12px;padding:24px;display:grid}.toast[data-v-d5c3e5b7]{z-index:70;background:var(--text);max-width:calc(100vw - 32px);color:var(--bg);box-shadow:var(--shadow);border-radius:10px;padding:10px 16px;font-size:13px;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.toast-enter-active[data-v-d5c3e5b7],.toast-leave-active[data-v-d5c3e5b7]{transition:opacity .2s,transform .2s}.toast-enter-from[data-v-d5c3e5b7],.toast-leave-to[data-v-d5c3e5b7]{opacity:0;transform:translate(-50%,8px)}@media (width<=760px){.bar[data-v-d5c3e5b7]{flex-wrap:wrap;gap:8px;padding:8px 10px}.name[data-v-d5c3e5b7]{flex:120px;font-size:15px}.status span[data-v-d5c3e5b7]{display:none}.tools[data-v-d5c3e5b7]{padding:8px 10px}.tools .grow[data-v-d5c3e5b7]{display:none}}
