agentworkshop 0.7.66 → 0.7.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.AgentWorkShop/prompts/host-tools.json +324 -26
- package/.env.example +3 -0
- package/.output/.AgentWorkShop/aml-python/__pycache__/amlkit.cpython-312.pyc +0 -0
- package/.output/.AgentWorkShop/prompts/host-tools.json +324 -26
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/-jpUnM1I2.js +1 -0
- package/.output/public/_nuxt/0MLy6ogg2.js +1 -0
- package/.output/public/_nuxt/2KE8xGVm2.js +1 -0
- package/.output/public/_nuxt/5S26I34j2.js +1 -0
- package/.output/public/_nuxt/62J4vljm2.js +1 -0
- package/.output/public/_nuxt/AuthGate.72Jdc4d6.css +1 -0
- package/.output/public/_nuxt/B-U7E_Mc2.js +1 -0
- package/.output/public/_nuxt/B1OMZaQh.js +1 -0
- package/.output/public/_nuxt/B1PzYsqN.js +4 -0
- package/.output/public/_nuxt/B1SzppY12.js +1 -0
- package/.output/public/_nuxt/B3Y5bCrM.js +1 -0
- package/.output/public/_nuxt/B5FKaMM02.js +1 -0
- package/.output/public/_nuxt/B8C-QJB5.js +1 -0
- package/.output/public/_nuxt/B8N8nsad2.js +2 -0
- package/.output/public/_nuxt/B8cViLJT2.js +1 -0
- package/.output/public/_nuxt/BAcjVcku2.js +1 -0
- package/.output/public/_nuxt/BC7W6lNm.js +1 -0
- package/.output/public/_nuxt/BErG4kzc2.js +1 -0
- package/.output/public/_nuxt/BJ2nJNlK2.js +1 -0
- package/.output/public/_nuxt/BJrj5JVe2.js +1 -0
- package/.output/public/_nuxt/BLwDhlaa.js +1 -0
- package/.output/public/_nuxt/BNNtKbSV.js +14 -0
- package/.output/public/_nuxt/BQIO4MkA2.js +1 -0
- package/.output/public/_nuxt/BRMVDfPl2.js +21 -0
- package/.output/public/_nuxt/BRdoISnJ2.js +1 -0
- package/.output/public/_nuxt/BUTg4W_x2.js +1 -0
- package/.output/public/_nuxt/BWn-lfCp2.js +1 -0
- package/.output/public/_nuxt/BYLc8cfE.js +1 -0
- package/.output/public/_nuxt/BYxG9Hb2.js +1 -0
- package/.output/public/_nuxt/B_-vAvzb.js +1 -0
- package/.output/public/_nuxt/BcEr7tIB.js +1 -0
- package/.output/public/_nuxt/Bc_k6AVA.js +23 -0
- package/.output/public/_nuxt/BfQ-ptH0.js +1 -0
- package/.output/public/_nuxt/BfX6_AjY.js +1 -0
- package/.output/public/_nuxt/Bj5sjA5O.js +1 -0
- package/.output/public/_nuxt/BjLzqWJH2.js +1 -0
- package/.output/public/_nuxt/BjSEVANF.js +1 -0
- package/.output/public/_nuxt/Bnc8HELj2.js +1 -0
- package/.output/public/_nuxt/Bq9DDqiq2.js +1 -0
- package/.output/public/_nuxt/BsTZnkVK.js +1 -0
- package/.output/public/_nuxt/BtfwbNC0.js +1 -0
- package/.output/public/_nuxt/BwO2Y5FH2.js +1 -0
- package/.output/public/_nuxt/Bx2a9cuY2.js +1 -0
- package/.output/public/_nuxt/Bx4MR0jd.js +1 -0
- package/.output/public/_nuxt/C-MY-JQE2.js +1 -0
- package/.output/public/_nuxt/C0YL0HKK.js +1 -0
- package/.output/public/_nuxt/C1vvxGo02.js +1 -0
- package/.output/public/_nuxt/C3aUN4Vp2.js +2 -0
- package/.output/public/_nuxt/C3sWJ8SD2.js +1 -0
- package/.output/public/_nuxt/C41CcsiD.js +1 -0
- package/.output/public/_nuxt/C6uBP0Xa.js +1 -0
- package/.output/public/_nuxt/C9gErLQc2.js +17 -0
- package/.output/public/_nuxt/CAiHhX8P2.js +7 -0
- package/.output/public/_nuxt/CCgbgkid.js +47 -0
- package/.output/public/_nuxt/CDn0eDn8.js +1 -0
- package/.output/public/_nuxt/CGk_VUhO2.js +1 -0
- package/.output/public/_nuxt/CHSAaKgE.js +209 -0
- package/.output/public/_nuxt/CIvMT5Ic.js +1 -0
- package/.output/public/_nuxt/CJ0bjZ6v2.js +1 -0
- package/.output/public/_nuxt/CJ3Vul2u.js +1 -0
- package/.output/public/_nuxt/CJSohaqk2.js +13 -0
- package/.output/public/_nuxt/CLxmY3Rh.js +1 -0
- package/.output/public/_nuxt/CNwx04ln.js +84 -0
- package/.output/public/_nuxt/CQgOzpvI.js +2 -0
- package/.output/public/_nuxt/CR612R752.js +1 -0
- package/.output/public/_nuxt/CVCscYzb2.js +1 -0
- package/.output/public/_nuxt/C_A0MCol2.js +1 -0
- package/.output/public/_nuxt/Car2lkbb.js +1 -0
- package/.output/public/_nuxt/CcX_jP-d.js +1 -0
- package/.output/public/_nuxt/Ce5R-ZGf2.js +1 -0
- package/.output/public/_nuxt/Ce6e1mPk2.js +1 -0
- package/.output/public/_nuxt/CeLqojCJ.js +1 -0
- package/.output/public/_nuxt/CiCEprsp2.js +1 -0
- package/.output/public/_nuxt/CnP6snIz.js +3 -0
- package/.output/public/_nuxt/Cp4r6Eiz.js +1 -0
- package/.output/public/_nuxt/CwZW1ZCe2.js +1 -0
- package/.output/public/_nuxt/CzX_kaPL.js +1 -0
- package/.output/public/_nuxt/D25dVZ822.js +3 -0
- package/.output/public/_nuxt/D3buuIkE.js +1 -0
- package/.output/public/_nuxt/D4_INWgq.js +1 -0
- package/.output/public/_nuxt/D5kCimyw.js +1 -0
- package/.output/public/_nuxt/D6ZcgHPz.js +1 -0
- package/.output/public/_nuxt/D7s96J3r2.js +1 -0
- package/.output/public/_nuxt/D8r8PNQa2.js +1 -0
- package/.output/public/_nuxt/DAsjfdZD.js +1 -0
- package/.output/public/_nuxt/DD-r0S1p.js +1 -0
- package/.output/public/_nuxt/DF32f5EL.js +1 -0
- package/.output/public/_nuxt/DGrrucbG2.js +1 -0
- package/.output/public/_nuxt/DHURbGkn2.js +1 -0
- package/.output/public/_nuxt/DHhmq7s_.js +1 -0
- package/.output/public/_nuxt/DIwmMa_7.js +1 -0
- package/.output/public/_nuxt/DJJDigim2.js +3 -0
- package/.output/public/_nuxt/DKiqdYnj.js +1 -0
- package/.output/public/_nuxt/DLqSQbGv.js +1 -0
- package/.output/public/_nuxt/DQfy6R_2.js +1 -0
- package/.output/public/_nuxt/DSORcpTJ.js +9 -0
- package/.output/public/_nuxt/DTQTGA6v2.js +1 -0
- package/.output/public/_nuxt/DVkFSOZi.js +1 -0
- package/.output/public/_nuxt/DW8k_0dQ.js +1 -0
- package/.output/public/_nuxt/DX-c5laM2.js +1 -0
- package/.output/public/_nuxt/DZJ11BTI.js +1 -0
- package/.output/public/_nuxt/D_NjL-Hz.js +1 -0
- package/.output/public/_nuxt/D_Zspo1y.js +1 -0
- package/.output/public/_nuxt/DaBzS-iu.js +1 -0
- package/.output/public/_nuxt/Dd7MZc_Q.js +1 -0
- package/.output/public/_nuxt/Dg81dOEO.js +1 -0
- package/.output/public/_nuxt/DjGYvFyA.js +1 -0
- package/.output/public/_nuxt/DkQBMVTs2.js +1 -0
- package/.output/public/_nuxt/DlcA9Gxl.js +1 -0
- package/.output/public/_nuxt/DnlhV7Xe.js +1 -0
- package/.output/public/_nuxt/DnzjxC0u.js +24 -0
- package/.output/public/_nuxt/DoGa0vsN.js +1 -0
- package/.output/public/_nuxt/DrF3TWoj.js +15 -0
- package/.output/public/_nuxt/DtiY69xi2.js +1 -0
- package/.output/public/_nuxt/DvOETuoT2.js +1 -0
- package/.output/public/_nuxt/GtI6PUI32.js +1 -0
- package/.output/public/_nuxt/HX4_xnak2.js +13 -0
- package/.output/public/_nuxt/HxohXQ_r.js +1 -0
- package/.output/public/_nuxt/KQZmHR_K.js +55 -0
- package/.output/public/_nuxt/KgnxOsMr.js +1 -0
- package/.output/public/_nuxt/KwT4sN_d.js +1 -0
- package/.output/public/_nuxt/MDhaRQq_.js +1 -0
- package/.output/public/_nuxt/Rt2i6k7C2.js +1 -0
- package/.output/public/_nuxt/SF0I6Hzp2.js +36 -0
- package/.output/public/_nuxt/SoO2K-di.js +1 -0
- package/.output/public/_nuxt/Tk6TQZjU.js +1 -0
- package/.output/public/_nuxt/TownView.CC3t-Dte.css +1 -0
- package/.output/public/_nuxt/Tuz5LcLM.js +1 -0
- package/.output/public/_nuxt/WPwdj9pg.js +1 -0
- package/.output/public/_nuxt/Y4sMSPrS.js +1 -0
- package/.output/public/_nuxt/_id_.BQRWK7J2.css +1 -0
- package/.output/public/_nuxt/_id_.DSbZhSO1.css +1 -0
- package/.output/public/_nuxt/_wsId_.DCnKQQdY.css +1 -0
- package/.output/public/_nuxt/aQ1B7BZa2.js +2 -0
- package/.output/public/_nuxt/agents.D-JPovTZ.css +1 -0
- package/.output/public/_nuxt/aml.CeLxRzvI.css +1 -0
- package/.output/public/_nuxt/analysis.CqR_dfoW.css +1 -0
- package/.output/public/_nuxt/board.jjp4MSZR.css +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/cd7ec308-625f-4eb8-a841-11f3127fbf66.json +1 -0
- package/.output/public/_nuxt/channel-templates.DgiL0L16.css +1 -0
- package/.output/public/_nuxt/cjRzSvAg2.js +31 -0
- package/.output/public/_nuxt/dJ7gK7C2.js +1 -0
- package/.output/public/_nuxt/daq.BUeQwO2J.css +1 -0
- package/.output/public/_nuxt/data.D7XYoiL8.css +1 -0
- package/.output/public/_nuxt/dcw.n8O0ptzV.css +1 -0
- package/.output/public/_nuxt/default.C9eAl1QW.css +1 -0
- package/.output/public/_nuxt/dq1HKoGD.js +1 -0
- package/.output/public/_nuxt/entry.DI0qLRfo.css +1 -0
- package/.output/public/_nuxt/h5gsh8E92.js +1 -0
- package/.output/public/_nuxt/jGxHnjW6.js +1 -0
- package/.output/public/_nuxt/kN3ZzR1-.js +1 -0
- package/.output/public/_nuxt/logs.BkJPbR_K.css +1 -0
- package/.output/public/_nuxt/monitor.D3yEqqrv.css +1 -0
- package/.output/public/_nuxt/n_Njdwii2.js +1 -0
- package/.output/public/_nuxt/operations.-l6u44Ar.css +1 -0
- package/.output/public/_nuxt/pages.Cdpm_B-G.css +1 -0
- package/.output/public/_nuxt/plugins.D3bf5Gg3.css +1 -0
- package/.output/public/_nuxt/qRXa-PM22.js +1 -0
- package/.output/public/_nuxt/qoUdVDnC.js +19 -0
- package/.output/public/_nuxt/r1CpGsFp.js +1 -0
- package/.output/public/_nuxt/rJ7To74v2.js +1 -0
- package/.output/public/_nuxt/rdUE8Khf.js +14 -0
- package/.output/public/_nuxt/rxhDcyfF.js +1 -0
- package/.output/public/_nuxt/sBDZymdy2.js +1 -0
- package/.output/public/_nuxt/settings.CXju_jh-.css +1 -0
- package/.output/public/_nuxt/studio.DiCFYeMk.css +1 -0
- package/.output/public/_nuxt/teams.CLQaXno5.css +1 -0
- package/.output/public/_nuxt/tokens.BDSUWF-L.css +1 -0
- package/.output/public/_nuxt/tools.BwXFAb-X.css +1 -0
- package/.output/public/_nuxt/uu1wfdfR2.js +1 -0
- package/.output/public/_nuxt/vPcnBJsa2.js +1 -0
- package/.output/public/_nuxt/w5BEz70W.js +1 -0
- package/.output/public/_nuxt/wR_w07322.js +1 -0
- package/.output/public/_nuxt/workshop.BBiFhXuM.css +1 -0
- package/.output/public/_nuxt/yLyz0-Yz.js +1 -0
- package/.output/public/_nuxt/zzV9kr9T.js +21 -0
- package/.output/server/chunks/_/LeftOutlined.mjs +1 -1
- package/.output/server/chunks/_/RightOutlined.mjs +23 -0
- package/.output/server/chunks/_/RightOutlined.mjs.map +1 -0
- package/.output/server/chunks/_/SearchOutlined.mjs +1401 -0
- package/.output/server/chunks/_/SearchOutlined.mjs.map +1 -0
- package/.output/server/chunks/_/catalog-view.mjs +176 -0
- package/.output/server/chunks/_/catalog-view.mjs.map +1 -0
- package/.output/server/chunks/_/chart-repo.mjs +147 -0
- package/.output/server/chunks/_/chart-repo.mjs.map +1 -0
- package/.output/server/chunks/_/dashboard-repo.mjs +127 -0
- package/.output/server/chunks/_/dashboard-repo.mjs.map +1 -0
- package/.output/server/chunks/_/data-export.mjs +228 -0
- package/.output/server/chunks/_/data-export.mjs.map +1 -0
- package/.output/server/chunks/_/data-query.mjs +162 -0
- package/.output/server/chunks/_/data-query.mjs.map +1 -0
- package/.output/server/chunks/_/eda-db.mjs +199 -0
- package/.output/server/chunks/_/eda-db.mjs.map +1 -0
- package/.output/server/chunks/_/eda-run.repo.mjs +159 -0
- package/.output/server/chunks/_/eda-run.repo.mjs.map +1 -0
- package/.output/server/chunks/_/features.mjs +281 -0
- package/.output/server/chunks/_/features.mjs.map +1 -0
- package/.output/server/chunks/_/golden.mjs +197 -0
- package/.output/server/chunks/_/golden.mjs.map +1 -0
- package/.output/server/chunks/_/host-bindings.mjs +1 -1
- package/.output/server/chunks/_/mes-console.mjs +188 -0
- package/.output/server/chunks/_/mes-console.mjs.map +1 -0
- package/.output/server/chunks/_/nitro.mjs +5487 -2810
- package/.output/server/chunks/_/nitro.mjs.map +1 -1
- package/.output/server/chunks/_/ocap.mjs +145 -0
- package/.output/server/chunks/_/ocap.mjs.map +1 -0
- package/.output/server/chunks/_/spc.mjs +299 -0
- package/.output/server/chunks/_/spc.mjs.map +1 -0
- package/.output/server/chunks/build/AuthGate-nF1evO4v.mjs +716 -0
- package/.output/server/chunks/build/AuthGate-nF1evO4v.mjs.map +1 -0
- package/.output/server/chunks/build/FormItemContext-BlyzocS0.mjs +72 -0
- package/.output/server/chunks/build/FormItemContext-BlyzocS0.mjs.map +1 -0
- package/.output/server/chunks/build/OmpTerminalPanel-BhvhQ1gG.mjs +942 -0
- package/.output/server/chunks/build/OmpTerminalPanel-BhvhQ1gG.mjs.map +1 -0
- package/.output/server/chunks/build/PluginSlot-BUKXwV2X.mjs +141 -0
- package/.output/server/chunks/build/PluginSlot-BUKXwV2X.mjs.map +1 -0
- package/.output/server/chunks/build/TownView-BWMDbosY.mjs +6489 -0
- package/.output/server/chunks/build/TownView-BWMDbosY.mjs.map +1 -0
- package/.output/server/chunks/build/_id_-BK-t8nRG.mjs +391 -0
- package/.output/server/chunks/build/_id_-BK-t8nRG.mjs.map +1 -0
- package/.output/server/chunks/build/_id_-CZPlPDm4.mjs +2044 -0
- package/.output/server/chunks/build/_id_-CZPlPDm4.mjs.map +1 -0
- package/.output/server/chunks/build/_wsId_-BXSYXXXX.mjs +14276 -0
- package/.output/server/chunks/build/_wsId_-BXSYXXXX.mjs.map +1 -0
- package/.output/server/chunks/build/agents-8tV9xL97.mjs +1077 -0
- package/.output/server/chunks/build/agents-8tV9xL97.mjs.map +1 -0
- package/.output/server/chunks/build/alert-D0ivtTGy.mjs +263 -0
- package/.output/server/chunks/build/alert-D0ivtTGy.mjs.map +1 -0
- package/.output/server/chunks/build/aml-BNTEDOsl.mjs +810 -0
- package/.output/server/chunks/build/aml-BNTEDOsl.mjs.map +1 -0
- package/.output/server/chunks/build/analysis-p-dBkjoK.mjs +532 -0
- package/.output/server/chunks/build/analysis-p-dBkjoK.mjs.map +1 -0
- package/.output/server/chunks/build/board-C6JysYLg.mjs +190 -0
- package/.output/server/chunks/build/board-C6JysYLg.mjs.map +1 -0
- package/.output/server/chunks/build/card-Cqk0Ur-L.mjs +953 -0
- package/.output/server/chunks/build/card-Cqk0Ur-L.mjs.map +1 -0
- package/.output/server/chunks/build/channel-templates-Iot9Y3vV.mjs +941 -0
- package/.output/server/chunks/build/channel-templates-Iot9Y3vV.mjs.map +1 -0
- package/.output/server/chunks/build/checkbox-CrT4cnfu.mjs +439 -0
- package/.output/server/chunks/build/checkbox-CrT4cnfu.mjs.map +1 -0
- package/.output/server/chunks/build/client-only-qNA2OVV_.mjs +43 -0
- package/.output/server/chunks/build/client-only-qNA2OVV_.mjs.map +1 -0
- package/.output/server/chunks/build/daq-CdxcfY_G.mjs +1265 -0
- package/.output/server/chunks/build/daq-CdxcfY_G.mjs.map +1 -0
- package/.output/server/chunks/build/data-DL68QJ5W.mjs +477 -0
- package/.output/server/chunks/build/data-DL68QJ5W.mjs.map +1 -0
- package/.output/server/chunks/build/dcw-BlDQtS4q.mjs +504 -0
- package/.output/server/chunks/build/dcw-BlDQtS4q.mjs.map +1 -0
- package/.output/server/chunks/build/default-Dt1B8QzV.mjs +2340 -0
- package/.output/server/chunks/build/default-Dt1B8QzV.mjs.map +1 -0
- package/.output/server/chunks/build/descriptions-BNlfKG9y.mjs +406 -0
- package/.output/server/chunks/build/descriptions-BNlfKG9y.mjs.map +1 -0
- package/.output/server/chunks/build/drawer-Caji0PLs.mjs +834 -0
- package/.output/server/chunks/build/drawer-Caji0PLs.mjs.map +1 -0
- package/.output/server/chunks/build/dropdown-C6YH_kSO.mjs +540 -0
- package/.output/server/chunks/build/dropdown-C6YH_kSO.mjs.map +1 -0
- package/.output/server/chunks/build/dropdown-CjwsxU39.mjs +14 -0
- package/.output/server/chunks/build/dropdown-CjwsxU39.mjs.map +1 -0
- package/.output/server/chunks/build/es-Bxu10NJ2.mjs +42 -0
- package/.output/server/chunks/build/es-Bxu10NJ2.mjs.map +1 -0
- package/.output/server/chunks/build/firstNotUndefined-8H5_qHUu.mjs +2448 -0
- package/.output/server/chunks/build/firstNotUndefined-8H5_qHUu.mjs.map +1 -0
- package/.output/server/chunks/build/form-D_UpWPN4.mjs +4712 -0
- package/.output/server/chunks/build/form-D_UpWPN4.mjs.map +1 -0
- package/.output/server/chunks/build/hasIn-DBdElbjM.mjs +553 -0
- package/.output/server/chunks/build/hasIn-DBdElbjM.mjs.map +1 -0
- package/.output/server/chunks/build/hitl-Bd30yr1J.mjs +132 -0
- package/.output/server/chunks/build/hitl-Bd30yr1J.mjs.map +1 -0
- package/.output/server/chunks/build/input-GtPuSEgt.mjs +2181 -0
- package/.output/server/chunks/build/input-GtPuSEgt.mjs.map +1 -0
- package/.output/server/chunks/build/input-number-BNlNDK7H.mjs +1120 -0
- package/.output/server/chunks/build/input-number-BNlNDK7H.mjs.map +1 -0
- package/.output/server/chunks/build/logs-BTfJQ6vQ.mjs +426 -0
- package/.output/server/chunks/build/logs-BTfJQ6vQ.mjs.map +1 -0
- package/.output/server/chunks/build/menu-BXt-X0dt.mjs +1952 -0
- package/.output/server/chunks/build/menu-BXt-X0dt.mjs.map +1 -0
- package/.output/server/chunks/build/monitor-DvaR3yo8.mjs +2252 -0
- package/.output/server/chunks/build/monitor-DvaR3yo8.mjs.map +1 -0
- package/.output/server/chunks/build/operations-Cl8nVm9D.mjs +310 -0
- package/.output/server/chunks/build/operations-Cl8nVm9D.mjs.map +1 -0
- package/.output/server/chunks/build/pages-AFRP4-EL.mjs +541 -0
- package/.output/server/chunks/build/pages-AFRP4-EL.mjs.map +1 -0
- package/.output/server/chunks/build/pagination-KaIvHBzi.mjs +1346 -0
- package/.output/server/chunks/build/pagination-KaIvHBzi.mjs.map +1 -0
- package/.output/server/chunks/build/permissions-CVTfixZj.mjs +636 -0
- package/.output/server/chunks/build/permissions-CVTfixZj.mjs.map +1 -0
- package/.output/server/chunks/build/plugins-LRjaSEZy.mjs +271 -0
- package/.output/server/chunks/build/plugins-LRjaSEZy.mjs.map +1 -0
- package/.output/server/chunks/build/popconfirm-DxYPGRgS.mjs +340 -0
- package/.output/server/chunks/build/popconfirm-DxYPGRgS.mjs.map +1 -0
- package/.output/server/chunks/build/responsiveObserve-DM3hpzhU.mjs +78 -0
- package/.output/server/chunks/build/responsiveObserve-DM3hpzhU.mjs.map +1 -0
- package/.output/server/chunks/build/schedules-BLhn2CLn.mjs +7171 -0
- package/.output/server/chunks/build/schedules-BLhn2CLn.mjs.map +1 -0
- package/.output/server/chunks/build/segmented-D3HWtHPw.mjs +341 -0
- package/.output/server/chunks/build/segmented-D3HWtHPw.mjs.map +1 -0
- package/.output/server/chunks/build/select--XFl7CtY.mjs +3923 -0
- package/.output/server/chunks/build/select--XFl7CtY.mjs.map +1 -0
- package/.output/server/chunks/build/settings-DIf_iYdu.mjs +1013 -0
- package/.output/server/chunks/build/settings-DIf_iYdu.mjs.map +1 -0
- package/.output/server/chunks/build/space-Dwu2Skt8.mjs +110 -0
- package/.output/server/chunks/build/space-Dwu2Skt8.mjs.map +1 -0
- package/.output/server/chunks/build/spin-C2cuvGth.mjs +1 -1
- package/.output/server/chunks/build/studio-DjhjwH4s.mjs +383 -0
- package/.output/server/chunks/build/studio-DjhjwH4s.mjs.map +1 -0
- package/.output/server/chunks/build/switch-CyR-H6Fb.mjs +377 -0
- package/.output/server/chunks/build/switch-CyR-H6Fb.mjs.map +1 -0
- package/.output/server/chunks/build/table-DIu_YCJN.mjs +7546 -0
- package/.output/server/chunks/build/table-DIu_YCJN.mjs.map +1 -0
- package/.output/server/chunks/build/tabs-Vg0e7cZE.mjs +1924 -0
- package/.output/server/chunks/build/tabs-Vg0e7cZE.mjs.map +1 -0
- package/.output/server/chunks/build/tag-y0sn-xv9.mjs +1156 -0
- package/.output/server/chunks/build/tag-y0sn-xv9.mjs.map +1 -0
- package/.output/server/chunks/build/teams-B2J6ouRY.mjs +1202 -0
- package/.output/server/chunks/build/teams-B2J6ouRY.mjs.map +1 -0
- package/.output/server/chunks/build/tokens-DFQGaN2n.mjs +1061 -0
- package/.output/server/chunks/build/tokens-DFQGaN2n.mjs.map +1 -0
- package/.output/server/chunks/build/tools-DWJFnU_t.mjs +486 -0
- package/.output/server/chunks/build/tools-DWJFnU_t.mjs.map +1 -0
- package/.output/server/chunks/build/tooltip-C2n2nNiQ.mjs +920 -0
- package/.output/server/chunks/build/tooltip-C2n2nNiQ.mjs.map +1 -0
- package/.output/server/chunks/build/town-B5aoiG98.mjs +132 -0
- package/.output/server/chunks/build/town-B5aoiG98.mjs.map +1 -0
- package/.output/server/chunks/build/town-BV-hbwb5.mjs +1 -1
- package/.output/server/chunks/build/types-D6J7slEa.mjs +1 -1
- package/.output/server/chunks/build/useAgentHarnessOptions-DOrQHeBh.mjs +123 -0
- package/.output/server/chunks/build/useAgentHarnessOptions-DOrQHeBh.mjs.map +1 -0
- package/.output/server/chunks/build/useAgentTemplateActions-CzlplRWh.mjs +76 -0
- package/.output/server/chunks/build/useAgentTemplateActions-CzlplRWh.mjs.map +1 -0
- package/.output/server/chunks/build/useAgentTemplateForm-DQo1enf2.mjs +116 -0
- package/.output/server/chunks/build/useAgentTemplateForm-DQo1enf2.mjs.map +1 -0
- package/.output/server/chunks/build/useAgentTemplatesCatalog-DP-iMmqz.mjs +132 -0
- package/.output/server/chunks/build/useAgentTemplatesCatalog-DP-iMmqz.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlEntities-BJhvdqHJ.mjs +85 -0
- package/.output/server/chunks/build/useAmlEntities-BJhvdqHJ.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlEnv-CDIZ6xTe.mjs +193 -0
- package/.output/server/chunks/build/useAmlEnv-CDIZ6xTe.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlJobs-BF9LpwXz.mjs +266 -0
- package/.output/server/chunks/build/useAmlJobs-BF9LpwXz.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlModels-_bweOr3R.mjs +92 -0
- package/.output/server/chunks/build/useAmlModels-_bweOr3R.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlNotes-DQj980iX.mjs +85 -0
- package/.output/server/chunks/build/useAmlNotes-DQj980iX.mjs.map +1 -0
- package/.output/server/chunks/build/useAmlPredict-DHNgDSJn.mjs +129 -0
- package/.output/server/chunks/build/useAmlPredict-DHNgDSJn.mjs.map +1 -0
- package/.output/server/chunks/build/useAnalysisFeed-BrEGV_9x.mjs +128 -0
- package/.output/server/chunks/build/useAnalysisFeed-BrEGV_9x.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqAddNode-D_Rkju0f.mjs +141 -0
- package/.output/server/chunks/build/useDaqAddNode-D_Rkju0f.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailBinding-DCWaLKXT.mjs +69 -0
- package/.output/server/chunks/build/useDaqDetailBinding-DCWaLKXT.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailFrames-BOIcOJRB.mjs +78 -0
- package/.output/server/chunks/build/useDaqDetailFrames-BOIcOJRB.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailHistory-D6WulPVs.mjs +175 -0
- package/.output/server/chunks/build/useDaqDetailHistory-D6WulPVs.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailNode-DeOsDxK5.mjs +98 -0
- package/.output/server/chunks/build/useDaqDetailNode-DeOsDxK5.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqDetailParams-Cm9a9r5G.mjs +158 -0
- package/.output/server/chunks/build/useDaqDetailParams-Cm9a9r5G.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqFilters-CctmO03p.mjs +221 -0
- package/.output/server/chunks/build/useDaqFilters-CctmO03p.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqOptimizations-CmX_dpBc.mjs +135 -0
- package/.output/server/chunks/build/useDaqOptimizations-CmX_dpBc.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqStream-B9ZBVQrI.mjs +395 -0
- package/.output/server/chunks/build/useDaqStream-B9ZBVQrI.mjs.map +1 -0
- package/.output/server/chunks/build/useDaqTemplates-CK37sMfi.mjs +186 -0
- package/.output/server/chunks/build/useDaqTemplates-CK37sMfi.mjs.map +1 -0
- package/.output/server/chunks/build/useDashboardData-B36wVWo2.mjs +152 -0
- package/.output/server/chunks/build/useDashboardData-B36wVWo2.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwAddNode-DACVcEHs.mjs +218 -0
- package/.output/server/chunks/build/useDcwAddNode-DACVcEHs.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwCards-SaiImIYQ.mjs +66 -0
- package/.output/server/chunks/build/useDcwCards-SaiImIYQ.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwDetailScope-DLOklSMO.mjs +183 -0
- package/.output/server/chunks/build/useDcwDetailScope-DLOklSMO.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwDetailTemplates-ClmIdZ40.mjs +147 -0
- package/.output/server/chunks/build/useDcwDetailTemplates-ClmIdZ40.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwFilter-CPMyCltx.mjs +70 -0
- package/.output/server/chunks/build/useDcwFilter-CPMyCltx.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwLedger-0ie-0WTc.mjs +78 -0
- package/.output/server/chunks/build/useDcwLedger-0ie-0WTc.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwLineMutations-DNxo66yM.mjs +136 -0
- package/.output/server/chunks/build/useDcwLineMutations-DNxo66yM.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwLineRun-CHskwscT.mjs +103 -0
- package/.output/server/chunks/build/useDcwLineRun-CHskwscT.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwParamApprovals-DtScUc-W.mjs +120 -0
- package/.output/server/chunks/build/useDcwParamApprovals-DtScUc-W.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwProducts-BMaxzLu6.mjs +92 -0
- package/.output/server/chunks/build/useDcwProducts-BMaxzLu6.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwQuery-TVU3Eo0M.mjs +97 -0
- package/.output/server/chunks/build/useDcwQuery-TVU3Eo0M.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwQuickActions-BREFmR9T.mjs +87 -0
- package/.output/server/chunks/build/useDcwQuickActions-BREFmR9T.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwRecipes-Bc9urA1N.mjs +257 -0
- package/.output/server/chunks/build/useDcwRecipes-Bc9urA1N.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwStream-Dir5ufAU.mjs +452 -0
- package/.output/server/chunks/build/useDcwStream-Dir5ufAU.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwTemplates-BzagZztS.mjs +90 -0
- package/.output/server/chunks/build/useDcwTemplates-BzagZztS.mjs.map +1 -0
- package/.output/server/chunks/build/useDcwWrites-BROwTLCn.mjs +139 -0
- package/.output/server/chunks/build/useDcwWrites-BROwTLCn.mjs.map +1 -0
- package/.output/server/chunks/build/useExpConfirmations-BM626N4p.mjs +106 -0
- package/.output/server/chunks/build/useExpConfirmations-BM626N4p.mjs.map +1 -0
- package/.output/server/chunks/build/useLocalTime-uVSM44Um.mjs +55 -0
- package/.output/server/chunks/build/useLocalTime-uVSM44Um.mjs.map +1 -0
- package/.output/server/chunks/build/useLogsManual-cVBZQ_Mt.mjs +87 -0
- package/.output/server/chunks/build/useLogsManual-cVBZQ_Mt.mjs.map +1 -0
- package/.output/server/chunks/build/useLogsQuery-D7hrJ3yn.mjs +149 -0
- package/.output/server/chunks/build/useLogsQuery-D7hrJ3yn.mjs.map +1 -0
- package/.output/server/chunks/build/useLogsScope-aaPQeTRm.mjs +82 -0
- package/.output/server/chunks/build/useLogsScope-aaPQeTRm.mjs.map +1 -0
- package/.output/server/chunks/build/useMonitorColumns-vVnt3r5Q.mjs +216 -0
- package/.output/server/chunks/build/useMonitorColumns-vVnt3r5Q.mjs.map +1 -0
- package/.output/server/chunks/build/useMonitorData-DIkiLr_h.mjs +134 -0
- package/.output/server/chunks/build/useMonitorData-DIkiLr_h.mjs.map +1 -0
- package/.output/server/chunks/build/useMonitorFormat-CyURtH8N.mjs +90 -0
- package/.output/server/chunks/build/useMonitorFormat-CyURtH8N.mjs.map +1 -0
- package/.output/server/chunks/build/useOperationsFeed-Ci4mZAn_.mjs +194 -0
- package/.output/server/chunks/build/useOperationsFeed-Ci4mZAn_.mjs.map +1 -0
- package/.output/server/chunks/build/useOpsLog-C-M6Eace.mjs +149 -0
- package/.output/server/chunks/build/useOpsLog-C-M6Eace.mjs.map +1 -0
- package/.output/server/chunks/build/useRecipeDispatchApprovals-BYtiqfeb.mjs +155 -0
- package/.output/server/chunks/build/useRecipeDispatchApprovals-BYtiqfeb.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamActions-I_8QWp9w.mjs +78 -0
- package/.output/server/chunks/build/useTeamActions-I_8QWp9w.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamAddMemberDialog-BLn4nTuy.mjs +83 -0
- package/.output/server/chunks/build/useTeamAddMemberDialog-BLn4nTuy.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamCreateDialog-Bp5qKtpI.mjs +96 -0
- package/.output/server/chunks/build/useTeamCreateDialog-Bp5qKtpI.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamDeployDialog-DwIaz6Cx.mjs +79 -0
- package/.output/server/chunks/build/useTeamDeployDialog-DwIaz6Cx.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamPluginDialog-B932gZOI.mjs +102 -0
- package/.output/server/chunks/build/useTeamPluginDialog-B932gZOI.mjs.map +1 -0
- package/.output/server/chunks/build/useTeamsCatalog-DBwaLQBw.mjs +122 -0
- package/.output/server/chunks/build/useTeamsCatalog-DBwaLQBw.mjs.map +1 -0
- package/.output/server/chunks/build/useTokenCreate-Ctl0YGhL.mjs +114 -0
- package/.output/server/chunks/build/useTokenCreate-Ctl0YGhL.mjs.map +1 -0
- package/.output/server/chunks/build/useTokenRename-Cm3ypSfN.mjs +86 -0
- package/.output/server/chunks/build/useTokenRename-Cm3ypSfN.mjs.map +1 -0
- package/.output/server/chunks/build/useTokenReveal-CeoWL5Mt.mjs +117 -0
- package/.output/server/chunks/build/useTokenReveal-CeoWL5Mt.mjs.map +1 -0
- package/.output/server/chunks/build/useTokensList-CNIzON3u.mjs +91 -0
- package/.output/server/chunks/build/useTokensList-CNIzON3u.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkbenchAuth-CY-bVFMu.mjs +140 -0
- package/.output/server/chunks/build/useWorkbenchAuth-CY-bVFMu.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkbenchWorkspaces-DhZQFss9.mjs +137 -0
- package/.output/server/chunks/build/useWorkbenchWorkspaces-DhZQFss9.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkshopApi-CaSItJVq.mjs +119 -0
- package/.output/server/chunks/build/useWorkshopApi-CaSItJVq.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkshopWs-YQ5URrbt.mjs +1659 -0
- package/.output/server/chunks/build/useWorkshopWs-YQ5URrbt.mjs.map +1 -0
- package/.output/server/chunks/build/useWorkspaceChannels-CPFepxTN.mjs +91 -0
- package/.output/server/chunks/build/useWorkspaceChannels-CPFepxTN.mjs.map +1 -0
- package/.output/server/chunks/build/users-BWw0VCr9.mjs +568 -0
- package/.output/server/chunks/build/users-BWw0VCr9.mjs.map +1 -0
- package/.output/server/chunks/build/workshop-1gKeDASV.mjs +545 -0
- package/.output/server/chunks/build/workshop-1gKeDASV.mjs.map +1 -0
- package/.output/server/chunks/routes/api/mcp/workshop.mjs +1 -1
- package/.output/server/chunks/routes/api/system/backup/run.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.put.mjs +109 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.put.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/index7.get.mjs +35 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/index7.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/tools/reset.post.mjs +52 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/tools/reset.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels.post.mjs +6 -6
- package/.output/server/chunks/routes/api/workshop/daq/_id/ingest.post.mjs +139 -0
- package/.output/server/chunks/routes/api/workshop/daq/_id/ingest.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/export/_id_.get.mjs +36 -0
- package/.output/server/chunks/routes/api/workshop/daq/export/_id_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/daq/export-file.get.mjs +44 -0
- package/.output/server/chunks/routes/api/workshop/daq/export-file.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/daq/index.get.mjs +35 -0
- package/.output/server/chunks/routes/api/workshop/daq/index.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs +29 -6
- package/.output/server/chunks/routes/api/workshop/daq/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/index2.post.mjs +34 -0
- package/.output/server/chunks/routes/api/workshop/daq/index2.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/query.get.mjs +54 -0
- package/.output/server/chunks/routes/api/workshop/daq/query.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +15 -3
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +15 -2
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +17 -2
- package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +17 -3
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/mes-artifacts/file.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/mes-hook-test.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/mes-test-read.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +4 -3
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +16 -3
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +16 -3
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +17 -3
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.delete.mjs +42 -0
- package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.get.mjs +36 -0
- package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.patch.mjs +52 -0
- package/.output/server/chunks/routes/api/workshop/eda/charts/_id_.patch.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/commonality.get.mjs +122 -0
- package/.output/server/chunks/routes/api/workshop/eda/commonality.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.delete.mjs +42 -0
- package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.get.mjs +37 -0
- package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.patch.mjs +48 -0
- package/.output/server/chunks/routes/api/workshop/eda/dashboards/_id_.patch.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/features/jobs.get.mjs +34 -0
- package/.output/server/chunks/routes/api/workshop/eda/features/jobs.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/features/run.post.mjs +45 -0
- package/.output/server/chunks/routes/api/workshop/eda/features/run.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/golden/_id_.delete.mjs +42 -0
- package/.output/server/chunks/routes/api/workshop/eda/golden/_id_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/golden/deviation.get.mjs +41 -0
- package/.output/server/chunks/routes/api/workshop/eda/golden/deviation.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/golden/single.get.mjs +37 -0
- package/.output/server/chunks/routes/api/workshop/eda/golden/single.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index.get.mjs +39 -0
- package/.output/server/chunks/routes/api/workshop/eda/index.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index.post.mjs +51 -0
- package/.output/server/chunks/routes/api/workshop/eda/index.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index2.get.mjs +49 -0
- package/.output/server/chunks/routes/api/workshop/eda/index2.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index2.post.mjs +45 -0
- package/.output/server/chunks/routes/api/workshop/eda/index2.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index3.get.mjs +47 -0
- package/.output/server/chunks/routes/api/workshop/eda/index3.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index3.post.mjs +138 -0
- package/.output/server/chunks/routes/api/workshop/eda/index3.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index4.get.mjs +47 -0
- package/.output/server/chunks/routes/api/workshop/eda/index4.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index4.post.mjs +48 -0
- package/.output/server/chunks/routes/api/workshop/eda/index4.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index5.get.mjs +34 -0
- package/.output/server/chunks/routes/api/workshop/eda/index5.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index5.post.mjs +47 -0
- package/.output/server/chunks/routes/api/workshop/eda/index5.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index6.get.mjs +53 -0
- package/.output/server/chunks/routes/api/workshop/eda/index6.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index6.post.mjs +46 -0
- package/.output/server/chunks/routes/api/workshop/eda/index6.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index7.get.mjs +34 -0
- package/.output/server/chunks/routes/api/workshop/eda/index7.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/index7.post.mjs +47 -0
- package/.output/server/chunks/routes/api/workshop/eda/index7.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/ocap/_id_.get.mjs +58 -0
- package/.output/server/chunks/routes/api/workshop/eda/ocap/_id_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/ocap/_id_.patch.mjs +53 -0
- package/.output/server/chunks/routes/api/workshop/eda/ocap/_id_.patch.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/runs/_id/labels.patch.mjs +42 -0
- package/.output/server/chunks/routes/api/workshop/eda/runs/_id/labels.patch.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/runs.get.mjs +49 -0
- package/.output/server/chunks/routes/api/workshop/eda/runs.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/spc/_id/recompute.post.mjs +35 -0
- package/.output/server/chunks/routes/api/workshop/eda/spc/_id/recompute.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/spc/_id_.delete.mjs +36 -0
- package/.output/server/chunks/routes/api/workshop/eda/spc/_id_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/spc/_id_.get.mjs +45 -0
- package/.output/server/chunks/routes/api/workshop/eda/spc/_id_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/eda/vm/predict.post.mjs +103 -0
- package/.output/server/chunks/routes/api/workshop/eda/vm/predict.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/exp/confirmations/_id/decide.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/exp/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index10.get.mjs +31 -14
- package/.output/server/chunks/routes/api/workshop/index10.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index12.get.mjs +20 -2
- package/.output/server/chunks/routes/api/workshop/index12.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index15.get.mjs +5 -4
- package/.output/server/chunks/routes/api/workshop/index15.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index16.get.mjs +30 -0
- package/.output/server/chunks/routes/api/workshop/index16.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/index4.post.mjs +14 -3
- package/.output/server/chunks/routes/api/workshop/index4.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index5.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index6.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index6.post.mjs +26 -5
- package/.output/server/chunks/routes/api/workshop/index6.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/index7.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index8.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/mes/datasets.get.mjs +72 -0
- package/.output/server/chunks/routes/api/workshop/mes/datasets.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/mes/points.get.mjs +32 -0
- package/.output/server/chunks/routes/api/workshop/mes/points.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/mes/preview.post.mjs +42 -0
- package/.output/server/chunks/routes/api/workshop/mes/preview.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tools/_name_.get.mjs +35 -0
- package/.output/server/chunks/routes/api/workshop/tools/_name_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/tools/sync.post.mjs +30 -0
- package/.output/server/chunks/routes/api/workshop/tools/sync.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +1 -1
- package/.output/server/chunks/routes/renderer.mjs +3 -3
- package/.output/server/chunks/virtual/entry.mjs +1543 -1051
- package/.output/server/chunks/virtual/entry.mjs.map +1 -1
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/README-zh.md +948 -948
- package/README.md +973 -972
- package/app/assets/css/main.css +346 -197
- package/app/components/AppHeader.vue +294 -284
- package/app/components/AppSidebar.vue +15 -18
- package/app/components/AwChart.vue +8 -1
- package/app/components/analysis/AnalysisEditModal.vue +8 -0
- package/app/components/analysis/AnalysisPageHead.vue +18 -3
- package/app/components/analysis/AnalysisTable.vue +59 -12
- package/app/components/app-header/HeaderTools.vue +224 -208
- package/app/components/app-header/TrailNav.vue +262 -261
- package/app/components/app-header/UserChip.vue +13 -9
- package/app/components/daq/DaqDetailHistoryCard.vue +13 -5
- package/app/components/daq/DaqDetailLiveCard.vue +100 -92
- package/app/components/daq/DaqDetailParamForm.vue +355 -350
- package/app/components/dashboard/DashboardFleetPanel.vue +228 -228
- package/app/components/dashboard/DashboardHarnessPanel.vue +149 -149
- package/app/components/data/DataLedgerPanel.vue +253 -0
- package/app/components/data/DataMesPanel.vue +279 -0
- package/app/components/data/DataMirrorPanel.vue +602 -0
- package/app/components/dcw/DcwAdoptCard.vue +90 -89
- package/app/components/dcw/DcwDetailHead.vue +65 -65
- package/app/components/dcw/DcwGatewayBar.vue +102 -94
- package/app/components/dcw/DcwLineCard.vue +1 -0
- package/app/components/dcw/DcwLineRunCard.vue +160 -158
- package/app/components/dcw/DcwRecipeDispatchHistoryModal.vue +244 -0
- package/app/components/dcw/DcwRecipePanel.vue +7 -0
- package/app/components/logs/LogsEventTable.vue +77 -26
- package/app/components/logs/LogsFilterCard.vue +22 -0
- package/app/components/logs/LogsManualModal.vue +231 -231
- package/app/components/monitor/MonitorStatGrid.vue +160 -165
- package/app/components/operations/OperationsTimeline.vue +252 -215
- package/app/components/settings/AppearancePane.vue +282 -282
- package/app/components/settings/PluginsSection.vue +282 -280
- package/app/components/settings/RuntimeFieldRow.vue +5 -3
- package/app/components/settings/RuntimeGroupSection.vue +290 -290
- package/app/components/settings/RuntimePane.vue +239 -235
- package/app/components/settings/SystemPane.vue +85 -83
- package/app/components/tokens/TokensAuthGate.vue +47 -47
- package/app/components/tokens/TokensTable.vue +264 -227
- package/app/components/workshop/ChannelSessionList.vue +378 -377
- package/app/components/workshop/DaqNodeRow.vue +10 -7
- package/app/components/workshop/NotificationCenter.vue +334 -334
- package/app/components/workshop/agents/AgentTemplateTable.vue +285 -269
- package/app/components/workshop/agents/AgentTemplateToolbar.vue +69 -67
- package/app/components/workshop/blocks/ClusterStream.vue +2 -2
- package/app/components/workshop/console/LineOperationsPanel.vue +9 -9
- package/app/components/workshop/console/RightPane.vue +5 -2
- package/app/components/workshop/console/Topbar.vue +304 -289
- package/app/components/workshop/session-list/ChannelSettingsModal.vue +376 -371
- package/app/components/workshop/session-list/ChannelToolSettings.vue +507 -0
- package/app/components/workshop/teams/TeamCard.vue +183 -183
- package/app/components/workshop/town/components/TownControlDock.vue +5 -0
- package/app/components/workshop/transcript/TranscriptEmptyState.vue +153 -153
- package/app/components/workshop/workbench/AuthGate.vue +3 -2
- package/app/components/workshop/workbench/WorkbenchHead.vue +140 -129
- package/app/components/workshop/workbench/WorkspaceCard.vue +199 -198
- package/app/composables/useRouteMeta.ts +13 -1
- package/app/composables/workshop/useLocalTime.ts +5 -2
- package/app/composables/workshop/useOpsLog.ts +13 -2
- package/app/composables/workshop/useWorkshopApi.ts +66 -0
- package/app/layouts/default.vue +31 -6
- package/app/pages/aml/styles.css +8 -7
- package/app/pages/daq/[id].vue +140 -136
- package/app/pages/daq/daq-page.css +688 -681
- package/app/pages/data/index.vue +66 -0
- package/app/pages/dcw/[id].vue +398 -380
- package/app/pages/dcw/dcw-page.css +22 -21
- package/app/pages/logs/composables/useLogsManual.ts +68 -63
- package/app/pages/logs/composables/useLogsQuery.ts +28 -3
- package/app/pages/logs/index.vue +2 -0
- package/app/pages/monitor/composables/useMonitorColumns.ts +69 -69
- package/app/pages/operations/composables/useOperationsFeed.ts +139 -137
- package/app/pages/plugins/index.vue +347 -318
- package/app/pages/settings.vue +170 -168
- package/app/pages/studio/board.vue +383 -0
- package/app/pages/studio/index.vue +855 -0
- package/app/pages/tools/index.vue +401 -0
- package/app/pages/workshop/channel-templates.vue +558 -556
- package/app/pages/workshop/index.vue +55 -0
- package/app/pages/workshop/teams.vue +237 -233
- package/app/stores/route-trail.ts +4 -2
- package/cli/commands/plugin.mjs +322 -246
- package/config.yml +180 -180
- package/docs/aml.md +1 -1
- package/docs/cli.en.md +447 -447
- package/docs/cli.md +412 -412
- package/docs/full-test-plan.md +1 -1
- package/docs/mcp.md +122 -108
- package/docs/plugins.en.md +22 -2
- package/docs/plugins.md +22 -2
- package/docs/sdk.en.md +1 -1
- package/docs/sdk.md +1 -1
- package/i18n/dicts/channelTools.json +39 -0
- package/i18n/dicts/toolsPage.json +34 -0
- package/i18n/locales/en.ts +252 -14
- package/i18n/locales/zh-CN.ts +251 -14
- package/package.json +185 -181
- package/scripts/agent-daq-isolation-e2e.mjs +91 -0
- package/scripts/api-contract-smoke.mjs +126 -0
- package/scripts/ask-hitl-e2e.mjs +96 -0
- package/scripts/channel-interaction-smoke.mjs +80 -0
- package/scripts/data-studio-e2e.mjs +332 -0
- package/scripts/data-studio-ui-e2e.mjs +163 -0
- package/scripts/dev-mes-simulator.mjs +106 -17
- package/scripts/e2e-hitl-live.mjs +41 -5
- package/scripts/e2e-injection-recipe-closedloop.mjs +203 -0
- package/scripts/e2e-line-governance.mjs +352 -0
- package/scripts/eda-demo-report-patch.mjs +47 -0
- package/scripts/eda-live-demo.mjs +398 -0
- package/scripts/full-stack-shots.mjs +145 -0
- package/scripts/full-tool-injection-harness-e2e.mjs +214 -0
- package/scripts/harness-matrix-e2e.mjs +159 -0
- package/scripts/harness-team-line-e2e.mjs +224 -0
- package/scripts/hitl-reject-e2e.mjs +131 -0
- package/scripts/hitl-ui-two-harness-demo.mjs +243 -0
- package/scripts/line-log-smoke.mjs +260 -0
- package/scripts/live-aml-optloop.mjs +161 -118
- package/scripts/mes-agent-integration-e2e.mjs +361 -0
- package/scripts/onboarding/forge-channel.mjs +9 -3
- package/scripts/onboarding/onboard.mjs +104 -10
- package/scripts/onboarding/provision-line.mjs +38 -15
- package/scripts/onboarding/sim-twin.mjs +50 -13
- package/scripts/onboarding/test-connection.mjs +8 -2
- package/scripts/onboarding/verify-line.mjs +72 -9
- package/scripts/ops-plugins-e2e.mjs +85 -0
- package/scripts/real-injection-closed-loop.mjs +8 -0
- package/scripts/scenario-suite-setup.mjs +337 -0
- package/scripts/scenario-suite-stability.mjs +144 -0
- package/scripts/team-coordination-e2e.mjs +96 -0
- package/scripts/tool-face-batch-identity-e2e.mjs +222 -0
- package/scripts/tool-registry-e2e.mjs +547 -0
- package/scripts/ui/audit-layout.mjs +324 -301
- package/scripts/ui/lib.mjs +3 -0
- package/sdk/client.mjs +8 -1
- package/sdk/examples/line-sentinel/client.mjs +55 -38
- package/sdk/examples/ops-notifier/client.mjs +29 -25
- package/sdk/examples/sample-insight/client.mjs +25 -25
- package/server/.mimosa/hook-state/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2.json +1 -0
- package/server/.mimosa/hook-state/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2.mvhn1irp-99488-e3fdc1cbfc.baseline/942d2679b87b96c612b4f2a425c3ccc5b6f3234f0cf589a8441602f866fbe277.source +41 -0
- package/server/.mimosa/hook-state/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2.mvhn1irp-99488-e3fdc1cbfc.baseline/dd617a82339d2c61e49e28e416aabeb2fc100fb3cb1beca18d02dfb833214af6.source +51 -0
- package/server/.mimosa/hook-status/sess_869e5bfd-07f4-4b6e-a991-6221fcf6b7d2-e67b6b91bf.json +14 -0
- package/server/api/workshop/agent-tools/bindings/[id].delete.ts +3 -3
- package/server/api/workshop/channels/[id]/tools/index.get.ts +17 -0
- package/server/api/workshop/channels/[id]/tools/index.put.ts +117 -0
- package/server/api/workshop/channels/[id]/tools/reset.post.ts +39 -0
- package/server/api/workshop/daq/[id]/ingest.post.ts +166 -0
- package/server/api/workshop/daq/export/[id].get.ts +17 -0
- package/server/api/workshop/daq/export/index.get.ts +15 -0
- package/server/api/workshop/daq/export/index.post.ts +42 -0
- package/server/api/workshop/daq/export-file.get.ts +26 -0
- package/server/api/workshop/daq/query.get.ts +41 -0
- package/server/api/workshop/dcw/[id].delete.ts +10 -2
- package/server/api/workshop/dcw/[id].patch.ts +10 -0
- package/server/api/workshop/dcw/index.post.ts +9 -3
- package/server/api/workshop/dcw/lines/[id].patch.ts +13 -2
- package/server/api/workshop/dcw/recipes/[id]/apply.post.ts +2 -1
- package/server/api/workshop/dcw/recipes/[id]/mark-good.post.ts +15 -2
- package/server/api/workshop/dcw/recipes/[id]/rollback-good.post.ts +15 -2
- package/server/api/workshop/dcw/recipes/[id].delete.ts +12 -1
- package/server/api/workshop/dcw/recipes/index.post.ts +11 -0
- package/server/api/workshop/eda/charts/[id].delete.ts +23 -0
- package/server/api/workshop/eda/charts/[id].get.ts +16 -0
- package/server/api/workshop/eda/charts/[id].patch.ts +33 -0
- package/server/api/workshop/eda/charts/index.get.ts +19 -0
- package/server/api/workshop/eda/charts/index.post.ts +33 -0
- package/server/api/workshop/eda/commonality.get.ts +27 -0
- package/server/api/workshop/eda/dashboards/[id].delete.ts +22 -0
- package/server/api/workshop/eda/dashboards/[id].get.ts +17 -0
- package/server/api/workshop/eda/dashboards/[id].patch.ts +28 -0
- package/server/api/workshop/eda/dashboards/index.get.ts +30 -0
- package/server/api/workshop/eda/dashboards/index.post.ts +25 -0
- package/server/api/workshop/eda/derived/index.post.ts +41 -0
- package/server/api/workshop/eda/features/index.get.ts +29 -0
- package/server/api/workshop/eda/features/jobs.get.ts +13 -0
- package/server/api/workshop/eda/features/run.post.ts +28 -0
- package/server/api/workshop/eda/golden/[id].delete.ts +22 -0
- package/server/api/workshop/eda/golden/deviation.get.ts +21 -0
- package/server/api/workshop/eda/golden/index.get.ts +21 -0
- package/server/api/workshop/eda/golden/index.post.ts +29 -0
- package/server/api/workshop/eda/golden/single.get.ts +16 -0
- package/server/api/workshop/eda/ocap/[id].get.ts +39 -0
- package/server/api/workshop/eda/ocap/[id].patch.ts +33 -0
- package/server/api/workshop/eda/ocap/index.get.ts +13 -0
- package/server/api/workshop/eda/ocap/index.post.ts +27 -0
- package/server/api/workshop/eda/run-segments/index.get.ts +39 -0
- package/server/api/workshop/eda/run-segments/index.post.ts +30 -0
- package/server/api/workshop/eda/runs/[id]/labels.patch.ts +25 -0
- package/server/api/workshop/eda/runs.get.ts +31 -0
- package/server/api/workshop/eda/spc/[id]/recompute.post.ts +15 -0
- package/server/api/workshop/eda/spc/[id].delete.ts +16 -0
- package/server/api/workshop/eda/spc/[id].get.ts +27 -0
- package/server/api/workshop/eda/spc/index.get.ts +14 -0
- package/server/api/workshop/eda/spc/index.post.ts +28 -0
- package/server/api/workshop/eda/vm/predict.post.ts +97 -0
- package/server/api/workshop/mes/datasets.get.ts +54 -0
- package/server/api/workshop/mes/points.get.ts +13 -0
- package/server/api/workshop/mes/preview.post.ts +25 -0
- package/server/api/workshop/ops-logs/index.get.ts +42 -17
- package/server/api/workshop/ops-logs/index.post.ts +36 -6
- package/server/api/workshop/plugins/index.get.ts +36 -17
- package/server/api/workshop/tools/[name].get.ts +15 -0
- package/server/api/workshop/tools/index.get.ts +12 -0
- package/server/api/workshop/tools/sync.post.ts +12 -0
- package/server/harness/aw-mcp-bridge.mjs +32 -3
- package/server/plugins/aw-plugins.ts +7 -1
- package/server/plugins/workshop.ts +4 -0
- package/server/plugins-builtin/diag-bridge/client.mjs +239 -230
- package/server/plugins-builtin/diag-bridge/host/diagnosis.mjs +82 -75
- package/server/plugins-builtin/diag-bridge/host/helpers.mjs +129 -126
- package/server/plugins-builtin/diag-bridge/host/plugin.mjs +457 -420
- package/server/plugins-builtin/diag-bridge/host/sweep.mjs +191 -106
- package/server/plugins-builtin/rag-bridge/client.mjs +2 -0
- package/server/plugins-builtin/rag-bridge/index.mjs +159 -16
- package/server/plugins-builtin/serial-bridge/client.mjs +1 -0
- package/server/services/workshop/agents/hitl-decision/answers.ts +5 -0
- package/server/services/workshop/agents/hitl-decision/dispatcher.ts +3 -1
- package/server/services/workshop/agents/host-tool-bridge/catalog.ts +102 -23
- package/server/services/workshop/agents/host-tool-bridge/dispatch.ts +290 -246
- package/server/services/workshop/agents/host-tool-bridge/index.ts +16 -15
- package/server/services/workshop/agents/host-tool-bridge/per-agent.ts +114 -0
- package/server/services/workshop/agents/host-tool-bridge/tools/industrial.ts +6 -1
- package/server/services/workshop/agents/industrial/aml-job-tools.ts +20 -6
- package/server/services/workshop/agents/industrial/audit-query.ts +41 -5
- package/server/services/workshop/agents/industrial/daq-export.ts +74 -13
- package/server/services/workshop/agents/industrial/daq-tools.ts +106 -14
- package/server/services/workshop/agents/industrial/dcw-tools.ts +258 -212
- package/server/services/workshop/agents/industrial/grant-guard.ts +32 -7
- package/server/services/workshop/agents/industrial/index.ts +3 -3
- package/server/services/workshop/agents/industrial/line-tools.ts +134 -5
- package/server/services/workshop/agents/industrial/manual-approval.ts +57 -46
- package/server/services/workshop/agents/industrial/mes-tools.ts +31 -6
- package/server/services/workshop/agents/industrial/ops-tools.ts +533 -60
- package/server/services/workshop/agents/industrial/optimization-tools.ts +169 -168
- package/server/services/workshop/agents/industrial/recipe-gate.ts +36 -1
- package/server/services/workshop/agents/industrial/recipe-propose-tools.ts +12 -6
- package/server/services/workshop/agents/industrial/tool-verify.ts +15 -7
- package/server/services/workshop/agents/mock-agent.ts +3 -1
- package/server/services/workshop/agents/node-delegation.ts +10 -1
- package/server/services/workshop/agents/omp-agent/client.ts +2 -2
- package/server/services/workshop/agents/omp-agent/lifecycle.ts +2 -2
- package/server/services/workshop/agents/pi-agent.ts +3 -2
- package/server/services/workshop/agents/plugin-tools.ts +4 -0
- package/server/services/workshop/agents/tool-approvals.ts +25 -1
- package/server/services/workshop/agents/tool-classes.ts +2 -0
- package/server/services/workshop/aml/python/__pycache__/amlkit.cpython-312.pyc +0 -0
- package/server/services/workshop/aml/spec.ts +64 -63
- package/server/services/workshop/daq/daq-controller/crud.ts +2 -0
- package/server/services/workshop/daq/daq-controller/sweep-alarms.ts +14 -2
- package/server/services/workshop/daq/daq-controller/types.ts +71 -68
- package/server/services/workshop/daq/daq-node.ts +15 -0
- package/server/services/workshop/daq/daq-templates.ts +16 -2
- package/server/services/workshop/daq/storage/sqlite.adapter.ts +6 -4
- package/server/services/workshop/daq/storage/timescale.adapter.ts +3 -3
- package/server/services/workshop/db/database/migrations.ts +26 -0
- package/server/services/workshop/db/database/open.ts +5 -1
- package/server/services/workshop/db/database/schema.ts +42 -2
- package/server/services/workshop/db/ops.repo.ts +43 -8
- package/server/services/workshop/db/schema.sql +38 -0
- package/server/services/workshop/db/tool-registry.repo.ts +395 -0
- package/server/services/workshop/dcw/dcw-controller/recipes.ts +18 -1
- package/server/services/workshop/dcw/dcw-controller/write.ts +4 -0
- package/server/services/workshop/dcw/dcw-recipe.repo.ts +27 -0
- package/server/services/workshop/dcw/drivers/mes-rest.ts +158 -11
- package/server/services/workshop/dcw/drivers/shared.ts +35 -1
- package/server/services/workshop/eda/chart-repo.ts +177 -0
- package/server/services/workshop/eda/commonality.ts +106 -0
- package/server/services/workshop/eda/dashboard-repo.ts +166 -0
- package/server/services/workshop/eda/data-export.ts +274 -0
- package/server/services/workshop/eda/data-query.ts +231 -0
- package/server/services/workshop/eda/derived.ts +110 -0
- package/server/services/workshop/eda/eda-db.ts +222 -0
- package/server/services/workshop/eda/eda-run.repo.ts +197 -0
- package/server/services/workshop/eda/features.ts +291 -0
- package/server/services/workshop/eda/golden.ts +227 -0
- package/server/services/workshop/eda/mes-console.ts +219 -0
- package/server/services/workshop/eda/ocap.ts +182 -0
- package/server/services/workshop/eda/redact.ts +28 -0
- package/server/services/workshop/eda/spc-math.ts +144 -0
- package/server/services/workshop/eda/spc.ts +225 -0
- package/server/services/workshop/mes/mes-controller.ts +515 -18
- package/server/services/workshop/mes/mes-datasets.ts +85 -7
- package/server/services/workshop/ops/ops.ts +27 -14
- package/server/services/workshop/plugins/host/services.mjs +77 -68
- package/server/services/workshop/runtime/agent-runtime/message.ts +23 -8
- package/server/services/workshop/runtime/manager/admin-channel.ts +68 -0
- package/server/services/workshop/runtime/manager/host-tools.ts +33 -4
- package/server/services/workshop/runtime/permission-scope.ts +5 -1
- package/server/services/workshop/runtime/scheduler-loop/rules.ts +4 -1
- package/server/services/workshop/runtime/task-engine/transition.ts +14 -0
- package/server/services/workshop/tools/catalog-view.ts +256 -0
- package/server/services/workshop/tools/policy.ts +100 -0
- package/server/services/workshop/tools/registry.ts +263 -0
- package/server/services/workshop/tools/types.ts +19 -0
- package/server/services/workshop/types/task.ts +17 -0
- package/shared/daq-protocol.ts +39 -5
- package/shared/workshop-protocol.ts +3 -0
- package/.output/public/_nuxt/1NcBJMyL.js +0 -14
- package/.output/public/_nuxt/2pU5BiaQ2.js +0 -1
- package/.output/public/_nuxt/4RTUlYvj.js +0 -1
- package/.output/public/_nuxt/8oRmGaAV.js +0 -1
- package/.output/public/_nuxt/AuthGate.Cvsc4atp.css +0 -1
- package/.output/public/_nuxt/B8cnjDtt.js +0 -1
- package/.output/public/_nuxt/BDC8YDyc.js +0 -1
- package/.output/public/_nuxt/BFVf8HLR.js +0 -1
- package/.output/public/_nuxt/BG7XSX-S.js +0 -1
- package/.output/public/_nuxt/BH30ZaLl2.js +0 -1
- package/.output/public/_nuxt/BMlesJth.js +0 -209
- package/.output/public/_nuxt/BNl_jGa12.js +0 -1
- package/.output/public/_nuxt/BSG-4Ecg2.js +0 -1
- package/.output/public/_nuxt/BTXdYngG.js +0 -1
- package/.output/public/_nuxt/BU7WuuKh2.js +0 -1
- package/.output/public/_nuxt/BVH9j8dQ2.js +0 -1
- package/.output/public/_nuxt/BXbKTAwC2.js +0 -1
- package/.output/public/_nuxt/B_6yBa_Z.js +0 -1
- package/.output/public/_nuxt/B_ic601Y.js +0 -1
- package/.output/public/_nuxt/Bb4REys92.js +0 -1
- package/.output/public/_nuxt/Bd85nb9X2.js +0 -1
- package/.output/public/_nuxt/BegV7-FE2.js +0 -1
- package/.output/public/_nuxt/BhllzW3K2.js +0 -1
- package/.output/public/_nuxt/Bj7BcqHn.js +0 -1
- package/.output/public/_nuxt/BkO2MZZU.js +0 -1
- package/.output/public/_nuxt/Bnf04goH.js +0 -1
- package/.output/public/_nuxt/Br3AySNQ.js +0 -1
- package/.output/public/_nuxt/BrRXGr472.js +0 -1
- package/.output/public/_nuxt/BtBgrPNT.js +0 -1
- package/.output/public/_nuxt/BtDBBofS.js +0 -1
- package/.output/public/_nuxt/ByvqxkcN.js +0 -1
- package/.output/public/_nuxt/C4sQKuhk.js +0 -1
- package/.output/public/_nuxt/C5MPzgon2.js +0 -1
- package/.output/public/_nuxt/C8uaVABF.js +0 -1
- package/.output/public/_nuxt/C98jxVaK.js +0 -1
- package/.output/public/_nuxt/CGChCy-w2.js +0 -1
- package/.output/public/_nuxt/CHyzK5m5.js +0 -1
- package/.output/public/_nuxt/CI5sliIF2.js +0 -1
- package/.output/public/_nuxt/CI8awYVQ2.js +0 -1
- package/.output/public/_nuxt/CIduggmC.js +0 -1
- package/.output/public/_nuxt/CJPIo2E7.js +0 -2
- package/.output/public/_nuxt/CK2ts9sD.js +0 -1
- package/.output/public/_nuxt/CPZKwmLQ.js +0 -1
- package/.output/public/_nuxt/CUjdqsjC2.js +0 -1
- package/.output/public/_nuxt/CXzfXC5M.js +0 -1
- package/.output/public/_nuxt/CaBVMdqG2.js +0 -1
- package/.output/public/_nuxt/CcLFZjCI2.js +0 -7
- package/.output/public/_nuxt/CfIGBe_4.js +0 -75
- package/.output/public/_nuxt/Cfy5Jn8v2.js +0 -21
- package/.output/public/_nuxt/ChN5v-i22.js +0 -1
- package/.output/public/_nuxt/Ci5kuU1q.js +0 -1
- package/.output/public/_nuxt/CiyTTgqr.js +0 -106
- package/.output/public/_nuxt/Ckafrjnw.js +0 -1
- package/.output/public/_nuxt/ClEbKcuS.js +0 -1
- package/.output/public/_nuxt/Cmiz_VOb2.js +0 -47
- package/.output/public/_nuxt/CnF6dXcZ2.js +0 -1
- package/.output/public/_nuxt/CoTm7jd3.js +0 -28
- package/.output/public/_nuxt/CsN8RHJ02.js +0 -17
- package/.output/public/_nuxt/Cst8yEet.js +0 -1
- package/.output/public/_nuxt/CxLxiOGV.js +0 -1
- package/.output/public/_nuxt/D-jg-SoR.js +0 -1
- package/.output/public/_nuxt/D1Xw30Dj.js +0 -1
- package/.output/public/_nuxt/D3gfSKKi2.js +0 -1
- package/.output/public/_nuxt/D4elH6Bo2.js +0 -1
- package/.output/public/_nuxt/D4tAdwYm.js +0 -1
- package/.output/public/_nuxt/D5-QB_-l.js +0 -1
- package/.output/public/_nuxt/D5hI4Fhu.js +0 -1
- package/.output/public/_nuxt/DBERjwK92.js +0 -1
- package/.output/public/_nuxt/DBzdrPzw2.js +0 -1
- package/.output/public/_nuxt/DC7WzYCf2.js +0 -1
- package/.output/public/_nuxt/DE-qkHRd2.js +0 -1
- package/.output/public/_nuxt/DE2kUGPK.js +0 -1
- package/.output/public/_nuxt/DEhjFhZ22.js +0 -1
- package/.output/public/_nuxt/DG0esyZR.js +0 -1
- package/.output/public/_nuxt/DI4sdLmu2.js +0 -1
- package/.output/public/_nuxt/DL6fliAT.js +0 -3
- package/.output/public/_nuxt/DLAFNaPf.js +0 -1
- package/.output/public/_nuxt/DNno23Jf2.js +0 -1
- package/.output/public/_nuxt/DP6tsk912.js +0 -1
- package/.output/public/_nuxt/DPP0W5Ni.js +0 -2
- package/.output/public/_nuxt/DP_e7Vwv.js +0 -24
- package/.output/public/_nuxt/DR83EvmX.js +0 -1
- package/.output/public/_nuxt/DSdxfFX_.js +0 -1
- package/.output/public/_nuxt/DTxfFIvL2.js +0 -4
- package/.output/public/_nuxt/DVS06wUy2.js +0 -13
- package/.output/public/_nuxt/DXlAfhEi.js +0 -3
- package/.output/public/_nuxt/DYtV50yi2.js +0 -1
- package/.output/public/_nuxt/D_hCLbi9.js +0 -1
- package/.output/public/_nuxt/DctCtJq7.js +0 -19
- package/.output/public/_nuxt/DdNujZN52.js +0 -1
- package/.output/public/_nuxt/DelESEcl2.js +0 -1
- package/.output/public/_nuxt/DgldLfCZ2.js +0 -1
- package/.output/public/_nuxt/DiHL9ehB.js +0 -1
- package/.output/public/_nuxt/DjtDexGg.js +0 -1
- package/.output/public/_nuxt/DnunMTRD2.js +0 -1
- package/.output/public/_nuxt/Do0dCE8C2.js +0 -1
- package/.output/public/_nuxt/Dok0B4Ol.js +0 -2
- package/.output/public/_nuxt/DtMlAxCm2.js +0 -1
- package/.output/public/_nuxt/DwzJpr7P.js +0 -1
- package/.output/public/_nuxt/DxJFBokW2.js +0 -1
- package/.output/public/_nuxt/Dxo1GW5U.js +0 -1
- package/.output/public/_nuxt/Eo2BYEIo2.js +0 -1
- package/.output/public/_nuxt/GKiBVVYe2.js +0 -1
- package/.output/public/_nuxt/H13l21fR.js +0 -1
- package/.output/public/_nuxt/J94L7hHq2.js +0 -1
- package/.output/public/_nuxt/KS3KQF222.js +0 -1
- package/.output/public/_nuxt/LQBLwrYS2.js +0 -1
- package/.output/public/_nuxt/M58CVYnv.js +0 -1
- package/.output/public/_nuxt/M6NcguDO2.js +0 -1
- package/.output/public/_nuxt/MW-V7IIP.js +0 -1
- package/.output/public/_nuxt/N9TYd_Mk2.js +0 -1
- package/.output/public/_nuxt/P0EcfD3j.js +0 -1
- package/.output/public/_nuxt/QSY9fE482.js +0 -1
- package/.output/public/_nuxt/Qa9rS9oK2.js +0 -31
- package/.output/public/_nuxt/R3gBFghJ2.js +0 -1
- package/.output/public/_nuxt/RAqsw632.js +0 -1
- package/.output/public/_nuxt/S799kNo8.js +0 -1
- package/.output/public/_nuxt/TownView.BuMpDRkf.css +0 -1
- package/.output/public/_nuxt/WYqAa0r52.js +0 -1
- package/.output/public/_nuxt/WmMwIS4y2.js +0 -1
- package/.output/public/_nuxt/XErFZOU9.js +0 -1
- package/.output/public/_nuxt/ZxBwmbs9.js +0 -1
- package/.output/public/_nuxt/_id_.DOqX4gwB.css +0 -1
- package/.output/public/_nuxt/_id_.DpRe1PRh.css +0 -1
- package/.output/public/_nuxt/_mD4IkJj.js +0 -9
- package/.output/public/_nuxt/_wsId_.XjmieZaJ.css +0 -1
- package/.output/public/_nuxt/agents.Cgm_JG9L.css +0 -1
- package/.output/public/_nuxt/aml.BeFTP6_M.css +0 -1
- package/.output/public/_nuxt/analysis.BwhKdel9.css +0 -1
- package/.output/public/_nuxt/bTFhJlrI2.js +0 -1
- package/.output/public/_nuxt/builds/meta/8bf65244-eb00-45c7-be23-9dcd7b917ef3.json +0 -1
- package/.output/public/_nuxt/c_nqArmG.js +0 -1
- package/.output/public/_nuxt/channel-templates.DkNZg-lF.css +0 -1
- package/.output/public/_nuxt/daq.YQas76du.css +0 -1
- package/.output/public/_nuxt/dcw.UIcWRyIS.css +0 -1
- package/.output/public/_nuxt/default.Bx6RJSbr.css +0 -1
- package/.output/public/_nuxt/entry.BlbU43qz.css +0 -1
- package/.output/public/_nuxt/h8ddxY892.js +0 -1
- package/.output/public/_nuxt/i3KBHle7.js +0 -1
- package/.output/public/_nuxt/jmKfTQMN.js +0 -13
- package/.output/public/_nuxt/kYyvM13M.js +0 -3
- package/.output/public/_nuxt/logs.Bf65Kw17.css +0 -1
- package/.output/public/_nuxt/lyJsJl_G.js +0 -1
- package/.output/public/_nuxt/monitor.CI2v5Nvl.css +0 -1
- package/.output/public/_nuxt/operations.B8X9uWK6.css +0 -1
- package/.output/public/_nuxt/pages.CMhSEhEb.css +0 -1
- package/.output/public/_nuxt/plugins.C50x1qZp.css +0 -1
- package/.output/public/_nuxt/pncSmP5n.js +0 -1
- package/.output/public/_nuxt/qIQFsHtF2.js +0 -1
- package/.output/public/_nuxt/settings.O26Dw1iT.css +0 -1
- package/.output/public/_nuxt/t54AYjsC.js +0 -1
- package/.output/public/_nuxt/taHLOXkS.js +0 -1
- package/.output/public/_nuxt/teams.sGmx1AdX.css +0 -1
- package/.output/public/_nuxt/tokens.DFMFaCYU.css +0 -1
- package/.output/public/_nuxt/uYP6z4G72.js +0 -1
- package/.output/public/_nuxt/workshop.BX2YeO0g.css +0 -1
- package/.output/public/_nuxt/yPlLXpEw2.js +0 -1
- package/.output/public/_nuxt/yuIP6K9s.js +0 -1
- package/.output/public/_nuxt/zWg-9WN6.js +0 -19
- package/.output/public/_nuxt/zrgcKVTq.js +0 -2
- package/.output/server/chunks/build/AuthGate-BK2RqkbD.mjs +0 -716
- package/.output/server/chunks/build/AuthGate-BK2RqkbD.mjs.map +0 -1
- package/.output/server/chunks/build/Checkbox-4EdGAAl_.mjs +0 -206
- package/.output/server/chunks/build/Checkbox-4EdGAAl_.mjs.map +0 -1
- package/.output/server/chunks/build/FormItemContext-BqtgOBDe.mjs +0 -72
- package/.output/server/chunks/build/FormItemContext-BqtgOBDe.mjs.map +0 -1
- package/.output/server/chunks/build/OmpTerminalPanel-Bun6rpAk.mjs +0 -942
- package/.output/server/chunks/build/OmpTerminalPanel-Bun6rpAk.mjs.map +0 -1
- package/.output/server/chunks/build/PluginSlot-Do6dX0RE.mjs +0 -399
- package/.output/server/chunks/build/PluginSlot-Do6dX0RE.mjs.map +0 -1
- package/.output/server/chunks/build/TownView-kQZFf4zj.mjs +0 -6489
- package/.output/server/chunks/build/TownView-kQZFf4zj.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-Bbx1b74O.mjs +0 -1931
- package/.output/server/chunks/build/_id_-Bbx1b74O.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-IijrRw3f.mjs +0 -391
- package/.output/server/chunks/build/_id_-IijrRw3f.mjs.map +0 -1
- package/.output/server/chunks/build/_wsId_-Dp3ACbQ5.mjs +0 -13620
- package/.output/server/chunks/build/_wsId_-Dp3ACbQ5.mjs.map +0 -1
- package/.output/server/chunks/build/agents-BfIoGr_p.mjs +0 -1087
- package/.output/server/chunks/build/agents-BfIoGr_p.mjs.map +0 -1
- package/.output/server/chunks/build/aml-B5zKrvB3.mjs +0 -810
- package/.output/server/chunks/build/aml-B5zKrvB3.mjs.map +0 -1
- package/.output/server/chunks/build/analysis-CPIxT0FP.mjs +0 -531
- package/.output/server/chunks/build/analysis-CPIxT0FP.mjs.map +0 -1
- package/.output/server/chunks/build/card-IyQjdGXA.mjs +0 -953
- package/.output/server/chunks/build/card-IyQjdGXA.mjs.map +0 -1
- package/.output/server/chunks/build/channel-templates-Bd8bgBCh.mjs +0 -937
- package/.output/server/chunks/build/channel-templates-Bd8bgBCh.mjs.map +0 -1
- package/.output/server/chunks/build/checkbox-NnjtOam0.mjs +0 -439
- package/.output/server/chunks/build/checkbox-NnjtOam0.mjs.map +0 -1
- package/.output/server/chunks/build/daq-mC3-5A0L.mjs +0 -1265
- package/.output/server/chunks/build/daq-mC3-5A0L.mjs.map +0 -1
- package/.output/server/chunks/build/dcw-EhjJpVQM.mjs +0 -504
- package/.output/server/chunks/build/dcw-EhjJpVQM.mjs.map +0 -1
- package/.output/server/chunks/build/default-flcNWlNg.mjs +0 -2297
- package/.output/server/chunks/build/default-flcNWlNg.mjs.map +0 -1
- package/.output/server/chunks/build/descriptions-DuAefuzp.mjs +0 -406
- package/.output/server/chunks/build/descriptions-DuAefuzp.mjs.map +0 -1
- package/.output/server/chunks/build/drawer-DEIB1_X6.mjs +0 -834
- package/.output/server/chunks/build/drawer-DEIB1_X6.mjs.map +0 -1
- package/.output/server/chunks/build/dropdown-BuD1pxH2.mjs +0 -557
- package/.output/server/chunks/build/dropdown-BuD1pxH2.mjs.map +0 -1
- package/.output/server/chunks/build/dropdown-w7qhyN2D.mjs +0 -14
- package/.output/server/chunks/build/dropdown-w7qhyN2D.mjs.map +0 -1
- package/.output/server/chunks/build/es-DfgEl5n-.mjs +0 -42
- package/.output/server/chunks/build/es-DfgEl5n-.mjs.map +0 -1
- package/.output/server/chunks/build/form-CMLL_-Xx.mjs +0 -4711
- package/.output/server/chunks/build/form-CMLL_-Xx.mjs.map +0 -1
- package/.output/server/chunks/build/hitl-ePh3G3ue.mjs +0 -132
- package/.output/server/chunks/build/hitl-ePh3G3ue.mjs.map +0 -1
- package/.output/server/chunks/build/input-DZcioTwL.mjs +0 -4122
- package/.output/server/chunks/build/input-DZcioTwL.mjs.map +0 -1
- package/.output/server/chunks/build/input-number-BRnbiKLd.mjs +0 -1120
- package/.output/server/chunks/build/input-number-BRnbiKLd.mjs.map +0 -1
- package/.output/server/chunks/build/logs-BYop3JfX.mjs +0 -384
- package/.output/server/chunks/build/logs-BYop3JfX.mjs.map +0 -1
- package/.output/server/chunks/build/menu-DXfhc0qN.mjs +0 -1950
- package/.output/server/chunks/build/menu-DXfhc0qN.mjs.map +0 -1
- package/.output/server/chunks/build/monitor-BjBGkUm2.mjs +0 -2247
- package/.output/server/chunks/build/monitor-BjBGkUm2.mjs.map +0 -1
- package/.output/server/chunks/build/operations-fxI8lEBJ.mjs +0 -285
- package/.output/server/chunks/build/operations-fxI8lEBJ.mjs.map +0 -1
- package/.output/server/chunks/build/pages-6JD9VSbx.mjs +0 -540
- package/.output/server/chunks/build/pages-6JD9VSbx.mjs.map +0 -1
- package/.output/server/chunks/build/permissions-u5SZL8Fe.mjs +0 -631
- package/.output/server/chunks/build/permissions-u5SZL8Fe.mjs.map +0 -1
- package/.output/server/chunks/build/plugins-Cas6KOF-.mjs +0 -248
- package/.output/server/chunks/build/plugins-Cas6KOF-.mjs.map +0 -1
- package/.output/server/chunks/build/popconfirm-BWxt-53K.mjs +0 -339
- package/.output/server/chunks/build/popconfirm-BWxt-53K.mjs.map +0 -1
- package/.output/server/chunks/build/schedules-Ct68Jrvw.mjs +0 -7166
- package/.output/server/chunks/build/schedules-Ct68Jrvw.mjs.map +0 -1
- package/.output/server/chunks/build/segmented-DN62bOFu.mjs +0 -341
- package/.output/server/chunks/build/segmented-DN62bOFu.mjs.map +0 -1
- package/.output/server/chunks/build/select-DQv1DXcW.mjs +0 -3923
- package/.output/server/chunks/build/select-DQv1DXcW.mjs.map +0 -1
- package/.output/server/chunks/build/settings-CQzR1YXR.mjs +0 -1110
- package/.output/server/chunks/build/settings-CQzR1YXR.mjs.map +0 -1
- package/.output/server/chunks/build/space-6FfG3llN.mjs +0 -110
- package/.output/server/chunks/build/space-6FfG3llN.mjs.map +0 -1
- package/.output/server/chunks/build/switch-CfsCVFQP.mjs +0 -377
- package/.output/server/chunks/build/switch-CfsCVFQP.mjs.map +0 -1
- package/.output/server/chunks/build/table-HOjbB5YY.mjs +0 -8881
- package/.output/server/chunks/build/table-HOjbB5YY.mjs.map +0 -1
- package/.output/server/chunks/build/tabs-CC26Rbcw.mjs +0 -1923
- package/.output/server/chunks/build/tabs-CC26Rbcw.mjs.map +0 -1
- package/.output/server/chunks/build/tag-BtOMjpDx.mjs +0 -1029
- package/.output/server/chunks/build/tag-BtOMjpDx.mjs.map +0 -1
- package/.output/server/chunks/build/teams-Re0wY2SQ.mjs +0 -1197
- package/.output/server/chunks/build/teams-Re0wY2SQ.mjs.map +0 -1
- package/.output/server/chunks/build/tokens-DLFIUvXE.mjs +0 -1038
- package/.output/server/chunks/build/tokens-DLFIUvXE.mjs.map +0 -1
- package/.output/server/chunks/build/tooltip-BSDwL_LM.mjs +0 -3362
- package/.output/server/chunks/build/tooltip-BSDwL_LM.mjs.map +0 -1
- package/.output/server/chunks/build/town-Bfme7P2I.mjs +0 -132
- package/.output/server/chunks/build/town-Bfme7P2I.mjs.map +0 -1
- package/.output/server/chunks/build/useAgentHarnessOptions-BnFCh23W.mjs +0 -123
- package/.output/server/chunks/build/useAgentHarnessOptions-BnFCh23W.mjs.map +0 -1
- package/.output/server/chunks/build/useAgentTemplateActions-CjBwCb3u.mjs +0 -76
- package/.output/server/chunks/build/useAgentTemplateActions-CjBwCb3u.mjs.map +0 -1
- package/.output/server/chunks/build/useAgentTemplateForm-BX9_xqj8.mjs +0 -116
- package/.output/server/chunks/build/useAgentTemplateForm-BX9_xqj8.mjs.map +0 -1
- package/.output/server/chunks/build/useAgentTemplatesCatalog-Q7LgG1Af.mjs +0 -132
- package/.output/server/chunks/build/useAgentTemplatesCatalog-Q7LgG1Af.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlEntities-BrcTqHwa.mjs +0 -85
- package/.output/server/chunks/build/useAmlEntities-BrcTqHwa.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlEnv-jiGYK790.mjs +0 -193
- package/.output/server/chunks/build/useAmlEnv-jiGYK790.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlJobs-CVZ1btzg.mjs +0 -266
- package/.output/server/chunks/build/useAmlJobs-CVZ1btzg.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlModels-DJkQzcCU.mjs +0 -92
- package/.output/server/chunks/build/useAmlModels-DJkQzcCU.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlNotes-DKnx9a8x.mjs +0 -85
- package/.output/server/chunks/build/useAmlNotes-DKnx9a8x.mjs.map +0 -1
- package/.output/server/chunks/build/useAmlPredict-Bp4ehwKw.mjs +0 -129
- package/.output/server/chunks/build/useAmlPredict-Bp4ehwKw.mjs.map +0 -1
- package/.output/server/chunks/build/useAnalysisFeed-B4OwUd7p.mjs +0 -128
- package/.output/server/chunks/build/useAnalysisFeed-B4OwUd7p.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqAddNode-CaOCbe4-.mjs +0 -141
- package/.output/server/chunks/build/useDaqAddNode-CaOCbe4-.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqDetailBinding-C7AbGIdP.mjs +0 -69
- package/.output/server/chunks/build/useDaqDetailBinding-C7AbGIdP.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqDetailFrames-CmAEdbAL.mjs +0 -78
- package/.output/server/chunks/build/useDaqDetailFrames-CmAEdbAL.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqDetailHistory-C4LWayu1.mjs +0 -175
- package/.output/server/chunks/build/useDaqDetailHistory-C4LWayu1.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqDetailNode-DtZ0oDAn.mjs +0 -98
- package/.output/server/chunks/build/useDaqDetailNode-DtZ0oDAn.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqDetailParams-CrTMDs-2.mjs +0 -158
- package/.output/server/chunks/build/useDaqDetailParams-CrTMDs-2.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqFilters-DYHGhECw.mjs +0 -221
- package/.output/server/chunks/build/useDaqFilters-DYHGhECw.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqOptimizations-C5N4bcu4.mjs +0 -135
- package/.output/server/chunks/build/useDaqOptimizations-C5N4bcu4.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqStream-DhzdoyIR.mjs +0 -395
- package/.output/server/chunks/build/useDaqStream-DhzdoyIR.mjs.map +0 -1
- package/.output/server/chunks/build/useDaqTemplates-C7GzQmdJ.mjs +0 -186
- package/.output/server/chunks/build/useDaqTemplates-C7GzQmdJ.mjs.map +0 -1
- package/.output/server/chunks/build/useDashboardData-B3lZjE7x.mjs +0 -152
- package/.output/server/chunks/build/useDashboardData-B3lZjE7x.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwAddNode-4mTPQ6T8.mjs +0 -218
- package/.output/server/chunks/build/useDcwAddNode-4mTPQ6T8.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwCards-DvLGgUYr.mjs +0 -66
- package/.output/server/chunks/build/useDcwCards-DvLGgUYr.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwDetailScope-BWH7jnVh.mjs +0 -183
- package/.output/server/chunks/build/useDcwDetailScope-BWH7jnVh.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwDetailTemplates-yzNEAMK-.mjs +0 -147
- package/.output/server/chunks/build/useDcwDetailTemplates-yzNEAMK-.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwFilter-BQDmQYY0.mjs +0 -70
- package/.output/server/chunks/build/useDcwFilter-BQDmQYY0.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwLedger-DWGufEor.mjs +0 -78
- package/.output/server/chunks/build/useDcwLedger-DWGufEor.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwLineMutations-DHF-Bemn.mjs +0 -136
- package/.output/server/chunks/build/useDcwLineMutations-DHF-Bemn.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwLineRun-VFe35xou.mjs +0 -103
- package/.output/server/chunks/build/useDcwLineRun-VFe35xou.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwParamApprovals-Bc0BGBds.mjs +0 -120
- package/.output/server/chunks/build/useDcwParamApprovals-Bc0BGBds.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwProducts-DXisXYMh.mjs +0 -92
- package/.output/server/chunks/build/useDcwProducts-DXisXYMh.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwQuery-Cmo3UtIQ.mjs +0 -97
- package/.output/server/chunks/build/useDcwQuery-Cmo3UtIQ.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwQuickActions-BkAcxVnj.mjs +0 -87
- package/.output/server/chunks/build/useDcwQuickActions-BkAcxVnj.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwRecipes-BvtGPQJ9.mjs +0 -257
- package/.output/server/chunks/build/useDcwRecipes-BvtGPQJ9.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwStream-BXJ2V8HM.mjs +0 -452
- package/.output/server/chunks/build/useDcwStream-BXJ2V8HM.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwTemplates-Zxz2DPdu.mjs +0 -90
- package/.output/server/chunks/build/useDcwTemplates-Zxz2DPdu.mjs.map +0 -1
- package/.output/server/chunks/build/useDcwWrites-66CKxcos.mjs +0 -139
- package/.output/server/chunks/build/useDcwWrites-66CKxcos.mjs.map +0 -1
- package/.output/server/chunks/build/useExpConfirmations-BbInIHsn.mjs +0 -106
- package/.output/server/chunks/build/useExpConfirmations-BbInIHsn.mjs.map +0 -1
- package/.output/server/chunks/build/useLocalTime-CUnDHV5V.mjs +0 -55
- package/.output/server/chunks/build/useLocalTime-CUnDHV5V.mjs.map +0 -1
- package/.output/server/chunks/build/useLogsManual-CElmZuJh.mjs +0 -83
- package/.output/server/chunks/build/useLogsManual-CElmZuJh.mjs.map +0 -1
- package/.output/server/chunks/build/useLogsQuery-C5nadU1m.mjs +0 -124
- package/.output/server/chunks/build/useLogsQuery-C5nadU1m.mjs.map +0 -1
- package/.output/server/chunks/build/useLogsScope-DgrB1ur3.mjs +0 -82
- package/.output/server/chunks/build/useLogsScope-DgrB1ur3.mjs.map +0 -1
- package/.output/server/chunks/build/useMonitorColumns-DhYvkLDq.mjs +0 -214
- package/.output/server/chunks/build/useMonitorColumns-DhYvkLDq.mjs.map +0 -1
- package/.output/server/chunks/build/useMonitorData-DcIfMEiz.mjs +0 -134
- package/.output/server/chunks/build/useMonitorData-DcIfMEiz.mjs.map +0 -1
- package/.output/server/chunks/build/useMonitorFormat-DRCXsKwh.mjs +0 -90
- package/.output/server/chunks/build/useMonitorFormat-DRCXsKwh.mjs.map +0 -1
- package/.output/server/chunks/build/useOperationsFeed-DsA2ym7M.mjs +0 -193
- package/.output/server/chunks/build/useOperationsFeed-DsA2ym7M.mjs.map +0 -1
- package/.output/server/chunks/build/useOpsLog-SnWPuRtK.mjs +0 -137
- package/.output/server/chunks/build/useOpsLog-SnWPuRtK.mjs.map +0 -1
- package/.output/server/chunks/build/useRecipeDispatchApprovals-CbL2El3n.mjs +0 -155
- package/.output/server/chunks/build/useRecipeDispatchApprovals-CbL2El3n.mjs.map +0 -1
- package/.output/server/chunks/build/useTeamActions-C3_O_AIU.mjs +0 -78
- package/.output/server/chunks/build/useTeamActions-C3_O_AIU.mjs.map +0 -1
- package/.output/server/chunks/build/useTeamAddMemberDialog-DWAoZCKd.mjs +0 -83
- package/.output/server/chunks/build/useTeamAddMemberDialog-DWAoZCKd.mjs.map +0 -1
- package/.output/server/chunks/build/useTeamCreateDialog-911mIPWd.mjs +0 -96
- package/.output/server/chunks/build/useTeamCreateDialog-911mIPWd.mjs.map +0 -1
- package/.output/server/chunks/build/useTeamDeployDialog-D0STROoQ.mjs +0 -79
- package/.output/server/chunks/build/useTeamDeployDialog-D0STROoQ.mjs.map +0 -1
- package/.output/server/chunks/build/useTeamPluginDialog-Df6-e2OW.mjs +0 -102
- package/.output/server/chunks/build/useTeamPluginDialog-Df6-e2OW.mjs.map +0 -1
- package/.output/server/chunks/build/useTeamsCatalog-HBSyKt5P.mjs +0 -122
- package/.output/server/chunks/build/useTeamsCatalog-HBSyKt5P.mjs.map +0 -1
- package/.output/server/chunks/build/useTokenCreate-DOojAhM5.mjs +0 -114
- package/.output/server/chunks/build/useTokenCreate-DOojAhM5.mjs.map +0 -1
- package/.output/server/chunks/build/useTokenRename-CMA5dLHx.mjs +0 -86
- package/.output/server/chunks/build/useTokenRename-CMA5dLHx.mjs.map +0 -1
- package/.output/server/chunks/build/useTokenReveal-C19aCKzt.mjs +0 -117
- package/.output/server/chunks/build/useTokenReveal-C19aCKzt.mjs.map +0 -1
- package/.output/server/chunks/build/useTokensList-D0ZpLOhR.mjs +0 -91
- package/.output/server/chunks/build/useTokensList-D0ZpLOhR.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkbenchAuth-CN5E3J5L.mjs +0 -140
- package/.output/server/chunks/build/useWorkbenchAuth-CN5E3J5L.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkbenchWorkspaces-ChKByQSD.mjs +0 -137
- package/.output/server/chunks/build/useWorkbenchWorkspaces-ChKByQSD.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkshopApi-C9sTYu1F.mjs +0 -113
- package/.output/server/chunks/build/useWorkshopApi-C9sTYu1F.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkshopWs-CM-Ywk4h.mjs +0 -1659
- package/.output/server/chunks/build/useWorkshopWs-CM-Ywk4h.mjs.map +0 -1
- package/.output/server/chunks/build/useWorkspaceChannels--65yU02b.mjs +0 -91
- package/.output/server/chunks/build/useWorkspaceChannels--65yU02b.mjs.map +0 -1
- package/.output/server/chunks/build/users-BW4jowK4.mjs +0 -563
- package/.output/server/chunks/build/users-BW4jowK4.mjs.map +0 -1
- package/.output/server/chunks/build/workshop-Bx55czXL.mjs +0 -523
- package/.output/server/chunks/build/workshop-Bx55czXL.mjs.map +0 -1
- /package/.output/public/_nuxt/{BBrRELH32.js → BBrRELH3.js} +0 -0
- /package/.output/public/_nuxt/{BDNMzG2s2.js → BDNMzG2s.js} +0 -0
- /package/.output/public/_nuxt/{BGkumHZ32.js → BGkumHZ3.js} +0 -0
- /package/.output/public/_nuxt/{BrIJiJSN2.js → BrIJiJSN.js} +0 -0
- /package/.output/public/_nuxt/{BupBjt6B2.js → BupBjt6B.js} +0 -0
- /package/.output/public/_nuxt/{CT-vTjcG.js → CT-vTjcG2.js} +0 -0
- /package/.output/public/_nuxt/{CWKEp1wx2.js → CWKEp1wx.js} +0 -0
- /package/.output/public/_nuxt/{DIOBYJe32.js → DIOBYJe3.js} +0 -0
- /package/.output/public/_nuxt/{DkJVtqfc.js → DkJVtqfc2.js} +0 -0
- /package/.output/public/_nuxt/{Dmgqz2np.js → Dmgqz2np2.js} +0 -0
- /package/.output/public/_nuxt/{Nw_6OpQZ2.js → Nw_6OpQZ.js} +0 -0
- /package/.output/public/_nuxt/{cGSl2GZp.js → cGSl2GZp2.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./DK3Fl9T5.js";import{v as t}from"./CavpkQb0.js";import{P as n,R as r,et as i}from"./ByMj6e7s.js";import{n as a}from"./Cnrmlixo.js";import{t as o}from"./DnlhV7Xe.js";import{i as s}from"./Bc_k6AVA.js";import{t as c}from"./h5gsh8E92.js";import{t as l}from"./BfX6_AjY.js";import{t as u}from"./Ch1P2mIf.js";var d=e({useMonitorData:()=>f});function f(e={}){let{t:d}=a(),f=c(),p=t(null),m=t(!1),h=t(!0),g=t(``),_=async()=>{if(f.token){m.value=!0;try{let e=await u(`/api/system/monitor`,{headers:{authorization:`Bearer ${f.token}`}});p.value=e.data,g.value=l(new Date().toISOString())}catch(e){s.error(e instanceof Error?e.message:d(`monitor.loadFailed`))}finally{m.value=!1}}},v=null,y=()=>{v&&=(clearInterval(v),null),h.value&&f.token&&(v=o(()=>void _(),5e3))};i(h,()=>y()),i(()=>f.token,()=>{f.token?_():p.value=null,y()}),r(()=>{f.token&&_().then(()=>e.onInitialPoll?.()),y()}),n(()=>{v&&clearInterval(v)});let b=t(!1);return{snapshot:p,loading:m,autoRefresh:h,lastUpdated:g,terminating:b,poll:_,doTerminateAgent:async e=>{b.value=!0;try{let t=await u(`/api/system/monitor/terminate`,{method:`POST`,headers:{authorization:`Bearer ${f.token}`},body:{channelId:e.channelId,agentId:e.agentId}});s.success(t.code===0?`${e.name} ${d(`monitor.terminated`)}`:t.message??d(`monitor.failed`)),await _()}catch(e){s.error(e instanceof Error?e.message:d(`monitor.failed`))}finally{b.value=!1}},doTerminatePid:async e=>{b.value=!0;try{let t=await u(`/api/system/monitor/terminate`,{method:`POST`,headers:{authorization:`Bearer ${f.token}`},body:{pid:e.pid}});s.success(t.code===0?`PID ${e.pid} ${d(`monitor.terminated`)}`:t.message??d(`monitor.failed`)),await _()}catch(e){s.error(e instanceof Error?e.message:d(`monitor.failed`))}finally{b.value=!1}}}}export{d as n,f as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./DK3Fl9T5.js";import{d as t,z as n}from"./ByMj6e7s.js";import{a as r}from"./BnpY_zNx.js";import{n as i}from"./Cnrmlixo.js";import{t as a}from"./Rt2i6k7C2.js";import{t as o}from"./Dmgqz2np2.js";import{t as s}from"./DzwIZ81f2.js";var c=e({useDcwDetailScope:()=>l});function l(){let{t:e}=i(),c=r(),l=o(),u=a(),d=s();u.load();let f=t(()=>String(c.params.id??``)),p=t(()=>l.lines.find(e=>e.id===f.value)),m=t(()=>l.lineStateOf(f.value));l.load();let h=l.ensureWsFeed();n(()=>h());let g=e=>(e.deviceIds??(e.deviceBindingId?[e.deviceBindingId]:[])).map(e=>_(e)).join(` / `)||`—`,_=t=>t?d.twins.find(e=>e.id===t)?.name??t:e(`dcwDetail.k3own4q121`),v=t(()=>({idle:e(`dcwDetail.k3zgkk122`),writing:e(`dcwDetail.k3l3h80123`),ok:e(`dcwDetail.stAck`),error:e(`dcwDetail.k40reu124`),offline:e(`dcwDetail.k44c2n125`)}));function y(e){let t=e??``;return l.templates.find(e=>e.key===(t.startsWith(`dcw-`)?t.slice(4):t))?.ch??t}function b(e){return l.nodeById(e)?.min}function x(e){return l.nodeById(e)?.max}let S=t(()=>u.nodes.filter(e=>e.lineId===f.value));function C(e){return u.nodeById(e)?.name??e}let w=t(()=>l.nodes.filter(e=>e.lineId===f.value)),T=t(()=>l.products.filter(e=>e.lineId===f.value)),E=t(()=>l.recipes.filter(e=>e.lineId===f.value)),D=t(()=>l.runs.filter(e=>e.lineId===f.value)),O=t(()=>{let e=new Set(w.value.map(e=>e.id));return l.history.filter(t=>e.has(t.nodeId))}),k=t(()=>l.nodes.filter(e=>!e.lineId)),A=t(()=>l.products.filter(e=>!e.lineId));async function j(e){await l.patchNode(e,{lineId:f.value});let t=l.nodeById(e);t&&(t.lineId=f.value)}async function M(e){await l.updateProduct(e,{lineId:f.value}),await l.load()}let N=e=>l.products.find(t=>t.id===e)?.name??e;function P(t,n){let r=l.nodes.find(e=>e.id===t);return r?r.enabled?n&&r.lineId!==n?{code:`unbound`,label:e(`dcwDetail.staleUnbound`)}:null:{code:`disabled`,label:e(`dcwDetail.staleDisabled`)}:{code:`deleted`,label:e(`dcwDetail.staleDeleted`)}}function F(e){return l.nodes.find(t=>t.id===e)?.name??e}function I(t,n){let r=u.nodes.find(e=>e.id===t);return r?r.enabled?n&&r.lineId!==n?{code:`unbound`,label:e(`dcwDetail.staleUnbound`)}:null:{code:`disabled`,label:e(`dcwDetail.staleDisabled`)}:{code:`deleted`,label:e(`dcwDetail.staleDeleted`)}}return{dcw:l,daq:u,deviceTwins:d,lineId:f,line:p,ls:m,stateLabel:v,dcwTemplateRefCh:y,nodeMin:b,nodeMax:x,lineDaqNodes:S,daqNodeCh:C,lineNodes:w,lineProducts:T,lineRecipesAll:E,lineRuns:D,lineHistory:O,unassignedNodes:k,unassignedProducts:A,adoptNode:j,adoptProduct:M,productName:N,paramStatus:P,paramNodeName:F,daqWindowStatus:I,nodeDeviceNames:g}}export{c as n,l as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.topnav[data-v-f5e9d35e]{border-bottom:1px solid var(--hud-line-soft);z-index:60;background:linear-gradient(#0c1320,#0a101b);flex:none;align-items:center;gap:14px;height:50px;padding:0 16px;display:flex;position:relative}.topnav[data-v-f5e9d35e]:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 4%,#35e0a059 50%,#0000 96%);height:1px;position:absolute;bottom:-1px;left:0;right:0}.brand[data-v-f5e9d35e]{align-items:center;gap:10px;min-width:230px;display:flex}.brand-glyph[data-v-f5e9d35e]{flex:none;width:26px;height:26px}.brand-name[data-v-f5e9d35e]{letter-spacing:.06em;font-size:14.5px;font-weight:800}.brand-name em[data-v-f5e9d35e]{color:var(--hud-accent);font-style:normal}.brand-sub[data-v-f5e9d35e]{color:var(--hud-faint);letter-spacing:.18em;margin-top:2px;font-size:10px}.nav-tabs[data-v-f5e9d35e]{align-items:center;gap:10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.nav-action[data-v-f5e9d35e]{border:1px solid var(--hud-line-hi);border-radius:var(--hud-r-sm);height:32px;color:var(--hud-dim);cursor:pointer;transition:background .15s var(--hud-ease), color .15s var(--hud-ease), border-color .15s var(--hud-ease);background:0 0;padding:0 14px;font-size:12px;font-weight:600}.nav-action[data-v-f5e9d35e]:hover{background:#14203a;border-color:#33507c}.save-chip[data-v-f5e9d35e]{font-family:var(--font-mono);letter-spacing:.08em;border:1px solid var(--hud-line-hi);color:var(--hud-dim);border-radius:999px;padding:3px 8px;font-size:10px}.save-chip.s-dirty[data-v-f5e9d35e]{color:var(--hud-amber);border-color:#f6c45366}.save-chip.s-saving[data-v-f5e9d35e]{color:var(--hud-dim)}.save-chip.s-saved[data-v-f5e9d35e]{color:var(--hud-accent);border-color:#35e0a066}.save-chip.s-error[data-v-f5e9d35e]{color:var(--hud-danger);border-color:#ff6b6b66}.nav-right[data-v-f5e9d35e]{align-items:center;gap:10px;margin-left:auto;display:flex}.nav-chip[data-v-f5e9d35e]{font-family:var(--font-mono);color:var(--hud-dim);border:1px solid var(--hud-line);letter-spacing:.06em;border-radius:999px;padding:4px 9px;font-size:11px}.avatar-chip[data-v-f5e9d35e]{background:var(--hud-panel-2);border:1px solid var(--hud-line);border-radius:999px;align-items:center;gap:7px;padding:3px 10px 3px 3px;display:flex}.avatar-chip span[data-v-f5e9d35e]{color:var(--hud-text);font-size:12px}.avatar-fallback[data-v-f5e9d35e]{color:#04120c;background:linear-gradient(135deg, var(--hud-accent), var(--hud-cyan));border-radius:50%;place-items:center;width:24px;height:24px;font-size:10.5px;font-weight:700;display:grid}.seg[data-v-f5e9d35e]{background:var(--hud-panel);border:1px solid var(--hud-line);border-radius:10px;align-items:center;gap:6px;padding:4px;display:flex}.seg button[data-v-f5e9d35e]{color:var(--hud-dim);transition:background .15s var(--hud-ease), color .15s var(--hud-ease);border-radius:6px;padding:4px 16px;font-size:11.5px;font-weight:600}.seg button.on[data-v-f5e9d35e]{background:var(--hud-accent);color:#04120c;box-shadow:0 0 12px #35e0a059}.dock-toggle[data-v-f5e9d35e],.sheet-btn[data-v-f5e9d35e],.sheet-hd[data-v-f5e9d35e]{display:none}.sheet-mask[data-v-f5e9d35e]{z-index:65;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#04080e99;position:fixed;inset:0}@media (width<=1023px){.topnav[data-v-f5e9d35e]{flex-wrap:wrap;align-items:center;gap:6px 8px;height:auto;min-height:46px;padding:6px 10px 8px}.brand[data-v-f5e9d35e]{flex:auto;order:0;gap:8px;min-width:0}.brand>div[data-v-f5e9d35e]{min-width:0;overflow:hidden}.brand-name[data-v-f5e9d35e]{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.nav-right[data-v-f5e9d35e]{flex:none;order:1;gap:6px;margin-left:0}.nav-tabs[data-v-f5e9d35e]{flex:100%;order:2;gap:8px;position:static;transform:none}.seg button[data-v-f5e9d35e]{padding:0 14px;font-size:13px}.nav-action[data-v-f5e9d35e]{height:40px;padding:0 12px;font-size:13px}.save-chip[data-v-f5e9d35e]{font-size:11.5px}.nav-chip[data-v-f5e9d35e]{padding:5px 8px;font-size:11.5px}.avatar-chip[data-v-f5e9d35e]{padding:3px 8px 3px 3px}.avatar-chip span[data-v-f5e9d35e]{font-size:13px}.avatar-fallback[data-v-f5e9d35e]{width:26px;height:26px;font-size:11.5px}.sheet-btn[data-v-f5e9d35e]{border-radius:var(--hud-r-sm);min-height:40px;color:var(--hud-dim);white-space:nowrap;background:#101a2b;border:1px solid #27395c;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;font-weight:600;display:inline-flex}.sheet-btn.on[data-v-f5e9d35e]{color:#04120c;background:var(--hud-accent);border-color:var(--hud-accent);box-shadow:0 0 12px #35e0a04d}.sheet-ico[data-v-f5e9d35e]{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.topnav.sheet-on[data-v-f5e9d35e]{z-index:71}}@media (width<=639px){.brand[data-v-f5e9d35e]{flex:none}.brand>div[data-v-f5e9d35e]{display:none}.brand-glyph[data-v-f5e9d35e]{width:28px;height:28px}.nav-fps[data-v-f5e9d35e],.nav-user span[data-v-f5e9d35e]{display:none}.avatar-chip[data-v-f5e9d35e]{padding:3px}.sheet-btn-t[data-v-f5e9d35e]{display:none}.sheet-btn[data-v-f5e9d35e]{padding:0 10px}}.daq-list[data-v-da341b93],.scene-list[data-v-da341b93]{flex-direction:column;gap:4px;display:flex}.daq-card[data-v-da341b93]{border-radius:var(--hud-r-md);background:var(--hud-panel-2);cursor:grab;transition:transform .15s var(--hud-ease), border-color .15s var(--hud-ease), background .15s var(--hud-ease);border:1px solid #1f4a3a8c;align-items:center;gap:10px;margin-bottom:4px;padding:8px 9px;display:flex}.daq-card[data-v-da341b93]:hover{background:#12291f;border-color:#35e0a080;transform:translateY(-1px)}.daq-card[data-v-da341b93]:active{cursor:grabbing}.daq-ico[data-v-da341b93]{width:34px;height:34px;color:var(--hud-accent);background:linear-gradient(160deg,#12291f,#0e1a24);border:1px solid #1f4a3aa6;border-radius:9px;flex:none;place-items:center;display:grid}.daq-svg[data-v-da341b93]{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.daq-meta[data-v-da341b93]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.daq-name[data-v-da341b93]{color:var(--hud-text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.daq-code[data-v-da341b93]{font-family:var(--font-mono);letter-spacing:.08em;color:var(--hud-faint);font-size:10px}.daq-count[data-v-da341b93]{font-family:var(--font-mono);color:var(--hud-accent);background:#35e0a01a;border:1px solid #35e0a047;border-radius:6px;flex:none;padding:0 6px;font-size:10px;line-height:15px}.daq-group[data-v-da341b93]{flex-direction:column;display:flex}.daq-card.tpl[data-v-da341b93]{cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:0}.daq-card.tpl[data-v-da341b93]:active{cursor:pointer}.daq-card.tpl[data-v-da341b93]:focus-visible{outline:1px solid var(--hud-accent);outline-offset:1px}.daq-caret[data-v-da341b93]{color:var(--hud-faint);transition:transform .15s var(--hud-ease);flex:none;font-size:10px}.daq-card.tpl.open .daq-caret[data-v-da341b93]{transform:rotate(90deg)}.daq-card.tpl[data-v-da341b93]:hover{transform:none}.daq-add[data-v-da341b93]{width:18px;height:18px;color:var(--hud-faint);cursor:pointer;opacity:0;transition:opacity .15s var(--hud-ease), color .15s var(--hud-ease), border-color .15s var(--hud-ease), transform .16s cubic-bezier(.22, 1, .36, 1);background:0 0;border:1px solid #2c4568b3;border-radius:6px;flex:none;place-items:center;font-size:12px;line-height:1;display:grid}.daq-card.tpl:focus-within .daq-add[data-v-da341b93],.daq-card.tpl:hover .daq-add[data-v-da341b93]{opacity:1}@media (hover:none){.daq-add[data-v-da341b93]{opacity:1}}.daq-add[data-v-da341b93]:hover{color:var(--hud-accent);border-color:#35e0a080}.daq-add[data-v-da341b93]:active{transform:scale(.9)}.daq-children[data-v-da341b93]{animation:daq-tree-in-da341b93 .16s var(--hud-ease);flex-direction:column;gap:2px;margin:2px 0 6px;padding-left:16px;display:flex}@keyframes daq-tree-in-da341b93{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.daq-node[data-v-da341b93]{cursor:default;transition:background .15s var(--hud-ease), border-color .15s var(--hud-ease), transform .16s cubic-bezier(.22, 1, .36, 1);border:1px solid #0000;border-radius:7px;align-items:center;gap:8px;padding:5px 8px;display:flex}.daq-node[data-v-da341b93]:hover{background:#111b2c;border-color:#2c456899}.daq-node[draggable=true][data-v-da341b93]{cursor:grab}.daq-node[draggable=true][data-v-da341b93]:active{cursor:grabbing;transform:scale(.98)}.daq-node.placed[data-v-da341b93]{cursor:pointer}.daq-node.placed[draggable=true][data-v-da341b93]{cursor:grab}.node-dot[data-v-da341b93]{background:var(--hud-ok);width:7px;height:7px;box-shadow:0 0 6px color-mix(in srgb, var(--hud-ok) 50%, transparent);border-radius:50%;flex:none}.node-dot.offline[data-v-da341b93]{border:1px solid var(--hud-faint);box-shadow:none;background:0 0}.node-dot.warn[data-v-da341b93]{background:var(--hud-amber);box-shadow:0 0 6px color-mix(in srgb, var(--hud-amber) 50%, transparent)}.node-dot.alarm[data-v-da341b93]{background:var(--hud-danger);box-shadow:0 0 6px color-mix(in srgb, var(--hud-danger) 60%, transparent)}.daq-node .daq-name[data-v-da341b93]{font-size:11.5px;font-weight:500}.daq-node-sub[data-v-da341b93]{align-items:baseline;gap:7px;min-width:0;display:flex}.node-val[data-v-da341b93]{color:var(--hud-cyan);flex:none;font-size:10px}.node-dev[data-v-da341b93]{color:var(--hud-faint);white-space:nowrap;text-overflow:ellipsis;max-width:104px;font-size:9.5px;overflow:hidden}.daq-empty-hint[data-v-da341b93]{color:var(--hud-faint);padding:4px 8px 6px 10px;font-size:10px}.bind-select[data-v-da341b93]:hover,.daq-ctl-cycle input[data-v-da341b93]:hover,.daq-num[data-v-da341b93]:hover,.obj-input[data-v-da341b93]:hover,.obj-select[data-v-da341b93]:hover{border-color:var(--hud-line-hi)}.bind-select[data-v-da341b93]:focus,.daq-ctl-cycle input[data-v-da341b93]:focus,.daq-num[data-v-da341b93]:focus,.obj-input[data-v-da341b93]:focus,.obj-select[data-v-da341b93]:focus{border-color:var(--hud-accent);outline:none;box-shadow:0 0 0 3px #35e0a021}input[type=number][data-v-da341b93]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-da341b93]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-da341b93]{appearance:textfield}.daq-ctrl[data-v-da341b93]{background:var(--hud-panel);border:1px solid var(--hud-line);border-radius:var(--hud-r-sm);justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;display:flex}.daq-ctl-btn[data-v-da341b93]{font-family:var(--font-mono);letter-spacing:.05em;color:var(--hud-dim);cursor:pointer;border:1px solid var(--hud-line-hi);border-radius:var(--hud-r-sm);background:0 0;padding:4px 12px;font-size:11px}.daq-ctl-btn.on[data-v-da341b93]{color:var(--hud-accent);border-color:#35e0a073}.daq-ctl-cycle[data-v-da341b93]{color:var(--hud-faint);align-items:center;gap:5px;font-size:10.5px;display:inline-flex}.daq-ctl-cycle input[data-v-da341b93],.daq-num[data-v-da341b93]{width:64px;font-family:var(--font-mono);color:var(--hud-text);background:var(--hud-input);border:1px solid var(--hud-line);border-radius:6px;padding:2px 6px;font-size:11px}.daq-ctl-cycle[data-v-da341b93]:focus-visible,button[data-v-da341b93]:focus-visible,input[data-v-da341b93]:focus-visible,select[data-v-da341b93]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-da341b93]{min-height:40px}}.daq-list[data-v-eec89406],.scene-list[data-v-eec89406]{flex-direction:column;gap:4px;display:flex}.daq-card[data-v-eec89406]{border-radius:var(--hud-r-md);background:var(--hud-panel-2);cursor:grab;transition:transform .15s var(--hud-ease), border-color .15s var(--hud-ease), background .15s var(--hud-ease);border:1px solid #1f4a3a8c;align-items:center;gap:10px;margin-bottom:4px;padding:8px 9px;display:flex}.daq-card[data-v-eec89406]:hover{background:#12291f;border-color:#35e0a080;transform:translateY(-1px)}.daq-card[data-v-eec89406]:active{cursor:grabbing}.daq-ico[data-v-eec89406]{width:34px;height:34px;color:var(--hud-accent);background:linear-gradient(160deg,#12291f,#0e1a24);border:1px solid #1f4a3aa6;border-radius:9px;flex:none;place-items:center;display:grid}.daq-svg[data-v-eec89406]{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.daq-meta[data-v-eec89406]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.daq-name[data-v-eec89406]{color:var(--hud-text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.daq-code[data-v-eec89406]{font-family:var(--font-mono);letter-spacing:.08em;color:var(--hud-faint);font-size:10px}.daq-count[data-v-eec89406]{font-family:var(--font-mono);color:var(--hud-accent);background:#35e0a01a;border:1px solid #35e0a047;border-radius:6px;flex:none;padding:0 6px;font-size:10px;line-height:15px}.daq-group[data-v-eec89406]{flex-direction:column;display:flex}.daq-card.tpl[data-v-eec89406]{cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:0}.daq-card.tpl[data-v-eec89406]:active{cursor:pointer}.daq-card.tpl[data-v-eec89406]:focus-visible{outline:1px solid var(--hud-accent);outline-offset:1px}.daq-caret[data-v-eec89406]{color:var(--hud-faint);transition:transform .15s var(--hud-ease);flex:none;font-size:10px}.daq-card.tpl.open .daq-caret[data-v-eec89406]{transform:rotate(90deg)}.daq-card.tpl[data-v-eec89406]:hover{transform:none}.daq-add[data-v-eec89406]{width:18px;height:18px;color:var(--hud-faint);cursor:pointer;opacity:0;transition:opacity .15s var(--hud-ease), color .15s var(--hud-ease), border-color .15s var(--hud-ease), transform .16s cubic-bezier(.22, 1, .36, 1);background:0 0;border:1px solid #2c4568b3;border-radius:6px;flex:none;place-items:center;font-size:12px;line-height:1;display:grid}.daq-card.tpl:focus-within .daq-add[data-v-eec89406],.daq-card.tpl:hover .daq-add[data-v-eec89406]{opacity:1}@media (hover:none){.daq-add[data-v-eec89406]{opacity:1}}.daq-add[data-v-eec89406]:hover{color:var(--hud-accent);border-color:#35e0a080}.daq-add[data-v-eec89406]:active{transform:scale(.9)}.daq-children[data-v-eec89406]{animation:daq-tree-in-eec89406 .16s var(--hud-ease);flex-direction:column;gap:2px;margin:2px 0 6px;padding-left:16px;display:flex}@keyframes daq-tree-in-eec89406{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.daq-node[data-v-eec89406]{cursor:default;transition:background .15s var(--hud-ease), border-color .15s var(--hud-ease), transform .16s cubic-bezier(.22, 1, .36, 1);border:1px solid #0000;border-radius:7px;align-items:center;gap:8px;padding:5px 8px;display:flex}.daq-node[data-v-eec89406]:hover{background:#111b2c;border-color:#2c456899}.daq-node[draggable=true][data-v-eec89406]{cursor:grab}.daq-node[draggable=true][data-v-eec89406]:active{cursor:grabbing;transform:scale(.98)}.daq-node.placed[data-v-eec89406]{cursor:pointer}.daq-node.placed[draggable=true][data-v-eec89406]{cursor:grab}.node-dot[data-v-eec89406]{background:var(--hud-ok);width:7px;height:7px;box-shadow:0 0 6px color-mix(in srgb, var(--hud-ok) 50%, transparent);border-radius:50%;flex:none}.node-dot.offline[data-v-eec89406]{border:1px solid var(--hud-faint);box-shadow:none;background:0 0}.node-dot.warn[data-v-eec89406]{background:var(--hud-amber);box-shadow:0 0 6px color-mix(in srgb, var(--hud-amber) 50%, transparent)}.node-dot.alarm[data-v-eec89406]{background:var(--hud-danger);box-shadow:0 0 6px color-mix(in srgb, var(--hud-danger) 60%, transparent)}.daq-node .daq-name[data-v-eec89406]{font-size:11.5px;font-weight:500}.daq-node-sub[data-v-eec89406]{align-items:baseline;gap:7px;min-width:0;display:flex}.node-val[data-v-eec89406]{color:var(--hud-cyan);flex:none;font-size:10px}.node-dev[data-v-eec89406]{color:var(--hud-faint);white-space:nowrap;text-overflow:ellipsis;max-width:104px;font-size:9.5px;overflow:hidden}.daq-empty-hint[data-v-eec89406]{color:var(--hud-faint);padding:4px 8px 6px 10px;font-size:10px}button[data-v-eec89406]:focus-visible,input[data-v-eec89406]:focus-visible,select[data-v-eec89406]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-eec89406]{min-height:40px}}.scene-row[data-v-fc42bb88]{border-radius:var(--hud-r-md);cursor:grab;transition:background .15s var(--hud-ease), border-color .15s var(--hud-ease);border:1px solid #0000;align-items:center;gap:10px;margin-bottom:4px;padding:8px 9px;display:flex}.scene-row[data-v-fc42bb88]:hover{background:#111b2c}.scene-row.active[data-v-fc42bb88]{background:#35e0a00f;border-color:#35e0a059}.scene-row[data-v-fc42bb88]:active{cursor:grabbing}.scene-ico[data-v-fc42bb88]{background:color-mix(in srgb, var(--ch,var(--hud-accent)) 16%, #101a2c);border:1px solid color-mix(in srgb, var(--ch,var(--hud-accent)) 45%, transparent);border-radius:8px;flex:none;width:30px;height:30px}.scene-row.active .scene-ico[data-v-fc42bb88]{box-shadow:0 0 10px color-mix(in srgb, var(--ch,var(--hud-accent)) 40%, transparent)}.scene-meta-wrap[data-v-fc42bb88]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.scene-name[data-v-fc42bb88]{color:var(--hud-text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.scene-meta[data-v-fc42bb88]{font-family:var(--font-mono);color:var(--hud-faint);font-size:10px}.scene-add[data-v-fc42bb88],.scene-cur[data-v-fc42bb88]{border-radius:6px;flex:none;margin-left:auto;padding:1px 7px;font-size:10px}.scene-cur[data-v-fc42bb88]{color:var(--hud-accent);border:1px solid #35e0a066}.scene-add[data-v-fc42bb88]{color:var(--hud-dim);border:1px solid var(--hud-line)}.scene-hint[data-v-fc42bb88]{color:var(--hud-amber);padding:6px 4px 0;font-size:10px;line-height:1.5}button[data-v-fc42bb88]:focus-visible,input[data-v-fc42bb88]:focus-visible,select[data-v-fc42bb88]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-fc42bb88]{min-height:40px}}.model-preview-3d[data-v-ed056b0a]{border:1px solid var(--hud-line,#263340);background:radial-gradient(120% 90% at 50% 20%,#41c8f41f,#0000 62%),linear-gradient(#0b121b,#0e141d);border-radius:2px;width:100%;min-height:40px;position:relative;overflow:hidden}.mp-loading[data-v-ed056b0a]{place-items:center;display:grid;position:absolute;inset:0}.mp-spin[data-v-ed056b0a]{border:2px solid #41c8f440;border-top-color:#41c8f4;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite mp-spin-ed056b0a}@keyframes mp-spin-ed056b0a{to{transform:rotate(1turn)}}.mp-failed[data-v-ed056b0a]{font-family:var(--font-mono);letter-spacing:.12em;color:var(--hud-dim,#7f919e);place-items:center;font-size:10px;display:grid;position:absolute;inset:0}.asset-lib[data-v-f9b68f56]{width:184px;font-family:var(--font-body);flex-direction:column;flex:none;gap:8px;padding:0 0 10px;display:flex}.lib-head[data-v-f9b68f56]{border-bottom:1px solid #26334073;align-items:center;gap:7px;padding:10px 12px 6px;display:flex}.head-title[data-v-f9b68f56]{font-family:var(--font-mono);letter-spacing:.16em;color:var(--hud-text,#d9e4ee);white-space:nowrap;font-size:10px;font-weight:600}.head-hint[data-v-f9b68f56]{font-family:var(--font-mono);color:var(--hud-faint,#5b6c7b);white-space:nowrap;margin-left:auto;font-size:10px}.upload-box[data-v-f9b68f56]{transition:border-color .16s var(--hud-ease,ease), background .16s var(--hud-ease,ease);background:#0b101866;border:1px dashed #263340cc;border-radius:2px;flex-direction:column;gap:7px;margin:8px 10px 0;padding:7px;display:flex}.upload-box.drop[data-v-f9b68f56]{border-color:var(--hud-accent,#4da3ff);background:#4da3ff14}.upload-row[data-v-f9b68f56]{cursor:pointer;align-items:center;gap:6px;min-height:26px;display:flex}.file-input[data-v-f9b68f56]{display:none}.upload-name[data-v-f9b68f56]{font-family:var(--font-mono);color:var(--hud-dim,#8496a5);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:inline-flex;overflow:hidden}.upload-ico[data-v-f9b68f56]{color:var(--hud-accent,#4da3ff);font-size:13px}.drop-hint[data-v-f9b68f56]{font-family:var(--font-mono);letter-spacing:.08em;color:var(--hud-accent,#4da3ff);align-items:center;gap:5px;padding:2px 0 4px;font-size:10px;display:inline-flex}.upload-file-tag[data-v-f9b68f56]{font-family:var(--font-mono);color:var(--hud-dim,#8496a5);border:1px solid var(--hud-line,#263340);border-radius:2px;padding:3px 6px;font-size:9.5px}.upload-actions[data-v-f9b68f56]{align-items:center;gap:6px;display:flex}.upload-btn[data-v-f9b68f56]{font-family:var(--font-mono);letter-spacing:.06em;color:var(--hud-text,#d9e4ee);background:var(--hud-panel-raised,#141b26);border:1px solid var(--hud-line,#263340);cursor:pointer;transition:border-color .14s var(--hud-ease,ease), color .14s var(--hud-ease,ease);border-radius:2px;padding:5px 10px;font-size:10px;font-weight:600}.upload-btn[data-v-f9b68f56]:hover:not(:disabled){border-color:var(--hud-accent,#4da3ff);color:var(--hud-accent,#4da3ff)}.upload-btn[data-v-f9b68f56]:disabled{opacity:.45;cursor:default}.upload-btn.go[data-v-f9b68f56]{color:var(--hud-amber,#f5a742);background:#f5a74214;border-color:#f5a7428c}.upload-btn.go[data-v-f9b68f56]:hover:not(:disabled){border-color:var(--hud-amber,#f5a742);color:var(--hud-amber,#f5a742);background:#f5a74229}.mini-err[data-v-f9b68f56]{font-family:var(--font-mono);color:var(--hud-danger,#ff6b5c);font-size:9.5px}.mini-err[data-v-f9b68f56],.mini-msg[data-v-f9b68f56]{font-size:10px}.mini-msg[data-v-f9b68f56]{font-family:var(--font-mono);color:var(--hud-dim,#8496a5);padding:0 10px}.lib-grid[data-v-f9b68f56]{flex-direction:column;gap:4px;max-height:42vh;padding:6px 10px 2px;display:flex;overflow:hidden auto}.model-card[data-v-f9b68f56]{cursor:grab;transition:background .14s var(--hud-ease,ease);background:#141b26a6;border:0;border-radius:2px;flex-direction:column;align-items:stretch;gap:4px;padding:6px;display:flex;position:relative}.model-card[data-v-f9b68f56]:hover{background:var(--hud-panel-hover,#1a2432)}.model-card[data-v-f9b68f56]:active{cursor:grabbing}.model-card .model-preview-3d[data-v-f9b68f56]{margin-bottom:2px}.model-name[data-v-f9b68f56]{color:var(--hud-text,#d9e4ee);text-align:left;text-overflow:ellipsis;white-space:nowrap;padding:0 2px;font-size:11px;font-weight:600;overflow:hidden}.model-badge[data-v-f9b68f56]{font-family:var(--font-mono);letter-spacing:.08em;color:var(--hud-faint,#5b6c7b);text-align:left;padding:0 2px;font-size:10px}.card-actions[data-v-f9b68f56]{justify-content:flex-end;gap:4px;display:flex}.card-btn[data-v-f9b68f56]{font-family:var(--font-mono);letter-spacing:.06em;color:var(--hud-text,#d9e4ee);border:1px solid var(--hud-line,#263340);cursor:pointer;transition:border-color .14s var(--hud-ease,ease), color .14s var(--hud-ease,ease);background:0 0;border-radius:2px;padding:2px 8px;font-size:10px;font-weight:600}.card-btn[data-v-f9b68f56]:hover:not(:disabled){border-color:var(--hud-accent,#4da3ff);color:var(--hud-accent,#4da3ff)}.card-btn.danger[data-v-f9b68f56]{color:var(--hud-danger,#ff6b5c)}.card-btn.danger[data-v-f9b68f56]:hover:not(:disabled){border-color:var(--hud-danger,#ff6b5c);color:var(--hud-danger,#ff6b5c)}.card-btn[data-v-f9b68f56]:disabled{opacity:.45;cursor:default}.model-img[data-v-f9b68f56]{-o-object-fit:contain;object-fit:contain;pointer-events:none;width:46px;height:68px}.model-img.glb[data-v-f9b68f56]{background:var(--hud-input,#0b1018);border:1px dashed var(--hud-line,#263340);border-radius:2px;justify-content:center;align-items:center;width:100%;height:44px;display:inline-flex}.glb-cube[data-v-f9b68f56]{color:var(--hud-faint,#5b6c7b);font-size:24px;line-height:1}.lib-note[data-v-f9b68f56]{font-family:var(--font-mono);color:var(--hud-faint,#5b6c7b);align-items:center;gap:7px;padding:8px 2px;font-size:9.5px;display:flex}.loading-dot[data-v-f9b68f56]{border:2px solid var(--hud-line,#263340);border-top-color:var(--hud-accent,#4da3ff);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin-f9b68f56}@keyframes spin-f9b68f56{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.loading-dot[data-v-f9b68f56]{animation:none}}.rail[data-v-1c78d963]{background:linear-gradient(#0a101c,#080d16);flex-direction:column;gap:10px;min-height:0;padding:10px;display:flex;overflow:hidden auto}.rail-left[data-v-1c78d963]{border-right:1px solid var(--hud-line-soft)}.rail[data-v-1c78d963]::-webkit-scrollbar{width:8px}.rail[data-v-1c78d963]::-webkit-scrollbar-thumb{background:#1c2942;border:2px solid #080d16;border-radius:4px}.rail[data-v-1c78d963]::-webkit-scrollbar-track{background:0 0}.panel[data-v-1c78d963]{border:1px solid var(--hud-line);border-radius:var(--hud-r-lg);background:linear-gradient(#101827,#0d1420);flex:none;padding:12px;position:relative;box-shadow:inset 0 1px #8fb0dc12,0 10px 28px #03070e73}.panel[data-v-1c78d963]:before{content:"";border-radius:var(--hud-r-lg) var(--hud-r-lg) 0 0;pointer-events:none;background:linear-gradient(#78a5dc0e,#0000);height:44px;position:absolute;inset:0 0 auto}.panel-hd[data-v-1c78d963]{align-items:center;gap:8px;margin-bottom:10px;display:flex}.panel-hd h3[data-v-1c78d963]{letter-spacing:.02em;flex:1;margin:0;padding-left:11px;font-size:12.5px;font-weight:700;position:relative}.panel-hd h3[data-v-1c78d963]:before{content:"";background:var(--hud-accent);width:3px;height:12px;box-shadow:0 0 8px color-mix(in srgb, var(--hud-accent) 45%, transparent);border-radius:2px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.panel-tag[data-v-1c78d963]{font-family:var(--font-mono);color:var(--hud-cyan);background:#41c8f41a;border:1px solid #41c8f440;border-radius:6px;padding:0 6px;font-size:9.5px;line-height:15px}.lib-embed[data-v-1c78d963]{margin:-4px 0 0}@media (prefers-reduced-motion:no-preference){.dock[data-v-1c78d963],.rail-left[data-v-1c78d963],.rail-right[data-v-1c78d963]{animation:.52s cubic-bezier(.22,.68,.36,1) backwards hud-boot-1c78d963}.rail-left[data-v-1c78d963]{animation-delay:40ms}.rail-right[data-v-1c78d963]{animation-delay:.15s}.dock[data-v-1c78d963]{animation-delay:.26s}}@keyframes hud-boot-1c78d963{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.dock-toggle[data-v-1c78d963],.sheet-btn[data-v-1c78d963],.sheet-hd[data-v-1c78d963]{display:none}button[data-v-1c78d963]:focus-visible,input[data-v-1c78d963]:focus-visible,select[data-v-1c78d963]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){.rail[data-v-1c78d963]{z-index:70;overscroll-behavior:contain;border:0;border-top:1px solid var(--hud-line-hi);visibility:hidden;width:auto;max-height:min(76dvh,640px);transition:transform .26s var(--hud-ease), visibility 0s linear .26s;background:linear-gradient(#0c1420,#080d16 46%);border-radius:16px 16px 0 0;gap:8px;padding:0 10px 12px;position:fixed;inset:auto 0 0;overflow-y:auto;transform:translateY(103%);box-shadow:0 -18px 46px #0009}.rail.sheet-open[data-v-1c78d963]{visibility:visible;transition:transform .26s var(--hud-ease), visibility 0s;transform:none}.rail-left[data-v-1c78d963],.rail-right[data-v-1c78d963]{border-left:0;border-right:0}.rail .panel[data-v-1c78d963]{flex:none}.sheet-hd[data-v-1c78d963]{z-index:2;border-bottom:1px solid var(--hud-line-soft);background:linear-gradient(#0e1725,#0c1420);align-items:center;gap:8px;margin:0 -10px 2px;padding:13px 12px 9px;display:flex;position:sticky;top:0}.sheet-grip[data-v-1c78d963]{background:#2c4568;border-radius:2px;width:40px;height:3px;margin-left:-20px;position:absolute;top:6px;left:50%}.sheet-hd-t[data-v-1c78d963]{color:var(--hud-text);letter-spacing:.04em;font-size:13px;font-weight:700}.sheet-x[data-v-1c78d963]{border:1px solid var(--hud-line);width:40px;height:40px;color:var(--hud-dim);background:#101a2b;border-radius:8px;flex:none;margin-left:auto;font-size:15px}}@media (prefers-reduced-motion:reduce){.rail[data-v-1c78d963]{transition:none}}@media (width<=1023px){button[data-v-1c78d963]{min-height:40px}}.stage-top[data-v-2a11f411]{z-index:6;pointer-events:none;justify-content:space-between;align-items:flex-start;padding:14px 16px;display:flex;position:absolute;top:0;left:0;right:0}.stage-top[data-v-2a11f411]>*{pointer-events:auto}.vp-title[data-v-2a11f411]{border-radius:var(--hud-r-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#090e18b8;border:1px solid #1c2942;align-items:center;gap:10px;padding:8px 12px;display:flex}.vp-title h2[data-v-2a11f411]{letter-spacing:.02em;margin:0;font-size:15px;font-weight:700}.vp-id[data-v-2a11f411]{font-family:var(--font-mono);letter-spacing:.04em;color:var(--hud-dim);white-space:nowrap;background:#0a111d99;border:1px solid #223050;border-radius:6px;padding:1px 8px;font-size:10px}.vp-tools[data-v-2a11f411]{align-items:center;gap:8px;display:flex}.vp-tool[data-v-2a11f411]{width:34px;height:34px;color:var(--hud-dim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:color .15s var(--hud-ease), border-color .15s var(--hud-ease), background .15s var(--hud-ease);background:#0d1420d9;border:1px solid #223050;border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid}.vp-tool[data-v-2a11f411]:hover{color:var(--hud-text);border-color:#33507c}.vp-tool.on[data-v-2a11f411]{color:#04120c;background:var(--hud-accent);border-color:var(--hud-accent);box-shadow:0 0 12px #35e0a04d}.vp-svg[data-v-2a11f411]{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.leaders[data-v-2a11f411]{z-index:7;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.angle-chip[data-v-2a11f411]{z-index:6;border-radius:var(--hud-r-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--hud-dim);background:#090e18c7;border:1px solid #1c2942;align-items:center;gap:6px;padding:5px 8px;font-size:11.5px;display:flex;position:absolute;top:64px;left:16px}.angle-chip select[data-v-2a11f411]{color:var(--hud-text);cursor:pointer;background:0 0;border:0;font-size:11.5px;font-weight:600}.angle-chip select option[data-v-2a11f411]{background:#0e1626}.vp-title h2[data-v-2a11f411]{color:var(--hud-text)}.vp-tool[data-v-2a11f411]:active{transform:scale(.96)}vp-tool[data-v-2a11f411]{transition-property:filter,background,border-color,color,transform,opacity;transition-duration:.15s;transition-timing-function:var(--hud-ease)}button[data-v-2a11f411]:focus-visible,input[data-v-2a11f411]:focus-visible,select[data-v-2a11f411]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-2a11f411]{min-height:40px}.stage-top[data-v-2a11f411]{flex-wrap:wrap;gap:8px;padding:10px 12px}.vp-title[data-v-2a11f411]{gap:8px;padding:6px 10px}.vp-title h2[data-v-2a11f411]{font-size:14px}.vp-id[data-v-2a11f411]{font-size:11.5px}.vp-tool[data-v-2a11f411]{width:40px;height:40px}.vp-svg[data-v-2a11f411]{width:17px;height:17px}.angle-chip[data-v-2a11f411]{min-height:40px;padding:4px 10px;font-size:13px;top:58px;left:12px}.angle-chip select[data-v-2a11f411]{font-size:13px}}@media (width<=639px){.stage-top[data-v-2a11f411]{padding:8px 10px}.vp-tools[data-v-2a11f411]{gap:6px}.vp-tool[data-v-2a11f411]{width:40px;height:40px}.angle-chip[data-v-2a11f411]{top:54px;left:10px}}.callout-layer[data-v-f4158f42]{z-index:7;pointer-events:none;position:absolute;inset:0;overflow:hidden}.callout[data-v-f4158f42]{opacity:0;pointer-events:none;border-radius:var(--hud-r-md);min-width:150px;box-shadow:var(--hud-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .22s var(--hud-ease), transform .22s var(--hud-ease), border-color .15s var(--hud-ease);background:linear-gradient(#101a2bf0,#0a101cf0);border:1px solid #41c8f466;padding:9px 12px 8px;position:absolute;transform:translate(-50%,-112%)translateY(5px)}.callout.near[data-v-f4158f42]{opacity:1;pointer-events:auto;transform:translate(-50%,-112%)}.leaders g[data-v-f4158f42]{opacity:0;transition:opacity .22s var(--hud-ease)}.leaders g.near[data-v-f4158f42]{opacity:1}.callout.warn[data-v-f4158f42]{border-color:#f6c45399}.co-label[data-v-f4158f42]{color:var(--hud-dim);white-space:nowrap;align-items:center;gap:6px;font-size:10.5px;display:flex}.co-dot[data-v-f4158f42]{background:var(--hud-cyan);border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 8px #41c8f4e6}.callout.warn .co-dot[data-v-f4158f42]{background:var(--hud-amber);box-shadow:0 0 8px #f6c453e6}.co-val[data-v-f4158f42]{font-family:var(--font-mono);letter-spacing:-.01em;color:var(--hud-text);font-variant-numeric:tabular-nums;margin-top:2px;font-size:21px;font-weight:700}.co-val small[data-v-f4158f42]{color:var(--hud-dim);margin-left:3px;font-size:10.5px;font-weight:500}.co-range[data-v-f4158f42]{font-family:var(--font-mono);color:var(--hud-faint);margin-top:1px;font-size:9.5px}.callout.warn .co-range[data-v-f4158f42]{color:var(--hud-amber)}button[data-v-f4158f42]:focus-visible,input[data-v-f4158f42]:focus-visible,select[data-v-f4158f42]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-f4158f42]{min-height:40px}}@media (prefers-reduced-motion:reduce){.callout[data-v-f4158f42]{animation:none}}.kpi-strip[data-v-4fd4f40a]{z-index:6;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:10px;padding:0 16px;display:flex;position:absolute;bottom:12px;left:0;right:0}.kpi[data-v-4fd4f40a]{pointer-events:auto;border-radius:var(--hud-r-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .2s var(--hud-ease), transform .2s var(--hud-ease), box-shadow .2s var(--hud-ease);background:linear-gradient(#141e30eb,#0c1320e6);border:1px solid #1e2c46;align-items:center;gap:10px;padding:8px 14px;display:flex;box-shadow:inset 0 1px #8fb0dc14,0 8px 20px #03070e66}.kpi[data-v-4fd4f40a]:hover{border-color:#2c4568;transform:translateY(-1px);box-shadow:inset 0 1px #8fb0dc1a,0 12px 26px #03070e80}.kpi-ico[data-v-4fd4f40a]{border-radius:8px;flex:none;place-items:center;width:30px;height:30px;font-size:12px;font-weight:700;display:grid}.kpi-ico.c1[data-v-4fd4f40a]{color:var(--hud-cyan);background:#41c8f41f}.kpi-ico.c2[data-v-4fd4f40a]{color:var(--hud-accent);background:#35e0a01f}.kpi-ico.c3[data-v-4fd4f40a]{color:var(--hud-amber);background:#f6c4531f}.kpi-ico.c4[data-v-4fd4f40a]{color:#a78bfa;background:#a78bfa24}.kpi-ico.c5[data-v-4fd4f40a]{color:var(--hud-danger);background:#ff6b6b1f}.kpi-svg[data-v-4fd4f40a]{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.kpi-meta[data-v-4fd4f40a]{line-height:1.25}.kpi-label[data-v-4fd4f40a]{color:var(--hud-dim);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.kpi-val[data-v-4fd4f40a]{font-family:var(--font-mono);color:var(--hud-text);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:19px;font-weight:700}.kpi-val small[data-v-4fd4f40a]{color:var(--hud-faint);margin-left:2px;font-size:10px;font-weight:500}button[data-v-4fd4f40a]:focus-visible,input[data-v-4fd4f40a]:focus-visible,select[data-v-4fd4f40a]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-4fd4f40a]{min-height:40px}.kpi-strip[data-v-4fd4f40a]{overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;gap:8px;padding:0 12px;bottom:10px;overflow-x:auto}.kpi-strip[data-v-4fd4f40a]::-webkit-scrollbar{display:none}.kpi[data-v-4fd4f40a]{flex:none;gap:8px;padding:6px 10px}.kpi-ico[data-v-4fd4f40a]{width:28px;height:28px}.kpi-label[data-v-4fd4f40a]{font-size:11.5px}.kpi-val[data-v-4fd4f40a]{font-size:13px}.kpi-val small[data-v-4fd4f40a]{font-size:11.5px}}@media (width<=639px){.kpi-strip[data-v-4fd4f40a]{padding:0 10px}}.bp-range[data-v-4018844c]{accent-color:var(--hud-accent)}.bp-val[data-v-4018844c]{text-align:right;width:40px;font-family:var(--font-mono);color:var(--hud-text);font-variant-numeric:tabular-nums;flex:none;font-size:10.5px}.bp-seg[data-v-4018844c]{gap:4px;display:flex}.seg-btn[data-v-4018844c]{color:var(--hud-dim);background:var(--hud-input);border:1px solid var(--hud-line);cursor:pointer;transition:border-color .14s var(--hud-ease), color .14s var(--hud-ease), background .14s var(--hud-ease);border-radius:7px;padding:4px 12px;font-size:10.5px;font-weight:600}.seg-btn[data-v-4018844c]:hover{border-color:var(--hud-line-hi);color:var(--hud-text)}.seg-btn.on[data-v-4018844c]{color:#04120c;background:var(--hud-accent);border-color:var(--hud-accent)}.boundary-panel[data-v-4018844c]{z-index:9;border:1px solid var(--hud-line);border-radius:var(--hud-r-lg);width:302px;box-shadow:var(--hud-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;background:linear-gradient(#101827f7,#0d1420f7);flex-direction:column;gap:7px;padding:12px 14px;display:flex;position:absolute;top:84px;left:16px}.bp-title[data-v-4018844c]{border-bottom:1px solid var(--hud-line);cursor:grab;touch-action:none;align-items:center;gap:8px;padding-bottom:8px;display:flex}.bp-title[data-v-4018844c]:active{cursor:grabbing}.bp-name[data-v-4018844c]{color:var(--hud-text);font-size:13px;font-weight:700}.bp-sub[data-v-4018844c]{font-family:var(--font-mono);letter-spacing:.12em;color:var(--hud-faint);font-size:10px}.bp-tabs[data-v-4018844c]{gap:4px;margin-left:auto;display:flex}.bp-tab[data-v-4018844c]{color:var(--hud-dim);background:var(--hud-input);border:1px solid var(--hud-line);cursor:pointer;border-radius:6px;padding:3px 10px;font-size:10px;font-weight:600}.bp-tab.on[data-v-4018844c]{color:#04120c;background:var(--hud-accent);border-color:var(--hud-accent)}.bp-row[data-v-4018844c]{align-items:center;gap:8px;display:flex}.bp-label[data-v-4018844c]{width:52px;color:var(--hud-dim);flex:none;font-size:10.5px}.bp-range[data-v-4018844c]{appearance:none;background:linear-gradient(90deg, var(--hud-accent-dim) var(--fill,50%), #1d2a42 var(--fill,50%));cursor:pointer;border-radius:2px;flex:1;height:4px}.bp-range[data-v-4018844c]::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--hud-accent);width:12px;height:12px;-webkit-transition:transform .15s var(--hud-ease);transition:transform .15s var(--hud-ease);background:#fff;border-radius:50%}.bp-range[data-v-4018844c]:hover::-webkit-slider-thumb{transform:scale(1.15)}.bp-hint[data-v-4018844c]{color:var(--hud-faint);font-size:10px;line-height:1.6}.bp-actions[data-v-4018844c]{gap:6px;margin-top:4px;display:flex}.bp-btn[data-v-4018844c]{color:var(--hud-text);border-radius:var(--hud-r-sm);cursor:pointer;background:0 0;border:1px solid #27395c;flex:1;padding:6px 10px;font-size:11px;font-weight:600}.bp-btn[data-v-4018844c]:hover{background:#14203a;border-color:#33507c}.bp-btn.save[data-v-4018844c]{color:#04120c;background:var(--hud-accent-dim);border-color:var(--hud-accent-dim)}.bp-btn.save[data-v-4018844c]:hover{background:#25b57e}.bp-btn.danger[data-v-4018844c]{color:var(--hud-danger);border-color:#ff6b6b66}.bp-btn.danger[data-v-4018844c]:hover{background:#ff6b6b1a}.member-list[data-v-4018844c]{flex-direction:column;gap:5px;max-height:220px;display:flex;overflow:hidden auto}.member-row[data-v-4018844c]{background:var(--hud-panel-2);border:1px solid var(--hud-line-soft);border-radius:var(--hud-r-md);align-items:center;gap:8px;padding:6px 8px;display:flex}.member-ava[data-v-4018844c]{width:24px;height:24px;font-family:var(--font-mono);color:var(--hud-text);background:var(--hud-panel-raised);border:1px solid var(--hud-line);border-radius:7px;flex:none;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.member-info[data-v-4018844c]{flex-direction:column;flex:1;min-width:0;display:flex}.member-name[data-v-4018844c]{color:var(--hud-text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.member-role[data-v-4018844c]{font-family:var(--font-mono);letter-spacing:.06em;color:var(--hud-faint);font-size:10px}.member-role.r-lead[data-v-4018844c]{color:var(--hud-amber)}.member-role.r-worker[data-v-4018844c]{color:var(--hud-cyan)}.member-select[data-v-4018844c]{min-width:0;color:var(--hud-text);background:var(--hud-input);border:1px solid var(--hud-line);border-radius:6px;flex:1;padding:3px 6px;font-size:10px}.drag-grip[data-v-4018844c]{cursor:grab;touch-action:none}.drag-grip[data-v-4018844c]:active{cursor:grabbing}.drag-panel[data-v-4018844c]{will-change:left, top}.bp-btn[data-v-4018844c]:active{transform:scale(.96)}bp-btn[data-v-4018844c]{transition-property:filter,background,border-color,color,transform,opacity;transition-duration:.15s;transition-timing-function:var(--hud-ease)}.bp-range[data-v-4018844c]:focus-visible,button[data-v-4018844c]:focus-visible,input[data-v-4018844c]:focus-visible,select[data-v-4018844c]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-4018844c]{min-height:40px}}.dock-toggle[data-v-c7a36f4d]{display:none}.dock-hd[data-v-c7a36f4d]{align-items:center;gap:8px;margin-bottom:10px;display:flex}.dock-hd h3[data-v-c7a36f4d]{flex:none;margin:0;font-size:12.5px;font-weight:700}.dock-count[data-v-c7a36f4d]{letter-spacing:.08em;color:var(--hud-dim);border:1px solid var(--hud-line-soft);border-radius:6px;flex:none;padding:1px 7px;font-size:9.5px}.dock-mode[data-v-c7a36f4d]{font-family:var(--font-mono);letter-spacing:.1em;color:var(--hud-faint);border:1px solid var(--hud-line);border-radius:6px;margin-left:auto;padding:1px 7px;font-size:10px}.ctl-row[data-v-c7a36f4d]{align-items:center;gap:10px;margin-bottom:9px;display:flex}.ctl-sec[data-v-c7a36f4d]{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--hud-faint);border-top:1px solid var(--hud-line-soft);margin:2px 0 7px;padding-top:7px;font-size:10px;font-weight:600}.ctl-sec[data-v-c7a36f4d]:first-of-type{border-top:0;margin-top:0;padding-top:0}.ctl-name[data-v-c7a36f4d]{color:var(--hud-dim);flex:none;width:64px;font-size:11.5px}.ctl-val[data-v-c7a36f4d]{font-family:var(--font-mono);color:var(--hud-text);text-align:right;font-variant-numeric:tabular-nums;flex:none;width:38px;font-size:11px}.ctl-range[data-v-c7a36f4d]{appearance:none;background:linear-gradient(90deg, var(--hud-accent-dim) var(--fill,50%), #1d2a42 var(--fill,50%));cursor:pointer;border-radius:2px;flex:1;height:4px}.ctl-range[data-v-c7a36f4d]::-webkit-slider-thumb{-webkit-appearance:none;border:2.5px solid var(--hud-accent);width:13px;height:13px;-webkit-transition:transform .15s var(--hud-ease), box-shadow .15s var(--hud-ease);transition:transform .15s var(--hud-ease), box-shadow .15s var(--hud-ease);background:#fff;border-radius:50%;box-shadow:0 1px 4px #00000080}.ctl-range[data-v-c7a36f4d]:hover::-webkit-slider-thumb{transform:scale(1.18);box-shadow:0 0 0 5px #35e0a01f,0 1px 4px #00000080}.ctl-range[data-v-c7a36f4d]:active::-webkit-slider-thumb{transform:scale(1.05)}.bp-range[data-v-c7a36f4d]{accent-color:var(--hud-accent)}.bp-range[data-v-c7a36f4d]::-webkit-slider-thumb{-webkit-transition:transform .15s var(--hud-ease);transition:transform .15s var(--hud-ease)}.bp-range[data-v-c7a36f4d]:hover::-webkit-slider-thumb{transform:scale(1.15)}.snap-toggle[data-v-c7a36f4d]{height:22px;color:var(--hud-dim);background:var(--hud-input);border:1px solid var(--hud-line);cursor:pointer;border-radius:6px;flex:1;font-size:10.5px;font-weight:600}.snap-toggle.on[data-v-c7a36f4d]{color:var(--hud-accent);background:#35e0a014;border-color:#35e0a066}.fps-seg[data-v-c7a36f4d]{flex:1;gap:4px;display:flex}.fps-seg button[data-v-c7a36f4d]{height:22px;font-family:var(--font-mono);color:var(--hud-dim);background:var(--hud-input);border:1px solid var(--hud-line);cursor:pointer;transition:border-color .14s var(--hud-ease), color .14s var(--hud-ease), background .14s var(--hud-ease);border-radius:6px;flex:1;font-size:10.5px;font-weight:600}.fps-seg button[data-v-c7a36f4d]:hover{border-color:var(--hud-line-hi);color:var(--hud-text)}.fps-seg button.on[data-v-c7a36f4d]{color:var(--hud-accent);background:#35e0a014;border-color:#35e0a066}.ctl-btns[data-v-c7a36f4d]{gap:8px;margin-top:auto;display:flex}.btn[data-v-c7a36f4d]{border-radius:var(--hud-r-sm);white-space:nowrap;cursor:pointer;height:32px;transition:filter .15s var(--hud-ease), background .15s var(--hud-ease), border-color .15s var(--hud-ease);background:0 0;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.btn-primary[data-v-c7a36f4d]{background:var(--hud-accent-dim);color:#04120c}.btn-primary[data-v-c7a36f4d]:hover{background:#25b57e}.btn-ghost[data-v-c7a36f4d]{color:var(--hud-text);border:1px solid #27395c}.btn-ghost[data-v-c7a36f4d]:hover{background:#14203a;border-color:#33507c}.btn-danger[data-v-c7a36f4d]{color:#fff;background:#b3273a}.btn-danger[data-v-c7a36f4d]:hover{background:#d1304a}.btn[data-v-c7a36f4d]:not(:disabled):active{transform:translateY(1px)}.bind-select[data-v-c7a36f4d]:disabled,.btn[data-v-c7a36f4d]:disabled,.nav-action[data-v-c7a36f4d]:disabled,.obj-input[data-v-c7a36f4d]:disabled,.obj-mini[data-v-c7a36f4d]:disabled,.obj-select[data-v-c7a36f4d]:disabled{opacity:.38;cursor:not-allowed;filter:saturate(.4)}.btn[data-v-c7a36f4d]:disabled:hover,.nav-action[data-v-c7a36f4d]:disabled:hover{background:inherit}@keyframes estop-pulse-c7a36f4d{50%{filter:brightness(1.35)}}.btn-danger.armed[data-v-c7a36f4d]{animation:1s ease-in-out infinite estop-pulse-c7a36f4d}.btn[data-v-c7a36f4d]:active,.snap-toggle[data-v-c7a36f4d]:active{transform:scale(.96)}btn[data-v-c7a36f4d],snap-toggle[data-v-c7a36f4d]{transition-property:filter,background,border-color,color,transform,opacity;transition-duration:.15s;transition-timing-function:var(--hud-ease)}.snap-toggle[data-v-c7a36f4d]:focus-visible,button[data-v-c7a36f4d]:focus-visible,input[data-v-c7a36f4d]:focus-visible,select[data-v-c7a36f4d]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-c7a36f4d]{min-height:40px}.dock-toggle[data-v-c7a36f4d]{border:0;border-top:1px solid var(--hud-line-soft);width:100%;min-height:44px;color:var(--hud-text);text-align:left;background:linear-gradient(#101827,#0c131f);align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:600;display:flex}.dock-toggle-t[data-v-c7a36f4d]{flex:none}.dock-toggle-hint[data-v-c7a36f4d]{color:var(--hud-faint);letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.dock-caret[data-v-c7a36f4d]{color:var(--hud-dim);transition:transform .2s var(--hud-ease);flex:none;margin-left:auto}.dock.dock-open .dock-caret[data-v-c7a36f4d]{transform:rotate(180deg)}.dock-hd h3[data-v-c7a36f4d]{font-size:13px}.dock-count[data-v-c7a36f4d],.dock-mode[data-v-c7a36f4d],.ctl-sec[data-v-c7a36f4d]{font-size:11.5px}.ctl-row[data-v-c7a36f4d]{flex-wrap:wrap;gap:6px 10px}.ctl-name[data-v-c7a36f4d]{width:auto;min-width:62px;font-size:13px}.ctl-val[data-v-c7a36f4d]{width:auto;min-width:38px;font-size:12.5px}.fps-seg[data-v-c7a36f4d]{flex-wrap:wrap}.fps-seg button[data-v-c7a36f4d]{padding:0 10px;font-size:13px}.snap-toggle[data-v-c7a36f4d]{font-size:11.5px}}@media (prefers-reduced-motion:reduce){.dock-caret[data-v-c7a36f4d]{transition:none}}@media (width<=1023px){.ctl-val[data-v-c7a36f4d]{font-size:12.5px}.dock-hd h3[data-v-c7a36f4d]{font-size:13px}}.dock-hd[data-v-56688a45]{align-items:center;gap:8px;margin-bottom:10px;display:flex}.dock-hd h3[data-v-56688a45]{flex:none;margin:0;font-size:12.5px;font-weight:700}.dock-count[data-v-56688a45]{letter-spacing:.08em;color:var(--hud-dim);border:1px solid var(--hud-line-soft);border-radius:6px;flex:none;padding:1px 7px;font-size:9.5px}.dock-mode[data-v-56688a45]{font-family:var(--font-mono);letter-spacing:.1em;color:var(--hud-faint);border:1px solid var(--hud-line);border-radius:6px;margin-left:auto;padding:1px 7px;font-size:10px}.trend-legend[data-v-56688a45]{scrollbar-width:thin;scrollbar-color:#1c2942 transparent;flex-wrap:wrap;flex:auto;align-content:flex-start;gap:5px;min-width:0;max-height:47px;margin-left:6px;transition:max-height .24s cubic-bezier(.22,.68,.36,1);display:flex;overflow-y:auto}.trend-legend.expanded[data-v-56688a45]{max-height:100px}.trend-legend[data-v-56688a45]::-webkit-scrollbar{width:6px}.trend-legend[data-v-56688a45]::-webkit-scrollbar-thumb{background:#1c2942;border-radius:3px}.trend-legend[data-v-56688a45]::-webkit-scrollbar-track{background:0 0}.lg-chip[data-v-56688a45]{color:var(--hud-dim);border:1px solid var(--hud-line-soft);cursor:pointer;transition:opacity .15s var(--hud-ease), border-color .15s var(--hud-ease), color .15s var(--hud-ease);background:#0d142099;border-radius:6px;align-items:center;gap:5px;padding:2px 8px;font-size:10.5px;display:flex}.lg-chip[data-v-56688a45]:hover{border-color:var(--hud-line-hi);color:var(--hud-text)}.lg-chip.off[data-v-56688a45]{opacity:.32}.lg-more[data-v-56688a45]{letter-spacing:.04em;color:var(--hud-faint);border-style:dashed;font-size:10px}.lg-more[data-v-56688a45]:hover{color:var(--hud-accent);border-color:#35e0a066}.lg-dot[data-v-56688a45]{border-radius:2px;width:7px;height:7px}.trend-wrap[data-v-56688a45]{flex:1;min-height:0;position:relative}.trend-cv[data-v-56688a45]{width:100%;height:100%;position:absolute;inset:0}.trend-empty[data-v-56688a45]{font-family:var(--font-mono);color:var(--hud-faint);place-content:center;font-size:10.5px;display:grid;position:absolute;inset:0}.lg-chip[data-v-56688a45]:active{transform:scale(.96)}lg-chip[data-v-56688a45]{transition-property:filter,background,border-color,color,transform,opacity;transition-duration:.15s;transition-timing-function:var(--hud-ease)}button[data-v-56688a45]:focus-visible,input[data-v-56688a45]:focus-visible,select[data-v-56688a45]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-56688a45]{min-height:40px}.dock-hd h3[data-v-56688a45]{font-size:13px}.dock-count[data-v-56688a45],.dock-mode[data-v-56688a45],.lg-chip[data-v-56688a45],.trend-empty[data-v-56688a45]{font-size:11.5px}}.loading-mask[data-v-e73bf2bd]{z-index:90;background:var(--hud-bg);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:fixed;inset:0}.loading-spinner[data-v-e73bf2bd]{border:2.5px solid var(--hud-line);border-top-color:var(--hud-accent);border-radius:50%;width:30px;height:30px;animation:.9s linear infinite spin-e73bf2bd}.loading-text[data-v-e73bf2bd]{font-family:var(--font-mono);letter-spacing:.24em;color:var(--hud-dim);font-size:11px}@keyframes spin-e73bf2bd{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.loading-spinner[data-v-e73bf2bd],.rpg-line.live .rpg-bubble[data-v-e73bf2bd],.ty-dot[data-v-e73bf2bd]{animation:none}}@media (width<=1023px){.loading-text[data-v-e73bf2bd]{font-size:12px}}.stage-col[data-v-873dd442]{flex-direction:column;min-width:0;min-height:0;display:flex}.stage[data-v-873dd442]{background:#060a11;flex:1;min-height:320px;position:relative;overflow:hidden}.stage[data-v-873dd442]:fullscreen{border-radius:0}.town-host[data-v-873dd442]{position:absolute;inset:0}.town-host canvas[data-v-873dd442]{image-rendering:auto;display:block}.stage-vignette[data-v-873dd442]{pointer-events:none;z-index:3;background:radial-gradient(120% 90% at 50% 38%,#0000 52%,#02040980 100%),linear-gradient(#080d1852,#0000 18%),repeating-linear-gradient(0deg,#ffffff03 0 1px,#0000 1px 3px);position:absolute;inset:0}.empty-hint[data-v-873dd442]{z-index:4;text-align:center;color:var(--hud-dim);pointer-events:none;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.empty-hint b[data-v-873dd442]{color:var(--hud-text);margin-bottom:4px;font-size:14px;display:block}.empty-hint span[data-v-873dd442]{font-size:12px}@media (prefers-reduced-motion:no-preference){.dock[data-v-873dd442],.rail-left[data-v-873dd442],.rail-right[data-v-873dd442]{animation:.52s cubic-bezier(.22,.68,.36,1) backwards hud-boot-873dd442}.rail-left[data-v-873dd442]{animation-delay:40ms}.rail-right[data-v-873dd442]{animation-delay:.15s}.dock[data-v-873dd442]{animation-delay:.26s}}@keyframes hud-boot-873dd442{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.dock[data-v-873dd442]{border-top:1px solid var(--hud-line-soft);background:#080d16;flex:none;grid-template-columns:308px 1fr;gap:10px;padding:10px;display:grid}.dock-card[data-v-873dd442]{border:1px solid var(--hud-line);border-radius:var(--hud-r-lg);background:linear-gradient(#101827,#0d1420);flex-direction:column;min-height:178px;padding:12px 14px;display:flex}.drop-chip[data-v-873dd442],.error-chip[data-v-873dd442]{z-index:20;border-radius:var(--hud-r-md);box-shadow:var(--hud-shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-overflow:ellipsis;white-space:nowrap;background:#0e1626f5;border:1px solid #2a3d63;align-items:center;gap:8px;max-width:70%;padding:8px 14px;font-size:11.5px;display:flex;position:absolute;top:64px;left:50%;overflow:hidden;transform:translate(-50%)}.drop-chip[data-v-873dd442]{color:var(--hud-accent)}.error-chip[data-v-873dd442]{color:var(--hud-danger);border-color:#ff6b6b66}@media (width<=1023px){.stage-col[data-v-873dd442],.stage[data-v-873dd442]{min-height:0}.dock[data-v-873dd442]{padding:0;display:block}.dock .dock-card[data-v-873dd442]{display:none}.dock.dock-open[data-v-873dd442]{overscroll-behavior:contain;max-height:52dvh;padding:8px;overflow-y:auto}.dock.dock-open .dock-card[data-v-873dd442]{min-height:0;margin-bottom:8px;display:flex}.dock.dock-open .dock-card[data-v-873dd442]:last-child{margin-bottom:0}.dock-card[data-v-873dd442]{padding:12px}}@media (width<=639px){.dock.dock-open[data-v-873dd442]{max-height:58dvh}}.dcw-err[data-v-1ae246fd]{color:var(--hud-danger);background:#ff6b6b14;border:1px solid #ff6b6b47;border-radius:6px;padding:4px 8px;font-size:10px;display:block}.bind-select[data-v-1ae246fd]:hover,.daq-ctl-cycle input[data-v-1ae246fd]:hover,.daq-num[data-v-1ae246fd]:hover,.obj-input[data-v-1ae246fd]:hover,.obj-select[data-v-1ae246fd]:hover{border-color:var(--hud-line-hi)}.bind-select[data-v-1ae246fd]:focus,.daq-ctl-cycle input[data-v-1ae246fd]:focus,.daq-num[data-v-1ae246fd]:focus,.obj-input[data-v-1ae246fd]:focus,.obj-select[data-v-1ae246fd]:focus{border-color:var(--hud-accent);outline:none;box-shadow:0 0 0 3px #35e0a021}input[type=number][data-v-1ae246fd]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-1ae246fd]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-1ae246fd]{appearance:textfield}.daq-bind-bar[data-v-1ae246fd]{gap:6px;display:flex}.bind-select[data-v-1ae246fd]{min-width:0;height:28px;color:var(--hud-dim);background:var(--hud-input);border:1px solid var(--hud-line);border-radius:var(--hud-r-sm);transition:border-color .15s var(--hud-ease), box-shadow .15s var(--hud-ease), color .15s var(--hud-ease);flex:1;padding:0 8px;font-size:10.5px}.bind-select[data-v-1ae246fd]:hover{border-color:var(--hud-line-hi);color:var(--hud-text)}.bind-select[data-v-1ae246fd]:focus{border-color:var(--hud-accent);color:var(--hud-text);outline:none;box-shadow:0 0 0 3px #35e0a021}.bind-add-btn[data-v-1ae246fd]{color:#04120c;background:var(--hud-accent-dim);border-radius:var(--hud-r-sm);cursor:pointer;height:28px;transition:background .15s var(--hud-ease), box-shadow .15s var(--hud-ease);border:0;flex:none;padding:0 12px;font-size:10.5px;font-weight:600}.bind-add-btn[data-v-1ae246fd]:hover:not(:disabled){background:var(--hud-accent);box-shadow:0 0 14px #35e0a059}.bind-add-btn[data-v-1ae246fd]:disabled{opacity:.4;cursor:default}.daq-info-row[data-v-1ae246fd]{color:var(--hud-dim);justify-content:space-between;gap:8px;padding:3px 0;font-size:11px;display:flex}.daq-info-row b[data-v-1ae246fd]{font-family:var(--font-mono);color:var(--hud-text);font-variant-numeric:tabular-nums;font-weight:600}.daq-info-row b.cy[data-v-1ae246fd]{color:var(--hud-cyan);font-size:13px}.bind-select[data-v-1ae246fd]:focus-visible,button[data-v-1ae246fd]:focus-visible,input[data-v-1ae246fd]:focus-visible,select[data-v-1ae246fd]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-1ae246fd]{min-height:40px}}.ctl-btns[data-v-99706174]{gap:8px;margin-top:auto;display:flex}.btn[data-v-99706174]{border-radius:var(--hud-r-sm);white-space:nowrap;cursor:pointer;height:32px;transition:filter .15s var(--hud-ease), background .15s var(--hud-ease), border-color .15s var(--hud-ease);background:0 0;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.btn-primary[data-v-99706174]{background:var(--hud-accent-dim);color:#04120c}.btn-primary[data-v-99706174]:hover{background:#25b57e}.btn-ghost[data-v-99706174]{color:var(--hud-text);border:1px solid #27395c}.btn-ghost[data-v-99706174]:hover{background:#14203a;border-color:#33507c}.btn-danger[data-v-99706174]{color:#fff;background:#b3273a}.btn-danger[data-v-99706174]:hover{background:#d1304a}.btn[data-v-99706174]:not(:disabled):active{transform:translateY(1px)}.bind-select[data-v-99706174]:disabled,.btn[data-v-99706174]:disabled,.nav-action[data-v-99706174]:disabled,.obj-input[data-v-99706174]:disabled,.obj-mini[data-v-99706174]:disabled,.obj-select[data-v-99706174]:disabled{opacity:.38;cursor:not-allowed;filter:saturate(.4)}.btn[data-v-99706174]:disabled:hover,.nav-action[data-v-99706174]:disabled:hover{background:inherit}.ins-empty[data-v-99706174]{color:var(--hud-faint);text-align:center;padding:8px 0 6px;font-size:11px}.bind-select[data-v-99706174]:hover,.daq-ctl-cycle input[data-v-99706174]:hover,.daq-num[data-v-99706174]:hover,.obj-input[data-v-99706174]:hover,.obj-select[data-v-99706174]:hover{border-color:var(--hud-line-hi)}.bind-select[data-v-99706174]:focus,.daq-ctl-cycle input[data-v-99706174]:focus,.daq-num[data-v-99706174]:focus,.obj-input[data-v-99706174]:focus,.obj-select[data-v-99706174]:focus{border-color:var(--hud-accent);outline:none;box-shadow:0 0 0 3px #35e0a021}input[type=number][data-v-99706174]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-99706174]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-99706174]{appearance:textfield}.daq-bind-bar[data-v-99706174]{gap:6px;display:flex}.bind-select[data-v-99706174]{min-width:0;height:28px;color:var(--hud-dim);background:var(--hud-input);border:1px solid var(--hud-line);border-radius:var(--hud-r-sm);transition:border-color .15s var(--hud-ease), box-shadow .15s var(--hud-ease), color .15s var(--hud-ease);flex:1;padding:0 8px;font-size:10.5px}.bind-select[data-v-99706174]:hover{border-color:var(--hud-line-hi);color:var(--hud-text)}.bind-select[data-v-99706174]:focus{border-color:var(--hud-accent);color:var(--hud-text);outline:none;box-shadow:0 0 0 3px #35e0a021}.bind-add-btn[data-v-99706174]{color:#04120c;background:var(--hud-accent-dim);border-radius:var(--hud-r-sm);cursor:pointer;height:28px;transition:background .15s var(--hud-ease), box-shadow .15s var(--hud-ease);border:0;flex:none;padding:0 12px;font-size:10.5px;font-weight:600}.bind-add-btn[data-v-99706174]:hover:not(:disabled){background:var(--hud-accent);box-shadow:0 0 14px #35e0a059}.bind-add-btn[data-v-99706174]:disabled{opacity:.4;cursor:default}.daq-info-row[data-v-99706174]{color:var(--hud-dim);justify-content:space-between;gap:8px;padding:3px 0;font-size:11px;display:flex}.daq-info-row b[data-v-99706174]{font-family:var(--font-mono);color:var(--hud-text);font-variant-numeric:tabular-nums;font-weight:600}.daq-info-row b.cy[data-v-99706174]{color:var(--hud-cyan);font-size:13px}.daq-ctrl[data-v-99706174]{background:var(--hud-panel);border:1px solid var(--hud-line);border-radius:var(--hud-r-sm);justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;display:flex}.daq-ctl-btn[data-v-99706174]{font-family:var(--font-mono);letter-spacing:.05em;color:var(--hud-dim);cursor:pointer;border:1px solid var(--hud-line-hi);border-radius:var(--hud-r-sm);background:0 0;padding:4px 12px;font-size:11px}.daq-ctl-btn.on[data-v-99706174]{color:var(--hud-accent);border-color:#35e0a073}.daq-ctl-cycle[data-v-99706174]{color:var(--hud-faint);align-items:center;gap:5px;font-size:10.5px;display:inline-flex}.daq-ctl-cycle input[data-v-99706174],.daq-num[data-v-99706174]{width:64px;font-family:var(--font-mono);color:var(--hud-text);background:var(--hud-input);border:1px solid var(--hud-line);border-radius:6px;padding:2px 6px;font-size:11px}.daq-th-inputs[data-v-99706174]{color:var(--hud-faint);align-items:center;gap:4px;font-size:10px;display:inline-flex}.bind-add-btn.warn[data-v-99706174]:not(:disabled){color:var(--hud-amber);box-shadow:none;background:#f6c4531f}.bind-add-btn.warn[data-v-99706174]:hover:not(:disabled){background:#f6c45333;box-shadow:0 0 14px #f6c45340}.bind-add-btn.danger[data-v-99706174]:not(:disabled){color:var(--hud-danger);box-shadow:none;background:#ff6b6b1a}.bind-add-btn.danger[data-v-99706174]:hover:not(:disabled){background:#ff6b6b2e;box-shadow:0 0 14px #ff6b6b40}.bind-select[data-v-99706174]:focus-visible,.daq-num[data-v-99706174]:focus-visible,button[data-v-99706174]:focus-visible,input[data-v-99706174]:focus-visible,select[data-v-99706174]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-99706174]{min-height:40px}}.ctl-btns[data-v-841967dc]{gap:8px;margin-top:auto;display:flex}.btn[data-v-841967dc]{border-radius:var(--hud-r-sm);white-space:nowrap;cursor:pointer;height:32px;transition:filter .15s var(--hud-ease), background .15s var(--hud-ease), border-color .15s var(--hud-ease);background:0 0;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.btn-primary[data-v-841967dc]{background:var(--hud-accent-dim);color:#04120c}.btn-primary[data-v-841967dc]:hover{background:#25b57e}.btn-ghost[data-v-841967dc]{color:var(--hud-text);border:1px solid #27395c}.btn-ghost[data-v-841967dc]:hover{background:#14203a;border-color:#33507c}.btn-danger[data-v-841967dc]{color:#fff;background:#b3273a}.btn-danger[data-v-841967dc]:hover{background:#d1304a}.btn[data-v-841967dc]:not(:disabled):active{transform:translateY(1px)}.bind-select[data-v-841967dc]:disabled,.btn[data-v-841967dc]:disabled,.nav-action[data-v-841967dc]:disabled,.obj-input[data-v-841967dc]:disabled,.obj-mini[data-v-841967dc]:disabled,.obj-select[data-v-841967dc]:disabled{opacity:.38;cursor:not-allowed;filter:saturate(.4)}.btn[data-v-841967dc]:disabled:hover,.nav-action[data-v-841967dc]:disabled:hover{background:inherit}.sect-hd[data-v-841967dc]{color:var(--hud-faint);letter-spacing:.16em;align-items:center;gap:6px;margin:10px 0 7px;font-size:10px;font-weight:700;display:flex}.sect-hd[data-v-841967dc]:before{content:"";background:var(--hud-accent);opacity:.55;border-radius:1px;width:3px;height:9px}.obj-row[data-v-841967dc]{align-items:center;gap:8px;margin-bottom:8px;display:flex}.obj-label[data-v-841967dc]{width:52px;color:var(--hud-dim);flex:none;font-size:10.5px}.obj-input[data-v-841967dc],.obj-select[data-v-841967dc]{min-width:0;color:var(--hud-text);background:var(--hud-input);border:1px solid var(--hud-line);transition:border-color .15s var(--hud-ease);border-radius:7px;flex:1;padding:5px 8px;font-size:11.5px}.obj-input[data-v-841967dc]:focus,.obj-select[data-v-841967dc]:focus{border-color:var(--hud-accent);outline:none}.ins-empty[data-v-841967dc]{color:var(--hud-faint);text-align:center;padding:8px 0 6px;font-size:11px}.bind-row[data-v-841967dc]{border:1px solid var(--hud-line-soft);border-radius:var(--hud-r-md);background:#0f1726;align-items:center;gap:8px;margin-bottom:6px;padding:7px 9px;display:flex}.bind-ico[data-v-841967dc]{width:26px;height:26px;color:var(--hud-accent);background:#0d1a26;border-radius:7px;flex:none;place-items:center;display:grid}.bind-svg[data-v-841967dc]{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.bind-meta[data-v-841967dc]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.bind-label[data-v-841967dc]{color:var(--hud-text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.bind-val[data-v-841967dc]{font-family:var(--font-mono);color:var(--hud-cyan);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.bind-val b[data-v-841967dc]{font-size:11px;font-weight:700}.bind-spark[data-v-841967dc]{flex:none;width:56px;height:20px}.bind-x[data-v-841967dc]{width:22px;height:22px;color:var(--hud-faint);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none}.bind-x[data-v-841967dc]:hover{color:var(--hud-danger);background:#ff6b6b1f}.bind-add-wrap[data-v-841967dc]{position:relative}.bind-add[data-v-841967dc]{width:100%;height:30px;color:var(--hud-dim);border-radius:var(--hud-r-sm);cursor:pointer;background:0 0;border:1px dashed #274064;font-size:11px;transition:border-color .15s,color .15s}.bind-add[data-v-841967dc]:hover{border-color:var(--hud-accent-dim);color:var(--hud-accent)}.bind-pop[data-v-841967dc]{z-index:30;overscroll-behavior:contain;border-radius:var(--hud-r-md);max-height:min(46vh,420px);box-shadow:var(--hud-shadow-pop,0 16px 40px #0000008c);background:#0e1626;border:1px solid #27395c;position:absolute;bottom:calc(100% + 4px);left:0;right:0;overflow:hidden auto}.bind-pop[data-v-841967dc]::-webkit-scrollbar{width:8px}.bind-pop[data-v-841967dc]::-webkit-scrollbar-thumb{background:#2c4568 padding-box content-box;border:2px solid #0000;border-radius:9999px}.bind-pop[data-v-841967dc]::-webkit-scrollbar-thumb:hover{background:#3d5a85 padding-box content-box}.bind-pop button[data-v-841967dc]{width:100%;color:var(--hud-dim);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:7px 10px;font-size:11.5px;display:flex}.bind-pop button[data-v-841967dc]:hover{color:var(--hud-text);background:#12203a}.bind-pop .bind-svg[data-v-841967dc]{color:var(--hud-accent)}.bind-pop button>span[data-v-841967dc]{white-space:nowrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.bp-group[data-v-841967dc]{flex-direction:column;display:flex}.bp-group+.bp-group[data-v-841967dc]{border-top:1px solid #27395c8c}.bp-tpl[data-v-841967dc]{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--hud-faint);padding:6px 10px 3px;font-size:10px}.bp-cur[data-v-841967dc]{color:var(--hud-faint);white-space:nowrap;text-overflow:ellipsis;max-width:96px;margin-left:auto;font-size:9.5px;font-style:normal;overflow:hidden}.bp-empty[data-v-841967dc]{color:var(--hud-faint);padding:10px;font-size:10.5px}.bind-select[data-v-841967dc]:hover,.daq-ctl-cycle input[data-v-841967dc]:hover,.daq-num[data-v-841967dc]:hover,.obj-input[data-v-841967dc]:hover,.obj-select[data-v-841967dc]:hover{border-color:var(--hud-line-hi)}.bind-select[data-v-841967dc]:focus,.daq-ctl-cycle input[data-v-841967dc]:focus,.daq-num[data-v-841967dc]:focus,.obj-input[data-v-841967dc]:focus,.obj-select[data-v-841967dc]:focus{border-color:var(--hud-accent);outline:none;box-shadow:0 0 0 3px #35e0a021}input[type=number][data-v-841967dc]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-841967dc]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-841967dc]{appearance:textfield}.bind-row[data-v-841967dc]{transition:border-color .18s var(--hud-ease), box-shadow .18s var(--hud-ease)}.bind-row[data-v-841967dc]:hover{border-color:var(--hud-line-hi);box-shadow:0 6px 18px #03070e66}.bind-add[data-v-841967dc]:hover{background:#35e0a00d;border-style:solid}.obj-input[data-v-841967dc]:focus-visible,.obj-select[data-v-841967dc]:focus-visible,button[data-v-841967dc]:focus-visible,input[data-v-841967dc]:focus-visible,select[data-v-841967dc]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-841967dc]{min-height:40px}.bind-val b[data-v-841967dc]{font-size:12px}}.sect-hd[data-v-f4d75d2d]{color:var(--hud-faint);letter-spacing:.16em;align-items:center;gap:6px;margin:10px 0 7px;font-size:10px;font-weight:700;display:flex}.sect-hd[data-v-f4d75d2d]:before{content:"";background:var(--hud-accent);opacity:.55;border-radius:1px;width:3px;height:9px}.ins-empty[data-v-f4d75d2d]{color:var(--hud-faint);text-align:center;padding:8px 0 6px;font-size:11px}.bind-add-wrap[data-v-f4d75d2d]{position:relative}.bind-add[data-v-f4d75d2d]{width:100%;height:30px;color:var(--hud-dim);border-radius:var(--hud-r-sm);cursor:pointer;background:0 0;border:1px dashed #274064;font-size:11px;transition:border-color .15s,color .15s}.bind-add[data-v-f4d75d2d]:hover{border-color:var(--hud-accent-dim);color:var(--hud-accent)}.bind-pop[data-v-f4d75d2d]{z-index:30;overscroll-behavior:contain;border-radius:var(--hud-r-md);max-height:min(46vh,420px);box-shadow:var(--hud-shadow-pop,0 16px 40px #0000008c);background:#0e1626;border:1px solid #27395c;position:absolute;bottom:calc(100% + 4px);left:0;right:0;overflow:hidden auto}.bind-pop[data-v-f4d75d2d]::-webkit-scrollbar{width:8px}.bind-pop[data-v-f4d75d2d]::-webkit-scrollbar-thumb{background:#2c4568 padding-box content-box;border:2px solid #0000;border-radius:9999px}.bind-pop[data-v-f4d75d2d]::-webkit-scrollbar-thumb:hover{background:#3d5a85 padding-box content-box}.bind-pop button[data-v-f4d75d2d]{width:100%;color:var(--hud-dim);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:7px 10px;font-size:11.5px;display:flex}.bind-pop button[data-v-f4d75d2d]:hover{color:var(--hud-text);background:#12203a}.bind-pop .bind-svg[data-v-f4d75d2d]{color:var(--hud-accent)}.bind-pop button>span[data-v-f4d75d2d]{white-space:nowrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.bp-group[data-v-f4d75d2d]{flex-direction:column;display:flex}.bp-group+.bp-group[data-v-f4d75d2d]{border-top:1px solid #27395c8c}.bp-tpl[data-v-f4d75d2d]{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--hud-faint);padding:6px 10px 3px;font-size:10px}.bp-cur[data-v-f4d75d2d]{color:var(--hud-faint);white-space:nowrap;text-overflow:ellipsis;max-width:96px;margin-left:auto;font-size:9.5px;font-style:normal;overflow:hidden}.bp-empty[data-v-f4d75d2d]{color:var(--hud-faint);padding:10px;font-size:10.5px}.dcw-row[data-v-f4d75d2d]{border:1px solid var(--hud-line);border-radius:var(--hud-r-md);transition:border-color .18s var(--hud-ease), box-shadow .18s var(--hud-ease);background:linear-gradient(#111a2b,#0e1522);flex-direction:column;gap:8px;margin-bottom:7px;padding:9px 10px 10px;display:flex}.dcw-row[data-v-f4d75d2d]:hover{border-color:var(--hud-line-hi);box-shadow:0 6px 18px #03070e66}.dcw-top[data-v-f4d75d2d]{align-items:center;gap:8px;display:flex}.dcw-id[data-v-f4d75d2d]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.dcw-name[data-v-f4d75d2d]{color:var(--hud-faint);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.dcw-tag[data-v-f4d75d2d]{font-style:normal;font-family:var(--font-mono);letter-spacing:.08em;color:var(--hud-amber);vertical-align:1px;background:#f6c4531a;border:1px solid #f6c45352;border-radius:4px;margin-left:5px;padding:0 5px;font-size:10px;font-weight:700;display:inline-block}.dcw-cur[data-v-f4d75d2d]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex:none;align-items:baseline;gap:3px;display:flex}.dcw-cur b[data-v-f4d75d2d]{color:var(--hud-cyan);text-shadow:0 0 14px #41c8f447;font-size:16px;font-weight:700}.dcw-cur i[data-v-f4d75d2d]{color:var(--hud-faint);font-size:9.5px;font-style:normal}.dcw-win[data-v-f4d75d2d]{border:1px solid var(--hud-line-soft);background:#0a111db8;border-radius:7px;align-items:center;gap:7px;padding:4px 8px;display:flex}.dcw-win em[data-v-f4d75d2d]{letter-spacing:.14em;color:var(--hud-faint);flex:none;font-size:10px;font-style:normal;font-weight:700}.dcw-win-num[data-v-f4d75d2d]{font-family:var(--font-mono);color:var(--hud-dim);font-variant-numeric:tabular-nums;flex:none;font-size:9.5px}.dcw-win-track[data-v-f4d75d2d]{background:#1a2740;border-radius:999px;flex:1;height:4px;position:relative}.dcw-win-track[data-v-f4d75d2d]:before{content:"";border-radius:inherit;background:linear-gradient(90deg,#5a82af66,#5a82af24);position:absolute;inset:0}.dcw-win-track i[data-v-f4d75d2d]{border:2px solid var(--hud-cyan);width:9px;height:9px;transition:left .3s var(--hud-ease);background:#dfeef8;border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 8px #41c8f48c}.dcw-win.recipe em[data-v-f4d75d2d]{color:var(--hud-amber)}.dcw-win.recipe .dcw-win-track[data-v-f4d75d2d]:before{background:linear-gradient(90deg,#f6c45380,#f6c45329)}.dcw-win.recipe .dcw-win-track i[data-v-f4d75d2d]{border-color:var(--hud-amber);box-shadow:0 0 8px #f6c4538c}.dcw-write[data-v-f4d75d2d]{gap:6px;display:flex}.dcw-write input[data-v-f4d75d2d]{min-width:0;height:27px;font-family:var(--font-mono);color:var(--hud-text);background:var(--hud-input);border:1px solid var(--hud-line);transition:border-color .15s var(--hud-ease), box-shadow .15s var(--hud-ease);border-radius:7px;flex:1;padding:0 9px;font-size:11.5px}.dcw-write input[data-v-f4d75d2d]::placeholder{color:var(--hud-faint);font-size:10px}.dcw-write input[data-v-f4d75d2d]:focus{border-color:var(--hud-accent);outline:none;box-shadow:0 0 0 3px #35e0a021}.dcw-send[data-v-f4d75d2d]{height:27px;font-family:var(--font-mono);letter-spacing:.1em;color:#04120c;background:var(--hud-accent-dim);cursor:pointer;transition:background .15s var(--hud-ease), box-shadow .15s var(--hud-ease);border:0;border-radius:7px;flex:none;padding:0 14px;font-size:10.5px;font-weight:700}.dcw-send[data-v-f4d75d2d]:hover:not(:disabled){background:var(--hud-accent);box-shadow:0 0 14px #35e0a059}.dcw-send[data-v-f4d75d2d]:disabled{opacity:.38;cursor:default}.dcw-err[data-v-f4d75d2d]{color:var(--hud-danger);background:#ff6b6b14;border:1px solid #ff6b6b47;border-radius:6px;padding:4px 8px;font-size:10px;display:block}.bind-select[data-v-f4d75d2d]:hover,.daq-ctl-cycle input[data-v-f4d75d2d]:hover,.daq-num[data-v-f4d75d2d]:hover,.obj-input[data-v-f4d75d2d]:hover,.obj-select[data-v-f4d75d2d]:hover{border-color:var(--hud-line-hi)}.bind-select[data-v-f4d75d2d]:focus,.daq-ctl-cycle input[data-v-f4d75d2d]:focus,.daq-num[data-v-f4d75d2d]:focus,.obj-input[data-v-f4d75d2d]:focus,.obj-select[data-v-f4d75d2d]:focus{border-color:var(--hud-accent);outline:none;box-shadow:0 0 0 3px #35e0a021}input[type=number][data-v-f4d75d2d]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-f4d75d2d]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-f4d75d2d]{appearance:textfield}.bind-row[data-v-f4d75d2d]{transition:border-color .18s var(--hud-ease), box-shadow .18s var(--hud-ease)}.bind-row[data-v-f4d75d2d]:hover{border-color:var(--hud-line-hi);box-shadow:0 6px 18px #03070e66}.bind-add[data-v-f4d75d2d]:hover{background:#35e0a00d;border-style:solid}.bind-select[data-v-f4d75d2d]:focus-visible,button[data-v-f4d75d2d]:focus-visible,dcw-write input[data-v-f4d75d2d],input[data-v-f4d75d2d]:focus-visible,select[data-v-f4d75d2d]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-f4d75d2d]{min-height:40px}}.ctl-btns[data-v-ef619efa]{gap:8px;margin-top:auto;display:flex}.btn[data-v-ef619efa]{border-radius:var(--hud-r-sm);white-space:nowrap;cursor:pointer;height:32px;transition:filter .15s var(--hud-ease), background .15s var(--hud-ease), border-color .15s var(--hud-ease);background:0 0;flex:1;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.btn-primary[data-v-ef619efa]{background:var(--hud-accent-dim);color:#04120c}.btn-primary[data-v-ef619efa]:hover{background:#25b57e}.btn-ghost[data-v-ef619efa]{color:var(--hud-text);border:1px solid #27395c}.btn-ghost[data-v-ef619efa]:hover{background:#14203a;border-color:#33507c}.btn-danger[data-v-ef619efa]{color:#fff;background:#b3273a}.btn-danger[data-v-ef619efa]:hover{background:#d1304a}.btn[data-v-ef619efa]:not(:disabled):active{transform:translateY(1px)}.bind-select[data-v-ef619efa]:disabled,.btn[data-v-ef619efa]:disabled,.nav-action[data-v-ef619efa]:disabled,.obj-input[data-v-ef619efa]:disabled,.obj-mini[data-v-ef619efa]:disabled,.obj-select[data-v-ef619efa]:disabled{opacity:.38;cursor:not-allowed;filter:saturate(.4)}.btn[data-v-ef619efa]:disabled:hover,.nav-action[data-v-ef619efa]:disabled:hover{background:inherit}.sect-hd[data-v-ef619efa]{color:var(--hud-faint);letter-spacing:.16em;align-items:center;gap:6px;margin:10px 0 7px;font-size:10px;font-weight:700;display:flex}.sect-hd[data-v-ef619efa]:before{content:"";background:var(--hud-accent);opacity:.55;border-radius:1px;width:3px;height:9px}.obj-mini[data-v-ef619efa]{color:var(--hud-dim);background:var(--hud-input);border:1px solid var(--hud-line);cursor:pointer;border-radius:7px;flex:none;padding:4px 10px;font-size:10.5px;font-weight:600}.obj-mini.on[data-v-ef619efa]{color:#04120c;background:var(--hud-accent);border-color:var(--hud-accent)}.obj-mini.danger[data-v-ef619efa]{color:var(--hud-danger);width:100%;margin-top:4px}.obj-range[data-v-ef619efa]{accent-color:var(--hud-accent);flex:1}.bp-seg[data-v-ef619efa]{gap:4px;display:flex}.seg-btn[data-v-ef619efa]{color:var(--hud-dim);background:var(--hud-input);border:1px solid var(--hud-line);cursor:pointer;transition:border-color .14s var(--hud-ease), color .14s var(--hud-ease), background .14s var(--hud-ease);border-radius:7px;padding:4px 12px;font-size:10.5px;font-weight:600}.seg-btn[data-v-ef619efa]:hover{border-color:var(--hud-line-hi);color:var(--hud-text)}.seg-btn.on[data-v-ef619efa]{color:#04120c;background:var(--hud-accent);border-color:var(--hud-accent)}.xz-seg[data-v-ef619efa]{gap:6px;margin-bottom:8px;display:flex}.xz-seg .seg-btn[data-v-ef619efa]{flex:1}.scale-row[data-v-ef619efa]{align-items:center;gap:8px;display:flex}.scale-max[data-v-ef619efa],.scale-min[data-v-ef619efa]{font-family:var(--font-mono);color:var(--hud-faint);font-size:10px}.scale-range[data-v-ef619efa]{accent-color:var(--hud-accent);flex:1}.scale-val[data-v-ef619efa]{text-align:center;font-family:var(--font-mono);color:var(--hud-text);font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:11px}.ins-foot[data-v-ef619efa]{gap:8px;margin-top:12px;display:flex}.ins-del[data-v-ef619efa]{color:var(--hud-danger);background:#ff6b6b1a;border:1px solid #ff6b6b66}.ins-del.armed[data-v-ef619efa]{background:var(--hud-danger);color:#fff}.ins-empty[data-v-ef619efa]{color:var(--hud-faint);text-align:center;padding:8px 0 6px;font-size:11px}.obj-range[data-v-ef619efa],.scale-range[data-v-ef619efa]{appearance:none;cursor:pointer;background:#1a2740;border-radius:999px;outline:none;height:4px}.obj-range[data-v-ef619efa]::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--hud-accent);width:13px;height:13px;-webkit-transition:transform .15s var(--hud-ease), box-shadow .15s var(--hud-ease);transition:transform .15s var(--hud-ease), box-shadow .15s var(--hud-ease);background:#e8f6ef;border-radius:50%;box-shadow:0 0 0 3px #35e0a026,0 2px 6px #03070e80}.scale-range[data-v-ef619efa]::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--hud-accent);width:13px;height:13px;-webkit-transition:transform .15s var(--hud-ease), box-shadow .15s var(--hud-ease);transition:transform .15s var(--hud-ease), box-shadow .15s var(--hud-ease);background:#e8f6ef;border-radius:50%;box-shadow:0 0 0 3px #35e0a026,0 2px 6px #03070e80}.obj-range[data-v-ef619efa]::-webkit-slider-thumb:hover{transform:scale(1.18);box-shadow:0 0 0 5px #35e0a033,0 2px 8px #03070e8c}.scale-range[data-v-ef619efa]::-webkit-slider-thumb:hover{transform:scale(1.18);box-shadow:0 0 0 5px #35e0a033,0 2px 8px #03070e8c}.obj-range[data-v-ef619efa]::-moz-range-thumb{border:2px solid var(--hud-accent);background:#e8f6ef;border-radius:50%;width:13px;height:13px;box-shadow:0 0 0 3px #35e0a026}.scale-range[data-v-ef619efa]::-moz-range-thumb{border:2px solid var(--hud-accent);background:#e8f6ef;border-radius:50%;width:13px;height:13px;box-shadow:0 0 0 3px #35e0a026}.obj-range[data-v-ef619efa]::-moz-range-track{background:#1a2740;border-radius:999px;height:4px}.scale-range[data-v-ef619efa]::-moz-range-track{background:#1a2740;border-radius:999px;height:4px}@keyframes estop-pulse-ef619efa{50%{filter:brightness(1.35)}}.btn-danger.armed[data-v-ef619efa]{animation:1s ease-in-out infinite estop-pulse-ef619efa}.btn[data-v-ef619efa]:active,.obj-mini[data-v-ef619efa]:active{transform:scale(.96)}btn[data-v-ef619efa],obj-mini[data-v-ef619efa]{transition-property:filter,background,border-color,color,transform,opacity;transition-duration:.15s;transition-timing-function:var(--hud-ease)}.obj-range[data-v-ef619efa]:focus-visible,.scale-range[data-v-ef619efa]:focus-visible,button[data-v-ef619efa]:focus-visible,input[data-v-ef619efa]:focus-visible,select[data-v-ef619efa]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-ef619efa]{min-height:40px}}@media (prefers-reduced-motion:reduce){.btn-danger.armed[data-v-ef619efa]{animation:none}}.modal-mask[data-v-d4d82fba]{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-d4d82fba]{background:var(--surface-glass-strong);width:480px;max-width:94vw;max-height:88vh;-webkit-backdrop-filter:var(--aurora-blur);backdrop-filter:var(--aurora-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-edge), var(--shadow-float);padding:20px 22px;overflow-y:auto}.m-title[data-v-d4d82fba]{margin:0 0 12px;font-size:15.5px}.m-line[data-v-d4d82fba]{color:var(--ink-soft);margin:0 0 8px;font-size:12px;line-height:1.6}.m-line.strong[data-v-d4d82fba]{color:var(--ink);font-weight:600}.m-line.warn[data-v-d4d82fba]{color:var(--tone-warning-dot)}.m-err[data-v-d4d82fba]{color:var(--tone-danger-dot);margin:2px 0 6px;font-size:12px}.m-actions[data-v-d4d82fba]{justify-content:flex-end;gap:10px;margin-top:14px;display:flex}@media (width<=900px){.modal[data-v-d4d82fba]{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:16px 14px}.m-actions[data-v-d4d82fba]{flex-wrap:wrap}.m-actions[data-v-d4d82fba]>*{flex:auto}.pill-btn[data-v-d4d82fba]{min-height:40px}}.ins-chip-row[data-v-880a5ade]{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.ins-chip[data-v-880a5ade]{font-family:var(--font-mono);color:var(--hud-dim);border:1px solid #26354a;border-radius:6px;padding:1.5px 7px;font-size:9.5px}.ins-chip.accent[data-v-880a5ade]{color:var(--hud-accent);border-color:#35e0a066}.sect-hd[data-v-880a5ade]{color:var(--hud-faint);letter-spacing:.16em;align-items:center;gap:6px;margin:10px 0 7px;font-size:10px;font-weight:700;display:flex}.sect-hd[data-v-880a5ade]:before{content:"";background:var(--hud-accent);opacity:.55;border-radius:1px;width:3px;height:9px}.obj-sep[data-v-880a5ade]{background:var(--hud-line-soft);height:1px;margin:8px 0}.ins-empty[data-v-880a5ade]{color:var(--hud-faint);text-align:center;padding:8px 0 6px;font-size:11px}.bind-row[data-v-880a5ade]{border:1px solid var(--hud-line-soft);border-radius:var(--hud-r-md);background:#0f1726;align-items:center;gap:8px;margin-bottom:6px;padding:7px 9px;display:flex}.bind-ico[data-v-880a5ade]{width:26px;height:26px;color:var(--hud-accent);background:#0d1a26;border-radius:7px;flex:none;place-items:center;display:grid}.bind-svg[data-v-880a5ade]{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.bind-meta[data-v-880a5ade]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.bind-label[data-v-880a5ade]{color:var(--hud-text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.bind-val[data-v-880a5ade]{font-family:var(--font-mono);color:var(--hud-cyan);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.bind-val b[data-v-880a5ade]{font-size:11px;font-weight:700}.bind-spark[data-v-880a5ade]{flex:none;width:56px;height:20px}.bind-x[data-v-880a5ade]{width:22px;height:22px;color:var(--hud-faint);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none}.bind-x[data-v-880a5ade]:hover{color:var(--hud-danger);background:#ff6b6b1f}.dcw-write[data-v-880a5ade]{gap:6px;display:flex}.dcw-write input[data-v-880a5ade]{min-width:0;height:27px;font-family:var(--font-mono);color:var(--hud-text);background:var(--hud-input);border:1px solid var(--hud-line);transition:border-color .15s var(--hud-ease), box-shadow .15s var(--hud-ease);border-radius:7px;flex:1;padding:0 9px;font-size:11.5px}.dcw-write input[data-v-880a5ade]::placeholder{color:var(--hud-faint);font-size:10px}.dcw-write input[data-v-880a5ade]:focus{border-color:var(--hud-accent);outline:none;box-shadow:0 0 0 3px #35e0a021}.bind-row[data-v-880a5ade]{transition:border-color .18s var(--hud-ease), box-shadow .18s var(--hud-ease)}.bind-row[data-v-880a5ade]:hover{border-color:var(--hud-line-hi);box-shadow:0 6px 18px #03070e66}.bind-add[data-v-880a5ade]:hover{background:#35e0a00d;border-style:solid}.daq-bind-bar[data-v-880a5ade]{gap:6px;display:flex}.bind-select[data-v-880a5ade]{min-width:0;height:28px;color:var(--hud-dim);background:var(--hud-input);border:1px solid var(--hud-line);border-radius:var(--hud-r-sm);transition:border-color .15s var(--hud-ease), box-shadow .15s var(--hud-ease), color .15s var(--hud-ease);flex:1;padding:0 8px;font-size:10.5px}.bind-select[data-v-880a5ade]:hover{border-color:var(--hud-line-hi);color:var(--hud-text)}.bind-select[data-v-880a5ade]:focus{border-color:var(--hud-accent);color:var(--hud-text);outline:none;box-shadow:0 0 0 3px #35e0a021}.bind-add-btn[data-v-880a5ade]{color:#04120c;background:var(--hud-accent-dim);border-radius:var(--hud-r-sm);cursor:pointer;height:28px;transition:background .15s var(--hud-ease), box-shadow .15s var(--hud-ease);border:0;flex:none;padding:0 12px;font-size:10.5px;font-weight:600}.bind-add-btn[data-v-880a5ade]:hover:not(:disabled){background:var(--hud-accent);box-shadow:0 0 14px #35e0a059}.bind-add-btn[data-v-880a5ade]:disabled{opacity:.4;cursor:default}.bind-add-btn.warn[data-v-880a5ade]:not(:disabled){color:var(--hud-amber);box-shadow:none;background:#f6c4531f}.bind-add-btn.warn[data-v-880a5ade]:hover:not(:disabled){background:#f6c45333;box-shadow:0 0 14px #f6c45340}.bind-add-btn.danger[data-v-880a5ade]:not(:disabled){color:var(--hud-danger);box-shadow:none;background:#ff6b6b1a}.bind-add-btn.danger[data-v-880a5ade]:hover:not(:disabled){background:#ff6b6b2e;box-shadow:0 0 14px #ff6b6b40}.approval-card[data-v-880a5ade]{border-radius:var(--hud-r-md);background:#f6c4530f;border:1px solid #f6c4534d;margin-bottom:7px;padding:8px 9px}.approval-detail[data-v-880a5ade]{color:var(--hud-text);font-size:11px}.approval-ttl[data-v-880a5ade]{font-family:var(--font-mono);letter-spacing:.05em;color:var(--hud-amber);margin-top:5px;font-size:9.5px}.approval-ttl.urgent[data-v-880a5ade]{color:var(--hud-danger)}.bind-add[data-v-880a5ade]:active,.bind-x[data-v-880a5ade]:active{transform:scale(.96)}bind-add[data-v-880a5ade],bind-x[data-v-880a5ade]{transition-property:filter,background,border-color,color,transform,opacity;transition-duration:.15s;transition-timing-function:var(--hud-ease)}.bind-select[data-v-880a5ade]:focus-visible,button[data-v-880a5ade]:focus-visible,input[data-v-880a5ade]:focus-visible,select[data-v-880a5ade]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-880a5ade]{min-height:40px}}.sect-hd[data-v-2e254fdb]{color:var(--hud-faint);letter-spacing:.16em;align-items:center;gap:6px;margin:10px 0 7px;font-size:10px;font-weight:700;display:flex}.sect-hd[data-v-2e254fdb]:before{content:"";background:var(--hud-accent);opacity:.55;border-radius:1px;width:3px;height:9px}.obj-row[data-v-2e254fdb]{align-items:center;gap:8px;margin-bottom:8px;display:flex}.obj-label[data-v-2e254fdb]{width:52px;color:var(--hud-dim);flex:none;font-size:10.5px}.obj-input[data-v-2e254fdb],.obj-select[data-v-2e254fdb]{min-width:0;color:var(--hud-text);background:var(--hud-input);border:1px solid var(--hud-line);transition:border-color .15s var(--hud-ease);border-radius:7px;flex:1;padding:5px 8px;font-size:11.5px}.obj-input[data-v-2e254fdb]:focus,.obj-select[data-v-2e254fdb]:focus{border-color:var(--hud-accent);outline:none}.obj-sep[data-v-2e254fdb]{background:var(--hud-line-soft);height:1px;margin:8px 0}.range-status[data-v-2e254fdb]{min-width:0;color:var(--hud-faint);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;overflow:hidden}.obj-mini[data-v-2e254fdb]{color:var(--hud-dim);background:var(--hud-input);border:1px solid var(--hud-line);cursor:pointer;border-radius:7px;flex:none;padding:4px 10px;font-size:10.5px;font-weight:600}.obj-mini.on[data-v-2e254fdb]{color:#04120c;background:var(--hud-accent);border-color:var(--hud-accent)}.obj-mini.danger[data-v-2e254fdb]{color:var(--hud-danger);width:100%;margin-top:4px}.obj-range[data-v-2e254fdb]{accent-color:var(--hud-accent);flex:1}.bp-val[data-v-2e254fdb]{text-align:right;width:40px;font-family:var(--font-mono);color:var(--hud-text);font-variant-numeric:tabular-nums;flex:none;font-size:10.5px}.bp-seg[data-v-2e254fdb]{gap:4px;display:flex}.seg-btn[data-v-2e254fdb]{color:var(--hud-dim);background:var(--hud-input);border:1px solid var(--hud-line);cursor:pointer;transition:border-color .14s var(--hud-ease), color .14s var(--hud-ease), background .14s var(--hud-ease);border-radius:7px;padding:4px 12px;font-size:10.5px;font-weight:600}.seg-btn[data-v-2e254fdb]:hover{border-color:var(--hud-line-hi);color:var(--hud-text)}.seg-btn.on[data-v-2e254fdb]{color:#04120c;background:var(--hud-accent);border-color:var(--hud-accent)}.ins-empty[data-v-2e254fdb]{color:var(--hud-faint);text-align:center;padding:8px 0 6px;font-size:11px}.rpg-lines.chat-embed[data-v-2e254fdb]{border:1px solid var(--hud-line-soft);border-radius:var(--hud-r-md);background:#0f172680;max-height:268px;padding:2px 0 4px}.chat-sect[data-v-2e254fdb]{align-items:center;gap:8px;display:flex}.chat-sect .chat-refresh[data-v-2e254fdb]{margin-left:auto}.chat-id-row[data-v-2e254fdb]{align-items:center;gap:10px;margin-bottom:4px;display:flex}.chat-badge[data-v-2e254fdb]{--p-acc:var(--hud-accent);width:34px;height:34px;font-family:var(--font-mono);color:var(--p-acc);background:color-mix(in srgb, var(--p-acc) 10%, transparent);border:1px solid color-mix(in srgb, var(--p-acc) 45%, transparent);border-radius:var(--hud-r-sm);flex:none;place-items:center;font-size:15px;font-weight:700;display:grid}.chat-nameplate[data-v-2e254fdb]{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.chat-name[data-v-2e254fdb]{color:var(--hud-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.chat-meta[data-v-2e254fdb]{align-items:center;gap:6px;display:flex}.chat-state[data-v-2e254fdb]{font-family:var(--font-mono);letter-spacing:.1em;color:var(--hud-dim);border:1px solid var(--hud-line);border-radius:6px;padding:1px 6px;font-size:10px}.chat-role[data-v-2e254fdb]{font-family:var(--font-mono);letter-spacing:.12em;border-radius:6px;padding:1px 7px;font-size:10px;font-weight:700}.chat-role.r-lead[data-v-2e254fdb]{color:var(--hud-amber);background:#f6c4531a;border:1px solid #f6c45373}.chat-role.r-worker[data-v-2e254fdb]{color:var(--hud-cyan);background:#41c8f41a;border:1px solid #41c8f466}.chat-state.s-busy[data-v-2e254fdb]{color:var(--hud-amber);border-color:#f6c45380}.chat-state.s-stopped[data-v-2e254fdb]{color:var(--hud-danger);border-color:#ff6b6b80}.chat-harness[data-v-2e254fdb]{font-family:var(--font-mono);letter-spacing:.1em;color:var(--hud-faint);font-size:10px}.chat-count[data-v-2e254fdb]{font-family:var(--font-mono);color:var(--hud-faint);font-size:10px}.chat-refresh[data-v-2e254fdb]{width:22px;height:22px;font-family:var(--font-mono);color:var(--hud-dim);border:1px solid var(--hud-line);cursor:pointer;transition:border-color .14s var(--hud-ease), color .14s var(--hud-ease), transform .32s var(--hud-ease);background:0 0;border-radius:6px;flex:none;font-size:11px}.chat-refresh[data-v-2e254fdb]:hover{border-color:var(--hud-accent);color:var(--hud-accent)}.chat-refresh[data-v-2e254fdb]:active{transform:rotate(180deg)}.rpg-lines[data-v-2e254fdb]{flex-direction:column;flex:1;gap:7px;min-height:0;padding:10px 12px 12px;display:flex;overflow:hidden auto}.rpg-divider[data-v-2e254fdb]{font-family:var(--font-mono);letter-spacing:.2em;color:var(--hud-faint);margin:4px 0 2px;font-size:10px}.rpg-divider.live[data-v-2e254fdb]{color:var(--hud-amber)}.rpg-line[data-v-2e254fdb]{align-items:flex-start;gap:8px;display:flex}.rpg-time[data-v-2e254fdb]{text-align:right;width:52px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--hud-faint);flex:none;margin-top:5px;font-size:10px}.rpg-bubble[data-v-2e254fdb]{background:var(--hud-panel-2);border:1px solid var(--hud-line);border-radius:var(--hud-r-md);flex-direction:column;flex:1;gap:2px;min-width:0;padding:7px 11px;display:flex}.rpg-line.hist[data-v-2e254fdb]{opacity:.62}.rpg-line.live .rpg-bubble[data-v-2e254fdb]{animation:rise .26s var(--hud-ease) both;border-color:var(--hud-line-hi);background:#14213a}.rpg-kind[data-v-2e254fdb]{font-family:var(--font-mono);letter-spacing:.14em;color:var(--hud-faint);align-self:flex-start;font-size:10px}.rpg-kind.k-artifact[data-v-2e254fdb]{color:var(--hud-accent)}.rpg-kind.k-error[data-v-2e254fdb]{color:var(--hud-danger)}.rpg-text[data-v-2e254fdb]{color:var(--hud-text);word-break:break-word;text-wrap:pretty;font-size:13px;line-height:1.6}.rpg-line.live .rpg-text[data-v-2e254fdb]{color:#edf4fa}.rpg-typing[data-v-2e254fdb]{align-items:center;gap:4px;padding:5px 2px;display:flex}.ty-dot[data-v-2e254fdb]{background:var(--hud-amber);width:5px;height:5px;animation:ty-bounce-2e254fdb 1.15s var(--hud-ease) infinite;border-radius:50%}.ty-dot[data-v-2e254fdb]:nth-child(2){animation-delay:.15s}.ty-dot[data-v-2e254fdb]:nth-child(3){animation-delay:.3s}.ty-label[data-v-2e254fdb]{font-family:var(--font-mono);color:var(--hud-faint);margin-left:5px;font-size:10px}.rpg-note[data-v-2e254fdb]{font-family:var(--font-mono);color:var(--hud-dim);text-align:center;padding:14px 0;font-size:10px}.obj-range[data-v-2e254fdb],.scale-range[data-v-2e254fdb]{appearance:none;cursor:pointer;background:#1a2740;border-radius:999px;outline:none;height:4px}.obj-range[data-v-2e254fdb]::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--hud-accent);width:13px;height:13px;-webkit-transition:transform .15s var(--hud-ease), box-shadow .15s var(--hud-ease);transition:transform .15s var(--hud-ease), box-shadow .15s var(--hud-ease);background:#e8f6ef;border-radius:50%;box-shadow:0 0 0 3px #35e0a026,0 2px 6px #03070e80}.scale-range[data-v-2e254fdb]::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--hud-accent);width:13px;height:13px;-webkit-transition:transform .15s var(--hud-ease), box-shadow .15s var(--hud-ease);transition:transform .15s var(--hud-ease), box-shadow .15s var(--hud-ease);background:#e8f6ef;border-radius:50%;box-shadow:0 0 0 3px #35e0a026,0 2px 6px #03070e80}.obj-range[data-v-2e254fdb]::-webkit-slider-thumb:hover{transform:scale(1.18);box-shadow:0 0 0 5px #35e0a033,0 2px 8px #03070e8c}.scale-range[data-v-2e254fdb]::-webkit-slider-thumb:hover{transform:scale(1.18);box-shadow:0 0 0 5px #35e0a033,0 2px 8px #03070e8c}.obj-range[data-v-2e254fdb]::-moz-range-thumb{border:2px solid var(--hud-accent);background:#e8f6ef;border-radius:50%;width:13px;height:13px;box-shadow:0 0 0 3px #35e0a026}.scale-range[data-v-2e254fdb]::-moz-range-thumb{border:2px solid var(--hud-accent);background:#e8f6ef;border-radius:50%;width:13px;height:13px;box-shadow:0 0 0 3px #35e0a026}.obj-range[data-v-2e254fdb]::-moz-range-track{background:#1a2740;border-radius:999px;height:4px}.scale-range[data-v-2e254fdb]::-moz-range-track{background:#1a2740;border-radius:999px;height:4px}@keyframes ty-bounce-2e254fdb{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.mini-btn[data-v-2e254fdb]:active,.obj-mini[data-v-2e254fdb]:active{transform:scale(.96)}mini-btn[data-v-2e254fdb],obj-mini[data-v-2e254fdb]{transition-property:filter,background,border-color,color,transform,opacity;transition-duration:.15s;transition-timing-function:var(--hud-ease)}.obj-mini[data-v-2e254fdb]:focus-visible,.obj-range[data-v-2e254fdb]:focus-visible,.obj-select[data-v-2e254fdb]:focus-visible,button[data-v-2e254fdb]:focus-visible,input[data-v-2e254fdb]:focus-visible,select[data-v-2e254fdb]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-2e254fdb]{min-height:40px}}@media (prefers-reduced-motion:reduce){.rpg-line.live .rpg-bubble[data-v-2e254fdb],.ty-dot[data-v-2e254fdb]{animation:none}}.health-body[data-v-2e57631b]{align-items:center;gap:14px;display:flex}.donut-wrap[data-v-2e57631b]{flex:none;width:118px;height:118px;position:relative}.donut-wrap canvas[data-v-2e57631b]{width:118px;height:118px}.donut-center[data-v-2e57631b]{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.donut-center b[data-v-2e57631b]{font-family:var(--font-mono);color:var(--hud-accent);font-size:21px;font-weight:700}.donut-center span[data-v-2e57631b]{color:var(--hud-faint);font-size:9.5px}.health-legend[data-v-2e57631b]{flex-direction:column;flex:1;gap:8px;display:flex}.hl-row[data-v-2e57631b]{align-items:center;gap:7px;font-size:11.5px;display:flex}.hl-dot[data-v-2e57631b]{border-radius:50%;flex:none;width:7px;height:7px}.hl-row .n[data-v-2e57631b]{font-family:var(--font-mono);color:var(--hud-text);margin-left:auto;font-size:13px;font-weight:700}button[data-v-2e57631b]:focus-visible,input[data-v-2e57631b]:focus-visible,select[data-v-2e57631b]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-2e57631b]{min-height:40px}}.rail-empty[data-v-cc7acafa]{font-family:var(--font-mono);letter-spacing:.06em;color:var(--hud-faint);text-align:center;flex-direction:column;align-items:center;gap:7px;padding:16px 10px 13px;font-size:9.5px;display:flex}.rail-empty .re-ico[data-v-cc7acafa]{fill:none;width:19px;height:19px;stroke:var(--hud-faint);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.alarm-list[data-v-cc7acafa]{flex-direction:column;display:flex}.al-row[data-v-cc7acafa]{border-radius:var(--hud-r-md);align-items:flex-start;gap:9px;padding:9px 8px;transition:background .15s;display:flex}.al-row[data-v-cc7acafa]:hover{background:#101a2c}.al-ico[data-v-cc7acafa]{border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid}.al-ico.crit[data-v-cc7acafa]{color:var(--hud-danger);background:#ff6b6b1f}.al-ico.warn[data-v-cc7acafa]{color:var(--hud-amber);background:#f6c4531f}.al-ico.info[data-v-cc7acafa]{color:var(--hud-cyan);background:#41c8f41f}.al-svg[data-v-cc7acafa]{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.al-body[data-v-cc7acafa]{flex:1;min-width:0}.al-txt[data-v-cc7acafa]{color:var(--hud-text);font-size:12px;font-weight:500;line-height:1.35}.al-src[data-v-cc7acafa]{font-family:var(--font-mono);color:var(--hud-faint);margin-top:2px;font-size:9.5px}.al-state[data-v-cc7acafa]{cursor:pointer;background:0 0;border:1px solid;border-radius:6px;flex:none;margin-top:2px;padding:2px 7px;font-size:9.5px;font-weight:600}.al-state.s0[data-v-cc7acafa]{color:var(--hud-danger);background:#ff6b6b1a;border-color:#ff6b6b66}.al-state.s1[data-v-cc7acafa]{color:var(--hud-amber);background:#f6c4531a;border-color:#f6c45359}.al-state.s2[data-v-cc7acafa]{color:var(--hud-dim);background:#8fa0b514;border-color:#8fa0b54d}.nav-bell-warn[data-v-cc7acafa]{color:var(--hud-danger);border-color:#ff6b6b80}.al-state[data-v-cc7acafa]:active{transform:scale(.96)}al-state[data-v-cc7acafa]{transition-property:filter,background,border-color,color,transform,opacity;transition-duration:.15s;transition-timing-function:var(--hud-ease)}button[data-v-cc7acafa]:focus-visible,input[data-v-cc7acafa]:focus-visible,select[data-v-cc7acafa]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-cc7acafa]{min-height:40px}}.event-list[data-v-93c4c4bd]{flex-direction:column;flex:1;min-height:0;max-height:200px;display:flex;overflow:hidden auto}.event-row[data-v-93c4c4bd]{transition:background .13s var(--hud-ease);border-radius:7px;align-items:center;gap:7px;padding:4px 6px;display:flex}.event-row[data-v-93c4c4bd]:hover{background:#35e0a00d}.ev-time[data-v-93c4c4bd]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--hud-faint);flex:none;font-size:10px}.ev-name[data-v-93c4c4bd]{text-overflow:ellipsis;white-space:nowrap;max-width:70px;font-family:var(--font-mono);color:var(--hud-text);flex:none;font-size:10px;font-weight:600;overflow:hidden}.ev-text[data-v-93c4c4bd]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--hud-dim);flex:1;font-size:10.5px;overflow:hidden}.event-empty[data-v-93c4c4bd]{font-family:var(--font-mono);color:var(--hud-faint);text-align:center;padding:12px;font-size:9.5px}.rail-empty[data-v-93c4c4bd]{font-family:var(--font-mono);letter-spacing:.06em;color:var(--hud-faint);text-align:center;flex-direction:column;align-items:center;gap:7px;padding:16px 10px 13px;font-size:9.5px;display:flex}.rail-empty .re-ico[data-v-93c4c4bd]{fill:none;width:19px;height:19px;stroke:var(--hud-faint);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.85}button[data-v-93c4c4bd]:focus-visible,input[data-v-93c4c4bd]:focus-visible,select[data-v-93c4c4bd]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-93c4c4bd]{min-height:40px}}.vp-tools[data-v-954a301c]{align-items:center;gap:8px;display:flex}.vp-tool[data-v-954a301c]{width:34px;height:34px;color:var(--hud-dim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:color .15s var(--hud-ease), border-color .15s var(--hud-ease), background .15s var(--hud-ease);background:#0d1420d9;border:1px solid #223050;border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid}.vp-tool[data-v-954a301c]:hover{color:var(--hud-text);border-color:#33507c}.vp-tool.on[data-v-954a301c]{color:#04120c;background:var(--hud-accent);border-color:var(--hud-accent);box-shadow:0 0 12px #35e0a04d}.vp-svg[data-v-954a301c]{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.mm-body[data-v-954a301c]{align-items:stretch;gap:8px;display:flex}.mm-wrap[data-v-954a301c]{border-radius:var(--hud-r-md);background:#060b13;border:1px solid #223050;flex:1;min-height:148px;position:relative;overflow:hidden}.mini-svg[data-v-954a301c]{cursor:crosshair;width:100%;height:100%;position:absolute;inset:0}.nav-cv[data-v-954a301c]{cursor:crosshair;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.mm-col[data-v-954a301c]{flex-direction:column;gap:6px;display:flex}.mm-col .vp-tool[data-v-954a301c]{border-radius:8px;width:30px;height:30px}.mm-meta[data-v-954a301c]{color:var(--hud-faint);letter-spacing:.08em;text-align:center;margin-top:8px;font-size:9.5px}.vp-tool[data-v-954a301c]:active{transform:scale(.96)}vp-tool[data-v-954a301c]{transition-property:filter,background,border-color,color,transform,opacity;transition-duration:.15s;transition-timing-function:var(--hud-ease)}button[data-v-954a301c]:focus-visible,input[data-v-954a301c]:focus-visible,select[data-v-954a301c]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (width<=1023px){button[data-v-954a301c]{min-height:40px}}.twin-dcw[data-v-e13b315d]{border-top:1px dashed #f0a04c59;flex-direction:column;gap:6px;margin:0 0 2px;padding-top:6px;display:flex}.dcw-item[data-v-e13b315d]{flex-direction:column;gap:3px;display:flex}.dcw-head[data-v-e13b315d]{font-family:var(--font-mono);color:var(--hud-dim);justify-content:space-between;align-items:baseline;gap:6px;font-size:9.5px;display:flex}.dcw-head em[data-v-e13b315d]{text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.dcw-src[data-v-e13b315d]{color:var(--hud-amber,#f6c453);border:1px solid #f0a04c80;border-radius:2px;margin-left:4px;padding:0 3px;font-size:10px;font-style:normal}.dcw-set[data-v-e13b315d]{font-variant-numeric:tabular-nums;color:var(--hud-amber,#f6c453);white-space:nowrap;font-size:12px;font-weight:700}.dcw-set i[data-v-e13b315d]{opacity:.75;margin-left:2px;font-size:10px;font-style:normal;font-weight:500}.dcw-act[data-v-e13b315d]{font-family:var(--font-mono);color:var(--hud-dim);justify-content:space-between;align-items:baseline;gap:6px;font-size:10px;display:flex}.dcw-act em[data-v-e13b315d]{letter-spacing:.08em;color:var(--hud-faint);font-size:10px;font-style:normal}.dcw-act b[data-v-e13b315d]{font-variant-numeric:tabular-nums;color:var(--hud-accent,#35e0a0);white-space:nowrap;font-size:11.5px;font-weight:700}.dcw-act b i[data-v-e13b315d]{opacity:.75;margin-left:2px;font-size:10px;font-style:normal;font-weight:500}.dcw-act-at[data-v-e13b315d]{color:var(--hud-faint);font-size:10px;font-style:normal}.dcw-win[data-v-e13b315d]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--hud-faint);letter-spacing:.04em;font-size:10px}.dcw-win span[data-v-e13b315d]{border-bottom:1px dotted var(--hud-line);padding-bottom:1px}.dcw-ctrl[data-v-e13b315d]{align-items:center;gap:4px;display:flex}.dcw-ctrl .ctrl-input[data-v-e13b315d]{flex:1;width:auto;min-width:0}.dcw-send[data-v-e13b315d]{color:var(--hud-amber,#f6c453);border-color:#f0a04c80;flex:none}.dcw-send[data-v-e13b315d]:hover:not(:disabled){color:var(--hud-amber,#f6c453);border-color:var(--hud-amber,#f6c453);background:#f0a04c1f}.dcw-err[data-v-e13b315d]{font-family:var(--font-mono);color:var(--hud-danger,#ff6b5c);font-size:10px}.ctrl-btn[data-v-e13b315d]{letter-spacing:.06em;font-size:10px;font-weight:600;font-family:var(--font-mono);color:var(--hud-text);border:1px solid var(--hud-line);cursor:pointer;background:0 0;border-radius:2px;padding:3px 7px;transition:border-color .14s,color .14s,background .14s}.ctrl-btn[data-v-e13b315d]:hover:not(:disabled){border-color:var(--hud-accent);color:var(--hud-accent)}.ctrl-btn[data-v-e13b315d]:disabled{opacity:.45;cursor:default}.ctrl-input[data-v-e13b315d]{width:48px;font-family:var(--font-mono);border:1px solid var(--hud-line);background:var(--hud-input);color:var(--hud-text);font-variant-numeric:tabular-nums;border-radius:2px;padding:3px 6px;font-size:10px}.ctrl-input[data-v-e13b315d]:focus{border-color:var(--hud-accent);outline:none}.twin-card[data-v-259585c1]{text-align:left;cursor:pointer;background:#141b26a6;border:0;border-radius:2px;flex-direction:column;gap:6px;margin:0 10px;padding:8px 9px;transition:background .16s;display:flex}.twin-card[data-v-259585c1]:hover{background:var(--hud-panel-hover)}.twin-card[data-v-259585c1]:active{background:var(--hud-panel-raised)}.twin-card:hover .twin-name[data-v-259585c1]{color:#e8f1f8}.twin-card.daq[data-v-259585c1]{background:#35e0a00f;border:1px solid #35e0a052}.twin-card.daq[data-v-259585c1]:hover{background:#35e0a01c;border-color:#35e0a080}.twin-card.daq .twin-code[data-v-259585c1],.twin-card.daq .twin-model-tag[data-v-259585c1]{color:var(--hud-accent,#35e0a0)}.twin-row[data-v-259585c1]{align-items:center;gap:8px;min-width:0;display:flex}.twin-model-tag[data-v-259585c1]{min-width:30px;font-family:var(--font-mono);letter-spacing:.08em;color:var(--hud-faint);flex:none;font-size:10px;font-weight:600}.twin-idbar[data-v-259585c1]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.twin-name[data-v-259585c1]{color:var(--hud-text);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600;overflow:hidden}.twin-code[data-v-259585c1]{font-family:var(--font-mono);letter-spacing:.08em;color:var(--hud-dim);font-size:10px}.twin-del[data-v-259585c1]{width:18px;height:18px;font-family:var(--font-mono);color:var(--hud-dim,#8496a5);border:1px solid var(--hud-line,#263340);cursor:pointer;background:0 0;border-radius:2px;flex:none;font-size:10px;line-height:1;transition:border-color .14s,color .14s,background .14s}.twin-del[data-v-259585c1]:hover:not(:disabled){border-color:var(--hud-danger,#ff6b5c);color:var(--hud-danger,#ff6b5c)}.twin-del.armed[data-v-259585c1]{color:#1a0d0a;background:var(--hud-danger,#ff6b5c);border-color:var(--hud-danger,#ff6b5c);width:auto;padding:0 5px}.twin-del[data-v-259585c1]:disabled{opacity:.4;cursor:default}.twin-state[data-v-259585c1]{font-family:var(--font-mono);letter-spacing:.08em;color:var(--hud-dim);border:1px solid var(--hud-line);border-radius:2px;flex:none;align-items:center;gap:5px;padding:2px 5px;font-size:10px;display:inline-flex}.twin-state.s-alarm[data-v-259585c1]{color:var(--hud-danger);border-color:#ff6b5c80}.twin-state.s-running[data-v-259585c1]{color:var(--hud-ok);border-color:#7fd4a066}.twin-state-dot[data-v-259585c1]{border-radius:50%;width:5px;height:5px}.twin-tele[data-v-259585c1]{border-top:1px dashed var(--hud-line);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 10px;margin:0 0 2px;padding-top:6px;display:grid}.tele-item[data-v-259585c1]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--hud-dim);justify-content:space-between;gap:6px;min-width:0;font-size:9.5px;display:flex}.tele-item em[data-v-259585c1]{text-overflow:ellipsis;font-style:normal;overflow:hidden}.tele-item b[data-v-259585c1]{color:var(--hud-text);font-weight:500}.twin-daq[data-v-259585c1]{border-top:1px dashed #35e0a04d;flex-direction:column;gap:2px;margin:0 0 2px;padding-top:6px;display:flex}.daq-item[data-v-259585c1]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--hud-accent,#35e0a0);justify-content:space-between;align-items:baseline;gap:6px;min-width:0;font-size:9.5px;display:flex}.daq-item em[data-v-259585c1]{text-overflow:ellipsis;white-space:nowrap;opacity:.85;font-style:normal;overflow:hidden}.daq-item b[data-v-259585c1]{white-space:nowrap;font-size:10.5px;font-weight:700}.daq-item b i[data-v-259585c1]{opacity:.75;margin-left:2px;font-size:10px;font-style:normal;font-weight:500}.daq-item.alarm[data-v-259585c1]{color:var(--hud-amber,#f6c453)}.twin-panel[data-v-9fd2b035]{width:auto;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;flex:none;gap:8px;padding:0;display:flex}.twin-head[data-v-9fd2b035]{border-bottom:1px solid #26334073;align-items:center;gap:8px;padding:10px 12px 6px;display:flex}.twin-error[data-v-9fd2b035]{color:#ffb4b4;word-break:break-all;background:#ff6b6b1a;border:1px solid #ff6b6b59;border-radius:8px;padding:7px 10px;font-size:11px;line-height:1.5}.twin-kicker[data-v-9fd2b035]{font-family:var(--font-mono);letter-spacing:.16em;color:var(--hud-text,#d9e4ee);font-size:10px;font-weight:600}.twin-count[data-v-9fd2b035]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--hud-dim,#8496a5);margin-left:auto;font-size:10px}.twin-empty[data-v-9fd2b035]{padding:10px}.twin-empty-frame[data-v-9fd2b035]{border:1px dashed var(--hud-line);flex-direction:column;gap:4px;padding:12px 10px;display:flex}.twin-empty-title[data-v-9fd2b035]{font-family:var(--font-mono);letter-spacing:.1em;color:var(--hud-text);font-size:11px}.twin-empty-sub[data-v-9fd2b035]{color:var(--hud-dim);font-size:10px;line-height:1.6}.twin-list[data-v-9fd2b035]{flex-direction:column;gap:4px;max-height:46vh;padding:4px 0 10px;display:flex;overflow:hidden auto}.twin-err[data-v-9fd2b035]{color:var(--hud-danger);padding:0 10px 8px;font-size:9.5px}.rail[data-v-364d5ffa]{background:linear-gradient(#0a101c,#080d16);flex-direction:column;gap:10px;min-height:0;padding:10px;display:flex;overflow:hidden auto}.rail-right[data-v-364d5ffa]{border-left:1px solid var(--hud-line-soft)}.rail[data-v-364d5ffa]::-webkit-scrollbar{width:8px}.rail[data-v-364d5ffa]::-webkit-scrollbar-thumb{background:#1c2942;border:2px solid #080d16;border-radius:4px}.rail[data-v-364d5ffa]::-webkit-scrollbar-track{background:0 0}.ins-enter-active[data-v-364d5ffa]{transition:opacity .2s var(--hud-ease), transform .2s var(--hud-ease)}.ins-leave-active[data-v-364d5ffa]{transition:opacity .12s}.ins-enter-from[data-v-364d5ffa]{opacity:0;transform:translate(12px)}.ins-leave-to[data-v-364d5ffa]{opacity:0}.panel[data-v-364d5ffa]{border:1px solid var(--hud-line);border-radius:var(--hud-r-lg);background:linear-gradient(#101827,#0d1420);flex:none;padding:12px;position:relative;box-shadow:inset 0 1px #8fb0dc12,0 10px 28px #03070e73}.panel[data-v-364d5ffa]:before{content:"";border-radius:var(--hud-r-lg) var(--hud-r-lg) 0 0;pointer-events:none;background:linear-gradient(#78a5dc0e,#0000);height:44px;position:absolute;inset:0 0 auto}.panel-hd[data-v-364d5ffa]{align-items:center;gap:8px;margin-bottom:10px;display:flex}.panel-hd h3[data-v-364d5ffa]{letter-spacing:.02em;flex:1;margin:0;padding-left:11px;font-size:12.5px;font-weight:700;position:relative}.panel-hd h3[data-v-364d5ffa]:before{content:"";background:var(--hud-accent);width:3px;height:12px;box-shadow:0 0 8px color-mix(in srgb, var(--hud-accent) 45%, transparent);border-radius:2px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.panel-tag[data-v-364d5ffa]{font-family:var(--font-mono);color:var(--hud-cyan);background:#41c8f41a;border:1px solid #41c8f440;border-radius:6px;padding:0 6px;font-size:9.5px;line-height:15px}@media (prefers-reduced-motion:no-preference){.dock[data-v-364d5ffa],.rail-left[data-v-364d5ffa],.rail-right[data-v-364d5ffa]{animation:.52s cubic-bezier(.22,.68,.36,1) backwards hud-boot-364d5ffa}.rail-left[data-v-364d5ffa]{animation-delay:40ms}.rail-right[data-v-364d5ffa]{animation-delay:.15s}.dock[data-v-364d5ffa]{animation-delay:.26s}}@keyframes hud-boot-364d5ffa{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.inspector[data-v-364d5ffa]{animation:rise-364d5ffa .18s var(--hud-ease)}@keyframes rise-364d5ffa{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.al-state[data-v-364d5ffa]:active,.bind-add[data-v-364d5ffa]:active,.bind-x[data-v-364d5ffa]:active,.bp-btn[data-v-364d5ffa]:active,.btn[data-v-364d5ffa]:active,.lg-chip[data-v-364d5ffa]:active,.mini-btn[data-v-364d5ffa]:active,.obj-mini[data-v-364d5ffa]:active,.snap-toggle[data-v-364d5ffa]:active,.vp-tool[data-v-364d5ffa]:active{transform:scale(.96)}.al-state[data-v-364d5ffa],.bind-add[data-v-364d5ffa],.bp-btn[data-v-364d5ffa],.btn[data-v-364d5ffa],.lg-chip[data-v-364d5ffa],.mini-btn[data-v-364d5ffa],.obj-mini[data-v-364d5ffa],.snap-toggle[data-v-364d5ffa],.vp-tool[data-v-364d5ffa]{transition-property:filter,background,border-color,color,transform,opacity;transition-duration:.15s;transition-timing-function:var(--hud-ease)}button[data-v-364d5ffa]:focus-visible,input[data-v-364d5ffa]:focus-visible,select[data-v-364d5ffa]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}@media (prefers-reduced-motion:reduce){.callout[data-v-364d5ffa],.inspector[data-v-364d5ffa]{animation:none}}.dock-toggle[data-v-364d5ffa],.sheet-btn[data-v-364d5ffa],.sheet-hd[data-v-364d5ffa]{display:none}@media (width<=1023px){.rail[data-v-364d5ffa]{z-index:70;overscroll-behavior:contain;border:0;border-top:1px solid var(--hud-line-hi);visibility:hidden;width:auto;max-height:min(76dvh,640px);transition:transform .26s var(--hud-ease), visibility 0s linear .26s;background:linear-gradient(#0c1420,#080d16 46%);border-radius:16px 16px 0 0;gap:8px;padding:0 10px 12px;position:fixed;inset:auto 0 0;overflow-y:auto;transform:translateY(103%);box-shadow:0 -18px 46px #0009}.rail.sheet-open[data-v-364d5ffa]{visibility:visible;transition:transform .26s var(--hud-ease), visibility 0s;transform:none}.rail-left[data-v-364d5ffa],.rail-right[data-v-364d5ffa]{border-left:0;border-right:0}.rail .panel[data-v-364d5ffa]{flex:none}.sheet-hd[data-v-364d5ffa]{z-index:2;border-bottom:1px solid var(--hud-line-soft);background:linear-gradient(#0e1725,#0c1420);align-items:center;gap:8px;margin:0 -10px 2px;padding:13px 12px 9px;display:flex;position:sticky;top:0}.sheet-grip[data-v-364d5ffa]{background:#2c4568;border-radius:2px;width:40px;height:3px;margin-left:-20px;position:absolute;top:6px;left:50%}.sheet-hd-t[data-v-364d5ffa]{color:var(--hud-text);letter-spacing:.04em;font-size:13px;font-weight:700}.sheet-x[data-v-364d5ffa]{border:1px solid var(--hud-line);width:40px;height:40px;color:var(--hud-dim);background:#101a2b;border-radius:8px;flex:none;margin-left:auto;font-size:15px}}@media (prefers-reduced-motion:reduce){.rail[data-v-364d5ffa]{transition:none}}@media (width<=1023px){button[data-v-364d5ffa]{min-height:40px}}.statusbar[data-v-5a3727ac]{border-top:1px solid var(--hud-line-soft);height:30px;color:var(--hud-dim);z-index:60;background:#0a101b;flex:none;align-items:center;gap:18px;padding:0 14px;font-size:11px;display:flex;position:relative}.statusbar b[data-v-5a3727ac]{color:var(--hud-accent);font-weight:600}.statusbar .sb-stats[data-v-5a3727ac]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;align-items:center;gap:7px;display:inline-flex}.sb-stats b[data-v-5a3727ac]{color:var(--hud-text);font-weight:600}.sb-stats i[data-v-5a3727ac]{color:var(--hud-line-hi);font-style:normal}.sb-dot[data-v-5a3727ac]{background:var(--hud-accent);width:7px;height:7px;box-shadow:0 0 6px var(--hud-accent);vertical-align:1px;border-radius:50%;margin-right:6px;display:inline-block}.sb-dot.red[data-v-5a3727ac]{background:var(--hud-danger);box-shadow:0 0 6px var(--hud-danger)}.sb-dot[data-v-5a3727ac]:not(.red){animation:sb-pulse-5a3727ac 2.4s var(--hud-ease) infinite}@keyframes sb-pulse-5a3727ac{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.sb-dot[data-v-5a3727ac]:not(.red){animation:none}}.sb-lat[data-v-5a3727ac]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;position:absolute;left:50%;transform:translate(-50%)}.statusbar .copy[data-v-5a3727ac]{color:var(--hud-faint);font-family:var(--font-mono);margin-left:auto;font-size:10px}@media (width<=1023px){.statusbar[data-v-5a3727ac]{flex-wrap:wrap;gap:6px 12px;height:auto;min-height:30px;padding:5px 10px;font-size:11.5px}.statusbar .copy[data-v-5a3727ac]{display:none}.sb-lat[data-v-5a3727ac]{margin-left:auto;position:static;transform:none}.statusbar[data-v-5a3727ac]{font-size:12px}}.town-view[data-v-003fe58a]{--hud-bg:#070b13;--hud-panel:#0d1420;--hud-panel-2:#111a2b;--hud-panel-raised:#152034;--hud-panel-hover:#16233a;--hud-line:#1d2a42;--hud-line-soft:#16202f;--hud-line-hi:#2c4568;--hud-input:#0a111d;--hud-text:#e8eef8;--hud-dim:#8fa0b5;--hud-faint:#5f6e84;--hud-accent:#35e0a0;--hud-accent-dim:#1f9e6e;--hud-cyan:#41c8f4;--hud-amber:#f6c453;--hud-ok:#35e0a0;--hud-danger:#ff6b6b;--hud-shadow:0 16px 40px #0000008c;--hud-ease:cubic-bezier(.22, .68, .36, 1);--hud-r-sm:8px;--hud-r-md:10px;--hud-r-lg:12px;background:var(--hud-bg);height:100%;min-height:0;color:var(--hud-text);font-family:var(--font-body);flex-direction:column;font-size:13px;display:flex}.town-view small[data-v-003fe58a]{font-size:10px}.app[data-v-003fe58a]{flex:1;grid-template-columns:clamp(212px,19vw,250px) minmax(0,1fr) clamp(284px,26vw,342px);min-height:0;display:grid}.town-view[data-v-003fe58a] ::-webkit-scrollbar{width:8px;height:8px}.town-view[data-v-003fe58a] ::-webkit-scrollbar-track{background:0 0}.town-view[data-v-003fe58a] ::-webkit-scrollbar-thumb{background:#1c2942;border:2px solid #080d16;border-radius:4px}.town-view[data-v-003fe58a] ::-webkit-scrollbar-thumb:hover{background:#2c4568}.sheet-mask[data-v-003fe58a]{z-index:69;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);background:#03060c9e;position:fixed;inset:0}@media (width<=1023px){.town-view[data-v-003fe58a]{--hud-faint:#8b9bb0}.app[data-v-003fe58a]{grid-template-columns:minmax(0,1fr)}.town-view[data-v-003fe58a] :where(.panel-tag,.daq-code,.daq-count,.daq-caret,.node-val,.node-dev,.daq-empty-hint,.scene-meta,.scene-cur,.scene-add,.scene-hint,.co-label,.co-range,.lg-chip,.lg-more,.ins-chip,.sect-hd,.obj-label,.range-status,.obj-mini,.bp-val,.seg-btn,.scale-min,.scale-max,.scale-val,.ins-empty,.donut-center span,.ev-time,.ev-name,.ev-text,.event-empty,.rail-empty,.al-src,.al-state,.mm-meta,.chat-state,.chat-role,.chat-harness,.chat-count,.rpg-divider,.rpg-time,.rpg-kind,.ty-label,.rpg-note,.bp-sub,.bp-tab,.bp-label,.bp-hint,.bp-btn,.member-ava,.member-role,.member-select,.bind-label,.bind-val,.bp-tpl,.bp-cur,.bp-empty,.dcw-name,.dcw-tag,.dcw-win-num,.dcw-send,.dcw-err,.bind-select,.bind-add-btn,.daq-ctl-cycle,.daq-num,.daq-th-inputs,.approval-ttl,.approval-detail){font-size:11.5px}.town-view[data-v-003fe58a] :where(.daq-name,.scene-name,.al-txt,.ev-text,.chat-name,.co-val,.rpg-text,.daq-info-row,.daq-ctl-btn,.rail-empty,.rpg-note,.member-name,.bind-label,.dcw-cur){font-size:13px}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./Cp4r6Eiz.js";import{t}from"./h5gsh8E92.js";import{t as n}from"./JgheoP3e.js";import{t as r}from"./Ch1P2mIf.js";var i=e=>`${e.kind}:${e.id}`;function a(e){let t=e??{},r=t.data?.code??t.response?.data?.code,i=Number(t.statusCode??t.status??t.response?.status??0);return{ok:!1,code:r==null?i===409?`ALREADY_RESOLVED`:i===403?`APPROVAL_FORBIDDEN`:i?`HTTP_${i}`:``:String(r),message:n(e)}}var o=e(`workshop.hitl`,{state:()=>({items:[],snapshotLoaded:!1,answering:null}),getters:{count:e=>e.items.length,byAgent:e=>{let t=new Map;for(let n of e.items){let e=t.get(n.agentId)??[];e.push(n),t.set(n.agentId,e)}return t},byKey:e=>(t,n)=>e.items.find(e=>e.kind===t&&e.id===n)},actions:{applyEnvelope(e){if(e.type===`hitl.request`){let t=e.payload,n=i(t),r=this.items.findIndex(e=>i(e)===n);r>=0?this.items[r]=t:this.items.push(t)}else if(e.type===`hitl.resolved`){let t=e.payload;this.items=this.items.filter(e=>i(e)!==i(t))}},async loadSnapshot(){if(typeof window>`u`)return;let e=t().token;if(e)try{let t=await r(`/api/workshop/hitl/pending`,{headers:{authorization:`Bearer ${e}`}});t.code===0&&t.data&&(this.items=t.data.items,this.snapshotLoaded=!0)}catch{}},async answer(e,n){let o=i(e);if(this.answering)return{ok:!1,code:`BUSY`,message:`已有应答提交中`};this.answering=o;let s=t().token;try{let t=await r(`/api/workshop/hitl/respond`,{method:`POST`,body:{kind:e.kind,id:e.id,...n},headers:s?{authorization:`Bearer ${s}`}:{}});return t.code===0?(this.items=this.items.filter(e=>i(e)!==o),await this.loadSnapshot(),{ok:!0,code:``,message:t.message??`ok`}):(await this.loadSnapshot(),{ok:!1,code:String(t.code??``),message:t.message??`应答失败`})}catch(e){let t=a(e);return(t.code===`ALREADY_RESOLVED`||t.code===`APPROVAL_FORBIDDEN`||t.code===`NOT_RESPONDABLE`)&&await this.loadSnapshot(),t}finally{this.answering=null}},invalidate(){this.snapshotLoaded=!1},clear(){this.items=[],this.snapshotLoaded=!1,this.answering=null}}});export{o as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./DK3Fl9T5.js";import{v as t}from"./CavpkQb0.js";import{et as n}from"./ByMj6e7s.js";import{d as r}from"./B8C-QJB5.js";import{n as i}from"./Cnrmlixo.js";import{i as a}from"./Bc_k6AVA.js";import{t as o}from"./h5gsh8E92.js";import{t as s}from"./JgheoP3e.js";import{a as c,t as l}from"./dq1HKoGD.js";import{t as u}from"./DHhmq7s_.js";var d=e({useWorkbenchWorkspaces:()=>f});function f(){let{t:e}=i(),d=o(),f=u(),p=c(),{subscribe:m}=l(),h=t(!1);n(()=>d.isLoggedIn,async t=>{if(!t){h.value=!1;return}if(await d.refresh(),d.isLoggedIn)try{await f.load(),h.value=!0}catch(t){a.error(t instanceof Error?t.message:e(`wsHome.k1br33vc023`))}},{immediate:!0}),n(()=>h.value&&f.workspaces.map(e=>e.channelIds.join(`,`)).join(`|`),()=>{if(h.value)for(let e of f.workspaces)for(let t of e.channelIds)m(t)},{immediate:!0});let g=t(!1),_=t(``),v=t(!1);return{wsStore:f,ready:h,createOpen:g,createName:_,createLoading:v,create:async()=>{let t=_.value.trim();if(!t){a.warning(e(`wsHome.nameRequired`));return}v.value=!0;try{let e=await f.create(t);g.value=!1,_.value=``,f.setActiveWorkspaceId(e.id),r(`/workshop/w/${e.id}`)}catch(e){a.error(s(e))}finally{v.value=!1}},remove:async t=>{await f.remove(t),a.success(e(`wsHome.k3n5sd7024`))},channelSummary:e=>e.map(e=>{let t=p.channels[e],n=p.agents[e]??[];return{id:e,name:t?.name??e.slice(0,8),synced:t!==void 0,agents:n.length,busy:n.filter(e=>e.state===`busy`).length,activeTasks:(p.tasks[e]??[]).filter(e=>![`COMPLETED`,`CANCELED`,`FAILED`].includes(e.state)).length}})}}export{d as n,f as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{dt as e,mt as t,v as n}from"./CavpkQb0.js";import{R as r,S as i,V as a,W as o,b as s,d as c,f as l,h as u,i as d,m as f,nt as p,p as m,y as h}from"./ByMj6e7s.js";import{f as g}from"./goF_oZHF.js";import{n as _}from"./Cnrmlixo.js";import{i as v,s as ee}from"./Bc_k6AVA.js";import{t as te}from"./DJJDigim2.js";import{t as ne}from"./wR_w07322.js";import{t as re}from"./CR612R752.js";import{t as y}from"./h5gsh8E92.js";import{t as b}from"./BDNMzG2s.js";import{t as x}from"./JgheoP3e.js";import{t as S}from"./Ch1P2mIf.js";import{t as ie}from"./Du9v6qGB2.js";import{t as ae}from"./CDn0eDn8.js";var oe={class:`plugins-page`},se={class:`aw-page-head`},ce={class:`pg-sub`},le={class:`pg-stats`},C={class:`stat`},w={class:`stat`},T={class:`stat`},E={class:`stat`},D={key:1,class:`pg-empty`},O={class:`pg-empty-t`},k={class:`pg-grid aw-stagger`},A=[`onClick`],j={class:`card-head`},M={class:`card-name`},N={class:`card-ver`},P={class:`card-desc`},F={class:`card-tags`},I={key:0,class:`tag client`},L={key:1,class:`tag client`},R={key:0,class:`card-routes`},ue={class:`detail`},z={class:`scope-hint`},B={key:0},V={key:1,style:{color:`#ff6b6b`}},H={key:0,class:`pg-tool-list`},U={key:1,class:`dim`},de={key:2,class:`dim`},W=b(i({__name:`index`,setup(i){let{t:b}=_(),W=e=>{let t=ie[e.name];return t?b(t):e.description},fe=y(),G=n([]),K=n([]),q=n(!1),J=n(``),Y=n(!1),X=n(null);function Z(){let e=fe.token;return e?{authorization:`Bearer ${e}`}:{}}async function Q(){q.value=!0;try{let e=await S(`/api/workshop/plugins`,{headers:Z()});G.value=e.plugins??[],K.value=e.failures??[]}catch(e){v.error(x(e,b(`plugins.loadFail`)))}finally{q.value=!1}}async function pe(e){J.value=e.name;try{let t=await S(`/api/workshop/plugins/${e.name}/${e.enabled?`disable`:`enable`}`,{method:`POST`,headers:Z()});if(t.code!==0||!t.data)throw Error(b(`plugins.enableFail`));e.enabled=t.data.enabled,v.success(`${e.name} · ${t.data.enabled?b(`plugins.enabled`):b(`plugins.disabled`)}`),setTimeout(Q,800)}catch(e){v.error(x(e,b(`plugins.enableFail`)))}finally{J.value=``}}let me=c(()=>G.value.filter(e=>e.enabled).length),he=c(()=>G.value.filter(e=>e.hasClient).length);function $(e){return b(e===`project`?`plugins.scopeProject`:`plugins.scopeUser`)}function ge(e){X.value=e,Y.value=!0}return r(Q),(n,r)=>{let i=ee,c=te,_=ae,v=re,y=ne;return a(),u(`div`,oe,[l(`header`,se,[l(`div`,null,[r[2]||=l(`p`,{class:`aw-kicker`},` agentworkshop / plugins `,-1),l(`h1`,null,t(n.$t(`plugins.title`)),1),l(`p`,ce,t(n.$t(`plugins.subtitle`)),1)]),l(`div`,le,[l(`span`,C,[h(t(n.$t(`plugins.enabled`))+` `,1),l(`b`,null,t(me.value),1)]),l(`span`,w,[h(t(n.$t(`plugins.hasClient`))+` `,1),l(`b`,null,t(he.value),1)]),l(`span`,T,[h(t(n.$t(`toolsPage.total`))+` `,1),l(`b`,null,t(G.value.reduce((e,t)=>e+(t.toolCount??0),0)),1)]),l(`span`,E,[h(t(n.$t(`plugins.routes`))+` `,1),l(`b`,null,t(G.value.reduce((e,t)=>e+t.routes.length,0)),1)]),s(i,{size:`small`,loading:q.value,onClick:Q},{default:p(()=>[h(t(n.$t(`plugins.refresh`)),1)]),_:1},8,[`loading`])])]),K.value.length?(a(),m(c,{key:0,type:`error`,"show-icon":``,class:`pg-failures`,message:n.$t(`plugins.loadFailures`,{n:K.value.length})},{description:p(()=>[(a(!0),u(d,null,o(K.value,e=>(a(),u(`div`,{key:e.source,class:`fail-line`},t(e.source)+` — `+t(e.error),1))),128))]),_:1},8,[`message`])):f(``,!0),!G.value.length&&!q.value?(a(),u(`div`,D,[r[3]||=l(`span`,{class:`i-tabler-puzzle pg-empty-ico`},null,-1),l(`p`,O,t(n.$t(`plugins.empty`)),1)])):f(``,!0),G.value.length?(a(),m(_,{key:2,"slot-name":`plugins.page`})):f(``,!0),l(`div`,k,[(a(!0),u(d,null,o(G.value,i=>(a(),u(`article`,{key:`${i.scope}:${i.name}`,class:e([`pg-card aw-liftable`,{"is-off":!i.enabled}]),onClick:e=>ge(i)},[l(`div`,j,[l(`span`,M,t(i.name),1),l(`span`,N,t(i.version),1),s(v,{checked:i.enabled,loading:J.value===i.name,size:`small`,onClick:r[0]||=g(()=>{},[`stop`]),onChange:e=>pe(i)},null,8,[`checked`,`loading`,`onChange`])]),l(`p`,P,t(W(i)||`—`),1),l(`div`,F,[l(`span`,{class:e([`tag`,i.scope])},t($(i.scope)),3),l(`span`,{class:e([`tag`,i.enabled?`on`:`off`])},t(i.enabled?n.$t(`plugins.enabled`):n.$t(`plugins.disabled`)),3),i.hasClient?(a(),u(`span`,I,t(n.$t(`plugins.hasClient`)),1)):f(``,!0),i.toolCount?(a(),u(`span`,L,t(i.toolCount)+` `+t(n.$t(`toolsPage.name`)),1)):f(``,!0)]),i.routes.length?(a(),u(`div`,R,[(a(!0),u(d,null,o(i.routes,e=>(a(),u(`code`,{key:e.method+e.path},t(e.method)+` `+t(e.path),1))),128))])):f(``,!0)],10,A))),128))]),s(y,{open:Y.value,"onUpdate:open":r[1]||=e=>Y.value=e,title:X.value?.name,width:`460`},{default:p(()=>[X.value?(a(),u(d,{key:0},[l(`dl`,ue,[r[4]||=l(`dt`,null,`version`,-1),l(`dd`,null,t(X.value.version),1),r[5]||=l(`dt`,null,`scope`,-1),l(`dd`,null,t($(X.value.scope)),1),l(`dd`,z,t(X.value.scope===`project`?n.$t(`plugins.scopeBuiltinHint`):n.$t(`plugins.scopeUserHint`)),1),r[6]||=l(`dt`,null,`enabled`,-1),l(`dd`,null,t(X.value.enabled),1),r[7]||=l(`dt`,null,`client`,-1),l(`dd`,null,t(X.value.hasClient?`✓`:`—`),1),l(`dt`,null,t(n.$t(`toolsPage.name`)),1),l(`dd`,null,t(X.value.toolCount??0)+` / `+t(X.value.knownToolCount??0),1),X.value.error?(a(),u(`dt`,B,` error `)):f(``,!0),X.value.error?(a(),u(`dd`,V,t(X.value.error),1)):f(``,!0)]),l(`h4`,null,t(n.$t(`toolsPage.name`)),1),X.value.tools?.length?(a(),u(`div`,H,[(a(!0),u(d,null,o(X.value.tools,e=>(a(),u(`code`,{key:e.name},t(e.name),1))),128))])):(a(),u(`p`,U,` — `)),l(`h4`,null,t(n.$t(`plugins.routes`)),1),(a(!0),u(d,null,o(X.value.routes,e=>(a(),u(`code`,{key:e.method+e.path,class:`detail-route`},t(e.method)+` /api/plugins/`+t(X.value.name)+t(e.path),1))),128)),X.value.routes.length?f(``,!0):(a(),u(`p`,de,` — `))],64)):f(``,!0)]),_:1},8,[`open`,`title`])])}}}),[[`__scopeId`,`data-v-038f3b04`]]);export{W as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.line-chip[data-v-e9045b77]{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:8px;display:inline-block;box-shadow:0 0 10px}h1[data-v-e9045b77]{letter-spacing:-.022em;margin:2px 0 4px;font-size:28px;font-weight:600}.sub[data-v-e9045b77]{color:var(--ink-faint);margin:0;font-size:13px}.mono[data-v-e9045b77]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.badges[data-v-e9045b77]{gap:8px;display:flex}.badge[data-v-e9045b77]{letter-spacing:.05em;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:3px 10px;font-size:11.5px}@media (width<=640px){h1[data-v-e9045b77]{font-size:22px}}.mono[data-v-a8a5f635]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ctrl-card[data-v-a8a5f635]{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;margin-bottom:14px;padding:12px 16px;display:grid}.ctrl-left[data-v-a8a5f635]{align-items:center;gap:14px;display:flex}.aw-pill.running[data-v-a8a5f635]{background:var(--accent)}.ctrl-right[data-v-a8a5f635]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px 12px;display:flex}.ctrl-metrics[data-v-a8a5f635]{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:6px 8px;margin-right:4px;font-size:11.5px;display:flex}.ctrl-metrics .sep[data-v-a8a5f635]{opacity:.4}.ctrl-metrics .warn[data-v-a8a5f635]{color:var(--tone-warning-dot)}.add-btn[data-v-a8a5f635]{padding:8px 16px;font-size:13px}.aw-pill.outline[data-v-a8a5f635]{color:var(--ink);background:var(--paper-raised);border-color:var(--line-strong)}@media (width<=900px){.ctrl-card[data-v-a8a5f635]{grid-template-columns:1fr;gap:12px;padding:12px}.ctrl-right[data-v-a8a5f635]{flex-wrap:wrap;justify-content:flex-start;gap:8px 10px}.ctrl-metrics[data-v-a8a5f635]{width:100%;margin-right:0}.aw-pill[data-v-a8a5f635]{min-height:40px}}.adopt-card[data-v-552f4486]{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.adopt-title[data-v-552f4486]{color:var(--ink-faint);flex:none;padding-top:4px;font-size:12px}.adopt-list[data-v-552f4486]{flex-wrap:wrap;gap:8px;min-width:0;max-width:100%;display:flex}.adopt-chip[data-v-552f4486]{max-width:100%;color:var(--ink);background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-control);flex-wrap:wrap;align-items:center;gap:6px;padding:4px 8px;font-size:12px;display:inline-flex}.mini-btn[data-v-552f4486]{margin-right:4px}.mini-btn.danger[data-v-552f4486]{color:var(--tone-danger-dot)}.mini-btn[data-v-552f4486]:hover{border-color:var(--accent);color:var(--accent)}@media (width<=900px){.adopt-card[data-v-552f4486]{padding:12px}.mini-btn[data-v-552f4486]{min-height:40px}}.mono[data-v-776dcdba]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-776dcdba]{opacity:.55}.banner[data-v-776dcdba]{border-radius:var(--radius-chip);margin:0 0 12px;padding:9px 14px;font-size:12.5px}.banner.bad[data-v-776dcdba]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 40%, transparent)}.banner.good[data-v-776dcdba]{color:var(--tone-success-dot);background:var(--tone-success-bg);border:1px solid color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.inp[data-v-776dcdba]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}.line-run-card[data-v-776dcdba]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:14px 18px;display:flex}.line-status[data-v-776dcdba]{align-items:center;gap:12px;min-width:260px;display:flex}.line-dot[data-v-776dcdba]{background:var(--tone-neutral-dot);width:12px;height:12px;box-shadow:0 0 0 4px color-mix(in srgb, var(--tone-neutral-dot) 20%, transparent);border-radius:50%}.line-dot.on[data-v-776dcdba]{background:var(--tone-success-dot);box-shadow:0 0 0 4px color-mix(in srgb, var(--tone-success-dot) 22%, transparent);animation:1.6s infinite linePulse-776dcdba}@keyframes linePulse-776dcdba{0%,to{box-shadow:0 0 0 3px color-mix(in srgb, var(--tone-success-dot) 25%, transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb, var(--tone-success-dot) 8%, transparent)}}.line-info b[data-v-776dcdba]{font-size:14px}.line-info small[data-v-776dcdba]{margin-top:2px;font-size:11px;display:block}.line-ctl[data-v-776dcdba]{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.ctl-sel[data-v-776dcdba]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11px;display:flex}.ctl-sel .inp[data-v-776dcdba]{min-width:150px}@media (width<=900px){.line-run-card[data-v-776dcdba]{gap:12px;padding:12px}.line-status[data-v-776dcdba]{min-width:0}.line-ctl[data-v-776dcdba]{width:100%}.ctl-sel[data-v-776dcdba]{flex:140px;min-width:0}.ctl-sel .inp[data-v-776dcdba]{width:100%;min-width:0}.line-ctl .pill-btn[data-v-776dcdba]{flex:120px}.inp[data-v-776dcdba],.pill-btn[data-v-776dcdba]{min-height:40px}}.mono[data-v-f19aa086]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-f19aa086]{opacity:.55}.banner[data-v-f19aa086]{border-radius:var(--radius-chip);margin:0 0 12px;padding:9px 14px;font-size:12.5px}.banner.bad[data-v-f19aa086]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 40%, transparent)}.banner.good[data-v-f19aa086]{color:var(--tone-success-dot);background:var(--tone-success-bg);border:1px solid color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.tpl-hint[data-v-f19aa086]{margin:0 0 10px;font-size:12px}.tpl-chips[data-v-f19aa086]{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.tpl-chip[data-v-f19aa086]{color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);flex-wrap:wrap;align-items:center;gap:6px;padding:3px 9px;font-size:11.5px;display:inline-flex}.tpl-chip small[data-v-f19aa086]{color:var(--ink-faint)}.tpl-tag[data-v-f19aa086]{color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:var(--radius-pill);padding:1px 6px;font-size:11.5px;font-style:normal}.tpl-tag.builtin[data-v-f19aa086]{color:var(--ink-faint);border-color:var(--line-strong)}.inp[data-v-f19aa086]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}.sec-label[data-v-f19aa086]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:14px 0 6px;font-size:11px;font-weight:600}.modal-mask[data-v-f19aa086]{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-f19aa086]{background:var(--surface-glass-strong);width:680px;max-width:94vw;max-height:88vh;-webkit-backdrop-filter:var(--aurora-blur);backdrop-filter:var(--aurora-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-edge), var(--shadow-float);padding:22px 24px;overflow-y:auto}.m-title[data-v-f19aa086]{margin:0 0 14px;font-size:17px}.f-grid[data-v-f19aa086]{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.f[data-v-f19aa086]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11.5px;display:flex}.f em[data-v-f19aa086]{margin-left:3px;font-style:normal}.m-err[data-v-f19aa086]{color:var(--tone-danger-dot);margin:8px 0 0;font-size:12px}.m-actions[data-v-f19aa086]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.aw-pill.outline[data-v-f19aa086]{color:var(--ink);background:var(--paper-raised);border-color:var(--line-strong)}@media (width<=900px){.aw-pill[data-v-f19aa086],.inp[data-v-f19aa086],.pill-btn[data-v-f19aa086],.tpl-chip[data-v-f19aa086]{min-height:40px}.f-grid[data-v-f19aa086]{grid-template-columns:1fr}.modal[data-v-f19aa086]{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:16px 14px}.m-actions[data-v-f19aa086]{flex-wrap:wrap}.m-actions[data-v-f19aa086]>*{flex:auto}}.inp[data-v-502b8a4c]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}.cal-form[data-v-502b8a4c]{grid-template-columns:2fr 1fr;align-items:end}.modal-mask[data-v-502b8a4c]{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-502b8a4c]{background:var(--surface-glass-strong);width:680px;max-width:94vw;max-height:88vh;-webkit-backdrop-filter:var(--aurora-blur);backdrop-filter:var(--aurora-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-edge), var(--shadow-float);padding:22px 24px;overflow-y:auto}.m-title[data-v-502b8a4c]{margin:0 0 14px;font-size:17px}.seg-row[data-v-502b8a4c]{gap:8px;margin-bottom:14px;display:flex}.seg[data-v-502b8a4c]{cursor:pointer;color:var(--ink-faint);background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);flex:1;padding:8px 0;font-size:13px}.seg.on[data-v-502b8a4c]{color:var(--on-accent);background:var(--accent);border-color:var(--accent);font-weight:600}.f-grid[data-v-502b8a4c]{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.driver-form[data-v-502b8a4c]{grid-template-columns:repeat(3,1fr)}.driver-form .map-field[data-v-502b8a4c]{grid-column:1/-1}.cfg-map[data-v-502b8a4c]{font-family:var(--font-mono);resize:vertical;font-size:11.5px;line-height:1.5}.field-hint[data-v-502b8a4c]{color:var(--ink-faint);font-size:10px;line-height:1.35}.f[data-v-502b8a4c]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11.5px;display:flex}.f em[data-v-502b8a4c]{margin-left:3px;font-style:normal}.hint[data-v-502b8a4c]{color:var(--ink-faint);font-size:11.5px}.test-row[data-v-502b8a4c]{align-items:center;gap:10px;margin:6px 0 4px;display:flex}.test-result[data-v-502b8a4c]{font-family:var(--font-mono);font-size:11px}.test-result.good[data-v-502b8a4c]{color:var(--tone-success-dot)}.test-result.bad[data-v-502b8a4c]{color:var(--tone-danger-dot)}.m-err[data-v-502b8a4c]{color:var(--tone-danger-dot);margin:8px 0 0;font-size:12px}.m-actions[data-v-502b8a4c]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.aw-pill.outline[data-v-502b8a4c]{color:var(--ink);background:var(--paper-raised);border-color:var(--line-strong)}@media (width<=900px){.aw-pill[data-v-502b8a4c],.inp[data-v-502b8a4c],.pill-btn[data-v-502b8a4c]{min-height:40px}.f-grid[data-v-502b8a4c],.driver-form[data-v-502b8a4c],.cal-form[data-v-502b8a4c]{grid-template-columns:1fr}.modal[data-v-502b8a4c]{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:16px 14px}.seg[data-v-502b8a4c]{min-height:40px;padding:10px 0}.m-actions[data-v-502b8a4c]{flex-wrap:wrap}.m-actions[data-v-502b8a4c]>*{flex:auto}}.mono[data-v-de90ea26]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ap-card[data-v-de90ea26]{border-color:color-mix(in srgb, var(--tone-warning-dot) 35%, transparent);margin-bottom:14px;padding:12px 18px}.ap-head[data-v-de90ea26]{align-items:baseline;gap:8px;display:flex}.ap-head b[data-v-de90ea26]{font-size:13.5px}.ap-count[data-v-de90ea26]{color:var(--tone-warning-dot);border:1px solid var(--tone-warning-dot);border-radius:4px;padding:0 7px;font-size:11.5px}.ap-rule[data-v-de90ea26]{color:var(--ink-faint);margin-left:auto;font-size:10.5px}.ap-row[data-v-de90ea26]{border-top:1px solid var(--divider-hair);align-items:center;gap:10px;padding:9px 0;display:flex}.ap-row[data-v-de90ea26]:first-of-type{border-top:0;margin-top:8px}.ap-main[data-v-de90ea26]{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.ap-line[data-v-de90ea26]{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.ap-node[data-v-de90ea26]{font-size:12.5px;font-weight:600}.ap-detail[data-v-de90ea26]{color:var(--ink-soft);overflow-wrap:anywhere;font-size:12px}.ap-meta[data-v-de90ea26]{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:12px;font-size:11px;display:flex}.ap-ttl[data-v-de90ea26]{color:var(--tone-warning-dot)}.ap-ttl.urgent[data-v-de90ea26]{color:var(--tone-danger-dot)}.ap-ttl.hold[data-v-de90ea26]{color:var(--tone-info-dot)}.ap-comment[data-v-de90ea26]{flex:none;width:240px;padding:5px 9px;font-size:12px}.ap-actions[data-v-de90ea26]{flex:none;gap:6px;display:flex}.ap-ok[data-v-de90ea26]{color:var(--tone-success-dot)}@media (width<=900px){.ap-card[data-v-de90ea26]{padding:12px}.ap-rule[data-v-de90ea26]{margin-left:0}.ap-row[data-v-de90ea26]{flex-wrap:wrap}.ap-comment[data-v-de90ea26]{flex:100%;width:auto}.ap-actions[data-v-de90ea26]{margin-left:auto}.inp[data-v-de90ea26],.mini-btn[data-v-de90ea26]{min-height:40px}}.mono[data-v-946ab8de]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.inp[data-v-946ab8de]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}.rp-card[data-v-946ab8de]{border-color:color-mix(in srgb, var(--tone-warning-dot) 35%, transparent);margin-bottom:14px;padding:12px 18px}.rp-head[data-v-946ab8de]{align-items:baseline;gap:8px;display:flex}.rp-head b[data-v-946ab8de]{font-size:13.5px}.rp-count[data-v-946ab8de]{color:var(--tone-warning-dot);border:1px solid var(--tone-warning-dot);border-radius:4px;padding:0 7px;font-size:11.5px}.rp-rule[data-v-946ab8de]{color:var(--ink-faint);margin-left:auto;font-size:10.5px}.rp-err[data-v-946ab8de]{color:var(--tone-danger-dot);margin:8px 0 0;font-size:12px}.rp-row[data-v-946ab8de]{border-top:1px solid var(--divider-hair);padding:10px 0}.rp-row[data-v-946ab8de]:first-of-type{border-top:0;margin-top:8px}.rp-banner[data-v-946ab8de]{border-radius:var(--radius-chip);margin:0 0 8px;padding:6px 10px;font-size:12px}.rp-banner.bad[data-v-946ab8de]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 40%, transparent)}.rp-banner.warn[data-v-946ab8de]{color:var(--tone-warning-dot);background:var(--tone-warning-bg);border:1px solid color-mix(in srgb, var(--tone-warning-dot) 40%, transparent)}.rp-rowhead[data-v-946ab8de]{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.rp-recipe[data-v-946ab8de]{font-size:12.5px;font-weight:600}.rp-summary[data-v-946ab8de]{color:var(--ink-faint);font-size:11px}.rp-tabs[data-v-946ab8de]{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.rp-tab[data-v-946ab8de]{color:var(--ink-faint);cursor:pointer;border:1px solid var(--divider-hair);transition:border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);background:0 0;border-radius:999px;align-items:baseline;gap:6px;padding:4px 11px;font-family:inherit;font-size:12px;display:inline-flex}.rp-tab[data-v-946ab8de]:hover:not(:disabled){color:var(--ink-soft);border-color:var(--ink-fainter)}.rp-tab.active[data-v-946ab8de]{color:var(--ink);background:var(--paper-deep);border-color:var(--ink-fainter);font-weight:600}.rp-tab[data-v-946ab8de]:disabled{opacity:.45;cursor:default}.rp-tab-name[data-v-946ab8de]{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.rp-tab-count[data-v-946ab8de]{color:var(--ink-faint);font-size:10.5px}.rp-hint[data-v-946ab8de]{color:var(--ink-faint);margin:8px 0 0;font-size:12px}.rp-pkg[data-v-946ab8de]{margin-top:8px}.rp-rationale[data-v-946ab8de]{color:var(--ink-soft);overflow-wrap:anywhere;margin-bottom:6px;font-size:11.5px;display:block}.rp-table-wrap[data-v-946ab8de]{overflow-x:auto}.rp-table[data-v-946ab8de]{border-collapse:collapse;width:100%;font-size:12px}.rp-table th[data-v-946ab8de]{text-align:left;color:var(--ink-faint);white-space:nowrap;border-bottom:1px solid var(--divider-hair);padding:4px 10px 4px 0;font-size:10.5px;font-weight:500}.rp-table td[data-v-946ab8de]{vertical-align:top;border-bottom:1px solid var(--divider-hair);padding:5px 10px 5px 0}.rp-table tr:last-child td[data-v-946ab8de]{border-bottom:0}.rp-param[data-v-946ab8de]{white-space:nowrap;font-weight:600}.rp-change[data-v-946ab8de]{color:var(--ink-soft);white-space:nowrap;font-size:12px}.rp-unit[data-v-946ab8de]{color:var(--ink-faint);margin-left:4px;font-size:11px}.rp-pf[data-v-946ab8de]{white-space:nowrap;border-radius:4px;padding:1px 7px;font-size:10.5px;display:inline-block}.rp-pf.ok[data-v-946ab8de]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.rp-pf.fail[data-v-946ab8de]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);cursor:help}.rp-basis[data-v-946ab8de]{min-width:160px;color:var(--ink-soft);overflow-wrap:anywhere}.rp-expref[data-v-946ab8de]{max-width:180px;color:var(--ink-faint);overflow-wrap:anywhere;font-size:11px}.rp-table tr.dropped .rp-basis[data-v-946ab8de],.rp-table tr.dropped .rp-change[data-v-946ab8de],.rp-table tr.dropped .rp-expref[data-v-946ab8de],.rp-table tr.dropped .rp-param[data-v-946ab8de]{opacity:.5}.rp-act[data-v-946ab8de]{align-items:center;gap:10px;margin-top:8px;display:flex}.rp-comment[data-v-946ab8de]{flex:none;width:280px;padding:5px 9px;font-size:12px}.rp-actions[data-v-946ab8de]{flex:none;gap:6px;display:flex}.rp-ok[data-v-946ab8de]{color:var(--tone-success-dot)}.rp-legacy[data-v-946ab8de]{align-items:center;gap:10px;display:flex}.rp-detail[data-v-946ab8de]{min-width:0;color:var(--ink-soft);overflow-wrap:anywhere;flex:1;font-size:12px}@media (width<=900px){.rp-card[data-v-946ab8de]{padding:12px}.rp-rule[data-v-946ab8de]{margin-left:0}.rp-act[data-v-946ab8de]{flex-wrap:wrap}.rp-comment[data-v-946ab8de]{flex:100%;width:auto}.rp-actions[data-v-946ab8de]{margin-left:auto}.inp[data-v-946ab8de],.mini-btn[data-v-946ab8de]{min-height:40px}}.gate-card[data-v-ed264a3b]{border:1px solid var(--line-faint,#ffffff1f);border-radius:8px;gap:8px;margin:8px 0;padding:10px 12px;display:grid}.gate-head[data-v-ed264a3b]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.op-pill[data-v-ed264a3b]{border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:0 8px;font-size:12px}.gate-reason[data-v-ed264a3b]{font-size:13px;line-height:1.5}.gate-params[data-v-ed264a3b]{border-collapse:collapse;width:100%;font-size:12px}.gate-params td[data-v-ed264a3b],.gate-params th[data-v-ed264a3b]{text-align:left;border-bottom:1px dashed var(--line-faint,#ffffff14);padding:3px 8px}.gate-actions[data-v-ed264a3b]{gap:8px;display:flex}.gate-actions .inp[data-v-ed264a3b]{flex:1}.mono[data-v-0153c978]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.xc-card[data-v-0153c978]{border-color:color-mix(in srgb, var(--tone-warning-dot) 35%, transparent);margin-bottom:14px;padding:12px 18px}.xc-head[data-v-0153c978]{align-items:baseline;gap:8px;display:flex}.xc-head b[data-v-0153c978]{font-size:13.5px}.xc-count[data-v-0153c978]{color:var(--tone-warning-dot);border:1px solid var(--tone-warning-dot);border-radius:4px;padding:0 7px;font-size:11.5px}.xc-rule[data-v-0153c978]{color:var(--ink-faint);margin-left:auto;font-size:10.5px}.xc-err[data-v-0153c978]{color:var(--tone-danger-dot);margin:8px 0 0;font-size:12px}.xc-row[data-v-0153c978]{border-top:1px solid var(--divider-hair);align-items:center;gap:10px;padding:9px 0;display:flex}.xc-row[data-v-0153c978]:first-of-type{border-top:0;margin-top:8px}.xc-main[data-v-0153c978]{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.xc-line[data-v-0153c978]{flex-wrap:wrap;align-items:baseline;gap:10px;min-width:0;display:flex}.xc-node[data-v-0153c978]{font-size:12.5px;font-weight:600}.xc-delta[data-v-0153c978]{color:var(--ink-soft);font-size:12px}.xc-at[data-v-0153c978]{color:var(--ink-faint);font-size:11px}.xc-evidence[data-v-0153c978]{color:var(--ink-faint);overflow-wrap:anywhere;font-size:11px}.xc-actions[data-v-0153c978]{flex:none;gap:6px;display:flex}.xc-ok[data-v-0153c978]{color:var(--tone-success-dot)}@media (width<=900px){.xc-card[data-v-0153c978]{padding:12px}.xc-rule[data-v-0153c978]{margin-left:0}.xc-row[data-v-0153c978]{flex-wrap:wrap}.xc-actions[data-v-0153c978]{margin-left:auto}.mini-btn[data-v-0153c978]{min-height:40px}}.mono[data-v-f7619c83]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-f7619c83]{opacity:.55}.table-card[data-v-f7619c83]{margin-bottom:14px;overflow-x:auto}.nodes-table[data-v-f7619c83]{border-collapse:collapse;width:100%;font-size:12.5px}.nodes-table td[data-v-f7619c83],.nodes-table th[data-v-f7619c83]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:9px 12px}.nodes-table th[data-v-f7619c83]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line-strong);font-size:11px;font-weight:600}.nodes-table td b[data-v-f7619c83]{margin-left:8px}.ch[data-v-f7619c83]{color:var(--ink-faint);margin-top:2px;font-size:11.5px;display:block}.drv-badge[data-v-f7619c83]{font-family:var(--font-mono);letter-spacing:.03em;color:var(--ink-faint);border:1px solid var(--line-strong);vertical-align:1px;border-radius:4px;margin-left:7px;padding:1px 7px;font-size:10.5px;display:inline-block}.right[data-v-f7619c83]{text-align:right}.val[data-v-f7619c83]{font-size:13px}.val small[data-v-f7619c83]{color:var(--ink-faint);margin-left:3px}.read-stale[data-v-f7619c83]{color:var(--tone-danger-dot,#e05a5a);text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.read-btn[data-v-f7619c83]{margin-left:8px}.st-pill[data-v-f7619c83]{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius-pill);padding:3px 9px;font-size:11.5px;display:inline-block}.st-pill.ok[data-v-f7619c83]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.writing[data-v-f7619c83]{color:var(--ink);background:var(--hover-tint)}.st-pill.alarm[data-v-f7619c83],.st-pill.error[data-v-f7619c83]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.warn[data-v-f7619c83]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.st-pill.idle[data-v-f7619c83],.st-pill.offline[data-v-f7619c83]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.paused[data-v-f7619c83]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.ctrl-toggle[data-v-f7619c83]{cursor:pointer;color:var(--ink-faint);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-pill);align-items:center;gap:6px;padding:3px 10px;font-size:11.5px;display:inline-flex}.ctrl-toggle .ct-dot[data-v-f7619c83]{background:var(--tone-neutral-dot);border-radius:50%;width:7px;height:7px}.ctrl-toggle.on[data-v-f7619c83]{color:var(--tone-success-dot);border-color:color-mix(in srgb, var(--tone-success-dot) 45%, transparent)}.ctrl-toggle.on .ct-dot[data-v-f7619c83]{background:var(--tone-success-dot);box-shadow:0 0 6px var(--tone-success-dot)}.ctrl-toggle[data-v-f7619c83]:disabled{opacity:.55;cursor:wait}.node-paused td[data-v-f7619c83]{opacity:.6}.node-paused .write-row[data-v-f7619c83]{opacity:.5}.write-row[data-v-f7619c83]{align-items:center;gap:6px;display:flex}.write-inp[data-v-f7619c83]{width:92px;padding:4px 8px}.write-btn[data-v-f7619c83]{padding:5px 12px}.step-limit-cell[data-v-f7619c83]{align-items:center;gap:5px;display:flex}.step-inp[data-v-f7619c83]{width:78px;padding:4px 6px}.step-btn[data-v-f7619c83]{padding:4px 7px}.mini-btn[data-v-f7619c83]{margin-right:4px}.mini-btn.danger[data-v-f7619c83]{color:var(--tone-danger-dot)}.mini-btn[data-v-f7619c83]:hover{border-color:var(--accent);color:var(--accent)}.inp[data-v-f7619c83]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}@media (prefers-reduced-motion:no-preference){.nodes-table tbody tr[data-v-f7619c83]:hover{background:var(--hover-tint)}}@media (width<=900px){.table-card[data-v-f7619c83]{-webkit-overflow-scrolling:touch;overflow-x:auto}.nodes-table[data-v-f7619c83]{min-width:1080px}.nodes-table td[data-v-f7619c83],.nodes-table th[data-v-f7619c83]{white-space:nowrap}.nodes-table tbody>tr>td[data-v-f7619c83]:first-child,.nodes-table thead>tr>th[data-v-f7619c83]:first-child{z-index:2;background:var(--paper-raised);box-shadow:1px 0 0 var(--line);position:sticky;left:0}.ctrl-toggle[data-v-f7619c83],.inp[data-v-f7619c83],.mini-btn[data-v-f7619c83],.write-inp[data-v-f7619c83]{min-height:40px}.write-inp[data-v-f7619c83]{width:100%;min-width:90px}.write-row[data-v-f7619c83]{flex-wrap:wrap}}.mes-artifacts-modal[data-v-3ab50533]{min-width:560px;max-width:860px}.art-toolbar[data-v-3ab50533]{align-items:center;gap:8px;margin:8px 0;display:flex}.art-body[data-v-3ab50533]{gap:12px;max-height:60vh;display:flex;overflow:auto}.art-list[data-v-3ab50533]{min-width:260px;margin:0;padding:0;list-style:none}.art-list li[data-v-3ab50533]{cursor:pointer;border-radius:6px;justify-content:space-between;gap:10px;padding:5px 8px;display:flex}.art-list li.on[data-v-3ab50533],.art-list li[data-v-3ab50533]:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.art-preview[data-v-3ab50533]{flex-direction:column;flex:1;align-items:flex-start;gap:8px;min-width:0;display:flex}.art-preview img[data-v-3ab50533]{border:1px solid var(--line-faint,#ffffff1a);background:#0d1b2a;border-radius:6px;max-width:100%;max-height:46vh}.art-preview pre[data-v-3ab50533]{max-width:100%;max-height:40vh;font-size:12px;overflow:auto}.mono[data-v-23fad435]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-23fad435]{opacity:.55}.nodes-table[data-v-23fad435]{border-collapse:collapse;width:100%;font-size:12.5px}.nodes-table td[data-v-23fad435],.nodes-table th[data-v-23fad435]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:9px 12px}.nodes-table th[data-v-23fad435]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line-strong);font-size:11px;font-weight:600}.nodes-table td b[data-v-23fad435]{margin-left:8px}.st-pill[data-v-23fad435]{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius-pill);padding:3px 9px;font-size:11.5px;display:inline-block}.st-pill.ok[data-v-23fad435]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.writing[data-v-23fad435]{color:var(--ink);background:var(--hover-tint)}.st-pill.alarm[data-v-23fad435],.st-pill.error[data-v-23fad435]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.warn[data-v-23fad435]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.st-pill.idle[data-v-23fad435],.st-pill.offline[data-v-23fad435]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.paused[data-v-23fad435]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.sec-label[data-v-23fad435]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:14px 0 6px;font-size:11px;font-weight:600}.modal-mask[data-v-23fad435]{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-23fad435]{background:var(--surface-glass-strong);width:680px;max-width:94vw;max-height:88vh;-webkit-backdrop-filter:var(--aurora-blur);backdrop-filter:var(--aurora-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-edge), var(--shadow-float);padding:22px 24px;overflow-y:auto}.m-title[data-v-23fad435]{margin:0 0 14px;font-size:17px}.m-actions[data-v-23fad435]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.aw-pill.outline[data-v-23fad435]{color:var(--ink);background:var(--paper-raised);border-color:var(--line-strong)}@media (prefers-reduced-motion:no-preference){.nodes-table tbody tr[data-v-23fad435]:hover{background:var(--hover-tint)}}@media (width<=900px){.nodes-table[data-v-23fad435]{min-width:1080px}.nodes-table td[data-v-23fad435],.nodes-table th[data-v-23fad435]{white-space:nowrap}.nodes-table tbody>tr>td[data-v-23fad435]:first-child,.nodes-table thead>tr>th[data-v-23fad435]:first-child{z-index:2;background:var(--paper-raised);box-shadow:1px 0 0 var(--line);position:sticky;left:0}.aw-pill[data-v-23fad435]{min-height:40px}.modal[data-v-23fad435]{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:16px 14px}.m-actions[data-v-23fad435]{flex-wrap:wrap}.m-actions[data-v-23fad435]>*{flex:auto}}.param-chip.daqwin[data-v-d9e4932d]{color:#41c8f4;border-color:#41c8f466}.mono[data-v-d9e4932d]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-d9e4932d]{opacity:.55}.banner[data-v-d9e4932d]{border-radius:var(--radius-chip);margin:0 0 12px;padding:9px 14px;font-size:12.5px}.banner.bad[data-v-d9e4932d]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 40%, transparent)}.banner.good[data-v-d9e4932d]{color:var(--tone-success-dot);background:var(--tone-success-bg);border:1px solid color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.nodes-table[data-v-d9e4932d]{border-collapse:collapse;width:100%;font-size:12.5px}.nodes-table td[data-v-d9e4932d],.nodes-table th[data-v-d9e4932d]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:9px 12px}.nodes-table th[data-v-d9e4932d]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line-strong);font-size:11px;font-weight:600}.nodes-table td b[data-v-d9e4932d]{margin-left:8px}.right[data-v-d9e4932d]{text-align:right}.st-pill[data-v-d9e4932d]{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius-pill);padding:3px 9px;font-size:11.5px;display:inline-block}.st-pill.ok[data-v-d9e4932d]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.writing[data-v-d9e4932d]{color:var(--ink);background:var(--hover-tint)}.st-pill.alarm[data-v-d9e4932d],.st-pill.error[data-v-d9e4932d]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.warn[data-v-d9e4932d]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.st-pill.idle[data-v-d9e4932d],.st-pill.offline[data-v-d9e4932d]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.paused[data-v-d9e4932d]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.recipe-hd[data-v-d9e4932d],.recipe-actions[data-v-d9e4932d]{flex-wrap:wrap}.mini-btn[data-v-d9e4932d]{margin-right:4px}.mini-btn.danger[data-v-d9e4932d]{color:var(--tone-danger-dot)}.mini-btn[data-v-d9e4932d]:hover{border-color:var(--accent);color:var(--accent)}.param-chip[data-v-d9e4932d]{overflow-wrap:anywhere}.product-row[data-v-d9e4932d]{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.prod-chip[data-v-d9e4932d]{cursor:pointer;color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-pill);align-items:center;gap:6px;padding:4px 12px;font-size:12px;display:inline-flex}.prod-chip.on[data-v-d9e4932d]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.prod-del[data-v-d9e4932d]{color:var(--tone-danger-dot);font-weight:700}.recipe-grid[data-v-d9e4932d]{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr))}.recipe-card[data-v-d9e4932d]{margin-bottom:14px;padding:16px 18px}.recipe-hd[data-v-d9e4932d]{align-items:center;gap:10px;margin-bottom:6px;display:flex}.recipe-hd h3[data-v-d9e4932d]{margin:0;font-size:16px}.panel-tag[data-v-d9e4932d]{color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:2px 8px;font-size:11.5px}.recipe-sub[data-v-d9e4932d]{color:var(--ink-faint);margin:0 0 14px;font-size:12px}.recipe-grid[data-v-d9e4932d]{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.recipe-item[data-v-d9e4932d]{background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);padding:12px 14px}.recipe-name b[data-v-d9e4932d]{font-size:13.5px}.recipe-name small[data-v-d9e4932d]{margin-left:8px}.desc[data-v-d9e4932d]{margin:4px 0;font-size:12px}.recipe-params[data-v-d9e4932d]{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.param-chip[data-v-d9e4932d]{color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:var(--radius-chip);padding:2px 8px;font-size:11.5px}.recipe-actions[data-v-d9e4932d]{align-items:center;gap:6px;margin-top:8px;display:flex}.sec-label[data-v-d9e4932d]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:14px 0 6px;font-size:11px;font-weight:600}.runs[data-v-d9e4932d]{margin-top:6px}.param-chip.stale[data-v-d9e4932d]{color:var(--ink-faint);background:color-mix(in srgb, var(--ink) 5%, transparent);border-color:var(--divider-hair);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--ink-faint) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--ink-faint) 60%, transparent)}.chip-step-tag[data-v-d9e4932d]{color:var(--tone-warning-dot);background:color-mix(in srgb, var(--tone-warning-dot) 8%, transparent);border:1px solid color-mix(in srgb, var(--tone-warning-dot) 30%, transparent);border-radius:var(--radius-chip);margin-left:5px;padding:0 5px;font-size:10px}.chip-stale-tag[data-v-d9e4932d]{color:var(--tone-danger-dot);background:color-mix(in srgb, var(--tone-danger-dot) 8%, transparent);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 30%, transparent);border-radius:var(--radius-chip);margin-left:5px;padding:0 5px;font-size:11.5px;font-style:normal;text-decoration:none}@media (prefers-reduced-motion:no-preference){.nodes-table tbody tr[data-v-d9e4932d]:hover{background:var(--hover-tint)}}@media (width<=900px){.nodes-table[data-v-d9e4932d]{min-width:1080px}.nodes-table td[data-v-d9e4932d],.nodes-table th[data-v-d9e4932d]{white-space:nowrap}.nodes-table tbody>tr>td[data-v-d9e4932d]:first-child,.nodes-table thead>tr>th[data-v-d9e4932d]:first-child{z-index:2;background:var(--paper-raised);box-shadow:1px 0 0 var(--line);position:sticky;left:0}.recipe-card[data-v-d9e4932d]{padding:12px}.mini-btn[data-v-d9e4932d],.pill-btn[data-v-d9e4932d],.prod-chip[data-v-d9e4932d],.recipe-hd .mini-btn[data-v-d9e4932d],.recipe-hd .pill-btn[data-v-d9e4932d]{min-height:40px}}.modal-mask[data-v-0089c52d]{z-index:80;background:#080c129e;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal[data-v-0089c52d]{background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:14px;width:min(980px,96vw);max-height:82vh;padding:18px 20px;overflow:auto;box-shadow:0 24px 60px #00000059}.modal-hd[data-v-0089c52d]{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-hd h3[data-v-0089c52d]{margin:0;font-size:16px}.modal-sub[data-v-0089c52d]{color:var(--ink-faint);margin:8px 0 12px;font-size:12px}.nodes-table[data-v-0089c52d]{border-collapse:collapse;width:100%;font-size:12.5px}.nodes-table td[data-v-0089c52d],.nodes-table th[data-v-0089c52d]{text-align:left;vertical-align:top;border-bottom:1px solid var(--divider-hair);padding:8px 10px}.nodes-table th[data-v-0089c52d]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-size:11px}.mono[data-v-0089c52d]{font-family:var(--font-mono);white-space:nowrap}.summary[data-v-0089c52d]{overflow-wrap:anywhere}.st-pill[data-v-0089c52d]{white-space:nowrap;border:1px solid var(--line-strong);border-radius:var(--radius-pill);padding:2px 8px;font-size:11.5px;display:inline-block}.banner.bad[data-v-0089c52d]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 40%, transparent);border-radius:var(--radius-chip);padding:9px 12px;font-size:12.5px}.mini-btn[data-v-05d04a01]{margin-right:4px}.mini-btn.danger[data-v-05d04a01]{color:var(--tone-danger-dot)}.mini-btn[data-v-05d04a01]:hover{border-color:var(--accent);color:var(--accent)}.inp[data-v-05d04a01]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}.sec-label[data-v-05d04a01]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:14px 0 6px;font-size:11px;font-weight:600}.modal-mask[data-v-05d04a01]{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-05d04a01]{background:var(--surface-glass-strong);width:680px;max-width:94vw;max-height:88vh;-webkit-backdrop-filter:var(--aurora-blur);backdrop-filter:var(--aurora-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-edge), var(--shadow-float);padding:22px 24px;overflow-y:auto}.m-title[data-v-05d04a01]{margin:0 0 14px;font-size:17px}.f-grid[data-v-05d04a01]{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.param-row[data-v-05d04a01]{grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;align-items:end;gap:8px;margin-bottom:8px;display:grid}.param-row .f[data-v-05d04a01]{flex:1}.param-del[data-v-05d04a01]{margin-bottom:2px}.f[data-v-05d04a01]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11.5px;display:flex}.f em[data-v-05d04a01]{margin-left:3px;font-style:normal}.m-err[data-v-05d04a01]{color:var(--tone-danger-dot);margin:8px 0 0;font-size:12px}.m-note[data-v-05d04a01]{color:var(--ink-faint);margin:8px 0 0;font-size:12px}.row-stale[data-v-05d04a01]{color:var(--tone-danger-dot);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 30%, transparent);border-radius:var(--radius-chip);flex:none;padding:1px 7px;font-size:11.5px}.m-actions[data-v-05d04a01]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.aw-pill.outline[data-v-05d04a01]{color:var(--ink);background:var(--paper-raised);border-color:var(--line-strong)}@media (width<=900px){.aw-pill[data-v-05d04a01],.inp[data-v-05d04a01],.mini-btn[data-v-05d04a01],.pill-btn[data-v-05d04a01]{min-height:40px}.f-grid[data-v-05d04a01]{grid-template-columns:1fr}.param-row[data-v-05d04a01]{grid-template-columns:1fr 1fr}.modal[data-v-05d04a01]{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:16px 14px}.m-actions[data-v-05d04a01]{flex-wrap:wrap}.m-actions[data-v-05d04a01]>*{flex:auto}}.access-row[data-v-05d04a01]{align-items:center;gap:8px;display:flex}.access-agents[data-v-05d04a01]{border:1px dashed var(--line-faint,#ffffff1f);border-radius:8px;flex-wrap:wrap;gap:6px 14px;max-height:160px;padding:8px 10px;display:flex;overflow:auto}.access-agent[data-v-05d04a01]{align-items:center;gap:6px;font-size:13px;display:flex}.mono[data-v-322135bb]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-322135bb]{opacity:.55}.banner[data-v-322135bb]{border-radius:var(--radius-chip);margin:0 0 12px;padding:9px 14px;font-size:12.5px}.banner.bad[data-v-322135bb]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 40%, transparent)}.banner.good[data-v-322135bb]{color:var(--tone-success-dot);background:var(--tone-success-bg);border:1px solid color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.mini-btn[data-v-322135bb]{margin-right:4px}.mini-btn.danger[data-v-322135bb]{color:var(--tone-danger-dot)}.mini-btn[data-v-322135bb]:hover{border-color:var(--accent);color:var(--accent)}.ver-row[data-v-322135bb]{border:1px solid var(--divider-hair);border-radius:10px;margin-bottom:8px;padding:10px 12px}.ver-row.cur[data-v-322135bb]{background:color-mix(in srgb, var(--accent) 6%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.ver-head[data-v-322135bb]{align-items:center;gap:10px;display:flex}.ver-v[data-v-322135bb]{font-size:13px;font-weight:700}.ver-src[data-v-322135bb]{border:1px solid var(--line-strong);border-radius:var(--radius-pill);padding:1px 8px;font-size:11.5px}.ver-src.agent[data-v-322135bb]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.ver-src.user[data-v-322135bb]{color:var(--ink-soft)}.ver-src.system[data-v-322135bb]{color:var(--ink-faint)}.ver-src.cur[data-v-322135bb]{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:#0000}.ver-actor[data-v-322135bb]{font-family:var(--font-mono);color:var(--ink-soft);font-size:12px}.ver-desc[data-v-322135bb]{color:var(--ink);margin:6px 0 0;font-size:12px}.ver-diff[data-v-322135bb]{color:var(--ink-faint);margin:4px 0 0;font-size:11px}.modal-mask[data-v-322135bb]{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-322135bb]{background:var(--surface-glass-strong);width:680px;max-width:94vw;max-height:88vh;-webkit-backdrop-filter:var(--aurora-blur);backdrop-filter:var(--aurora-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-edge), var(--shadow-float);padding:22px 24px;overflow-y:auto}@media (width<=900px){.mini-btn[data-v-322135bb]{min-height:40px}.modal[data-v-322135bb]{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:16px 14px}}.mono[data-v-ee60c0a5]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-ee60c0a5]{opacity:.55}.banner[data-v-ee60c0a5]{border-radius:var(--radius-chip);margin:0 0 12px;padding:9px 14px;font-size:12.5px}.banner.bad[data-v-ee60c0a5]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 40%, transparent)}.banner.good[data-v-ee60c0a5]{color:var(--tone-success-dot);background:var(--tone-success-bg);border:1px solid color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.nodes-table[data-v-ee60c0a5]{border-collapse:collapse;width:100%;font-size:12.5px}.nodes-table td[data-v-ee60c0a5],.nodes-table th[data-v-ee60c0a5]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:9px 12px}.nodes-table th[data-v-ee60c0a5]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line-strong);font-size:11px;font-weight:600}.nodes-table td b[data-v-ee60c0a5]{margin-left:8px}.inp[data-v-ee60c0a5]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}.query-card[data-v-ee60c0a5]{margin-bottom:14px;padding:14px 18px}.q-grid[data-v-ee60c0a5]{grid-template-columns:repeat(6,1fr);align-items:end;gap:10px;display:grid}.q-grid .f[data-v-ee60c0a5]{color:var(--ink-faint);font-size:11px}.q-actions[data-v-ee60c0a5]{justify-content:flex-end}.q-result[data-v-ee60c0a5]{margin-top:12px;overflow-x:auto}.sec-label[data-v-ee60c0a5]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:14px 0 6px;font-size:11px;font-weight:600}.f[data-v-ee60c0a5]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11.5px;display:flex}@media (prefers-reduced-motion:no-preference){.nodes-table tbody tr[data-v-ee60c0a5]:hover{background:var(--hover-tint)}}@media (width<=900px){.nodes-table[data-v-ee60c0a5]{min-width:1080px}.nodes-table td[data-v-ee60c0a5],.nodes-table th[data-v-ee60c0a5]{white-space:nowrap}.nodes-table tbody>tr>td[data-v-ee60c0a5]:first-child,.nodes-table thead>tr>th[data-v-ee60c0a5]:first-child{z-index:2;background:var(--paper-raised);box-shadow:1px 0 0 var(--line);position:sticky;left:0}.query-card[data-v-ee60c0a5]{padding:12px}.inp[data-v-ee60c0a5],.pill-btn[data-v-ee60c0a5]{min-height:40px}.q-grid[data-v-ee60c0a5]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.q-grid[data-v-ee60c0a5]{grid-template-columns:1fr}}.mono[data-v-1ca86a1c]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-1ca86a1c]{opacity:.55}.table-card[data-v-1ca86a1c]{margin-bottom:14px;overflow-x:auto}.nodes-table[data-v-1ca86a1c]{border-collapse:collapse;width:100%;font-size:12.5px}.nodes-table td[data-v-1ca86a1c],.nodes-table th[data-v-1ca86a1c]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:9px 12px}.nodes-table th[data-v-1ca86a1c]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line-strong);font-size:11px;font-weight:600}.nodes-table td b[data-v-1ca86a1c]{margin-left:8px}.st-pill[data-v-1ca86a1c]{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius-pill);padding:3px 9px;font-size:11.5px;display:inline-block}.st-pill.ok[data-v-1ca86a1c]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.writing[data-v-1ca86a1c]{color:var(--ink);background:var(--hover-tint)}.st-pill.alarm[data-v-1ca86a1c],.st-pill.error[data-v-1ca86a1c]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.warn[data-v-1ca86a1c]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.st-pill.idle[data-v-1ca86a1c],.st-pill.offline[data-v-1ca86a1c]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.paused[data-v-1ca86a1c]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.sec-label[data-v-1ca86a1c]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:14px 0 6px;font-size:11px;font-weight:600}@media (prefers-reduced-motion:no-preference){.nodes-table tbody tr[data-v-1ca86a1c]:hover{background:var(--hover-tint)}}@media (width<=900px){.table-card[data-v-1ca86a1c]{-webkit-overflow-scrolling:touch;overflow-x:auto}.nodes-table[data-v-1ca86a1c]{min-width:1080px}.nodes-table td[data-v-1ca86a1c],.nodes-table th[data-v-1ca86a1c]{white-space:nowrap}.nodes-table tbody>tr>td[data-v-1ca86a1c]:first-child,.nodes-table thead>tr>th[data-v-1ca86a1c]:first-child{z-index:2;background:var(--paper-raised);box-shadow:1px 0 0 var(--line);position:sticky;left:0}}.inp[data-v-aa17ef24]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}.modal-mask[data-v-aa17ef24]{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[data-v-aa17ef24]{background:var(--surface-glass-strong);width:680px;max-width:94vw;max-height:88vh;-webkit-backdrop-filter:var(--aurora-blur);backdrop-filter:var(--aurora-blur);border:1px solid var(--glass-line);border-radius:var(--radius-panel);box-shadow:var(--glass-edge), var(--shadow-float);padding:22px 24px;overflow-y:auto}.m-title[data-v-aa17ef24]{margin:0 0 14px;font-size:17px}.f-grid[data-v-aa17ef24]{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.f[data-v-aa17ef24]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11.5px;display:flex}.f em[data-v-aa17ef24]{margin-left:3px;font-style:normal}.m-err[data-v-aa17ef24]{color:var(--tone-danger-dot);margin:8px 0 0;font-size:12px}.m-actions[data-v-aa17ef24]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.aw-pill.outline[data-v-aa17ef24]{color:var(--ink);background:var(--paper-raised);border-color:var(--line-strong)}@media (width<=900px){.aw-pill[data-v-aa17ef24],.inp[data-v-aa17ef24],.pill-btn[data-v-aa17ef24]{min-height:40px}.f-grid[data-v-aa17ef24]{grid-template-columns:1fr}.modal[data-v-aa17ef24]{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:16px 14px}.m-actions[data-v-aa17ef24]{flex-wrap:wrap}.m-actions[data-v-aa17ef24]>*{flex:auto}}.ledger-card[data-v-15a6bb00]{margin-bottom:14px;padding:14px 18px}.ledger-head[data-v-15a6bb00]{align-items:center;gap:12px;display:flex}.ledger-head b[data-v-15a6bb00]{font-size:13.5px}.ledger-tri[data-v-15a6bb00]{align-items:center;gap:12px;margin-top:12px;display:flex}.tri-cell[data-v-15a6bb00]{background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);flex-direction:column;flex:none;gap:2px;padding:8px 16px;display:flex}.tri-cell small[data-v-15a6bb00]{color:var(--ink-faint);font-size:11.5px}.tri-cell b[data-v-15a6bb00]{color:var(--ink);font-size:17px}.ledger-cols[data-v-15a6bb00]{grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;display:grid}.sec-t[data-v-15a6bb00]{letter-spacing:.12em;color:var(--ink-faint);margin-bottom:6px;font-size:11.5px;font-weight:700;display:block}.ledger-list[data-v-15a6bb00]{max-height:200px;color:var(--ink-soft);flex-direction:column;gap:3px;margin:0;padding:0;font-size:11.5px;list-style:none;display:flex;overflow:auto}.ledger-rec[data-v-15a6bb00]{align-items:center;gap:8px;display:flex}.rec-st[data-v-15a6bb00]{font-family:var(--font-mono);color:var(--ink-faint);border:1px solid var(--line-strong);border-radius:4px;flex:none;padding:0 6px;font-size:11.5px}.rec-st.open[data-v-15a6bb00]{color:var(--tone-warning-dot);border-color:var(--tone-warning-dot)}.tri-cell b[data-v-15a6bb00]{overflow-wrap:anywhere}.rec-st.judged[data-v-15a6bb00]{color:var(--tone-warning-dot);border-color:var(--tone-warning-dot);opacity:.85}.rec-st.judged-keep[data-v-15a6bb00],.rec-st.rolled-back[data-v-15a6bb00]{color:var(--tone-success-dot);border-color:var(--tone-success-dot)}.mono[data-v-15a6bb00]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.mini-btn[data-v-15a6bb00]{margin-right:4px}.mini-btn.danger[data-v-15a6bb00]{color:var(--tone-danger-dot)}.mini-btn[data-v-15a6bb00]:hover{border-color:var(--accent);color:var(--accent)}.inp[data-v-15a6bb00]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 9px;font-size:12.5px}@media (width<=900px){.ledger-card[data-v-15a6bb00]{padding:12px}.ledger-cols[data-v-15a6bb00]{grid-template-columns:1fr}.ledger-tri[data-v-15a6bb00]{flex-wrap:wrap}.inp[data-v-15a6bb00],.mini-btn[data-v-15a6bb00]{min-height:40px}}.page[data-v-e308bbfe]{padding:4px}.banner[data-v-e308bbfe]{border-radius:var(--radius-chip);margin:0 0 12px;padding:9px 14px;font-size:12.5px}.banner.bad[data-v-e308bbfe]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 40%, transparent)}.banner.good[data-v-e308bbfe]{color:var(--tone-success-dot);background:var(--tone-success-bg);border:1px solid color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.err[data-v-e308bbfe]{color:var(--tone-danger-dot);margin-top:14px;font-size:13px}@media (width<=900px){.pill-btn[data-v-e308bbfe]{min-height:40px}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.mono[data-v-ded59ba4]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.value-card[data-v-ded59ba4]{padding:16px 18px}.big-val[data-v-ded59ba4]{color:var(--accent);margin:8px 0 10px;font-size:40px;line-height:1.1}.big-val small[data-v-ded59ba4]{color:var(--ink-faint);margin-left:8px;font-size:15px}.live-canvas[data-v-ded59ba4]{border:1px solid var(--line);border-radius:var(--radius-chip);background:linear-gradient(var(--divider-hair) 1px, transparent 1px) 0 0 / 100% 16px, linear-gradient(90deg, var(--divider-hair) 1px, transparent 1px) 0 0 / 32px 100%, var(--paper-deep);width:100%;height:64px}.facts[data-v-ded59ba4]{flex-direction:column;gap:4px;margin:14px 0 0;display:flex}.facts div[data-v-ded59ba4]{justify-content:space-between;font-size:11.5px;display:flex}.facts dt[data-v-ded59ba4]{color:var(--ink-faint)}.facts dd[data-v-ded59ba4]{color:var(--ink);margin:0}.mono[data-v-de819029]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sec[data-v-de819029]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 10px;font-size:12px;font-weight:600}.mt[data-v-de819029]{margin-top:22px}.pad[data-v-de819029]{padding:16px 18px}.form-grid[data-v-de819029]{flex-direction:column;gap:10px;display:flex}.field[data-v-de819029]{color:var(--ink-faint);flex-direction:column;flex:1;gap:4px;font-size:12px;display:flex}.field.row[data-v-de819029]{flex-direction:row;align-items:center;gap:8px}.field.row small[data-v-de819029]{color:var(--ink-faint)}.field.row .toggle[data-v-de819029]{white-space:nowrap;flex:none}.field.row .input[data-v-de819029]{flex:1 1 0;min-width:0}.field-row[data-v-de819029]{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.input[data-v-de819029]{width:100%;color:var(--ink);background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius-control);padding:6px 9px;font-size:12.5px}.input[data-v-de819029]:disabled{opacity:.45}.grow[data-v-de819029]{flex:auto}.toggle[data-v-de819029]{white-space:nowrap;cursor:pointer;color:var(--tone-neutral-dot);background:var(--tone-neutral-bg);border-radius:var(--radius-control);border:0;flex:none;align-self:flex-start;padding:6px 12px;font-size:12px}.toggle.on[data-v-de819029]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.toggle.slim[data-v-de819029]{padding:6px 10px;font-size:11.5px}.bind-row[data-v-de819029]{gap:8px;display:flex}.driver-grid[data-v-de819029]{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.field em[data-v-de819029]{color:var(--tone-danger-dot);margin-left:2px;font-style:normal}.test-row[data-v-de819029]{align-items:center;gap:10px;margin-top:8px;display:flex}.test-out[data-v-de819029]{font-size:11px}.test-out.ok[data-v-de819029]{color:var(--tone-success-dot)}.test-out.bad[data-v-de819029]{color:var(--tone-danger-dot)}.mono[data-v-24d96636]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sec[data-v-24d96636]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;margin:0 0 10px;font-size:12px;font-weight:600}.pad[data-v-24d96636]{padding:16px 18px}.input[data-v-24d96636]{width:100%;color:var(--ink);background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius-control);padding:6px 9px;font-size:12.5px}.input[data-v-24d96636]:disabled{opacity:.45}.hist-hd[data-v-24d96636]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.col-hist[data-v-24d96636]{min-width:0}.hist-ctl[data-v-24d96636]{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}.refresh-ctl[data-v-24d96636]{color:var(--ink-soft);align-items:center;gap:3px;font-size:11px;display:inline-flex}.refresh-ctl input[data-v-24d96636]{width:62px;color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:3px 6px;font-size:11px}.refresh-ctl input[data-v-24d96636]:focus{border-color:var(--accent);outline:none}.hist-canvas[data-v-24d96636]{border:1px solid var(--line);border-radius:var(--radius-chip);background:linear-gradient(var(--divider-hair) 1px, transparent 1px) 0 0 / 100% 22px, linear-gradient(90deg, var(--divider-hair) 1px, transparent 1px) 0 0 / 44px 100%, var(--paper-deep);width:100%;height:130px}.raw-table[data-v-24d96636]{border-collapse:collapse;width:100%;margin-top:10px;font-size:11px}.raw-table td[data-v-24d96636],.raw-table th[data-v-24d96636]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:4px 6px}.raw-table th[data-v-24d96636]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}.mono[data-v-3170b88f]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sec[data-v-3170b88f]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 10px;font-size:12px;font-weight:600}.pad[data-v-3170b88f]{padding:16px 18px}.hist-hd[data-v-3170b88f]{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.raw-table[data-v-3170b88f]{border-collapse:collapse;width:100%;margin-top:10px;font-size:11px}.raw-table td[data-v-3170b88f],.raw-table th[data-v-3170b88f]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:4px 6px}.raw-table th[data-v-3170b88f]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}.frames-tile[data-v-3170b88f]{margin-top:14px}.frames-n[data-v-3170b88f]{color:var(--ink-faint);margin-left:8px}.vec-svg[data-v-3170b88f]{background:var(--tone-neutral-bg);border-radius:6px;width:100%;height:96px;margin-bottom:10px;display:block}.gal[data-v-3170b88f]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.gal-item[data-v-3170b88f]{cursor:zoom-in;margin:0}.gal-item img[data-v-3170b88f]{aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;background:var(--tone-neutral-bg);border-radius:6px;width:100%;display:block}.gal-item figcaption[data-v-3170b88f]{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;overflow:hidden}.frames-empty[data-v-3170b88f]{color:var(--ink-faint);margin:8px 0;font-size:13px}.gal-full[data-v-3170b88f]{z-index:60;cursor:zoom-out;background:#000000b8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gal-full img[data-v-3170b88f]{border-radius:8px;max-width:92vw;max-height:92vh}.page[data-v-6ad2bd61]{padding:4px}.back[data-v-6ad2bd61]{color:var(--ink-faint);text-decoration:none}.back[data-v-6ad2bd61]:hover{color:var(--accent)}.aw-page-head h1[data-v-6ad2bd61]{letter-spacing:-.022em;margin:2px 0 4px;font-size:28px;font-weight:600}.err[data-v-6ad2bd61]{color:var(--tone-danger-dot);margin-top:14px;font-size:13px}.grid[data-v-6ad2bd61]{grid-template-columns:minmax(260px,340px) minmax(320px,1fr) minmax(300px,400px);align-items:start;gap:14px;display:grid}.grid[data-v-6ad2bd61]>*{min-width:0}@media (width<=1100px){.grid[data-v-6ad2bd61]{grid-template-columns:1fr}}.st-pill[data-v-6ad2bd61]{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius-chip);padding:3px 11px;font-size:11px;display:inline-block}.st-pill.ok[data-v-6ad2bd61]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.warn[data-v-6ad2bd61]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.st-pill.alarm[data-v-6ad2bd61]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.offline[data-v-6ad2bd61]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}
|