*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{overscroll-behavior:none;height:100%;overflow:hidden}body{color:#d8dee9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;background:#1a1d23;font:14px/1.4 system-ui,Segoe UI,Roboto,sans-serif}#app{height:100%}.canvas-host{position:fixed;inset:0;overflow:hidden}.canvas-host canvas{display:block}.sidebar[data-v-461e1f74]{z-index:10;background:#22262e;border:1px solid #3b4252;border-radius:12px;flex-direction:column;width:220px;display:flex;position:fixed;top:12px;bottom:12px;left:12px;overflow:hidden;box-shadow:0 8px 28px #00000073}.sb-head[data-v-461e1f74]{border-bottom:1px solid #313846;padding:10px 12px}.sb-title[data-v-461e1f74]{letter-spacing:.3px;color:#eceff4;font-weight:700}.sb-actions[data-v-461e1f74]{align-items:center;gap:4px;margin-top:8px;display:flex}.ctl[data-v-461e1f74]{appearance:none;color:#cbd2de;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:5px;transition:background .1s,color .1s;display:inline-flex}.ctl svg[data-v-461e1f74]{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.ctl[data-v-461e1f74]:hover:not(:disabled){background:#333b49}.ctl[data-v-461e1f74]:disabled{opacity:.3;cursor:default}.ctl.active[data-v-461e1f74]{color:#eceff4;background:#5e81ac}.zoom[data-v-461e1f74]{appearance:none;color:#a3abb8;font:inherit;text-align:center;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:none;border-radius:6px;min-width:50px;margin-left:auto;padding:5px 6px}.zoom[data-v-461e1f74]:hover{color:#d8dee9;background:#333b49}.sb-scroll[data-v-461e1f74]{scrollbar-width:thin;scrollbar-color:#3b4252 transparent;flex:1;padding:6px 8px 10px;overflow-y:auto}.sb-scroll[data-v-461e1f74]::-webkit-scrollbar{width:8px}.sb-scroll[data-v-461e1f74]::-webkit-scrollbar-track{background:0 0}.sb-scroll[data-v-461e1f74]::-webkit-scrollbar-thumb{background:#3b4252;border-radius:4px}.sb-scroll[data-v-461e1f74]::-webkit-scrollbar-thumb:hover{background:#4c566a}.sb-cat[data-v-461e1f74]{margin-bottom:4px}.sb-cat-head[data-v-461e1f74]{appearance:none;color:#8f9aad;width:100%;font:inherit;text-transform:uppercase;letter-spacing:.4px;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:9px 4px 5px;font-size:11px;font-weight:600;display:flex}.sb-cat-head[data-v-461e1f74]:hover{color:#cdd4e0}.chev[data-v-461e1f74]{font-size:9px;transition:transform .12s}.chev.closed[data-v-461e1f74]{transform:rotate(-90deg)}.cat-title[data-v-461e1f74]{line-height:1.25}.sb-grid[data-v-461e1f74]{grid-template-columns:repeat(4,1fr);gap:5px;padding:2px 0 4px;display:grid}.pv[data-v-461e1f74]{appearance:none;color:#c3cad7;aspect-ratio:1;cursor:pointer;background:#262b34;border:1px solid #333b49;border-radius:7px;justify-content:center;align-items:center;padding:5px;transition:background .1s,border-color .1s,color .1s;display:flex}.pv[data-v-461e1f74] svg{width:100%;height:100%}.pv[data-v-461e1f74]:hover{color:#e5e9f0;background:#2f3644;border-color:#45506380}.pv.active[data-v-461e1f74]{color:#eceff4;background:#34425c;border-color:#5e81ac}.sb-foot[data-v-461e1f74]{border-top:1px solid #313846;padding:8px}.tpl-btn[data-v-461e1f74]{appearance:none;color:#c3cad7;width:100%;font:inherit;cursor:pointer;background:#262b34;border:1px solid #3b4252;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:8px 10px;font-size:12px;font-weight:600;transition:background .1s,border-color .1s,color .1s;display:inline-flex}.tpl-btn svg[data-v-461e1f74]{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.tpl-btn[data-v-461e1f74]:hover{color:#eceff4;background:#2f3644;border-color:#5e81ac}.breadcrumb[data-v-aa660b32]{z-index:9;background:#2e3440;border:1px solid #3b4252;border-radius:10px;align-items:center;gap:2px;max-width:calc(100vw - 24px);padding:5px 8px;display:flex;position:fixed;top:12px;left:268px;overflow-x:auto;box-shadow:0 4px 16px #00000059}.crumb[data-v-aa660b32]{appearance:none;color:#d8dee9;font:inherit;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:6px;max-width:180px;padding:4px 8px;transition:background .1s,color .1s;overflow:hidden}.crumb[data-v-aa660b32]:hover:not(:disabled){background:#3b4252}.crumb.root[data-v-aa660b32]{color:#a3abb8}.crumb.current[data-v-aa660b32]{color:#eceff4;cursor:default;font-weight:600}.crumb[data-v-aa660b32]:disabled{cursor:default}.sep[data-v-aa660b32]{color:#4c566a;padding:0 1px}.exit[data-v-aa660b32]{appearance:none;color:#eceff4;font:inherit;cursor:pointer;white-space:nowrap;background:#5e81ac;border:none;border-radius:6px;margin-left:8px;padding:4px 10px;transition:background .1s}.exit[data-v-aa660b32]:hover{background:#6a8fbb}.export-menu[data-v-eeefffc6]{z-index:20;transition:transform .15s;position:fixed;top:12px;right:12px}.export-menu.shifted[data-v-eeefffc6]{transform:translate(-280px)}.ex-btn[data-v-eeefffc6]{appearance:none;color:#cbd2de;font:inherit;cursor:pointer;background:#22262e;border:1px solid #3b4252;border-radius:9px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;transition:background .1s,color .1s;display:inline-flex;box-shadow:0 6px 20px #0006}.ex-btn svg[data-v-eeefffc6]{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.ex-btn[data-v-eeefffc6]:hover:not(:disabled){color:#e5e9f0;background:#2f3644}.ex-btn.active[data-v-eeefffc6]{color:#eceff4;background:#34425c;border-color:#5e81ac}.ex-btn[data-v-eeefffc6]:disabled{opacity:.4;cursor:default}.ex-pop[data-v-eeefffc6]{background:#22262e;border:1px solid #3b4252;border-radius:10px;flex-direction:column;gap:2px;width:220px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #00000080}.ex-item[data-v-eeefffc6]{appearance:none;color:#d8dee9;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:baseline;gap:8px;padding:8px 10px;display:flex}.ex-item[data-v-eeefffc6]:hover:not(:disabled){background:#333b49}.ex-item[data-v-eeefffc6]:disabled{opacity:.4;cursor:default}.ex-fmt[data-v-eeefffc6]{min-width:38px;font-weight:600}.ex-sub[data-v-eeefffc6]{color:#8f9aad;font-size:11px}.ex-check[data-v-eeefffc6]{color:#cbd2de;cursor:pointer;border-top:1px solid #313846;align-items:center;gap:7px;margin-top:4px;padding:8px 10px 4px;font-size:12px;display:flex}.ex-check.disabled[data-v-eeefffc6]{color:#6b7383;cursor:default}.ex-check input[data-v-eeefffc6]{accent-color:#5e81ac}.ex-note[data-v-eeefffc6]{color:#6f7889;margin:0;padding:0 10px 4px;font-size:10.5px;line-height:1.35}.hist-toggle[data-v-7fbe361b]{z-index:10;appearance:none;color:#d8dee9;font:inherit;cursor:pointer;background:#2e3440;border:1px solid #3b4252;border-radius:10px;align-items:center;gap:6px;padding:6px 10px;transition:background .1s,transform .15s;display:inline-flex;position:fixed;top:56px;right:12px;box-shadow:0 4px 16px #00000059}.hist-toggle[data-v-7fbe361b]:hover{background:#3b4252}.history.shifted .hist-toggle[data-v-7fbe361b],.history.shifted .hist-panel[data-v-7fbe361b]{transform:translate(-280px)}.hist-panel[data-v-7fbe361b]{z-index:10;background:#2e3440;border:1px solid #3b4252;border-radius:12px;flex-direction:column;width:320px;max-height:calc(100vh - 116px);transition:transform .15s;display:flex;position:fixed;top:96px;right:12px;overflow:hidden;box-shadow:0 8px 28px #00000073}.hp-head[data-v-7fbe361b]{border-bottom:1px solid #3b4252;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.hp-title[data-v-7fbe361b]{color:#eceff4;font-weight:600}.hp-close[data-v-7fbe361b]{appearance:none;color:#a3abb8;cursor:pointer;background:0 0;border:none;font-size:20px;line-height:1}.hp-close[data-v-7fbe361b]:hover{color:#eceff4}.hp-error[data-v-7fbe361b]{color:#bf616a;margin:0;padding:8px 12px;font-size:13px}.hp-empty[data-v-7fbe361b]{color:#a3abb8;margin:0;padding:16px 12px;font-size:13px}.hp-list[data-v-7fbe361b]{margin:0;padding:4px;list-style:none;overflow-y:auto}.hp-item[data-v-7fbe361b]{border-radius:8px;padding:8px}.hp-item[data-v-7fbe361b]:hover{background:#353c4a}.hp-main[data-v-7fbe361b]{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.hp-seq[data-v-7fbe361b]{color:#81a1c1;font-variant-numeric:tabular-nums;font-size:12px}.hp-action[data-v-7fbe361b]{color:#eceff4;font-size:13px}.hp-meta[data-v-7fbe361b]{color:#8891a0;width:100%;font-size:11px}.hp-acts[data-v-7fbe361b]{gap:6px;margin-top:6px;display:flex}.hp-btn[data-v-7fbe361b]{appearance:none;color:#e5e9f0;font:inherit;cursor:pointer;background:#434c5e;border:1px solid #4c566a;border-radius:6px;padding:3px 8px;font-size:12px;transition:background .1s}.hp-btn[data-v-7fbe361b]:hover:not(:disabled){background:#4c566a}.hp-btn.ghost[data-v-7fbe361b]{background:0 0}.hp-btn[data-v-7fbe361b]:disabled{opacity:.4;cursor:default}.nc[data-v-ab870b6b]{flex-direction:column;gap:8px;display:flex}.nc-list[data-v-ab870b6b]{flex-direction:column;gap:8px;max-height:240px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.nc-item[data-v-ab870b6b]{background:#262b34;border:1px solid #333b49;border-radius:8px;padding:7px 9px}.nc-item.resolved[data-v-ab870b6b]{opacity:.6}.nc-meta[data-v-ab870b6b]{color:#8f9aad;align-items:center;gap:6px;font-size:11px;display:flex}.nc-author[data-v-ab870b6b]{color:#cbd2de;font-weight:600}.nc-when[data-v-ab870b6b]{margin-left:auto}.nc-tag[data-v-ab870b6b]{color:#a3be8c;border:1px solid #4c5a44;border-radius:5px;padding:0 4px}.nc-body[data-v-ab870b6b]{color:#e5e9f0;white-space:pre-wrap;word-break:break-word;margin-top:4px;font-size:13px}.nc-acts[data-v-ab870b6b]{gap:10px;margin-top:5px;display:flex}.lnk[data-v-ab870b6b]{appearance:none;color:#81a1c1;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:11px}.lnk[data-v-ab870b6b]:hover{text-decoration:underline}.lnk.danger[data-v-ab870b6b]{color:#bf616a}.nc-add[data-v-ab870b6b]{flex-direction:column;gap:6px;display:flex}.nc-input[data-v-ab870b6b]{box-sizing:border-box;resize:vertical;color:#eceff4;width:100%;font:inherit;background:#1f232b;border:1px solid #3b4252;border-radius:6px;padding:6px 8px;font-size:13px}.nc-send[data-v-ab870b6b]{appearance:none;color:#eceff4;font:inherit;cursor:pointer;background:#5e81ac;border:none;border-radius:6px;align-self:flex-end;padding:5px 12px;font-size:12px}.nc-send[data-v-ab870b6b]:disabled{opacity:.4;cursor:default}.nc-empty[data-v-ab870b6b]{color:#8f9aad;font-size:12px}.nc-error[data-v-ab870b6b]{color:#bf616a;font-size:12px}.inspector[data-v-8446f47e]{z-index:10;color:#d8dee9;background:#22262e;border:1px solid #3b4252;border-radius:12px;flex-direction:column;width:268px;max-width:calc(100vw - 24px);display:flex;position:fixed;top:12px;bottom:12px;right:12px;overflow:hidden;box-shadow:0 8px 28px #00000073}.ins-head[data-v-8446f47e]{border-bottom:1px solid #313846;align-items:baseline;gap:8px;padding:10px 12px;display:flex}.ins-title[data-v-8446f47e]{letter-spacing:.3px;color:#eceff4;font-weight:700}.ins-sub[data-v-8446f47e]{color:#8f9aad;margin-left:auto;font-size:11px}.ins-scroll[data-v-8446f47e]{scrollbar-width:thin;scrollbar-color:#3b4252 transparent;flex:1;padding:8px 10px 14px;overflow:hidden auto}.ins-scroll[data-v-8446f47e]::-webkit-scrollbar{width:8px}.ins-scroll[data-v-8446f47e]::-webkit-scrollbar-track{background:0 0}.ins-scroll[data-v-8446f47e]::-webkit-scrollbar-thumb{background:#3b4252;border-radius:4px}.ins-scroll[data-v-8446f47e]::-webkit-scrollbar-thumb:hover{background:#4c566a}.ins-sec[data-v-8446f47e]{border-bottom:1px solid #2b323d;padding:6px 0 10px}.ins-sec[data-v-8446f47e]:last-child{border-bottom:none}.ins-sec h4[data-v-8446f47e]{text-transform:uppercase;letter-spacing:.4px;color:#8f9aad;margin:6px 0 8px;font-size:11px;font-weight:600}.row[data-v-8446f47e]{align-items:center;gap:8px;margin-bottom:7px;font-size:12px;display:flex}.row>span[data-v-8446f47e]{color:#a3abb8;flex:0 0 84px}.col[data-v-8446f47e]{flex-direction:column;gap:3px;margin-bottom:8px;font-size:12px;display:flex}.col>span[data-v-8446f47e]{color:#a3abb8}.area[data-v-8446f47e]{resize:vertical;min-height:52px;font:12px/1.35 system-ui,-apple-system,sans-serif}.row.check[data-v-8446f47e]{gap:6px}.row.check>span[data-v-8446f47e]{flex:1}.row2[data-v-8446f47e]{gap:8px;margin-bottom:7px;display:flex}.row2 label[data-v-8446f47e]{flex:1;align-items:center;gap:6px;font-size:12px;display:flex}.row2 label>span[data-v-8446f47e]{color:#a3abb8;width:12px}.in[data-v-8446f47e]{box-sizing:border-box;color:#eceff4;min-width:0;font:inherit;background:#1f232b;border:1px solid #3b4252;border-radius:6px;outline:none;flex:1;padding:4px 6px;font-size:12px}.in[data-v-8446f47e]:focus{border-color:#5e81ac}.in.num[data-v-8446f47e]{flex:1}.in.color[data-v-8446f47e]{cursor:pointer;height:26px;padding:2px}.in[type=range][data-v-8446f47e]{padding:0}.grp[data-v-8446f47e]{flex-wrap:wrap;flex:1;gap:5px;min-width:0;display:flex}.tgl[data-v-8446f47e]{appearance:none;color:#cbd2de;cursor:pointer;background:#262b34;border:1px solid #3b4252;border-radius:6px;min-width:26px;height:26px;font-size:13px;line-height:1}.tgl.ital[data-v-8446f47e]{font-style:italic}.tgl.on[data-v-8446f47e]{color:#eceff4;background:#5e81ac;border-color:#5e81ac}.tgl[data-v-8446f47e]:first-child{font-weight:700}.btn[data-v-8446f47e]{appearance:none;color:#cbd2de;cursor:pointer;font:inherit;background:#262b34;border:1px solid #3b4252;border-radius:6px;flex:1;padding:6px 8px;font-size:12px}.btn[data-v-8446f47e]:hover{color:#e5e9f0;background:#2f3644}.convert[data-v-8446f47e]{appearance:none;color:#eceff4;width:100%;font:inherit;cursor:pointer;background:#5e81ac;border:none;border-radius:8px;padding:7px 10px;transition:background .1s}.convert[data-v-8446f47e]:hover:not(:disabled){background:#6a8fbb}.convert[data-v-8446f47e]:disabled{opacity:.35;cursor:default}.convert-hint[data-v-8446f47e]{color:#9aa4b8;margin:6px 0 0;font-size:11px}.ct[data-v-053c3ec0]{color:#d8dee9;background:#22262e;border:1px solid #3b4252;border-radius:10px;flex-direction:column;width:260px;max-height:340px;display:flex;overflow:hidden;box-shadow:0 10px 30px #00000080}.ct-head[data-v-053c3ec0]{border-bottom:1px solid #313846;align-items:center;gap:6px;padding:8px 10px;display:flex}.ct-title[data-v-053c3ec0]{color:#eceff4;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.ct-close[data-v-053c3ec0]{appearance:none;color:#a3abb8;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 2px;font-size:18px;line-height:1}.ct-close[data-v-053c3ec0]:hover{color:#eceff4}.ct-list[data-v-053c3ec0]{flex-direction:column;flex:1;gap:8px;padding:8px 10px;display:flex;overflow-y:auto}.ct-empty[data-v-053c3ec0]{color:#8f9aad;text-align:center;padding:10px 0;font-size:12px}.ct-msg[data-v-053c3ec0]{background:#262b34;border:1px solid #333b49;border-radius:8px;align-self:flex-start;max-width:88%;padding:5px 8px}.ct-msg.mine[data-v-053c3ec0]{background:#34425c;border-color:#5e81ac;align-self:flex-end}.ct-meta[data-v-053c3ec0]{color:#8f9aad;gap:6px;font-size:10px;display:flex}.ct-author[data-v-053c3ec0]{color:#cbd2de;font-weight:600}.ct-body[data-v-053c3ec0]{color:#e5e9f0;white-space:pre-wrap;word-break:break-word;margin-top:2px;font-size:13px}.ct-input[data-v-053c3ec0]{border-top:1px solid #313846;gap:6px;padding:8px;display:flex}.ct-input textarea[data-v-053c3ec0]{resize:none;color:#eceff4;font:inherit;background:#1f232b;border:1px solid #3b4252;border-radius:6px;outline:none;flex:1;padding:6px 8px;font-size:13px}.ct-input button[data-v-053c3ec0]{appearance:none;color:#eceff4;font:inherit;cursor:pointer;background:#5e81ac;border:none;border-radius:6px;padding:0 12px;font-size:12px}.ct-input button[data-v-053c3ec0]:disabled{opacity:.4;cursor:default}.ct-ro[data-v-053c3ec0]{color:#8f9aad;border-top:1px solid #313846;padding:8px 10px;font-size:12px}.ct-error[data-v-053c3ec0]{color:#bf616a;padding:4px 10px 8px;font-size:12px}.balloons[data-v-301e21b6]{z-index:8;pointer-events:none;position:fixed;inset:0}.balloon[data-v-301e21b6]{pointer-events:auto;appearance:none;color:#eceff4;cursor:pointer;font:inherit;background:#5e81ac;border:none;border-radius:12px 12px 12px 3px;align-items:center;gap:3px;padding:3px 7px 3px 5px;font-size:12px;line-height:1;display:inline-flex;position:absolute;transform:translate(-4px,-100%);box-shadow:0 3px 10px #0006}.balloon[data-v-301e21b6]:hover,.balloon.open[data-v-301e21b6]{background:#6a8fbb}.balloon.empty[data-v-301e21b6]{opacity:.55}.balloon.empty[data-v-301e21b6]:hover{opacity:1}.balloon svg[data-v-301e21b6]{width:14px;height:14px}.count[data-v-301e21b6]{font-variant-numeric:tabular-nums;font-weight:600}.popover[data-v-301e21b6]{pointer-events:auto;z-index:11;position:absolute}
