agentworkshop 0.7.40 → 0.7.44

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.
Files changed (327) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/B8uy9iRW.js +1 -0
  3. package/.output/public/_nuxt/BGTYYQH-.js +1 -0
  4. package/.output/public/_nuxt/BUmHEJ77.js +2 -0
  5. package/.output/public/_nuxt/BY7YrV_D.js +1 -0
  6. package/.output/public/_nuxt/Bqcgz95s.js +18 -0
  7. package/.output/public/_nuxt/C7UlqPeD.js +1 -0
  8. package/.output/public/_nuxt/CTmDn-YP.js +1 -0
  9. package/.output/public/_nuxt/Cs8pVeVG.js +1 -0
  10. package/.output/public/_nuxt/{DcsCcxp4.js → D98NH8kG.js} +1 -1
  11. package/.output/public/_nuxt/DKySmNPI.js +14 -0
  12. package/.output/public/_nuxt/Di0NY_ht.js +1 -0
  13. package/.output/public/_nuxt/Du9v6qGB.js +1 -0
  14. package/.output/public/_nuxt/{C_iYD-EB.js → EHlEMRii.js} +1 -1
  15. package/.output/public/_nuxt/Eke1fs-U.js +1 -0
  16. package/.output/public/_nuxt/{DeJykBFf.js → H0BcqZtT.js} +1 -1
  17. package/.output/public/_nuxt/{C4oW1HsE.js → HSYEkkce.js} +1 -1
  18. package/.output/public/_nuxt/{DZshyNLa.js → IREZ1eC2.js} +1 -1
  19. package/.output/public/_nuxt/{D_OTvQza.js → J9oU00D1.js} +1 -1
  20. package/.output/public/_nuxt/OmpTerminalPanel.BxR5-lvi.css +1 -0
  21. package/.output/public/_nuxt/SSyAPaHc.js +1 -0
  22. package/.output/public/_nuxt/TownView.li4EMQxK.css +1 -0
  23. package/.output/public/_nuxt/VdLk4jLE2.js +1 -0
  24. package/.output/public/_nuxt/_id_.BhsXoEuk.css +1 -0
  25. package/.output/public/_nuxt/_id_.DQyj-WKN.css +1 -0
  26. package/.output/public/_nuxt/{_wsId_.B4WiqkIS.css → _wsId_.CTx-BlfF.css} +1 -1
  27. package/.output/public/_nuxt/aShsv_rG.js +19 -0
  28. package/.output/public/_nuxt/{yF0aYMF1.js → aesgXKSr.js} +3 -3
  29. package/.output/public/_nuxt/agents.B21nUEUX.css +1 -0
  30. package/.output/public/_nuxt/aml.ekTjxFkf.css +1 -0
  31. package/.output/public/_nuxt/builds/latest.json +1 -1
  32. package/.output/public/_nuxt/builds/meta/b5506ef0-f48e-4f14-a6c0-d65e505d0b09.json +1 -0
  33. package/.output/public/_nuxt/ca4TJ3Op.js +1 -0
  34. package/.output/public/_nuxt/channel-templates.DplM1pJ3.css +1 -0
  35. package/.output/public/_nuxt/daq.BdVmoIfe.css +1 -0
  36. package/.output/public/_nuxt/dcw.DCgyzpWV.css +1 -0
  37. package/.output/public/_nuxt/{default.J32SgqFY.css → default.Bh3L2HU8.css} +1 -1
  38. package/.output/public/_nuxt/lHAxdSsj.js +1 -0
  39. package/.output/public/_nuxt/pages.j9rzRocr.css +1 -0
  40. package/.output/public/_nuxt/plugins.DhiZbHU8.css +1 -0
  41. package/.output/public/_nuxt/settings.BRx9rIDg.css +1 -0
  42. package/.output/public/_nuxt/teams.BLlOPB_Z.css +1 -0
  43. package/.output/public/_nuxt/tokens.De8xzszn.css +1 -0
  44. package/.output/public/_nuxt/workshop.D1jFNkrn.css +1 -0
  45. package/.output/server/chunks/_/nitro.mjs +1058 -830
  46. package/.output/server/chunks/_/nitro.mjs.map +1 -1
  47. package/.output/server/chunks/build/{OmpTerminalPanel-Cu_s4i0A.mjs → OmpTerminalPanel-CVvxpsF7.mjs} +15 -15
  48. package/.output/server/chunks/build/{OmpTerminalPanel-Cu_s4i0A.mjs.map → OmpTerminalPanel-CVvxpsF7.mjs.map} +1 -1
  49. package/.output/server/chunks/build/{TownView-BuLAsmpR.mjs → TownView-CJ6IsDCc.mjs} +229 -228
  50. package/.output/server/chunks/build/{TownView-BuLAsmpR.mjs.map → TownView-CJ6IsDCc.mjs.map} +1 -1
  51. package/.output/server/chunks/build/{_id_-BU1wfOID.mjs → _id_-CVD_H0ir.mjs} +149 -147
  52. package/.output/server/chunks/build/_id_-CVD_H0ir.mjs.map +1 -0
  53. package/.output/server/chunks/build/{_id_-BYsEua57.mjs → _id_-CtxMb3qp.mjs} +47 -46
  54. package/.output/server/chunks/build/_id_-CtxMb3qp.mjs.map +1 -0
  55. package/.output/server/chunks/build/{_wsId_-BxlDcJHg.mjs → _wsId_-DpY3T-md.mjs} +516 -446
  56. package/.output/server/chunks/build/{_wsId_-BxlDcJHg.mjs.map → _wsId_-DpY3T-md.mjs.map} +1 -1
  57. package/.output/server/chunks/build/{agents-CLQqJF2y.mjs → agents-DsCkuXDV.mjs} +49 -46
  58. package/.output/server/chunks/build/agents-DsCkuXDV.mjs.map +1 -0
  59. package/.output/server/chunks/build/{aml-_7FdFL2p.mjs → aml-CT0xKGKI.mjs} +122 -105
  60. package/.output/server/chunks/build/aml-CT0xKGKI.mjs.map +1 -0
  61. package/.output/server/chunks/build/builtin-catalog-edpDcgfL.mjs +117 -0
  62. package/.output/server/chunks/build/builtin-catalog-edpDcgfL.mjs.map +1 -0
  63. package/.output/server/chunks/build/{channel-templates-p6SZNjlM.mjs → channel-templates-Dla9FbYa.mjs} +49 -37
  64. package/.output/server/chunks/build/channel-templates-Dla9FbYa.mjs.map +1 -0
  65. package/.output/server/chunks/build/{daq-cgyjKmJu.mjs → daq-DWWSKGAV.mjs} +95 -93
  66. package/.output/server/chunks/build/daq-DWWSKGAV.mjs.map +1 -0
  67. package/.output/server/chunks/build/{dcw-CoTxBlAZ.mjs → dcw-CT8k17_E.mjs} +46 -45
  68. package/.output/server/chunks/build/dcw-CT8k17_E.mjs.map +1 -0
  69. package/.output/server/chunks/build/{default-BE4r0FZN.mjs → default-D3525UFX.mjs} +16 -15
  70. package/.output/server/chunks/build/{default-BE4r0FZN.mjs.map → default-D3525UFX.mjs.map} +1 -1
  71. package/.output/server/chunks/build/{logs-BSOeZwwI.mjs → logs--dByNyhw.mjs} +2 -2
  72. package/.output/server/chunks/build/{logs-BSOeZwwI.mjs.map → logs--dByNyhw.mjs.map} +1 -1
  73. package/.output/server/chunks/build/{monitor-C0okQaXz.mjs → monitor-Dh2Kvaq5.mjs} +2 -2
  74. package/.output/server/chunks/build/{monitor-C0okQaXz.mjs.map → monitor-Dh2Kvaq5.mjs.map} +1 -1
  75. package/.output/server/chunks/build/{pages-DFxjn9Xa.mjs → pages-BHcSBM2D.mjs} +26 -20
  76. package/.output/server/chunks/build/pages-BHcSBM2D.mjs.map +1 -0
  77. package/.output/server/chunks/build/{plugins-lGlUr1lj.mjs → plugins-BNgIi61W.mjs} +23 -17
  78. package/.output/server/chunks/build/plugins-BNgIi61W.mjs.map +1 -0
  79. package/.output/server/chunks/build/{settings-Ddd1qx2Z.mjs → settings-ipYBDWdn.mjs} +45 -44
  80. package/.output/server/chunks/build/settings-ipYBDWdn.mjs.map +1 -0
  81. package/.output/server/chunks/build/{teams-MEDLZdMn.mjs → teams-5lx-CwFa.mjs} +47 -44
  82. package/.output/server/chunks/build/teams-5lx-CwFa.mjs.map +1 -0
  83. package/.output/server/chunks/build/{tokens-C7fTM5C2.mjs → tokens-q-IDT8Io.mjs} +73 -53
  84. package/.output/server/chunks/build/tokens-q-IDT8Io.mjs.map +1 -0
  85. package/.output/server/chunks/build/{town-qMPql9Se.mjs → town-QJWB5wng.mjs} +5 -4
  86. package/.output/server/chunks/build/town-QJWB5wng.mjs.map +1 -0
  87. package/.output/server/chunks/build/{useDaqStream-CIBaiGAl.mjs → useDaqStream-DfCFpb3p.mjs} +9 -3
  88. package/.output/server/chunks/build/useDaqStream-DfCFpb3p.mjs.map +1 -0
  89. package/.output/server/chunks/build/{useDcwStream-CBbiYnWe.mjs → useDcwStream-UPiX-3iO.mjs} +11 -2
  90. package/.output/server/chunks/build/useDcwStream-UPiX-3iO.mjs.map +1 -0
  91. package/.output/server/chunks/build/{workshop-BL5bhfs0.mjs → workshop-BIlCj_ZP.mjs} +45 -45
  92. package/.output/server/chunks/build/workshop-BIlCj_ZP.mjs.map +1 -0
  93. package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +1 -1
  94. package/.output/server/chunks/routes/api/workshop/channels.post.mjs +3 -3
  95. package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +1 -1
  96. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -1
  97. package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -1
  98. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +1 -1
  99. package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +1 -1
  100. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
  101. package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
  102. package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
  103. package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
  104. package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
  105. package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
  106. package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
  107. package/.output/server/chunks/routes/api/workshop/index5.get.mjs +3 -1
  108. package/.output/server/chunks/routes/api/workshop/index5.get.mjs.map +1 -1
  109. package/.output/server/chunks/routes/api/workshop/index6.get.mjs +3 -1
  110. package/.output/server/chunks/routes/api/workshop/index6.get.mjs.map +1 -1
  111. package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
  112. package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
  113. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
  114. package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
  115. package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +1 -1
  116. package/.output/server/chunks/routes/renderer.mjs +2 -2
  117. package/.output/server/chunks/virtual/entry.mjs +639 -88
  118. package/.output/server/chunks/virtual/entry.mjs.map +1 -1
  119. package/.output/server/chunks/virtual/precomputed.mjs +1 -1
  120. package/.output/server/package.json +1 -1
  121. package/README-zh.md +16 -6
  122. package/README.md +17 -7
  123. package/app/components/AppHeader.vue +961 -959
  124. package/app/components/workshop/A2aRpcDebugger.vue +237 -237
  125. package/app/components/workshop/AgentInspectorDrawer.vue +424 -424
  126. package/app/components/workshop/AgentLanesView.vue +998 -998
  127. package/app/components/workshop/ArtifactCard.vue +120 -120
  128. package/app/components/workshop/AssetLibrary.vue +452 -452
  129. package/app/components/workshop/ChannelSessionList.vue +812 -804
  130. package/app/components/workshop/CommandPalette.vue +269 -269
  131. package/app/components/workshop/Composer.vue +827 -827
  132. package/app/components/workshop/DeviceTwinPanel.vue +643 -643
  133. package/app/components/workshop/EventBlock.vue +602 -602
  134. package/app/components/workshop/FileSelectorModal.vue +188 -188
  135. package/app/components/workshop/InspectorPanel.vue +301 -301
  136. package/app/components/workshop/MemoryPanel.vue +364 -364
  137. package/app/components/workshop/MultiChannelView.vue +189 -189
  138. package/app/components/workshop/TaskBoardView.vue +686 -686
  139. package/app/components/workshop/TaskInspectorDrawer.vue +390 -390
  140. package/app/components/workshop/TranscriptTimeline.vue +601 -601
  141. package/app/components/workshop/blocks/ClusterArtifact.vue +61 -61
  142. package/app/components/workshop/blocks/ClusterError.vue +85 -85
  143. package/app/components/workshop/blocks/ClusterLife.vue +87 -87
  144. package/app/components/workshop/blocks/ClusterMember.vue +95 -93
  145. package/app/components/workshop/blocks/ClusterMemory.vue +84 -84
  146. package/app/components/workshop/blocks/ClusterOther.vue +67 -67
  147. package/app/components/workshop/blocks/ClusterStatus.vue +149 -147
  148. package/app/components/workshop/blocks/ClusterTool.vue +158 -158
  149. package/app/components/workshop/terminal/OmpTerminalPanel.vue +1011 -1011
  150. package/app/components/workshop/town/TownView.vue +56 -56
  151. package/app/composables/workshop/useDaqStream.ts +7 -4
  152. package/app/composables/workshop/useDcwStream.ts +8 -2
  153. package/app/middleware/locale-cookie.global.ts +22 -0
  154. package/app/pages/aml/index.vue +24 -2
  155. package/app/pages/daq/[id].vue +20 -16
  156. package/app/pages/daq/index.vue +2310 -2307
  157. package/app/pages/dcw/[id].vue +26 -23
  158. package/app/pages/dcw/index.vue +3 -3
  159. package/app/pages/index.vue +987 -981
  160. package/app/pages/plugins/index.vue +317 -311
  161. package/app/pages/settings.vue +1564 -1562
  162. package/app/pages/tokens.vue +15 -15
  163. package/app/pages/workshop/agents.vue +612 -609
  164. package/app/pages/workshop/channel-templates.vue +18 -11
  165. package/app/pages/workshop/index.vue +668 -668
  166. package/app/pages/workshop/teams.vue +743 -740
  167. package/app/pages/workshop/w/[wsId].vue +704 -704
  168. package/app/plugins/locale-restore.client.ts +16 -1
  169. package/app/utils/builtin-catalog.ts +104 -0
  170. package/config.yml +170 -170
  171. package/docs/cli.en.md +2 -2
  172. package/docs/cli.md +2 -2
  173. package/docs/full-test-plan.md +2 -3
  174. package/docs/plugins.en.md +33 -1
  175. package/docs/plugins.md +29 -1
  176. package/docs/sdk.en.md +1 -1
  177. package/docs/sdk.md +1 -1
  178. package/i18n/locales/en.ts +293 -35
  179. package/i18n/locales/zh-CN.ts +265 -7
  180. package/package.json +4 -3
  181. package/scripts/_dbg-perms-e2e.mjs +132 -109
  182. package/scripts/_demo-agentteam-capture.mjs +278 -0
  183. package/scripts/_e2e-ui-functional.mjs +371 -0
  184. package/scripts/_i18n-en-cjk-scan.mjs +28 -0
  185. package/scripts/_i18n-en-verify.mjs +107 -0
  186. package/scripts/_i18n-extra-checks.mjs +53 -0
  187. package/scripts/_i18n-scan-hardcoded.mjs +180 -0
  188. package/scripts/_i18n-verify-keys.mjs +50 -0
  189. package/scripts/_loop-biax-campaign.mjs +130 -0
  190. package/scripts/_sweep-button-contrast.mjs +87 -0
  191. package/scripts/test-serial-bridge.mjs +418 -0
  192. package/scripts/ui/e2e-interactive.mjs +328 -0
  193. package/scripts/ui/record-demo.mjs +557 -0
  194. package/scripts/ui/seed-industrial-demo.mjs +171 -0
  195. package/server/api/workshop/daq/index.get.ts +3 -1
  196. package/server/api/workshop/dcw/index.get.ts +3 -0
  197. package/server/plugins/aw-plugins.ts +9 -7
  198. package/server/plugins-builtin/diag-bridge/index.mjs +608 -661
  199. package/server/plugins-builtin/rag-bridge/index.mjs +57 -133
  200. package/server/plugins-builtin/serial-bridge/client.mjs +210 -0
  201. package/server/plugins-builtin/serial-bridge/drivers.mjs +409 -0
  202. package/server/plugins-builtin/serial-bridge/i18n.json +62 -0
  203. package/server/plugins-builtin/serial-bridge/index.mjs +247 -0
  204. package/server/plugins-builtin/serial-bridge/lib.mjs +208 -0
  205. package/server/plugins-builtin/serial-bridge/rtu.mjs +168 -0
  206. package/server/services/workshop/daq/daq-controller.ts +7 -2
  207. package/server/services/workshop/daq/drivers.ts +89 -3
  208. package/server/services/workshop/dcw/dcw-controller.ts +5 -1
  209. package/server/services/workshop/dcw/drivers.ts +85 -2
  210. package/server/services/workshop/dcw/plugin-bridge.ts +45 -0
  211. package/server/services/workshop/plugins/host.mjs +30 -0
  212. package/shared/daq-protocol.ts +15 -0
  213. package/.output/public/_nuxt/88GOowgO2.js +0 -1
  214. package/.output/public/_nuxt/BOt2SP4z.js +0 -1
  215. package/.output/public/_nuxt/BP-NyKVG.js +0 -18
  216. package/.output/public/_nuxt/BXxH0UQE.js +0 -1
  217. package/.output/public/_nuxt/BsROmY89.js +0 -1
  218. package/.output/public/_nuxt/ClILjvWH.js +0 -1
  219. package/.output/public/_nuxt/CzOCSGLe.js +0 -1
  220. package/.output/public/_nuxt/D8qvkfyY.js +0 -1
  221. package/.output/public/_nuxt/DCn7QZ5N.js +0 -2
  222. package/.output/public/_nuxt/DS8qj8EL.js +0 -1
  223. package/.output/public/_nuxt/DUjW5Yq5.js +0 -1
  224. package/.output/public/_nuxt/Dihnimlk.js +0 -19
  225. package/.output/public/_nuxt/Dqw1lpr-.js +0 -1
  226. package/.output/public/_nuxt/Dr9v6C0f.js +0 -14
  227. package/.output/public/_nuxt/Du9ZJtnj.js +0 -1
  228. package/.output/public/_nuxt/OmpTerminalPanel.B_Pl5Ynm.css +0 -1
  229. package/.output/public/_nuxt/TownView.f-YOdXRs.css +0 -1
  230. package/.output/public/_nuxt/_id_.CM4bIgKY.css +0 -1
  231. package/.output/public/_nuxt/_id_.bNV69Dtf.css +0 -1
  232. package/.output/public/_nuxt/agents.ZD0rVdHE.css +0 -1
  233. package/.output/public/_nuxt/aml.BN8ZEW4h.css +0 -1
  234. package/.output/public/_nuxt/builds/meta/f4707884-7cf4-4a31-80d2-e3d72b73745f.json +0 -1
  235. package/.output/public/_nuxt/channel-templates.BOtahzPi.css +0 -1
  236. package/.output/public/_nuxt/daq.B0D3dPAc.css +0 -1
  237. package/.output/public/_nuxt/dcw.8Y7FqCVN.css +0 -1
  238. package/.output/public/_nuxt/pages.D7aSDlUI.css +0 -1
  239. package/.output/public/_nuxt/plugins.sb4nDGqr.css +0 -1
  240. package/.output/public/_nuxt/qr6R6Ha1.js +0 -1
  241. package/.output/public/_nuxt/settings.BTgR-NiE.css +0 -1
  242. package/.output/public/_nuxt/teams.CxnxKVVs.css +0 -1
  243. package/.output/public/_nuxt/tokens.BFY7qv4f.css +0 -1
  244. package/.output/public/_nuxt/workshop.CR_QzeAN.css +0 -1
  245. package/.output/server/chunks/build/_id_-BU1wfOID.mjs.map +0 -1
  246. package/.output/server/chunks/build/_id_-BYsEua57.mjs.map +0 -1
  247. package/.output/server/chunks/build/agents-CLQqJF2y.mjs.map +0 -1
  248. package/.output/server/chunks/build/aml-_7FdFL2p.mjs.map +0 -1
  249. package/.output/server/chunks/build/channel-templates-p6SZNjlM.mjs.map +0 -1
  250. package/.output/server/chunks/build/daq-cgyjKmJu.mjs.map +0 -1
  251. package/.output/server/chunks/build/dcw-CoTxBlAZ.mjs.map +0 -1
  252. package/.output/server/chunks/build/pages-DFxjn9Xa.mjs.map +0 -1
  253. package/.output/server/chunks/build/plugins-lGlUr1lj.mjs.map +0 -1
  254. package/.output/server/chunks/build/settings-Ddd1qx2Z.mjs.map +0 -1
  255. package/.output/server/chunks/build/teams-MEDLZdMn.mjs.map +0 -1
  256. package/.output/server/chunks/build/tokens-C7fTM5C2.mjs.map +0 -1
  257. package/.output/server/chunks/build/town-qMPql9Se.mjs.map +0 -1
  258. package/.output/server/chunks/build/useDaqStream-CIBaiGAl.mjs.map +0 -1
  259. package/.output/server/chunks/build/useDcwStream-CBbiYnWe.mjs.map +0 -1
  260. package/.output/server/chunks/build/workshop-BL5bhfs0.mjs.map +0 -1
  261. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.continue.json +0 -1
  262. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.json +0 -1
  263. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/054bb4bc4e4217a2ab0b0c6b663747214a9af464f5568ea60e784704e340bb0f.source +0 -153
  264. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/0554197c3d2bac203a1f5c48a5d52495d1336db1bd7aa4f4c19875810363e684.source +0 -153
  265. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/05c203d12a954fffba942e1d626e3f5fec05b18a5aef2bac003b7884a4b77406.source +0 -431
  266. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/145a6e6ba811af35aed31e0cc3211f53706a14980fa069ee9e3c1591139f96f0.source +0 -180
  267. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/1ae0fb281f97899c025e368ca73f41349b01fb5f85b19e08d7ebccff49095ed5.source +0 -112
  268. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/20ee9967aa0541c516db7575bdd4a1a745939bc7016bd10d7635903113edb8ec.source +0 -227
  269. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/233751843aeba9d4c5263f275b8102de00443c06f286918cbd23e0b6729e01aa.source +0 -131
  270. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/263c2e05b425e5c322e60c6475279f963bab3a873eb521b21df7fec935a46597.source +0 -160
  271. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/2ac5eaac28eaaee2178c4b32014df8e732f9dd432a285a872f5b7f31c1395fa4.source +0 -157
  272. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/33a0db0d2d95d2c11d0720090458e5fba1425376f5ceb5b422d1d3471be3226b.source +0 -348
  273. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/359e474ae83db35e4615d3728de6bf694b64d4dce9b536730a3b6518f9c0494a.source +0 -296
  274. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/37a4c3c31c4b70f6b719c53d1e9c4fcba603f31adfdd11bb6ef9f0d094923c56.source +0 -285
  275. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/461feca1c14a695eb8b0f17a6f95fe97eeceabc0510faaea4ba6d25bde147d8d.source +0 -217
  276. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/4cfadbda8591f29d5e1e230dc000e701b756e850441b3900fb596a4d2f6e98c2.source +0 -301
  277. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/50ca2810cf0b248c96948994c0c404531bbad6e553166b6816b3b03bfa0f75d2.source +0 -151
  278. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/52d9e8cb591a9ae86e238c3620a610cd386717bee222c0f37b25b2ac7e523dc4.source +0 -135
  279. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/6c87daafa4c006560a954636a97333f6123153c9d34d96203f7ee3a14e556357.source +0 -156
  280. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/77bc47854b577900621cacf1697f81fa2bc005af129d37614a97a3441c08f99f.source +0 -72
  281. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/7bbb789d3a527817118cf8399ed1861d6a962ade10878fd07223435d333a7089.source +0 -469
  282. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/86b7c1daafc8b60ba9982dde5bf1bcc74265709483c176e71f23ec6fc267451f.source +0 -259
  283. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/8df66d62bd41984d0970e8236882080c5085ac937d07a29779463d6a03b37c76.source +0 -97
  284. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/9962f2d1b3a85137bd40cc835725600b39f89ee02a27c06b2e0402e1eafde115.source +0 -277
  285. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/a1090ea066b792cb201739f4994e37bf7c12f52e805239a1eab87f18a537f266.source +0 -171
  286. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/a5241091650134d0919897e086a606a3846c8b2b54f8b4c84a8696c145ac3e9e.source +0 -425
  287. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/af19fa4c6e34d5540028be4b17600161283af3a2a2dfc61a3fdc0834436a0c14.source +0 -99
  288. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/b3713d78e2b2f93905ff6be8d58a8d0a2f42dea322eb67c987fda22ff6a084d5.source +0 -325
  289. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/b3849943c3aff102d1af815631fc843a2a52c17646a4b04696ece323e483bbec.source +0 -332
  290. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/bac735a3803a6650b7f1eb8f587e6dc5c68ea055000c3c99a11789438b78e837.source +0 -43
  291. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/d32c24d61eb8b33c73e5a8fc7e4dc7ef437aed238ee4371c2b00617e6104090a.source +0 -154
  292. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/d5170dc9a9879fda04fdf91d8a110d4efb6787ee38dda596d4da899883d36a72.source +0 -531
  293. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/dc59bcd7bb397be63ba2f2c3fec23f3782dcb17d2d75a9981eeced761f33eb32.source +0 -439
  294. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/eb5ff8cf66b92aec7bf6726781d8df74faa2b030c3aaac17d6b00c1fc04c9b32.source +0 -323
  295. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/f10615a6fae18436e70d1201b2d44fdae3174a3aa7bb4db97dea1b3ed291d721.source +0 -433
  296. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/f36d3e271668bc1260c2823542d22dbf1d0f7041ff16b1ac175bce2256e582ca.source +0 -280
  297. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/f94449380af09f31ac352152007146a75cc80bae8d6411ffe57b2c56f933b0ff.source +0 -117
  298. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/fe4dfd81178fd6b648335f6405d9ede71319aebde796008e50db21f8adf44c99.source +0 -160
  299. package/scripts/.mimosa/hook-state/sess_aeaecb58-8833-4b83-b93c-050467d21e03.mtxwtxme-61028-1f4519fbc4.baseline/ffb4e3aa548cfdadabaa44ab599f9b6a3ca6288176a2cc7a4b2fc2a12b5fb848.source +0 -101
  300. package/scripts/.mimosa/hook-status/sess_aeaecb58-8833-4b83-b93c-050467d21e03-d944d71bb3.json +0 -14
  301. package/scripts/_dbg-audit-all-pages.mjs +0 -43
  302. package/scripts/_dbg-daq-frames-e2e.mjs +0 -118
  303. package/scripts/_dbg-daq-rowstyle-verify.mjs +0 -112
  304. package/scripts/_dbg-hitl-timeout-e2e.mjs +0 -93
  305. package/scripts/_dbg-live-line-e2e.mjs +0 -279
  306. package/scripts/_dbg-minimal-omp.mjs +0 -77
  307. package/scripts/_dbg-mode-nav.mjs +0 -173
  308. package/scripts/_dbg-real-scenario-timeline.log +0 -55
  309. package/scripts/_dbg-team-repro.mjs +0 -76
  310. package/scripts/_dbg-town-agents-probe.mjs +0 -60
  311. package/scripts/_dbg-visual-acceptance.mjs +0 -63
  312. package/scripts/_townview_style.css +0 -1185
  313. package/scripts/_townview_template.html +0 -1215
  314. package/server/data/agent-node-bindings.json +0 -554
  315. package/server/data/daq-templates.json +0 -16
  316. package/server/data/daqs.json +0 -7464
  317. package/server/data/dcw-lines.json +0 -1787
  318. package/server/data/dcw-products.json +0 -1626
  319. package/server/data/dcw-recipes.json +0 -4672
  320. package/server/data/dcw-rollback.json +0 -20754
  321. package/server/data/dcw-runs.json +0 -6354
  322. package/server/data/dcw-templates.json +0 -146
  323. package/server/data/dcw-writes.json +0 -15650
  324. package/server/data/dcws.json +0 -9033
  325. package/server/data/device-twins.json +0 -133
  326. package/server/data/line-runs.json +0 -322
  327. package/server/data/scene-layouts.json +0 -277
@@ -1 +0,0 @@
1
- import{Ht as e,S as t,Ut as n,V as r,Vt as i,W as a,b as ee,d as o,dt as s,f as c,h as l,i as u,m as d,nt as f,pt as p,tt as te,xt as m,y as h,z as ne}from"./CSkxz2NX.js";import{c as g,f as _,l as v,s as re}from"./D6uzXueg.js";import{a as ie}from"./C__m4EhR.js";import{t as ae}from"./BHA40aHa.js";import{n as oe}from"./KZQX7xoM.js";import{t as se}from"./DZtm4l-P2.js";import{t as y}from"./BDNMzG2s2.js";import{t as b}from"./D0ZBQrN_2.js";import{t as ce}from"./DcsCcxp4.js";import{n as le,t as ue}from"./D8qvkfyY.js";import{t as de}from"./C3J6FYKa.js";var fe={key:0,class:`page`},pe={class:`banner bad`},me={key:1,class:`page`},he={class:`aw-page-head`},ge={class:`aw-kicker`},_e={class:`sub`},ve={class:`badges mono`},ye={class:`badge`},be={class:`badge`},xe={class:`badge`},Se={class:`aw-tile ctrl-card`},Ce={class:`ctrl-left`},we=[`title`],Te={class:`ctrl-right`},Ee={class:`ctrl-metrics mono`},De=[`title`],Oe=[`title`],ke=[`title`],Ae={key:1,class:`aw-tile adopt-card`},je={class:`adopt-title`},Me={class:`adopt-list`},Ne=[`onClick`],Pe=[`onClick`],Fe={class:`aw-tile line-card`},Ie={class:`line-status`},Le={class:`line-info`},Re={key:0,class:`mono dim`},ze={key:1,class:`dim`},Be={class:`line-ctl`},Ve={class:`ctl-sel`},He={value:``},Ue=[`value`],We={class:`ctl-sel`},Ge=[`disabled`],Ke={value:``},qe=[`value`,`disabled`],Je=[`disabled`,`title`],Ye=[`disabled`],Xe={key:0,class:`banner bad`,style:{"margin-top":`10px`}},Ze={key:1,class:`banner good`,style:{"margin-top":`10px`}},Qe={class:`modal`},$e={class:`m-title`},et={class:`dim mono`},tt={class:`dim tpl-hint`},nt={class:`tpl-chips`},rt=[`title`],it={class:`mono`},at={class:`sec-label`},ot={class:`f-grid tpl-form`},st={class:`f`},ct=[`placeholder`],lt={class:`f`},ut=[`placeholder`],dt={class:`f`},ft={class:`f`},pt={class:`f`},mt=[`placeholder`],ht={class:`f`},gt=[`placeholder`],_t={class:`f`},vt={class:`f`},yt=[`value`],bt={class:`f`},xt=[`placeholder`],St={key:0,class:`banner good`,style:{"margin-top":`10px`}},Ct={key:1,class:`m-err`},wt={class:`m-actions`},Tt=[`disabled`],Et={class:`modal`},Dt={class:`m-title`},Ot={class:`seg-row`},kt={class:`f-grid`},At={class:`f`},jt=[`value`],Mt={class:`f`},Nt=[`placeholder`],Pt={class:`f`},Ft=[`placeholder`],It={class:`f`},Lt=[`placeholder`],Rt={class:`f-grid cal-form`},zt={class:`f`},Bt={value:`none`},Vt={class:`f`},Ht={style:{display:`flex`,gap:`6px`}},Ut=[`disabled`],Wt=[`disabled`],Gt={class:`f-grid`},Kt={class:`f`},qt=[`value`],Jt={key:0,class:`f-grid driver-form`},Yt={key:0,style:{color:`var(--tone-danger-dot)`,"font-style":`normal`}},Xt=[`onUpdate:modelValue`],Zt=[`value`],Qt=[`onUpdate:modelValue`,`type`,`placeholder`],$t={key:2,class:`hint`},en={class:`test-row`},tn=[`disabled`],nn={class:`f`},rn=[`placeholder`],an={key:1,class:`m-err`},on={class:`m-actions`},sn=[`disabled`],cn={class:`aw-tile table-card`},ln={class:`nodes-table`},un={class:`right`},dn={class:`mono dim`},fn={class:`mono ch`},pn=[`disabled`,`title`,`onClick`],mn={key:0,class:`st-pill paused`},hn={class:`mono val`},gn={key:0,class:`dim`},_n={class:`mono val`},vn=[`title`],yn={key:0,class:`dim`},bn=[`disabled`,`title`,`onClick`],xn={class:`write-row`},Sn=[`onUpdate:modelValue`,`placeholder`,`min`,`max`,`step`,`disabled`,`title`],Cn=[`disabled`,`title`,`onClick`],wn={class:`mono dim`},Tn={class:`mono`},En=[`title`],Dn={class:`right`},On=[`onClick`],kn={key:0},An={colspan:`9`},jn={class:`pane-empty`,style:{"min-height":`120px`}},Mn={class:`pe-sub`},Nn={class:`aw-tile recipe-card`},Pn={class:`recipe-hd`},Fn={class:`panel-tag mono`},In={class:`recipe-sub`},Ln={key:0,class:`product-row`},Rn=[`title`,`onClick`],zn=[`title`,`onClick`],Bn={key:1,class:`dim`,style:{margin:`6px 0 12px`,"font-size":`12px`}},Vn={class:`recipe-grid`},Hn={class:`recipe-name`},Un=[`title`],Wn={class:`dim`},Gn={class:`mono dim`},Kn={key:0,class:`dim desc`},qn={class:`recipe-params mono`},Jn=[`title`],Yn={key:0,class:`chip-stale-tag`},Xn=[`title`],Zn={key:0,class:`chip-stale-tag`},Qn={class:`recipe-actions`},$n=[`onClick`],er=[`onClick`],tr=[`onClick`],nr={key:0,class:`mono`},rr=[`onClick`],ir={key:0,class:`pane-empty`,style:{"grid-column":`1 / -1`}},ar={key:2,class:`banner good`},or=[`disabled`],sr={key:3,class:`runs`},cr={class:`sec-label`},lr={class:`nodes-table`},ur={class:`right`},dr={class:`mono`},fr={class:`mono dim`},pr={class:`right`},mr=[`disabled`,`onClick`],hr=[`onClick`],gr={class:`modal`},_r={class:`m-title`},vr={class:`sec-label`},yr={class:`nodes-table`},br={class:`mono dim`},xr={class:`mono`},Sr={class:`mono`},Cr={class:`mono dim`},wr={class:`mono dim`},Tr={key:0},Er={colspan:`6`,class:`dim`,style:{"text-align":`center`,padding:`12px`}},Dr={class:`sec-label`},Or={class:`nodes-table`},kr={class:`mono`},Ar={class:`mono dim`},jr={class:`mono dim`},Mr={key:0},Nr={colspan:`6`,class:`dim`,style:{"text-align":`center`,padding:`12px`}},Pr={class:`m-actions`},Fr={class:`modal`},Ir={class:`m-title`},Lr={class:`f-grid`},Rr={class:`f`},zr=[`value`],Br={class:`f`},Vr=[`placeholder`],Hr={class:`f`},Ur=[`placeholder`],Wr={class:`sec-label`},Gr={class:`f`},Kr=[`onUpdate:modelValue`],qr=[`value`],Jr={key:0,class:`row-stale`},Yr={class:`f`},Xr=[`onUpdate:modelValue`],Zr={class:`f`},Qr=[`onUpdate:modelValue`,`placeholder`],$r={class:`f`},ei=[`onUpdate:modelValue`,`placeholder`],ti=[`onClick`],ni={class:`sec-label`},ri={class:`f`},ii=[`onUpdate:modelValue`],ai=[`value`],oi={class:`f`},si=[`onUpdate:modelValue`],ci={class:`f`},li=[`onUpdate:modelValue`],ui=[`onClick`],di=[`disabled`,`title`],fi={key:0,class:`m-note`},pi={key:1,class:`m-err`},mi={class:`m-actions`},hi=[`disabled`],gi={class:`modal`,style:{"max-width":`760px`}},_i={class:`modal-head`},vi={key:0,class:`dim`,style:{"margin-left":`8px`,"font-size":`12px`}},yi={key:0,class:`banner good`,style:{margin:`6px 0`}},bi={key:1,class:`dim`},xi={key:2,class:`pane-empty`},Si={class:`ver-head`},Ci={class:`mono ver-v`},wi={class:`mono dim`},Ti={class:`ver-actor`},Ei=[`onClick`],Di={key:0,class:`ver-desc`},Oi={class:`ver-diff mono`},ki={class:`aw-tile query-card`},Ai={class:`sec-label`},ji={class:`q-grid`},Mi={class:`f`},Ni={value:``},Pi=[`value`],Fi={class:`f`},Ii=[`disabled`],Li={value:``},Ri=[`value`],zi={class:`f`},Bi={value:``},Vi=[`value`],Hi={class:`f`},Ui={value:``},Wi=[`value`],Gi={class:`f`},Ki={class:`f`},qi={class:`f q-actions`},Ji=[`disabled`],Yi={key:0,class:`banner bad`,style:{"margin-top":`8px`}},Xi={key:1,class:`q-result`},Zi={class:`nodes-table`},Qi={class:`mono dim`},$i={class:`mono`},ea={class:`mono`},ta={class:`mono`},na={class:`mono dim`},ra={key:6,class:`aw-tile table-card`},ia={class:`sec-label`},aa={class:`nodes-table`},oa={class:`mono dim`},sa={class:`mono`},ca={class:`mono dim`},la={class:`dim`},ua={class:`modal`},da={class:`m-title`},fa={class:`f-grid`},pa={class:`f`},ma=[`placeholder`],ha={class:`f`},ga=[`placeholder`],_a={key:0,class:`m-err`},va={class:`m-actions`},ya=[`disabled`],ba={key:8,class:`err`},xa={class:`aw-tile ledger-card`},Sa={class:`ledger-head`},Ca={value:``},wa=[`value`],Ta={class:`ledger-tri`},Ea={class:`tri-cell`},Da={class:`mono`},Oa={class:`tri-cell`},ka={class:`mono`},Aa={class:`tri-cell`},ja={class:`mono`},Ma={class:`ledger-cols`},Na={class:`ledger-col`},Pa={class:`sec-t`},Fa={class:`ledger-list mono`},Ia={class:`ledger-col`},La={class:`sec-t`},Ra={class:`ledger-list`},za={class:`mono`},Ba=y(t({__name:`[id]`,setup(t){let{t:y}=oe(),Ba=ie(),x=ue(),Va=ce(),Ha=de();Va.load();let S=o(()=>String(Ba.params.id??``)),Ua=o(()=>x.lines.find(e=>e.id===S.value)),C=o(()=>x.lineStateOf(S.value));x.load();let Wa=x.ensureWsFeed();ne(()=>Wa());let Ga=e=>(e.deviceIds??(e.deviceBindingId?[e.deviceBindingId]:[])).map(e=>Ka(e)).join(` / `)||`—`,Ka=e=>e?Ha.twins.find(t=>t.id===e)?.name??e:y(`dcwDetail.k3own4q121`),qa={idle:y(`dcwDetail.k3zgkk122`),writing:y(`dcwDetail.k3l3h80123`),ok:`已 ACK`,error:y(`dcwDetail.k40reu124`),offline:y(`dcwDetail.k44c2n125`)};function Ja(e){let t=e??``;return x.templates.find(e=>e.key===(t.startsWith(`dcw-`)?t.slice(4):t))?.ch??t}function Ya(e){return x.nodeById(e)?.min}function Xa(e){return x.nodeById(e)?.max}let w=o(()=>Va.nodes.filter(e=>e.lineId===S.value)),T=p(``),E=p(null),Za=p(!1);async function Qa(){if(T.value){Za.value=!0;try{E.value=await x.fetchLedger(T.value)}finally{Za.value=!1}}}async function $a(){T.value&&(await x.rollbackNode(T.value),await Qa())}function eo(e){return Va.nodeById(e)?.name??e}let D=o(()=>x.nodes.filter(e=>e.lineId===S.value)),O=o(()=>x.products.filter(e=>e.lineId===S.value)),to=o(()=>x.recipes.filter(e=>e.lineId===S.value)),no=o(()=>x.runs.filter(e=>e.lineId===S.value)),ro=o(()=>{let e=new Set(D.value.map(e=>e.id));return x.history.filter(t=>e.has(t.nodeId))}),io=o(()=>x.nodes.filter(e=>!e.lineId)),ao=o(()=>x.products.filter(e=>!e.lineId));async function oo(e){await x.patchNode(e,{lineId:S.value});let t=x.nodeById(e);t&&(t.lineId=S.value)}async function so(e){await x.updateProduct(e,{lineId:S.value}),await x.load()}let k=s({}),co=p(``),A=p(``),lo=p(``);async function uo(e,t){co.value=e,A.value=``,lo.value=``;try{let n=await x.write(e,t);n.ok?(lo.value=y(`dcwDetail.k1alcbyu182`,{p0:x.nodeById(e)?.name??e,p1:n.message}),k[e]=``):A.value=y(`dcwDetail.kl1e9x9183`,{p0:x.nodeById(e)?.name??e,p1:n.message})}catch(e){A.value=b(e)}finally{co.value=``}}let fo=p(``);async function po(e){fo.value=e,A.value=``;try{await x.readNode(e)}catch(e){A.value=b(e)}finally{fo.value=``}}let mo=p(``);async function ho(e,t){mo.value=e,A.value=``;try{await x.patchNode(e,{enabled:t});let n=x.nodeById(e);n&&(n.enabled=t,t?n.state===`offline`&&(n.state=`idle`):n.state=`offline`)}catch(e){A.value=b(e)}finally{mo.value=``}}let go=p(!1),_o=p(`mock`),vo=p(x.templates[0]?.key??``),j=p(`mock`),yo=p(``),bo=p(null),xo=p(null),M=p({}),N=s({kind:`none`,scale:1,offset:0}),So=p(``),Co=p(!1),P=p(null),wo=p(!1),To=p(``),Eo=o(()=>le.find(e=>e.kind===j.value)),Do=o(()=>Eo.value?.configFields??[]);function Oo(){let e={};for(let t of Do.value)t.default!==void 0&&(e[t.key]=t.default);M.value=e,P.value=null}Oo();async function ko(){Co.value=!0,P.value=null;try{P.value=await x.testDriver(j.value,M.value)}catch(e){P.value={ok:!1,message:b(e)}}finally{Co.value=!1}}async function Ao(){wo.value=!0,To.value=``;try{for(let e of Do.value)if(e.required&&(M.value[e.key]===void 0||M.value[e.key]===``))throw Error(y(`dcwDetail.k8x1un1184`,{p0:e.label}));let e=N.kind===`linear`?{kind:`linear`,scale:Number(N.scale),offset:Number(N.offset)}:void 0;await x.createFromTemplate(`dcw-${vo.value}`,{name:yo.value.trim()||void 0,driver:j.value,driverConfig:{...M.value},transform:e,holdIntervalMs:bo.value,readIntervalMs:xo.value,lineId:S.value,semantics:So.value.trim()||void 0}),go.value=!1,yo.value=``,So.value=``}catch(e){To.value=b(e)}finally{wo.value=!1}}let jo=p(!1),Mo=p(!1),F=p(``),No=p(``);function Po(){jo.value=!0,F.value=``,No.value=``}let I=s({name:``,ch:``,code:``,unit:``,min:``,max:``,decimals:1,icon:`gateway`,semantics:``}),Fo=[{key:`thermo`,label:y(`dcwDetail.k422b8126`)},{key:`pressure`,label:y(`dcwDetail.k3x6ff127`)},{key:`tension`,label:y(`dcwDetail.k3z9xc128`)},{key:`encoder`,label:y(`dcwDetail.kjb3vhs129`)},{key:`camera`,label:y(`dcwDetail.k47atw130`)},{key:`gateway`,label:y(`dcwDetail.k48c07131`)}];async function Io(){Mo.value=!0,F.value=``,No.value=``;try{if(!I.name.trim())throw Error(y(`dcwDetail.k6ugbw2132`));if(I.unit.trim()===``)throw Error(y(`dcwDetail.kx3pg59133`));if(I.min===``||I.max===``)throw Error(y(`dcwDetail.k13awowo134`));let e=await x.createTemplate({name:I.name.trim(),ch:I.ch.trim()||I.name.trim(),code:I.code.trim()||`CUSTOM`,unit:I.unit.trim(),min:Number(I.min),max:Number(I.max),decimals:Number(I.decimals)||0,icon:I.icon,semantics:I.semantics.trim()||void 0});vo.value=e.key,No.value=y(`dcwDetail.ky4e1tr185`,{p0:e.name}),I.name=``,I.ch=``,I.code=``,I.unit=``,I.min=``,I.max=``,I.semantics=``}catch(e){F.value=b(e)}finally{Mo.value=!1}}let L=p(``),R=p(``),z=p(!1),B=p(``),V=p(``),Lo=o(()=>to.value.filter(e=>e.productId===L.value));async function Ro(){z.value=!0,B.value=``,V.value=``;try{if(!R.value)throw Error(y(`dcwDetail.k1b6qe0r135`));await x.startLine(S.value,R.value),B.value=y(`dcwDetail.k17jteb9186`,{p0:C.value.productName,p1:C.value.recipeName,p2:C.value.runId})}catch(e){V.value=b(e)}finally{z.value=!1}}async function zo(){z.value=!0,B.value=``,V.value=``;try{let e=`${C.value.productName??``} · ${C.value.recipeName??``}`;await x.stopLine(S.value),B.value=y(`dcwDetail.kzl49pd187`,{p0:e})}catch(e){V.value=b(e)}finally{z.value=!1}}let Bo=p(!1),Vo=p(!1),Ho=p(``),H=s({name:``,description:``}),U=p(``);async function Uo(){Vo.value=!0,Ho.value=``;try{let e=await x.createProduct({name:H.name.trim(),description:H.description.trim(),lineId:S.value});L.value=e.id,U.value=e.id,Bo.value=!1,H.name=``,H.description=``}catch(e){Ho.value=b(e)}finally{Vo.value=!1}}let Wo=o(()=>U.value?to.value.filter(e=>e.productId===U.value):to.value),Go=e=>x.products.find(t=>t.id===e)?.name??e;function W(e,t){let n=x.nodes.find(t=>t.id===e);return n?n.enabled?t&&n.lineId!==t?{code:`unbound`,label:y(`dcwDetail.staleUnbound`)}:null:{code:`disabled`,label:y(`dcwDetail.staleDisabled`)}:{code:`deleted`,label:y(`dcwDetail.staleDeleted`)}}function Ko(e){return x.nodes.find(t=>t.id===e)?.name??e}function qo(e,t){let n=Va.nodes.find(t=>t.id===e);return n?n.enabled?t&&n.lineId!==t?{code:`unbound`,label:y(`dcwDetail.staleUnbound`)}:null:{code:`disabled`,label:y(`dcwDetail.staleDisabled`)}:{code:`deleted`,label:y(`dcwDetail.staleDeleted`)}}let Jo=p(!1),G=p(null),Yo=p([]),Xo=p(!1),K=p(``);async function Zo(e){G.value=x.recipes.find(t=>t.id===e)??null,Jo.value=!0,K.value=``,Xo.value=!0;try{Yo.value=await x.recipeVersions(e)}catch(e){K.value=b(e)}finally{Xo.value=!1}}let Qo=e=>e===`agent`?`Agent`:y(e===`system`?`dcwDetail.srcSystem`:`dcwDetail.srcUser`);function $o(e,t){if(t===0)return y(`dcwDetail.histInit`);let n=Yo.value[t-1],r=e.params.map(e=>({p:e,old:n.params.find(t=>t.nodeId===e.nodeId)})).filter(({p:e,old:t})=>!t||t.value!==e.value).map(({p:e,old:t})=>`${x.nodes.find(t=>t.id===e.nodeId)?.name??e.nodeId}: ${t?.value??y(`dcwDetail.histAdded`)} → ${e.value}`);return r.length>0?r.join(`;`):y(`dcwDetail.histNoChange`)}async function es(e){if(G.value){K.value=``;try{let t=await x.revertRecipe(G.value.id,{version:e,reason:y(`dcwDetail.revertReasonUi`)});K.value=y(`dcwDetail.revertOk`,{p0:t.version??0}),Yo.value=await x.recipeVersions(G.value.id)}catch(e){K.value=b(e)}}}let q=s({productId:``,recipeId:``,paramKey:``,nodeId:``,lastMin:30,bucketMs:15e3}),J=p(null),ts=p(!1),ns=p(``);async function rs(){ts.value=!0,ns.value=``,J.value=null;try{J.value=await x.queryLine({lineId:S.value,productId:q.productId||void 0,recipeId:q.recipeId||void 0,paramKey:q.paramKey||void 0,nodeId:q.nodeId||void 0,fromMs:Date.now()-q.lastMin*6e4,toMs:Date.now(),bucketMs:q.bucketMs>0?q.bucketMs:void 0,limit:2e3}),J.value.channels.length===0&&(ns.value=y(`dcwDetail.kszv5sq136`))}catch(e){ns.value=b(e)}finally{ts.value=!1}}let is=o(()=>x.templates.map(e=>e.key)),Y=p(!1),as=p(null),os=p(!1),X=p(``),ss=p(``),Z=s({productId:``,name:``,description:``,params:[],daqWindows:[]}),Q=p(null),$=p(null),cs=p(!1);function ls(){as.value=null,X.value=``,Z.productId=U.value||L.value||O.value[0]?.id||``,Z.name=``,Z.description=``,Z.params=[{nodeId:D.value[0]?.id??``,value:``,min:``,max:``}],Z.daqWindows=[],Y.value=!0}function us(e){let t=x.recipes.find(t=>t.id===e);if(!t)return;as.value=e,X.value=``;let n=t.params.filter(e=>x.nodes.some(t=>t.id===e.nodeId)),r=t.params.length-n.length;ss.value=r>0?y(`dcwDetail.staleDropped`,{p0:r}):``,Z.productId=t.productId,Z.name=t.name,Z.description=t.description,Z.params=n.map(e=>({nodeId:e.nodeId,value:e.value,min:e.min??``,max:e.max??``})),Z.daqWindows=(t.daqWindows??[]).map(e=>({nodeId:e.nodeId,min:e.min??``,max:e.max??``})),Y.value=!0}async function ds(){os.value=!0,X.value=``;try{let e={productId:Z.productId,name:Z.name.trim(),description:Z.description.trim(),params:Z.params.filter(e=>e.nodeId&&e.value!==``&&Number.isFinite(Number(e.value))).map(e=>({nodeId:e.nodeId,value:Number(e.value),...e.min!==``&&Number.isFinite(Number(e.min))?{min:Number(e.min)}:{},...e.max!==``&&Number.isFinite(Number(e.max))?{max:Number(e.max)}:{}})),daqWindows:Z.daqWindows.filter(e=>e.nodeId&&(e.min!==``||e.max!==``)).map(e=>({nodeId:e.nodeId,...e.min!==``&&Number.isFinite(Number(e.min))?{min:Number(e.min)}:{},...e.max!==``&&Number.isFinite(Number(e.max))?{max:Number(e.max)}:{}}))};as.value?await x.updateRecipe(as.value,e):await x.createRecipe(e),Y.value=!1}catch(e){X.value=b(e)}finally{os.value=!1}}async function fs(e){Q.value=null,A.value=``;try{let t=await x.applyRecipe(e),n=t.results.filter(e=>e.ok).length;Q.value={runId:t.id,ok:n,total:t.results.length},n<t.results.length&&(A.value=y(`dcwDetail.ks7szkt188`,{p0:t.results.filter(e=>!e.ok).map(e=>e.message).join(`;`)}))}catch(e){A.value=b(e)}}async function ps(e){cs.value=!0;try{let t=await x.runData(e);$.value={runId:e,data:t}}catch(e){A.value=b(e)}finally{cs.value=!1}}function ms(e){let t=e?.value??e?.avg;return t==null?`--`:String(Math.round(t*1e3)/1e3)}return(t,o)=>{let s=ae,p=se;return m(x).loaded&&!Ua.value?(r(),l(`div`,fe,[c(`p`,pe,n(t.$t(`dcwDetail.k19337yp018`)),1),ee(s,{class:`pill-btn`,to:`/dcw`},{default:te(()=>[h(n(t.$t(`dcwDetail.kllwu1c019`)),1)]),_:1})])):(r(),l(`div`,me,[c(`div`,he,[c(`div`,null,[c(`p`,ge,[c(`span`,{class:`line-chip`,style:e({background:Ua.value?.color??`#3aa0ff`})},null,4),h(`AGENTWORKSHOP / LINE / `+n(Ua.value?.name??S.value),1)]),c(`h1`,null,n(Ua.value?.name??t.$t(`dcwDetail.k1b2snna151`))+` · `+n(t.$t(`dcwDetail.k1l0iow1137`)),1),c(`p`,_e,n(Ua.value?.description||t.$t(`dcwDetail.kzcbfki152`)),1)]),c(`div`,ve,[c(`span`,ye,n(t.$t(`dcwDetail.k45uio082`))+` `+n(D.value.length),1),c(`span`,be,n(t.$t(`dcwDetail.k3waz1025`))+` `+n(O.value.length),1),c(`span`,xe,n(t.$t(`dcwDetail.k48grv027`))+` `+n(to.value.length),1)])]),c(`section`,Se,[c(`div`,Ce,[c(`button`,{class:i([`aw-pill`,{running:m(x).controller.running}]),title:t.$t(`dcwDetail.k1snap154`),onClick:o[0]||=e=>m(x).startStop(m(x).controller.running?`pause`:`resume`)},[c(`span`,{class:i(m(x).controller.running?`i-tabler-player-pause`:`i-tabler-player-play`)},null,2),h(` `+n(m(x).controller.running?t.$t(`dcwDetail.kplrsg153`):t.$t(`dcwDetail.knxgni9169`)),1)],10,we)]),c(`div`,Te,[c(`span`,Ee,[c(`span`,null,n(t.$t(`dcwDetail.k45uio082`))+` `+n(m(x).controller.nodesOnline)+`/`+n(m(x).controller.nodesTotal),1),o[55]||=c(`span`,{class:`sep`},`·`,-1),c(`span`,{title:t.$t(`dcwDetail.kd3ygmn001`)},n(t.$t(`dcwDetail.k3wtib138`))+` `+n(m(x).controller.writesTotal),9,De),o[56]||=c(`span`,{class:`sep`},`·`,-1),c(`span`,{class:i({warn:m(x).controller.writesFailed>0}),title:t.$t(`dcwDetail.kd3znl0002`)},n(t.$t(`dcwDetail.k3yit7139`))+` `+n(m(x).controller.writesFailed),11,Oe)]),c(`button`,{class:`aw-pill outline`,title:t.$t(`dcwDetail.kc4ixly003`),onClick:Po},[o[57]||=c(`span`,{class:`i-tabler-template`},null,-1),h(` `+n(t.$t(`dcwDetail.k1972dx9020`)),1)],8,ke),c(`button`,{class:`aw-pill add-btn`,onClick:o[1]||=e=>go.value=!0},[o[58]||=c(`span`,{class:`i-tabler-plus`},null,-1),h(` `+n(t.$t(`dcwDetail.k1976uns021`)),1)])])]),A.value||lo.value?(r(),l(`p`,{key:0,class:i([`banner`,A.value?`bad`:`good`])},n(A.value||lo.value),3)):d(``,!0),io.value.length||ao.value.length?(r(),l(`section`,Ae,[c(`b`,je,n(t.$t(`dcwDetail.kaebkky022`)),1),c(`div`,Me,[(r(!0),l(u,null,a(io.value,e=>(r(),l(`span`,{key:e.id,class:`adopt-chip`},[h(n(e.name)+` `,1),c(`button`,{class:`mini-btn`,onClick:t=>oo(e.id)},n(t.$t(`dcwDetail.kyjp9fg023`)),9,Ne)]))),128)),(r(!0),l(u,null,a(ao.value,e=>(r(),l(`span`,{key:e.id,class:`adopt-chip`},[h(n(e.name)+`(`+n(t.$t(`dcwDetail.k3km252140`)),1),c(`button`,{class:`mini-btn`,onClick:t=>so(e.id)},n(t.$t(`dcwDetail.kyjp9fg023`)),9,Pe)]))),128))])])):d(``,!0),c(`section`,Fe,[c(`div`,Ie,[c(`span`,{class:i([`line-dot`,{on:C.value.active}])},null,2),c(`div`,Le,[c(`b`,null,n(C.value.active?t.$t(`dcwDetail.k1pxrhx0154`):t.$t(`dcwDetail.k1b2hxmx170`)),1),C.value.active?(r(),l(`small`,Re,n(C.value.productName)+` · `+n(C.value.recipeName)+` · `+n(t.$t(`dcwDetail.k400lb075`))+` `+n(C.value.runId)+` · `+n(t.$t(`dcwDetail.k3zkt2166`))+` `+n(C.value.startedAt?.slice(11,19))+` `+n(t.$t(`dcwDetail.k69vag8168`))+` `+n(C.value.taggedSamples)+` `+n(t.$t(`dcwDetail.k4118o085`)),1)):(r(),l(`small`,ze,n(t.$t(`dcwDetail.k19pof14024`)),1))])]),c(`div`,Be,[c(`label`,Ve,[c(`span`,null,n(t.$t(`dcwDetail.k3waz1025`)),1),f(c(`select`,{"onUpdate:modelValue":o[2]||=e=>L.value=e,class:`inp`,onChange:o[3]||=e=>R.value=``},[c(`option`,He,n(t.$t(`dcwDetail.kuisodh026`)),1),(r(!0),l(u,null,a(O.value,e=>(r(),l(`option`,{key:e.id,value:e.id},n(e.name),9,Ue))),128))],544),[[g,L.value]])]),c(`label`,We,[c(`span`,null,n(t.$t(`dcwDetail.k48grv027`)),1),f(c(`select`,{"onUpdate:modelValue":o[4]||=e=>R.value=e,class:`inp`,disabled:!L.value},[c(`option`,Ke,n(t.$t(`dcwDetail.kutxzsz028`)),1),(r(!0),l(u,null,a(Lo.value,e=>(r(),l(`option`,{key:e.id,value:e.id,disabled:e.params.length===0},n(e.name)+n(e.params.length===0?t.$t(`dcwDetail.k1hicmch155`):t.$t(`dcwDetail.k1lzfi4g180`,{p0:e.params.length})),9,qe))),128))],8,Ge),[[g,R.value]])]),C.value.active?(r(),l(`button`,{key:1,class:`pill-btn stop`,disabled:z.value,onClick:zo},n(t.$t(`dcwDetail.k1xyhd2y030`)),9,Ye)):(r(),l(`button`,{key:0,class:`pill-btn`,disabled:z.value||!R.value,title:R.value?`下发配方参数并开始打标数据采集`:`开跑前必须先设定配方`,onClick:Ro},n(t.$t(`dcwDetail.kfb8vml029`)),9,Je))]),V.value?(r(),l(`p`,Xe,n(V.value),1)):d(``,!0),B.value?(r(),l(`p`,Ze,n(B.value),1)):d(``,!0)]),jo.value?(r(),l(`div`,{key:2,class:`modal-mask`,onClick:o[15]||=_(e=>jo.value=!1,[`self`])},[c(`div`,Qe,[c(`h3`,$e,[h(n(t.$t(`dcwDetail.k1x4vam0031`))+` `,1),c(`small`,et,n(t.$t(`dcwDetail.k3x23c141`))+` `+n(m(x).templates.filter(e=>e.builtin).length)+` · `+n(t.$t(`dcwDetail.k3t616a142`))+` `+n(m(x).templates.filter(e=>!e.builtin).length),1)]),c(`p`,tt,n(t.$t(`dcwDetail.ke1iyud032`)),1),c(`div`,nt,[(r(!0),l(u,null,a(m(x).templates,e=>(r(),l(`span`,{key:e.key,class:`tpl-chip`,title:`${e.code} · ${e.min}~${e.max} ${e.unit}${e.semantics?` · ${e.semantics}`:``}`},[h(n(e.name)+` `,1),c(`small`,it,n(e.min)+`~`+n(e.max)+n(e.unit),1),c(`em`,{class:i([`tpl-tag`,{builtin:e.builtin}])},n(e.builtin?t.$t(`dcwDetail.k3x23c141`):t.$t(`dcwDetail.k3t616a142`)),3)],8,rt))),128))]),c(`p`,at,n(t.$t(`dcwDetail.k169eb4s033`)),1),c(`div`,ot,[c(`label`,st,[c(`span`,null,[h(n(t.$t(`dcwDetail.k1f55q76034`)),1),o[59]||=c(`em`,null,`*`,-1)]),f(c(`input`,{"onUpdate:modelValue":o[5]||=e=>I.name=e,class:`inp`,placeholder:t.$t(`dcwDetail.k1tooi3o004`)},null,8,ct),[[v,I.name]])]),c(`label`,lt,[c(`span`,null,n(t.$t(`dcwDetail.k1bqk219035`)),1),f(c(`input`,{"onUpdate:modelValue":o[6]||=e=>I.ch=e,class:`inp`,placeholder:t.$t(`dcwDetail.k698qz0005`)},null,8,ut),[[v,I.ch]])]),c(`label`,dt,[c(`span`,null,n(t.$t(`dcwDetail.k1ayxrqb036`)),1),f(c(`input`,{"onUpdate:modelValue":o[7]||=e=>I.code=e,class:`inp`,placeholder:`如 MOTOR · I`},null,512),[[v,I.code]])]),c(`label`,ft,[c(`span`,null,[h(n(t.$t(`dcwDetail.k3x4ef037`)),1),o[60]||=c(`em`,null,`*`,-1)]),f(c(`input`,{"onUpdate:modelValue":o[8]||=e=>I.unit=e,class:`inp`,placeholder:`如 A`},null,512),[[v,I.unit]])]),c(`label`,pt,[c(`span`,null,[h(n(t.$t(`dcwDetail.k1l9jv5m038`)),1),o[61]||=c(`em`,null,`*`,-1)]),f(c(`input`,{"onUpdate:modelValue":o[9]||=e=>I.min=e,type:`number`,class:`inp`,placeholder:t.$t(`dcwDetail.kxz9174006`)},null,8,mt),[[v,I.min,void 0,{number:!0}]])]),c(`label`,ht,[c(`span`,null,[h(n(t.$t(`dcwDetail.k1l9jv4p039`)),1),o[62]||=c(`em`,null,`*`,-1)]),f(c(`input`,{"onUpdate:modelValue":o[10]||=e=>I.max=e,type:`number`,class:`inp`,placeholder:t.$t(`dcwDetail.kxz9167007`)},null,8,gt),[[v,I.max,void 0,{number:!0}]])]),c(`label`,_t,[c(`span`,null,n(t.$t(`dcwDetail.k3mxmcx040`)),1),f(c(`input`,{"onUpdate:modelValue":o[11]||=e=>I.decimals=e,type:`number`,min:`0`,max:`4`,class:`inp`},null,512),[[v,I.decimals,void 0,{number:!0}]])]),c(`label`,vt,[c(`span`,null,n(t.$t(`dcwDetail.k3xx56041`)),1),f(c(`select`,{"onUpdate:modelValue":o[12]||=e=>I.icon=e,class:`inp`},[(r(),l(u,null,a(Fo,e=>c(`option`,{key:e.key,value:e.key},n(e.label),9,yt)),64))],512),[[g,I.icon]])])]),c(`label`,bt,[c(`span`,null,n(t.$t(`dcwDetail.knjmyfr042`)),1),f(c(`textarea`,{"onUpdate:modelValue":o[13]||=e=>I.semantics=e,class:`inp`,rows:`2`,placeholder:t.$t(`dcwDetail.k1qdnfzc008`)},null,8,xt),[[v,I.semantics]])]),No.value?(r(),l(`p`,St,n(No.value),1)):d(``,!0),F.value?(r(),l(`p`,Ct,n(F.value),1)):d(``,!0),c(`div`,wt,[c(`button`,{class:`aw-pill outline`,onClick:o[14]||=e=>jo.value=!1},n(t.$t(`dcwDetail.k3x62t043`)),1),c(`button`,{class:`pill-btn`,disabled:Mo.value||!I.name.trim()||I.unit.trim()===``||I.min===``||I.max===``,onClick:Io},n(Mo.value?t.$t(`dcwDetail.k1bg4759156`):t.$t(`dcwDetail.k1bg9nga171`)),9,Tt)])])])):d(``,!0),go.value?(r(),l(`div`,{key:3,class:`modal-mask`,onClick:o[28]||=_(e=>go.value=!1,[`self`])},[c(`div`,Et,[c(`h3`,Dt,n(t.$t(`dcwDetail.k1976uns021`)),1),c(`div`,Ot,[c(`button`,{class:i([`seg`,{on:_o.value===`mock`}]),onClick:o[16]||=e=>_o.value=`mock`},` Mock 模拟 PLC `,2),c(`button`,{class:i([`seg`,{on:_o.value===`real`}]),onClick:o[17]||=e=>_o.value=`real`},n(t.$t(`dcwDetail.kyj8fen044`)),3)]),c(`div`,kt,[c(`label`,At,[c(`span`,null,n(t.$t(`dcwDetail.k1ejzwqp045`)),1),f(c(`select`,{"onUpdate:modelValue":o[18]||=e=>vo.value=e,class:`inp`},[(r(!0),l(u,null,a(m(x).templates,e=>(r(),l(`option`,{key:e.key,value:e.key},n(e.name)+` · `+n(e.ch)+`(`+n(e.min)+`~`+n(e.max)+` `+n(e.unit)+`)`+n(e.builtin?``:t.$t(`dcwDetail.kr45rk9157`)),9,jt))),128))],512),[[g,vo.value]])]),c(`label`,Mt,[c(`span`,null,n(t.$t(`dcwDetail.k1ce2k1y046`)),1),f(c(`input`,{"onUpdate:modelValue":o[19]||=e=>yo.value=e,class:`inp`,placeholder:t.$t(`dcwDetail.kgpxzy3009`)},null,8,Nt),[[v,yo.value]])]),c(`label`,Pt,[c(`span`,null,n(t.$t(`dcwDetail.k1vyb8im047`)),1),f(c(`input`,{"onUpdate:modelValue":o[20]||=e=>bo.value=e,type:`number`,min:`0`,max:`3600000`,step:`500`,class:`inp`,placeholder:t.$t(`dcwDetail.kb1srz0010`)},null,8,Ft),[[v,bo.value,void 0,{number:!0}]])]),c(`label`,It,[c(`span`,null,n(t.$t(`dcwDetail.k9r7d4e016`)),1),f(c(`input`,{"onUpdate:modelValue":o[21]||=e=>xo.value=e,type:`number`,min:`0`,max:`3600000`,step:`500`,class:`inp`,placeholder:t.$t(`dcwDetail.k9r7d4e017`)},null,8,Lt),[[v,xo.value,void 0,{number:!0}]])])]),c(`div`,Rt,[c(`label`,zt,[c(`span`,null,n(t.$t(`dcwDetail.kiune1f048`)),1),f(c(`select`,{"onUpdate:modelValue":o[22]||=e=>N.kind=e,class:`inp`},[c(`option`,Bt,n(t.$t(`dcwDetail.kkzy0k049`)),1),o[63]||=c(`option`,{value:`linear`},` 线性标定:PLC值 = (物理值 - offset) / scale `,-1)],512),[[g,N.kind]])]),c(`label`,Vt,[o[64]||=c(`span`,null,`scale / offset`,-1),c(`div`,Ht,[f(c(`input`,{"onUpdate:modelValue":o[23]||=e=>N.scale=e,type:`number`,step:`0.1`,class:`inp`,disabled:N.kind!==`linear`,title:`decoder 斜率(≠0):物理值 = scale × PLC值 + offset;下发时自动取逆`},null,8,Ut),[[v,N.scale,void 0,{number:!0}]]),f(c(`input`,{"onUpdate:modelValue":o[24]||=e=>N.offset=e,type:`number`,step:`0.1`,class:`inp`,disabled:N.kind!==`linear`,title:`decoder 截距`},null,8,Wt),[[v,N.offset,void 0,{number:!0}]])])])]),_o.value===`real`?(r(),l(u,{key:0},[c(`div`,Gt,[c(`label`,Kt,[c(`span`,null,n(t.$t(`dcwDetail.k1kt87rx050`)),1),f(c(`select`,{"onUpdate:modelValue":o[25]||=e=>j.value=e,class:`inp`},[(r(!0),l(u,null,a(m(le).filter(e=>e.status!==`builtin`),e=>(r(),l(`option`,{key:e.kind,value:e.kind},n(e.label),9,qt))),128))],512),[[g,j.value]])])]),Do.value.length?(r(),l(`div`,Jt,[(r(!0),l(u,null,a(Do.value,e=>(r(),l(`label`,{key:e.key,class:`f`},[c(`span`,null,[h(n(e.label),1),e.required?(r(),l(`em`,Yt,`*`)):d(``,!0)]),e.type===`select`?f((r(),l(`select`,{key:0,"onUpdate:modelValue":t=>M.value[e.key]=t,class:`inp`},[(r(!0),l(u,null,a(e.options,e=>(r(),l(`option`,{key:e.value,value:e.value},n(e.label),9,Zt))),128))],8,Xt)),[[g,M.value[e.key]]]):f((r(),l(`input`,{key:1,"onUpdate:modelValue":t=>M.value[e.key]=t,type:e.type===`number`?`number`:`text`,placeholder:e.placeholder,class:`inp`},null,8,Qt)),[[re,M.value[e.key]]]),e.hint?(r(),l(`small`,$t,n(e.hint),1)):d(``,!0)]))),128))])):d(``,!0),c(`div`,en,[c(`button`,{class:`pill-btn outline`,disabled:Co.value,onClick:ko},n(Co.value?t.$t(`dcwDetail.k1fsh720158`):t.$t(`dcwDetail.k1fstglk172`)),9,tn),P.value?(r(),l(`span`,{key:0,class:i([`test-result`,P.value.ok?`good`:`bad`])},n(P.value.ok?`✓`:`✗`)+` `+n(P.value.message),3)):d(``,!0)])],64)):d(``,!0),c(`label`,nn,[c(`span`,null,n(t.$t(`dcwDetail.k1hgizn7051`)),1),f(c(`textarea`,{"onUpdate:modelValue":o[26]||=e=>So.value=e,class:`inp`,rows:`2`,placeholder:t.$t(`dcwDetail.k12bnyt9011`)},null,8,rn),[[v,So.value]])]),To.value?(r(),l(`p`,an,n(To.value),1)):d(``,!0),c(`div`,on,[c(`button`,{class:`aw-pill outline`,onClick:o[27]||=e=>go.value=!1},n(t.$t(`dcwDetail.k3xdnn052`)),1),c(`button`,{class:`aw-pill`,disabled:wo.value,onClick:Ao},n(wo.value?t.$t(`dcwDetail.k1bg4759156`):t.$t(`dcwDetail.k1bge46t173`)),9,sn)])])])):d(``,!0),ee(p,{spinning:!m(x).loaded&&!m(x).error},{default:te(()=>[c(`section`,cn,[c(`table`,ln,[c(`thead`,null,[c(`tr`,null,[c(`th`,null,n(t.$t(`dcwDetail.k1e2dtkt053`)),1),c(`th`,null,n(t.$t(`dcwDetail.k403cy054`)),1),c(`th`,null,n(t.$t(`dcwDetail.k42w8s055`)),1),c(`th`,null,n(t.$t(`dcwDetail.k1deqh0d056`)),1),c(`th`,null,n(t.$t(`dcwDetail.k9r7d4e018`)),1),c(`th`,null,n(t.$t(`dcwDetail.k1k79ec9057`)),1),c(`th`,null,n(t.$t(`dcwDetail.k1dexou6058`)),1),c(`th`,null,n(t.$t(`dcwDetail.k1b1nnaa059`)),1),c(`th`,null,n(t.$t(`dcwDetail.k1i8rtqt060`)),1),c(`th`,un,n(t.$t(`dcwDetail.k40aa6061`)),1)])]),c(`tbody`,null,[(r(!0),l(u,null,a(D.value,e=>(r(),l(`tr`,{key:e.id,class:i({"node-paused":!e.enabled})},[c(`td`,null,[c(`span`,dn,n(e.id.slice(0,8)),1),c(`b`,null,n(e.name),1),c(`small`,fn,n(Ja(e.templateRef)),1)]),c(`td`,null,[c(`button`,{class:i([`ctrl-toggle`,{on:e.enabled}]),disabled:mo.value===e.id,title:e.enabled?`暂停该节点控制:下发将被拒绝`:`开启该节点控制:恢复可下发`,onClick:t=>ho(e.id,!e.enabled)},[o[65]||=c(`span`,{class:`ct-dot`},null,-1),h(` `+n(e.enabled?t.$t(`dcwDetail.k3o3ib3159`):t.$t(`dcwDetail.k3n93ed062`)),1)],10,pn)]),c(`td`,null,[e.enabled?(r(),l(`span`,{key:1,class:i([`st-pill`,e.state])},n(qa[e.state]??e.state),3)):(r(),l(`span`,mn,n(t.$t(`dcwDetail.k3n93ed062`)),1))]),c(`td`,hn,[h(n(e.value==null?`--`:e.value.toFixed(e.decimals))+` `,1),c(`small`,null,n(e.unit),1),e.lastAckAt?(r(),l(`small`,gn,` · `+n(e.lastAckAt.slice(11,19)),1)):d(``,!0)]),c(`td`,_n,[c(`span`,{title:e.lastReadError??t.$t(`dcwDetail.k9r7d4e019`),class:i({"read-stale":e.lastReadError})},n(e.readValue==null?`--`:e.readValue.toFixed(e.decimals)),11,vn),c(`small`,null,n(e.unit),1),e.lastReadAt?(r(),l(`small`,yn,` · `+n(e.lastReadAt.slice(11,19)),1)):d(``,!0),c(`button`,{class:`mini-btn read-btn`,disabled:fo.value===e.id,title:t.$t(`dcwDetail.k9r7d4e020`),onClick:t=>po(e.id)},n(fo.value===e.id?`···`:t.$t(`dcwDetail.k9r7d4e021`)),9,bn)]),c(`td`,null,[c(`div`,xn,[f(c(`input`,{"onUpdate:modelValue":t=>k[e.id]=t,type:`number`,class:`inp write-inp mono`,placeholder:`${e.min}~${e.max}`,min:e.min,max:e.max,step:10**-e.decimals,disabled:!e.enabled,title:e.enabled?``:`当前节点暂停:开启控制后方可设定`},null,8,Sn),[[v,k[e.id],void 0,{number:!0}]]),c(`button`,{class:`mini-btn write-btn`,disabled:!e.enabled||co.value===e.id||k[e.id]==null||k[e.id]===``,title:e.enabled?`下发设定值`:`当前节点暂停:开启控制后方可设定`,onClick:t=>uo(e.id,Number(k[e.id]))},n(co.value===e.id?t.$t(`dcwDetail.k3l3h80123`):t.$t(`dcwDetail.k3w6td174`)),9,Cn)])]),c(`td`,wn,n(e.min)+` ~ `+n(e.max)+` `+n(e.unit),1),c(`td`,Tn,[h(n(e.holdIntervalMs==null?t.$t(`dcwDetail.k3zul4160`):`${e.holdIntervalMs}ms`)+` `,1),c(`small`,{class:`dim`,title:t.$t(`dcwDetail.k9r7d4e016`)},`· `+n(e.readIntervalMs===0?t.$t(`dcwDetail.k9r7d4e022`):e.readIntervalMs==null?t.$t(`dcwDetail.k9r7d4e023`):`${e.readIntervalMs}ms`),9,En)]),c(`td`,null,n(Ga(e)),1),c(`td`,Dn,[c(`button`,{class:`mini-btn danger`,onClick:t=>m(x).removeNode(e.id)},n(t.$t(`dcwDetail.k3xakp063`)),9,On)])],2))),128)),m(x).loaded&&D.value.length===0?(r(),l(`tr`,kn,[c(`td`,An,[c(`div`,jn,[c(`p`,Mn,n(t.$t(`dcwDetail.k1wtecyw064`)),1)])])])):d(``,!0)])])])]),_:1},8,[`spinning`]),c(`section`,Nn,[c(`div`,Pn,[c(`h3`,null,n(t.$t(`dcwDetail.k1j8w3hd065`)),1),c(`span`,Fn,n(O.value.length)+` `+n(t.$t(`dcwDetail.k1av3wgs143`))+` `+n(Wo.value.length)+` `+n(t.$t(`dcwDetail.k48grv027`)),1),c(`button`,{class:`pill-btn`,style:{"margin-left":`auto`},onClick:ls},n(t.$t(`dcwDetail.k1akm6dc066`)),1),c(`button`,{class:`mini-btn`,onClick:o[29]||=e=>Bo.value=!0},n(t.$t(`dcwDetail.k1aka0ki067`)),1)]),c(`p`,In,n(t.$t(`dcwDetail.k6bl2q8068`)),1),O.value.length?(r(),l(`div`,Ln,[c(`button`,{class:i([`prod-chip`,{on:U.value===``}]),onClick:o[30]||=e=>U.value=``},n(t.$t(`dcwDetail.k3x4t1069`)),3),(r(!0),l(u,null,a(O.value,e=>(r(),l(`button`,{key:e.id,class:i([`prod-chip`,{on:U.value===e.id}]),title:e.description,onClick:t=>U.value=e.id},[h(n(e.name)+` `,1),c(`span`,{class:`prod-del`,title:t.$t(`dcwDetail.k1bpfjgx012`),onClick:_(t=>m(x).removeProduct(e.id),[`stop`])},`×`,8,zn)],10,Rn))),128))])):(r(),l(`p`,Bn,n(t.$t(`dcwDetail.knov3zg070`)),1)),c(`div`,Vn,[(r(!0),l(u,null,a(Wo.value,e=>(r(),l(`div`,{key:e.id,class:`recipe-item`},[c(`div`,Hn,[c(`b`,null,n(e.name),1),e.version?(r(),l(`span`,{key:0,class:`param-chip mono`,title:m(y)(`dcwDetail.histTitle`)},`v`+n(e.version),9,Un)):d(``,!0),c(`small`,Wn,n(Go(e.productId)),1),c(`small`,Gn,n(e.id),1)]),e.description?(r(),l(`p`,Kn,n(e.description),1)):d(``,!0),c(`div`,qn,[(r(!0),l(u,null,a(e.params,(t,a)=>(r(),l(`span`,{key:a,class:i([`param-chip`,{stale:W(t.nodeId,e.lineId)}]),title:W(t.nodeId,e.lineId)?.label??``},[h(n(Ko(t.nodeId))+` = `+n(t.value),1),W(t.nodeId,e.lineId)?(r(),l(`span`,Yn,n(W(t.nodeId,e.lineId).label),1)):d(``,!0)],10,Jn))),128)),(r(!0),l(u,null,a(e.daqWindows,(a,ee)=>(r(),l(`span`,{key:`w-${ee}`,class:i([`param-chip daqwin`,{stale:qo(a.nodeId,e.lineId)}]),title:qo(a.nodeId,e.lineId)?.label??t.$t(`dcwDetail.k1l11api013`)},[h(` ◎ `+n(eo(a.nodeId))+` ∈ [`+n(a.min??`-∞`)+`, `+n(a.max??`+∞`)+`]`,1),qo(a.nodeId,e.lineId)?(r(),l(`span`,Zn,n(qo(a.nodeId,e.lineId).label),1)):d(``,!0)],10,Xn))),128))]),c(`div`,Qn,[c(`button`,{class:`pill-btn`,onClick:t=>fs(e.id)},n(t.$t(`dcwDetail.k1497qvr071`)),9,$n),c(`button`,{class:`mini-btn`,onClick:t=>us(e.id)},n(t.$t(`dcwDetail.k45eb0072`)),9,er),c(`button`,{class:`mini-btn`,onClick:t=>Zo(e.id)},[h(n(m(y)(`dcwDetail.histBtn`)),1),e.version?(r(),l(`span`,nr,`·v`+n(e.version),1)):d(``,!0)],8,tr),c(`button`,{class:`mini-btn danger`,onClick:t=>m(x).removeRecipe(e.id)},n(t.$t(`dcwDetail.k3xakp063`)),9,rr)])]))),128)),Wo.value.length===0?(r(),l(`div`,ir,n(t.$t(`dcwDetail.keko1xy073`)),1)):d(``,!0)]),Q.value?(r(),l(`div`,ar,[h(n(t.$t(`dcwDetail.k1l3hrvp144`))+` `+n(Q.value.runId)+` `+n(t.$t(`dcwDetail.k1g3lh2v167`))+n(Q.value.ok)+`/`+n(Q.value.total)+` `+n(t.$t(`dcwDetail.k1bqci06149`))+` `,1),c(`button`,{class:`mini-btn`,style:{"margin-left":`10px`},disabled:cs.value,onClick:o[31]||=e=>ps(Q.value.runId)},n(cs.value?t.$t(`dcwDetail.k1br0ij9161`):t.$t(`dcwDetail.kxwei5175`)),9,or)])):d(``,!0),no.value.length?(r(),l(`div`,sr,[c(`p`,cr,n(t.$t(`dcwDetail.k1rjer8d074`)),1),c(`table`,lr,[c(`thead`,null,[c(`tr`,null,[c(`th`,null,n(t.$t(`dcwDetail.k400lb075`)),1),c(`th`,null,n(t.$t(`dcwDetail.k48grv027`)),1),c(`th`,null,n(t.$t(`dcwDetail.k4497j076`)),1),c(`th`,null,n(t.$t(`dcwDetail.k1bqhtmu077`)),1),c(`th`,ur,n(t.$t(`dcwDetail.k40aa6061`)),1)])]),c(`tbody`,null,[(r(!0),l(u,null,a([...no.value].reverse().slice(0,8),e=>(r(),l(`tr`,{key:e.id},[c(`td`,dr,n(e.id),1),c(`td`,null,n(e.recipeName),1),c(`td`,fr,n(e.startedAt.slice(5,19))+` ~ `+n(e.endedAt?e.endedAt.slice(5,19):t.$t(`dcwDetail.k3vpfg9162`)),1),c(`td`,null,[c(`span`,{class:i([`st-pill`,e.results.every(e=>e.ok)?`ok`:`warn`])},n(e.results.filter(e=>e.ok).length)+`/`+n(e.results.length),3)]),c(`td`,pr,[c(`button`,{class:`mini-btn`,disabled:cs.value,onClick:t=>ps(e.id)},n(t.$t(`dcwDetail.k1dzwrdp078`)),9,mr),e.endedAt?d(``,!0):(r(),l(`button`,{key:0,class:`mini-btn`,onClick:t=>m(x).closeRun(e.id)},n(t.$t(`dcwDetail.k1blr7y7079`)),9,hr))])]))),128))])])])):d(``,!0),$.value?(r(),l(`div`,{key:4,class:`modal-mask`,onClick:o[33]||=_(e=>$.value=null,[`self`])},[c(`div`,gr,[c(`h3`,_r,n(t.$t(`dcwDetail.k11lq94k145`))+` `+n($.value.data.run.recipeName)+`(`+n($.value.runId)+`) `,1),c(`p`,vr,n(t.$t(`dcwDetail.k1me41w8080`)),1),c(`table`,yr,[c(`thead`,null,[c(`tr`,null,[c(`th`,null,n(t.$t(`dcwDetail.k48hde081`)),1),c(`th`,null,n(t.$t(`dcwDetail.k45uio082`)),1),c(`th`,null,n(t.$t(`dcwDetail.k40t11083`)),1),c(`th`,null,n(t.$t(`dcwDetail.k3xuaw084`)),1),o[66]||=c(`th`,null,`min ~ max`,-1),c(`th`,null,n(t.$t(`dcwDetail.k4118o085`)),1)])]),c(`tbody`,null,[(r(!0),l(u,null,a($.value.data.daq,e=>(r(),l(`tr`,{key:e.nodeId},[c(`td`,null,[h(n(e.ch),1),c(`small`,br,n(e.unit),1)]),c(`td`,null,n(e.nodeName),1),c(`td`,xr,n(e.latest),1),c(`td`,Sr,n(e.avg),1),c(`td`,Cr,n(e.min)+` ~ `+n(e.max),1),c(`td`,wr,n(e.cnt),1)]))),128)),$.value.data.daq.length===0?(r(),l(`tr`,Tr,[c(`td`,Er,n(t.$t(`dcwDetail.kd457ry086`)),1)])):d(``,!0)])]),c(`p`,Dr,n(t.$t(`dcwDetail.k12b7cxs087`)),1),c(`table`,Or,[c(`thead`,null,[c(`tr`,null,[c(`th`,null,n(t.$t(`dcwDetail.k3xbjr088`)),1),c(`th`,null,n(t.$t(`dcwDetail.k45uio082`)),1),c(`th`,null,n(t.$t(`dcwDetail.k3ncbsh089`)),1),c(`th`,null,n(t.$t(`dcwDetail.k3lh3mz090`)),1),c(`th`,null,n(t.$t(`dcwDetail.k454pg091`)),1),c(`th`,null,n(t.$t(`dcwDetail.k40ieu092`)),1)])]),c(`tbody`,null,[(r(!0),l(u,null,a($.value.data.writes,(e,a)=>(r(),l(`tr`,{key:a},[c(`td`,null,n(e.param),1),c(`td`,null,n(e.nodeName),1),c(`td`,kr,n(e.eng),1),c(`td`,Ar,n(e.raw),1),c(`td`,null,[c(`span`,{class:i([`st-pill`,e.ok?`ok`:`alarm`])},n(e.ok?`ACK`:t.$t(`dcwDetail.k3yit7139`)),3)]),c(`td`,jr,n(e.at.slice(5,19)),1)]))),128)),$.value.data.writes.length===0?(r(),l(`tr`,Mr,[c(`td`,Nr,n(t.$t(`dcwDetail.knzcp8i093`)),1)])):d(``,!0)])]),c(`div`,Pr,[c(`button`,{class:`aw-pill outline`,onClick:o[32]||=e=>$.value=null},n(t.$t(`dcwDetail.k3x62t043`)),1)])])])):d(``,!0)]),Y.value?(r(),l(`div`,{key:4,class:`modal-mask`,onClick:o[40]||=_(e=>Y.value=!1,[`self`])},[c(`div`,Fr,[c(`h3`,Ir,n(as.value?t.$t(`dcwDetail.k1iiwk0i163`):t.$t(`dcwDetail.k1efq0r9176`)),1),c(`div`,Lr,[c(`label`,Rr,[c(`span`,null,[h(n(t.$t(`dcwDetail.k1dw4fzf094`)),1),o[67]||=c(`em`,null,`*`,-1)]),f(c(`select`,{"onUpdate:modelValue":o[34]||=e=>Z.productId=e,class:`inp`},[(r(!0),l(u,null,a(O.value,e=>(r(),l(`option`,{key:e.id,value:e.id},n(e.name),9,zr))),128))],512),[[g,Z.productId]])]),c(`label`,Br,[c(`span`,null,[h(n(t.$t(`dcwDetail.k1l3f8so095`)),1),o[68]||=c(`em`,null,`*`,-1)]),f(c(`input`,{"onUpdate:modelValue":o[35]||=e=>Z.name=e,class:`inp`,placeholder:t.$t(`dcwDetail.k12c11vm014`)},null,8,Vr),[[v,Z.name]])]),c(`label`,Hr,[c(`span`,null,n(t.$t(`dcwDetail.k40gkk096`)),1),f(c(`input`,{"onUpdate:modelValue":o[36]||=e=>Z.description=e,class:`inp`,placeholder:t.$t(`dcwDetail.k1hxx8hy015`)},null,8,Ur),[[v,Z.description]])])]),c(`p`,Wr,n(t.$t(`dcwDetail.ka1kfgh097`)),1),(r(!0),l(u,null,a(Z.params,(e,i)=>(r(),l(`div`,{key:i,class:`param-row`},[c(`label`,Gr,[c(`span`,null,n(t.$t(`dcwDetail.k1e2dtkt053`)),1),f(c(`select`,{"onUpdate:modelValue":t=>e.nodeId=t,class:`inp`},[(r(!0),l(u,null,a(D.value,e=>(r(),l(`option`,{key:e.id,value:e.id},n(e.name)+`(`+n(Ja(e.templateRef))+` · `+n(e.min)+`~`+n(e.max)+` `+n(e.unit)+`) `,9,qr))),128))],8,Kr),[[g,e.nodeId]]),W(e.nodeId,S.value)?(r(),l(`span`,Jr,n(W(e.nodeId,S.value).label),1)):d(``,!0)]),c(`label`,Yr,[c(`span`,null,[h(n(t.$t(`dcwDetail.k3renp2098`)),1),o[69]||=c(`em`,null,`*`,-1)]),f(c(`input`,{"onUpdate:modelValue":t=>e.value=t,type:`number`,class:`inp`,step:.1},null,8,Xr),[[v,e.value,void 0,{number:!0}]])]),c(`label`,Zr,[c(`span`,null,n(t.$t(`dcwDetail.k134rw3b146`))+n(Ya(e.nodeId)??`-`)+`)`,1),f(c(`input`,{"onUpdate:modelValue":t=>e.min=t,type:`number`,class:`inp`,step:.1,placeholder:t.$t(`dcwDetail.k5vew9z016`)},null,8,Qr),[[v,e.min,void 0,{number:!0}]])]),c(`label`,$r,[c(`span`,null,n(t.$t(`dcwDetail.khrv911147`))+n(Xa(e.nodeId)??`-`)+`)`,1),f(c(`input`,{"onUpdate:modelValue":t=>e.max=t,type:`number`,class:`inp`,step:.1,placeholder:t.$t(`dcwDetail.kzoh5pr017`)},null,8,ei),[[v,e.max,void 0,{number:!0}]])]),c(`button`,{class:`mini-btn danger param-del`,onClick:e=>Z.params.splice(i,1)},n(t.$t(`dcwDetail.k44idg099`)),9,ti)]))),128)),c(`button`,{class:`mini-btn`,onClick:o[37]||=e=>Z.params.push({nodeId:D.value[0]?.id??``,value:``,min:``,max:``})},n(t.$t(`dcwDetail.k1broh7h100`)),1),c(`p`,ni,n(t.$t(`dcwDetail.k1h5gues101`)),1),(r(!0),l(u,null,a(Z.daqWindows,(e,i)=>(r(),l(`div`,{key:`dw-${i}`,class:`param-row`},[c(`label`,ri,[c(`span`,null,n(t.$t(`dcwDetail.k1empnnb102`)),1),f(c(`select`,{"onUpdate:modelValue":t=>e.nodeId=t,class:`inp`},[(r(!0),l(u,null,a(w.value,e=>(r(),l(`option`,{key:e.id,value:e.id},n(e.name)+`(`+n(e.min)+`~`+n(e.max)+` `+n(e.unit)+`) `,9,ai))),128))],8,ii),[[g,e.nodeId]])]),c(`label`,oi,[c(`span`,null,n(t.$t(`dcwDetail.kqm08ap103`)),1),f(c(`input`,{"onUpdate:modelValue":t=>e.min=t,type:`number`,class:`inp`,step:.1},null,8,si),[[v,e.min,void 0,{number:!0}]])]),c(`label`,ci,[c(`span`,null,n(t.$t(`dcwDetail.kpypf8g104`)),1),f(c(`input`,{"onUpdate:modelValue":t=>e.max=t,type:`number`,class:`inp`,step:.1},null,8,li),[[v,e.max,void 0,{number:!0}]])]),c(`button`,{class:`mini-btn danger param-del`,onClick:e=>Z.daqWindows.splice(i,1)},n(t.$t(`dcwDetail.k44idg099`)),9,ui)]))),128)),c(`button`,{class:`mini-btn`,disabled:w.value.length===0,title:w.value.length===0?`本产线暂无数采节点`:``,onClick:o[38]||=e=>Z.daqWindows.push({nodeId:w.value[0]?.id??``,min:``,max:``})},n(t.$t(`dcwDetail.kv1de1p105`)),9,di),ss.value?(r(),l(`p`,fi,n(ss.value),1)):d(``,!0),X.value?(r(),l(`p`,pi,n(X.value),1)):d(``,!0),c(`div`,mi,[c(`button`,{class:`aw-pill outline`,onClick:o[39]||=e=>Y.value=!1},n(t.$t(`dcwDetail.k3xdnn052`)),1),c(`button`,{class:`pill-btn`,disabled:os.value,onClick:ds},n(os.value?t.$t(`dcwDetail.k1b38d59164`):t.$t(`dcwDetail.k1b3kwg0177`)),9,hi)])])])):d(``,!0),Jo.value?(r(),l(`div`,{key:5,class:`modal-mask`,onClick:o[42]||=_(e=>Jo.value=!1,[`self`])},[c(`div`,gi,[c(`div`,_i,[c(`h3`,null,[h(n(m(y)(`dcwDetail.histTitle`)),1),G.value?(r(),l(`span`,vi,n(G.value.name)+` · v`+n(G.value.version),1)):d(``,!0)]),c(`button`,{class:`mini-btn`,onClick:o[41]||=e=>Jo.value=!1},` ✕ `)]),K.value?(r(),l(`p`,yi,n(K.value),1)):d(``,!0),Xo.value?(r(),l(`p`,bi,n(m(y)(`dcwDetail.histLoading`)),1)):Yo.value.length===0?(r(),l(`div`,xi,n(m(y)(`dcwDetail.histEmpty`)),1)):(r(!0),l(u,{key:3},a(Yo.value,(e,t)=>(r(),l(`div`,{key:e.version,class:i([`ver-row`,{cur:e.current}])},[c(`div`,Si,[c(`span`,Ci,`v`+n(e.version),1),c(`span`,{class:i([`ver-src`,e.by??(e.current?`cur`:``)])},n(e.current?m(y)(`dcwDetail.histCurrent`):Qo(e.by)),3),c(`span`,wi,n(e.at.slice(0,19).replace(`T`,` `)),1),c(`span`,Ti,n(e.actorName||`—`),1),e.current?d(``,!0):(r(),l(`button`,{key:0,class:`mini-btn`,onClick:t=>es(e.version)},n(m(y)(`dcwDetail.revertTo`)),9,Ei))]),e.description?(r(),l(`p`,Di,n(e.description),1)):d(``,!0),c(`p`,Oi,n($o(e,t)),1)],2))),128))])])):d(``,!0),c(`section`,ki,[c(`p`,Ai,n(t.$t(`dcwDetail.k1us3jse106`)),1),c(`div`,ji,[c(`label`,Mi,[c(`span`,null,n(t.$t(`dcwDetail.k3waz1025`)),1),f(c(`select`,{"onUpdate:modelValue":o[43]||=e=>q.productId=e,class:`inp`,onChange:o[44]||=e=>q.recipeId=``},[c(`option`,Ni,n(t.$t(`dcwDetail.k1bkl1jx107`)),1),(r(!0),l(u,null,a(O.value,e=>(r(),l(`option`,{key:e.id,value:e.id},n(e.name),9,Pi))),128))],544),[[g,q.productId]])]),c(`label`,Fi,[c(`span`,null,n(t.$t(`dcwDetail.k48grv027`)),1),f(c(`select`,{"onUpdate:modelValue":o[45]||=e=>q.recipeId=e,class:`inp`,disabled:!q.productId},[c(`option`,Li,n(t.$t(`dcwDetail.k1bkx7cr108`)),1),(r(!0),l(u,null,a(Wo.value,e=>(r(),l(`option`,{key:e.id,value:e.id},n(e.name),9,Ri))),128))],8,Ii),[[g,q.recipeId]])]),c(`label`,zi,[c(`span`,null,n(t.$t(`dcwDetail.k1demcae109`)),1),f(c(`select`,{"onUpdate:modelValue":o[46]||=e=>q.paramKey=e,class:`inp`},[c(`option`,Bi,n(t.$t(`dcwDetail.k1bkx7ya110`)),1),(r(!0),l(u,null,a(is.value,e=>(r(),l(`option`,{key:e,value:e},n(e),9,Vi))),128))],512),[[g,q.paramKey]])]),c(`label`,Hi,[c(`span`,null,n(t.$t(`dcwDetail.k45uio082`)),1),f(c(`select`,{"onUpdate:modelValue":o[47]||=e=>q.nodeId=e,class:`inp`},[c(`option`,Ui,n(t.$t(`dcwDetail.k1bkul3k111`)),1),(r(!0),l(u,null,a(w.value,e=>(r(),l(`option`,{key:e.id,value:e.id},n(e.name),9,Wi))),128))],512),[[g,q.nodeId]])]),c(`label`,Gi,[c(`span`,null,n(t.$t(`dcwDetail.kx2ojn0112`)),1),f(c(`input`,{"onUpdate:modelValue":o[48]||=e=>q.lastMin=e,type:`number`,min:`1`,max:`10080`,class:`inp`},null,512),[[v,q.lastMin,void 0,{number:!0}]])]),c(`label`,Ki,[c(`span`,null,n(t.$t(`dcwDetail.kjvnvn4113`)),1),f(c(`input`,{"onUpdate:modelValue":o[49]||=e=>q.bucketMs=e,type:`number`,min:`1000`,step:`500`,class:`inp`},null,512),[[v,q.bucketMs,void 0,{number:!0}]])]),c(`div`,qi,[c(`button`,{class:`pill-btn`,disabled:ts.value,onClick:rs},n(ts.value?t.$t(`dcwDetail.k1eyx09r165`):t.$t(`dcwDetail.k416ek178`)),9,Ji)])]),ns.value?(r(),l(`p`,Yi,n(ns.value),1)):d(``,!0),J.value?(r(),l(`div`,Xi,[c(`table`,Zi,[c(`thead`,null,[c(`tr`,null,[c(`th`,null,n(t.$t(`dcwDetail.k48hde081`)),1),c(`th`,null,n(t.$t(`dcwDetail.k45uio082`)),1),c(`th`,null,n(t.$t(`dcwDetail.k42kcu114`)),1),c(`th`,null,n(t.$t(`dcwDetail.k49ujb115`)),1),c(`th`,null,n(t.$t(`dcwDetail.k40pvw116`)),1),c(`th`,null,n(t.$t(`dcwDetail.k3xho3117`)),1)])]),c(`tbody`,null,[(r(!0),l(u,null,a(J.value.channels,e=>(r(),l(`tr`,{key:e.nodeId},[c(`td`,null,[h(n(e.ch),1),c(`small`,Qi,n(e.unit),1)]),c(`td`,null,n(e.nodeName),1),c(`td`,$i,n(e.points.length),1),c(`td`,ea,n(ms(e.points[0])),1),c(`td`,ta,n(ms(e.points[e.points.length-1])),1),c(`td`,na,n(new Date(e.points[0]?.at??0).toLocaleTimeString())+` ~ `+n(new Date(e.points[e.points.length-1]?.at??0).toLocaleTimeString()),1)]))),128))])])])):d(``,!0)]),ro.value.length?(r(),l(`section`,ra,[c(`p`,ia,n(t.$t(`dcwDetail.kw7ym9b148`))+` `+n(ro.value.length)+` `+n(t.$t(`dcwDetail.k40bfz150`)),1),c(`table`,aa,[c(`tbody`,null,[(r(!0),l(u,null,a(ro.value.slice(0,12),e=>(r(),l(`tr`,{key:e.id},[c(`td`,oa,n(e.at.slice(5,19)),1),c(`td`,null,n(e.param),1),c(`td`,null,n(e.nodeName),1),c(`td`,sa,n(e.eng),1),c(`td`,ca,` raw `+n(e.raw??`-`),1),c(`td`,null,[c(`span`,{class:i([`st-pill`,e.ok?`ok`:`alarm`])},n(e.ok?`ACK`:t.$t(`dcwDetail.k3yit7139`)),3)]),c(`td`,la,n(e.recipeRunId?t.$t(`dcwDetail.k6vgks7181`,{p0:e.recipeRunId}):`手动`),1)]))),128))])])])):d(``,!0),Bo.value?(r(),l(`div`,{key:7,class:`modal-mask`,onClick:o[53]||=_(e=>Bo.value=!1,[`self`])},[c(`div`,ua,[c(`h3`,da,n(t.$t(`dcwDetail.k1efduyf118`)),1),c(`div`,fa,[c(`label`,pa,[c(`span`,null,[h(n(t.$t(`dcwDetail.k1avjrl6119`)),1),o[70]||=c(`em`,null,`*`,-1)]),f(c(`input`,{"onUpdate:modelValue":o[50]||=e=>H.name=e,class:`inp`,placeholder:t.$t(`dcwDetail.k12c11vm014`)},null,8,ma),[[v,H.name]])]),c(`label`,ha,[c(`span`,null,n(t.$t(`dcwDetail.k40gkk096`)),1),f(c(`input`,{"onUpdate:modelValue":o[51]||=e=>H.description=e,class:`inp`,placeholder:t.$t(`dcwDetail.k1hxx8hy015`)},null,8,ga),[[v,H.description]])])]),Ho.value?(r(),l(`p`,_a,n(Ho.value),1)):d(``,!0),c(`div`,va,[c(`button`,{class:`aw-pill outline`,onClick:o[52]||=e=>Bo.value=!1},n(t.$t(`dcwDetail.k3xdnn052`)),1),c(`button`,{class:`pill-btn`,disabled:Vo.value,onClick:Uo},n(Vo.value?t.$t(`dcwDetail.k1bg4759156`):t.$t(`dcwDetail.k1bg4kn6179`)),9,ya)])])])):d(``,!0),m(x).error?(r(),l(`p`,ba,[h(n(m(x).error)+`(`,1),ee(s,{to:`/workshop`},{default:te(()=>[h(n(t.$t(`dcwDetail.k1bhhheq120`)),1)]),_:1}),o[71]||=h(`) `,-1)])):d(``,!0),c(`section`,xa,[c(`div`,Sa,[c(`b`,null,n(t.$t(`dcwDetail.k1ledgt001`)),1),f(c(`select`,{"onUpdate:modelValue":o[54]||=e=>T.value=e,class:`inp`,onChange:Qa},[c(`option`,Ca,n(t.$t(`dcwDetail.k1ledgs001`)),1),(r(!0),l(u,null,a(D.value,e=>(r(),l(`option`,{key:e.id,value:e.id},n(e.name),9,wa))),128))],544),[[g,T.value]])]),E.value?(r(),l(u,{key:0},[c(`div`,Ta,[c(`div`,Ea,[c(`small`,null,n(t.$t(`dcwDetail.k1ledgv001`)),1),c(`b`,Da,n(E.value.current??`--`),1)]),c(`div`,Oa,[c(`small`,null,n(t.$t(`dcwDetail.k1ledgv002`)),1),c(`b`,ka,n(E.value.recipeTarget??`--`),1)]),c(`div`,Aa,[c(`small`,null,n(t.$t(`dcwDetail.k1ledgv003`)),1),c(`b`,ja,n(E.value.lastGood??`--`),1)]),c(`button`,{class:`mini-btn`,onClick:Qa},n(t.$t(`dcwDetail.k1ledga001`)),1),c(`button`,{class:`mini-btn danger`,onClick:$a},n(t.$t(`dcwDetail.k1ledga002`)),1)]),c(`div`,Ma,[c(`div`,Na,[c(`small`,Pa,n(t.$t(`dcwDetail.k1ledgh001`)),1),c(`ul`,Fa,[(r(!0),l(u,null,a(E.value.journal,e=>(r(),l(`li`,{key:e.id},n(e.at.slice(5,16).replace(`T`,` `))+` [`+n(e.source)+`] `+n(e.prevValue??`?`)+` → `+n(e.newValue),1))),128))])]),c(`div`,Ia,[c(`small`,La,n(t.$t(`dcwDetail.k1ledgr001`)),1),c(`ul`,Ra,[(r(!0),l(u,null,a(E.value.records,e=>(r(),l(`li`,{key:e.id,class:`ledger-rec`},[c(`span`,{class:i([`rec-st`,e.status])},n(e.status),3),c(`span`,za,n(e.params[0]?.from??`?`)+` → `+n(e.params[0]?.to),1),c(`small`,null,n(e.judge?`${e.judge.verdict}(${e.judge.by})`:e.status===`open`?`open`:e.closedBy??``),1)]))),128))])])])],64)):d(``,!0)])]))}}}),[[`__scopeId`,`data-v-96633662`]]);export{Ba as default};
@@ -1 +0,0 @@
1
- .term-title[data-v-01e245c4]{align-items:center;gap:10px;display:inline-flex}.term-brand[data-v-01e245c4]{color:#9ece6a;border-radius:var(--radius-panel-sm);background:#9ece6a1a;border:1px solid #9ece6a38;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;display:flex}.term-name[data-v-01e245c4]{letter-spacing:.01em;color:#e6edf3;font-size:13.5px;font-weight:600}.ts-chip[data-v-01e245c4]{letter-spacing:.04em;color:#a9b1d6;border-radius:var(--radius-pill);background:#41486842;border:1px solid #9299b329;align-items:center;gap:6px;padding:1px 8px;font-size:10.5px;display:inline-flex}.ts-chip.ts-pid[data-v-01e245c4]{color:#7dcfff}.ts-chip.ts-sub[data-v-01e245c4]{font-family:var(--font-body);color:#9aa5ce}.ts-dot[data-v-01e245c4]{background:#565f89;border-radius:50%;width:6px;height:6px}.ts-chip[data-state=open][data-v-01e245c4]{color:#9ece6a;background:#9ece6a1a;border-color:#9ece6a38}.ts-chip[data-state=open] .ts-dot[data-v-01e245c4]{background:#9ece6a;animation:2.2s ease-in-out infinite ts-breathe-01e245c4}.ts-chip[data-state=retrying][data-v-01e245c4]{color:#e0af68;background:#e0af681a;border-color:#e0af683d}.ts-chip[data-state=retrying] .ts-dot[data-v-01e245c4]{background:#e0af68;animation:1.1s ease-in-out infinite ts-breathe-01e245c4}.ts-chip[data-state=connecting][data-v-01e245c4]{color:#7aa2f7}.ts-chip[data-state=connecting] .ts-dot[data-v-01e245c4]{background:#7aa2f7;animation:1.1s ease-in-out infinite ts-breathe-01e245c4}.ts-chip[data-live=streaming][data-v-01e245c4]{color:#7dcfff;background:#7dcfff1a;border-color:#7dcfff3d}.ts-chip[data-live=streaming][data-v-01e245c4]:before{content:"";background:#7dcfff;border-radius:50%;width:6px;height:6px;animation:.9s ease-in-out infinite ts-breathe-01e245c4}.ts-chip[data-live=running][data-v-01e245c4]{color:#e0af68;background:#e0af681a;border-color:#e0af683d}.ts-chip[data-live=running][data-v-01e245c4]:before{content:"";background:#e0af68;border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite ts-breathe-01e245c4}.ts-chip[data-live=idle][data-v-01e245c4]{color:#565f89}.ts-chip[data-live=idle][data-v-01e245c4]:before{content:"";background:#565f89;border-radius:50%;width:6px;height:6px}@keyframes ts-breathe-01e245c4{0%,to{opacity:.45}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.ts-chip[data-v-01e245c4]:before,.ts-dot[data-v-01e245c4]{opacity:.85;animation:none!important}}.term-toolbar[data-v-01e245c4]{align-items:center;gap:8px;display:flex}[data-v-01e245c4] .ts-btn.ant-btn{color:#c0caf5;background:#4148684d;border:1px solid #9299b32e;align-items:center;gap:5px;transition:background .15s,transform .12s;display:inline-flex}[data-v-01e245c4] .ts-btn.ant-btn:hover:not(:disabled){background:#41486880}[data-v-01e245c4] .ts-btn.ant-btn:active:not(:disabled){transform:translateY(1px)}[data-v-01e245c4] .ts-btn.ant-btn:disabled{opacity:.4}.term-body[data-v-01e245c4]{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.term-host[data-v-01e245c4]{flex:1;min-height:0;padding:10px 12px 4px}.term-hint[data-v-01e245c4]{color:#d6dee873;background:#10151c;padding:6px 12px 8px}.hitl-card[data-v-01e245c4]{z-index:10;border-radius:var(--radius-panel-sm);background:#171e28f7;border:1px solid #bb9af7;width:min(420px,100% - 32px);padding:12px 14px;position:absolute;top:14px;right:16px;box-shadow:0 8px 28px #0000008c}.hitl-head[data-v-01e245c4]{color:#bb9af7;align-items:center;gap:8px;margin-bottom:8px;display:flex}.hitl-head>b[data-v-01e245c4]{color:#e6edf3}.hitl-head .ant-btn[data-v-01e245c4]{margin-left:auto}.hitl-question[data-v-01e245c4]{color:#e6edf3;white-space:pre-wrap;margin:0 0 10px;font-weight:600}.hitl-message[data-v-01e245c4]{color:#a9b4c0;white-space:pre-wrap;margin:0 0 10px}.hitl-options[data-v-01e245c4]{flex-direction:column;gap:6px;max-height:300px;display:flex;overflow:auto}.hitl-options .ant-btn[data-v-01e245c4]{text-align:left;white-space:normal;justify-content:flex-start}.hitl-row[data-v-01e245c4]{gap:8px;margin-top:10px;display:flex}.hitl-textarea[data-v-01e245c4]{margin-top:4px}.omp-terminal-drawer .ant-drawer-header{box-shadow:inset 0 1px #9299b30f;background:linear-gradient(#131a24,#10151c)!important;border-bottom:1px solid #1d2733!important}.omp-terminal-drawer .ant-drawer-header-title{color:#e6edf3}
@@ -1 +0,0 @@
1
- .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-3d6a30ed]{width:184px;font-family:var(--font-body);flex-direction:column;flex:none;gap:8px;padding:0 0 10px;display:flex}.lib-head[data-v-3d6a30ed]{border-bottom:1px solid #26334073;align-items:center;gap:7px;padding:10px 12px 6px;display:flex}.head-title[data-v-3d6a30ed]{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-3d6a30ed]{font-family:var(--font-mono);color:var(--hud-faint,#5b6c7b);white-space:nowrap;margin-left:auto;font-size:10px}.upload-box[data-v-3d6a30ed]{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-3d6a30ed]{border-color:var(--hud-accent,#4da3ff);background:#4da3ff14}.upload-row[data-v-3d6a30ed]{cursor:pointer;align-items:center;gap:6px;min-height:26px;display:flex}.file-input[data-v-3d6a30ed]{display:none}.upload-name[data-v-3d6a30ed]{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-3d6a30ed]{color:var(--hud-accent,#4da3ff);font-size:13px}.drop-hint[data-v-3d6a30ed]{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-3d6a30ed]{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-3d6a30ed]{align-items:center;gap:6px;display:flex}.upload-btn[data-v-3d6a30ed]{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-3d6a30ed]:hover:not(:disabled){border-color:var(--hud-accent,#4da3ff);color:var(--hud-accent,#4da3ff)}.upload-btn[data-v-3d6a30ed]:disabled{opacity:.45;cursor:default}.upload-btn.go[data-v-3d6a30ed]{color:var(--hud-amber,#f5a742);background:#f5a74214;border-color:#f5a7428c}.upload-btn.go[data-v-3d6a30ed]:hover:not(:disabled){border-color:var(--hud-amber,#f5a742);color:var(--hud-amber,#f5a742);background:#f5a74229}.mini-err[data-v-3d6a30ed]{font-family:var(--font-mono);color:var(--hud-danger,#ff6b5c);font-size:9.5px}.mini-err[data-v-3d6a30ed],.mini-msg[data-v-3d6a30ed]{font-size:10px}.mini-msg[data-v-3d6a30ed]{font-family:var(--font-mono);color:var(--hud-dim,#8496a5);padding:0 10px}.lib-grid[data-v-3d6a30ed]{flex-direction:column;gap:4px;max-height:42vh;padding:6px 10px 2px;display:flex;overflow:hidden auto}.model-card[data-v-3d6a30ed]{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-3d6a30ed]:hover{background:var(--hud-panel-hover,#1a2432)}.model-card[data-v-3d6a30ed]:active{cursor:grabbing}.model-card .model-preview-3d[data-v-3d6a30ed]{margin-bottom:2px}.model-name[data-v-3d6a30ed]{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-3d6a30ed]{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-3d6a30ed]{justify-content:flex-end;gap:4px;display:flex}.card-btn[data-v-3d6a30ed]{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-3d6a30ed]:hover:not(:disabled){border-color:var(--hud-accent,#4da3ff);color:var(--hud-accent,#4da3ff)}.card-btn.danger[data-v-3d6a30ed]{color:var(--hud-danger,#ff6b5c)}.card-btn.danger[data-v-3d6a30ed]:hover:not(:disabled){border-color:var(--hud-danger,#ff6b5c);color:var(--hud-danger,#ff6b5c)}.card-btn[data-v-3d6a30ed]:disabled{opacity:.45;cursor:default}.model-img[data-v-3d6a30ed]{-o-object-fit:contain;object-fit:contain;pointer-events:none;width:46px;height:68px}.model-img.glb[data-v-3d6a30ed]{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-3d6a30ed]{color:var(--hud-faint,#5b6c7b);font-size:24px;line-height:1}.lib-note[data-v-3d6a30ed]{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-3d6a30ed]{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-3d6a30ed}@keyframes spin-3d6a30ed{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.loading-dot[data-v-3d6a30ed]{animation:none}}.twin-panel[data-v-37ad3127]{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-37ad3127]{border-bottom:1px solid #26334073;align-items:center;gap:8px;padding:10px 12px 6px;display:flex}.twin-error[data-v-37ad3127]{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-37ad3127]{font-family:var(--font-mono);letter-spacing:.16em;color:var(--hud-text,#d9e4ee);font-size:10px;font-weight:600}.twin-count[data-v-37ad3127]{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-37ad3127]{padding:10px}.twin-empty-frame[data-v-37ad3127]{border:1px dashed var(--hud-line);flex-direction:column;gap:4px;padding:12px 10px;display:flex}.twin-empty-title[data-v-37ad3127]{font-family:var(--font-mono);letter-spacing:.1em;color:var(--hud-text);font-size:11px}.twin-empty-sub[data-v-37ad3127]{color:var(--hud-dim);font-size:10px;line-height:1.6}.twin-list[data-v-37ad3127]{flex-direction:column;gap:4px;max-height:46vh;padding:4px 0 10px;display:flex;overflow:hidden auto}.twin-card[data-v-37ad3127]{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-37ad3127]:hover{background:var(--hud-panel-hover)}.twin-card[data-v-37ad3127]:active{background:var(--hud-panel-raised)}.twin-card:hover .twin-name[data-v-37ad3127]{color:#e8f1f8}.twin-card.daq[data-v-37ad3127]{background:#35e0a00f;border:1px solid #35e0a052}.twin-card.daq[data-v-37ad3127]:hover{background:#35e0a01c;border-color:#35e0a080}.twin-card.daq .twin-code[data-v-37ad3127],.twin-card.daq .twin-model-tag[data-v-37ad3127]{color:var(--hud-accent,#35e0a0)}.twin-row[data-v-37ad3127]{align-items:center;gap:8px;min-width:0;display:flex}.twin-model-tag[data-v-37ad3127]{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-37ad3127]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.twin-name[data-v-37ad3127]{color:var(--hud-text);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600;overflow:hidden}.twin-code[data-v-37ad3127]{font-family:var(--font-mono);letter-spacing:.08em;color:var(--hud-dim);font-size:10px}.twin-del[data-v-37ad3127]{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-37ad3127]:hover:not(:disabled){border-color:var(--hud-danger,#ff6b5c);color:var(--hud-danger,#ff6b5c)}.twin-del.armed[data-v-37ad3127]{color:#1a0d0a;background:var(--hud-danger,#ff6b5c);border-color:var(--hud-danger,#ff6b5c);width:auto;padding:0 5px}.twin-del[data-v-37ad3127]:disabled{opacity:.4;cursor:default}.twin-state[data-v-37ad3127]{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-37ad3127]{color:var(--hud-danger);border-color:#ff6b5c80}.twin-state.s-running[data-v-37ad3127]{color:var(--hud-ok);border-color:#7fd4a066}.twin-state-dot[data-v-37ad3127]{border-radius:50%;width:5px;height:5px}.twin-tele[data-v-37ad3127]{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-37ad3127]{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-37ad3127]{text-overflow:ellipsis;font-style:normal;overflow:hidden}.tele-item b[data-v-37ad3127]{color:var(--hud-text);font-weight:500}.twin-daq[data-v-37ad3127]{border-top:1px dashed #35e0a04d;flex-direction:column;gap:2px;margin:0 0 2px;padding-top:6px;display:flex}.daq-item[data-v-37ad3127]{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-37ad3127]{text-overflow:ellipsis;white-space:nowrap;opacity:.85;font-style:normal;overflow:hidden}.daq-item b[data-v-37ad3127]{white-space:nowrap;font-size:10.5px;font-weight:700}.daq-item b i[data-v-37ad3127]{opacity:.75;margin-left:2px;font-size:10px;font-style:normal;font-weight:500}.daq-item.alarm[data-v-37ad3127]{color:var(--hud-amber,#f6c453)}.twin-dcw[data-v-37ad3127]{border-top:1px dashed #f0a04c59;flex-direction:column;gap:6px;margin:0 0 2px;padding-top:6px;display:flex}.dcw-item[data-v-37ad3127]{flex-direction:column;gap:3px;display:flex}.dcw-head[data-v-37ad3127]{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-37ad3127]{text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.dcw-src[data-v-37ad3127]{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-37ad3127]{font-variant-numeric:tabular-nums;color:var(--hud-amber,#f6c453);white-space:nowrap;font-size:12px;font-weight:700}.dcw-set i[data-v-37ad3127]{opacity:.75;margin-left:2px;font-size:10px;font-style:normal;font-weight:500}.dcw-act[data-v-37ad3127]{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-37ad3127]{letter-spacing:.08em;color:var(--hud-faint);font-size:10px;font-style:normal}.dcw-act b[data-v-37ad3127]{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-37ad3127]{opacity:.75;margin-left:2px;font-size:10px;font-style:normal;font-weight:500}.dcw-act-at[data-v-37ad3127]{color:var(--hud-faint);font-size:10px;font-style:normal}.dcw-win[data-v-37ad3127]{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-37ad3127]{border-bottom:1px dotted var(--hud-line);padding-bottom:1px}.dcw-ctrl[data-v-37ad3127]{align-items:center;gap:4px;display:flex}.dcw-ctrl .ctrl-input[data-v-37ad3127]{flex:1;width:auto;min-width:0}.dcw-send[data-v-37ad3127]{color:var(--hud-amber,#f6c453);border-color:#f0a04c80;flex:none}.dcw-send[data-v-37ad3127]:hover:not(:disabled){color:var(--hud-amber,#f6c453);border-color:var(--hud-amber,#f6c453);background:#f0a04c1f}.dcw-err[data-v-37ad3127]{font-family:var(--font-mono);color:var(--hud-danger,#ff6b5c);font-size:10px}.ctrl-btn[data-v-37ad3127]{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-37ad3127]:hover:not(:disabled){border-color:var(--hud-accent);color:var(--hud-accent)}.ctrl-btn[data-v-37ad3127]:disabled{opacity:.45;cursor:default}.ctrl-input[data-v-37ad3127]{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-37ad3127]:focus{border-color:var(--hud-accent);outline:none}.twin-err[data-v-37ad3127]{color:var(--hud-danger);padding:0 10px 8px;font-size:9.5px}.town-view[data-v-3e78e101]{--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}.topnav[data-v-3e78e101]{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-3e78e101]: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-3e78e101]{align-items:center;gap:10px;min-width:230px;display:flex}.brand-glyph[data-v-3e78e101]{flex:none;width:26px;height:26px}.brand-name[data-v-3e78e101]{letter-spacing:.06em;font-size:14.5px;font-weight:800}.brand-name em[data-v-3e78e101]{color:var(--hud-accent);font-style:normal}.brand-sub[data-v-3e78e101]{color:var(--hud-faint);letter-spacing:.18em;margin-top:2px;font-size:10px}.nav-tabs[data-v-3e78e101]{align-items:center;gap:10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.nav-action[data-v-3e78e101]{border-radius:var(--hud-r-sm);height:32px;color:var(--hud-text);transition:background .15s var(--hud-ease), border-color .15s var(--hud-ease);background:0 0;border:1px solid #27395c;padding:0 14px;font-size:12px;font-weight:600}.nav-action[data-v-3e78e101]:hover{background:#14203a;border-color:#33507c}.save-chip[data-v-3e78e101]{font-family:var(--font-mono);letter-spacing:.08em;border:1px solid var(--hud-line);color:var(--hud-dim);white-space:nowrap;border-radius:6px;padding:3px 9px;font-size:10px}.save-chip.s-dirty[data-v-3e78e101]{color:var(--hud-amber);border-color:#f6c45366}.save-chip.s-saving[data-v-3e78e101]{color:var(--hud-dim)}.save-chip.s-saved[data-v-3e78e101]{color:var(--hud-accent);border-color:#35e0a066}.save-chip.s-error[data-v-3e78e101]{color:var(--hud-danger);border-color:#ff6b6b66}.nav-right[data-v-3e78e101]{align-items:center;gap:10px;margin-left:auto;display:flex}.nav-chip[data-v-3e78e101]{font-family:var(--font-mono);color:var(--hud-dim);border:1px solid var(--hud-line);font-variant-numeric:tabular-nums;border-radius:6px;padding:2px 8px;font-size:10.5px}.avatar-chip[data-v-3e78e101]{border:1px solid var(--hud-line-soft);background:#0e1626;border-radius:999px;align-items:center;gap:8px;padding:4px 10px 4px 4px;display:flex}.avatar-chip span[data-v-3e78e101]{color:var(--hud-text);font-size:12px}.town-view small[data-v-3e78e101]{font-size:11px}.avatar-fallback[data-v-3e78e101]{color:#04120c;background:linear-gradient(135deg,#1f9e6e,#41c8f4);border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;font-weight:700;display:grid}.seg[data-v-3e78e101]{border:1px solid var(--hud-line);border-radius:var(--hud-r-sm);background:#0a111d;padding:2px;display:inline-flex}.seg button[data-v-3e78e101]{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-3e78e101]{background:var(--hud-accent);color:#04120c;box-shadow:0 0 12px #35e0a059}.app[data-v-3e78e101]{flex:1;grid-template-columns:clamp(212px,19vw,250px) minmax(0,1fr) clamp(284px,26vw,342px);min-height:0;display:grid}.rail[data-v-3e78e101]{background:linear-gradient(#0a101c,#080d16);flex-direction:column;gap:10px;min-height:0;padding:10px;display:flex;overflow:hidden auto}.rail-left[data-v-3e78e101]{border-right:1px solid var(--hud-line-soft)}.rail-right[data-v-3e78e101]{border-left:1px solid var(--hud-line-soft)}.rail[data-v-3e78e101]::-webkit-scrollbar{width:8px}.rail[data-v-3e78e101]::-webkit-scrollbar-thumb{background:#1c2942;border:2px solid #080d16;border-radius:4px}.rail[data-v-3e78e101]::-webkit-scrollbar-track{background:0 0}.ins-enter-active[data-v-3e78e101]{transition:opacity .2s var(--hud-ease), transform .2s var(--hud-ease)}.ins-leave-active[data-v-3e78e101]{transition:opacity .12s}.ins-enter-from[data-v-3e78e101]{opacity:0;transform:translate(12px)}.ins-leave-to[data-v-3e78e101]{opacity:0}.panel[data-v-3e78e101]{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-3e78e101]: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-3e78e101]{align-items:center;gap:8px;margin-bottom:10px;display:flex}.panel-hd h3[data-v-3e78e101]{letter-spacing:.02em;flex:1;margin:0;padding-left:11px;font-size:12.5px;font-weight:700;position:relative}.panel-hd h3[data-v-3e78e101]: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-3e78e101]{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-3e78e101]{margin:-4px 0 0}.daq-list[data-v-3e78e101],.scene-list[data-v-3e78e101]{flex-direction:column;gap:4px;display:flex}.daq-card[data-v-3e78e101]{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-3e78e101]:hover{background:#12291f;border-color:#35e0a080;transform:translateY(-1px)}.daq-card[data-v-3e78e101]:active{cursor:grabbing}.daq-ico[data-v-3e78e101]{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-3e78e101]{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.daq-meta[data-v-3e78e101]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.daq-name[data-v-3e78e101]{color:var(--hud-text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.daq-code[data-v-3e78e101]{font-family:var(--font-mono);letter-spacing:.08em;color:var(--hud-faint);font-size:10px}.daq-count[data-v-3e78e101]{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-3e78e101]{flex-direction:column;display:flex}.daq-card.tpl[data-v-3e78e101]{cursor:pointer;-webkit-user-select:none;user-select:none;margin-bottom:0}.daq-card.tpl[data-v-3e78e101]:active{cursor:pointer}.daq-card.tpl[data-v-3e78e101]:focus-visible{outline:1px solid var(--hud-accent);outline-offset:1px}.daq-caret[data-v-3e78e101]{color:var(--hud-faint);transition:transform .15s var(--hud-ease);flex:none;font-size:10px}.daq-card.tpl.open .daq-caret[data-v-3e78e101]{transform:rotate(90deg)}.daq-card.tpl[data-v-3e78e101]:hover{transform:none}.daq-add[data-v-3e78e101]{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-3e78e101],.daq-card.tpl:hover .daq-add[data-v-3e78e101]{opacity:1}@media (hover:none){.daq-add[data-v-3e78e101]{opacity:1}}.daq-add[data-v-3e78e101]:hover{color:var(--hud-accent);border-color:#35e0a080}.daq-add[data-v-3e78e101]:active{transform:scale(.9)}.daq-children[data-v-3e78e101]{animation:daq-tree-in-3e78e101 .16s var(--hud-ease);flex-direction:column;gap:2px;margin:2px 0 6px;padding-left:16px;display:flex}@keyframes daq-tree-in-3e78e101{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.daq-node[data-v-3e78e101]{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-3e78e101]:hover{background:#111b2c;border-color:#2c456899}.daq-node[draggable=true][data-v-3e78e101]{cursor:grab}.daq-node[draggable=true][data-v-3e78e101]:active{cursor:grabbing;transform:scale(.98)}.daq-node.placed[data-v-3e78e101]{cursor:pointer}.daq-node.placed[draggable=true][data-v-3e78e101]{cursor:grab}.node-dot[data-v-3e78e101]{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-3e78e101]{border:1px solid var(--hud-faint);box-shadow:none;background:0 0}.node-dot.warn[data-v-3e78e101]{background:var(--hud-amber);box-shadow:0 0 6px color-mix(in srgb, var(--hud-amber) 50%, transparent)}.node-dot.alarm[data-v-3e78e101]{background:var(--hud-danger);box-shadow:0 0 6px color-mix(in srgb, var(--hud-danger) 60%, transparent)}.daq-node .daq-name[data-v-3e78e101]{font-size:11.5px;font-weight:500}.daq-node-sub[data-v-3e78e101]{align-items:baseline;gap:7px;min-width:0;display:flex}.node-val[data-v-3e78e101]{color:var(--hud-cyan);flex:none;font-size:10px}.node-dev[data-v-3e78e101]{color:var(--hud-faint);white-space:nowrap;text-overflow:ellipsis;max-width:104px;font-size:9.5px;overflow:hidden}.daq-empty-hint[data-v-3e78e101]{color:var(--hud-faint);padding:4px 8px 6px 10px;font-size:10px}.scene-row[data-v-3e78e101]{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-3e78e101]:hover{background:#111b2c}.scene-row.active[data-v-3e78e101]{background:#35e0a00f;border-color:#35e0a059}.scene-row[data-v-3e78e101]:active{cursor:grabbing}.scene-ico[data-v-3e78e101]{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-3e78e101]{box-shadow:0 0 10px color-mix(in srgb, var(--ch,var(--hud-accent)) 40%, transparent)}.scene-meta-wrap[data-v-3e78e101]{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.scene-name[data-v-3e78e101]{color:var(--hud-text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.scene-meta[data-v-3e78e101]{font-family:var(--font-mono);color:var(--hud-faint);font-size:10px}.scene-add[data-v-3e78e101],.scene-cur[data-v-3e78e101]{border-radius:6px;flex:none;margin-left:auto;padding:1px 7px;font-size:10px}.scene-cur[data-v-3e78e101]{color:var(--hud-accent);border:1px solid #35e0a066}.scene-add[data-v-3e78e101]{color:var(--hud-dim);border:1px solid var(--hud-line)}.scene-hint[data-v-3e78e101]{color:var(--hud-amber);padding:6px 4px 0;font-size:10px;line-height:1.5}.stage-col[data-v-3e78e101]{flex-direction:column;min-width:0;min-height:0;display:flex}.stage[data-v-3e78e101]{background:#060a11;flex:1;min-height:320px;position:relative;overflow:hidden}.stage[data-v-3e78e101]:fullscreen{border-radius:0}.town-host[data-v-3e78e101]{position:absolute;inset:0}.town-host canvas[data-v-3e78e101]{image-rendering:auto;display:block}.stage-vignette[data-v-3e78e101]{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}.stage-top[data-v-3e78e101]{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-3e78e101]>*{pointer-events:auto}.vp-title[data-v-3e78e101]{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-3e78e101]{letter-spacing:.02em;margin:0;font-size:15px;font-weight:700}.vp-id[data-v-3e78e101]{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-3e78e101]{align-items:center;gap:8px;display:flex}.vp-tool[data-v-3e78e101]{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-3e78e101]:hover{color:var(--hud-text);border-color:#33507c}.vp-tool.on[data-v-3e78e101]{color:#04120c;background:var(--hud-accent);border-color:var(--hud-accent);box-shadow:0 0 12px #35e0a04d}.vp-svg[data-v-3e78e101]{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.leaders[data-v-3e78e101]{z-index:7;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.angle-chip[data-v-3e78e101]{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-3e78e101]{color:var(--hud-text);cursor:pointer;background:0 0;border:0;font-size:11.5px;font-weight:600}.angle-chip select option[data-v-3e78e101]{background:#0e1626}.callout-layer[data-v-3e78e101]{z-index:7;pointer-events:none;position:absolute;inset:0;overflow:hidden}.callout[data-v-3e78e101]{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-3e78e101]{opacity:1;pointer-events:auto;transform:translate(-50%,-112%)}.leaders g[data-v-3e78e101]{opacity:0;transition:opacity .22s var(--hud-ease)}.leaders g.near[data-v-3e78e101]{opacity:1}.callout.warn[data-v-3e78e101]{border-color:#f6c45399}.co-label[data-v-3e78e101]{color:var(--hud-dim);white-space:nowrap;align-items:center;gap:6px;font-size:10.5px;display:flex}.co-dot[data-v-3e78e101]{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-3e78e101]{background:var(--hud-amber);box-shadow:0 0 8px #f6c453e6}.co-val[data-v-3e78e101]{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-3e78e101]{color:var(--hud-dim);margin-left:3px;font-size:10.5px;font-weight:500}.co-range[data-v-3e78e101]{font-family:var(--font-mono);color:var(--hud-faint);margin-top:1px;font-size:9.5px}.callout.warn .co-range[data-v-3e78e101]{color:var(--hud-amber)}.kpi-strip[data-v-3e78e101]{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-3e78e101]{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-3e78e101]:hover{border-color:#2c4568;transform:translateY(-1px);box-shadow:inset 0 1px #8fb0dc1a,0 12px 26px #03070e80}.kpi-ico[data-v-3e78e101]{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-3e78e101]{color:var(--hud-cyan);background:#41c8f41f}.kpi-ico.c2[data-v-3e78e101]{color:var(--hud-accent);background:#35e0a01f}.kpi-ico.c3[data-v-3e78e101]{color:var(--hud-amber);background:#f6c4531f}.kpi-ico.c4[data-v-3e78e101]{color:#a78bfa;background:#a78bfa24}.kpi-ico.c5[data-v-3e78e101]{color:var(--hud-danger);background:#ff6b6b1f}.kpi-svg[data-v-3e78e101]{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.kpi-meta[data-v-3e78e101]{line-height:1.25}.kpi-label[data-v-3e78e101]{color:var(--hud-dim);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.kpi-val[data-v-3e78e101]{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-3e78e101]{color:var(--hud-faint);margin-left:2px;font-size:10px;font-weight:500}.empty-hint[data-v-3e78e101]{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-3e78e101]{color:var(--hud-text);margin-bottom:4px;font-size:14px;display:block}.empty-hint span[data-v-3e78e101]{font-size:12px}@media (prefers-reduced-motion:no-preference){.dock[data-v-3e78e101],.rail-left[data-v-3e78e101],.rail-right[data-v-3e78e101]{animation:.52s cubic-bezier(.22,.68,.36,1) backwards hud-boot-3e78e101}.rail-left[data-v-3e78e101]{animation-delay:40ms}.rail-right[data-v-3e78e101]{animation-delay:.15s}.dock[data-v-3e78e101]{animation-delay:.26s}}@keyframes hud-boot-3e78e101{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.dock[data-v-3e78e101]{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-3e78e101]{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}.dock-hd[data-v-3e78e101]{align-items:center;gap:8px;margin-bottom:10px;display:flex}.dock-hd h3[data-v-3e78e101]{flex:none;margin:0;font-size:12.5px;font-weight:700}.dock-count[data-v-3e78e101]{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-3e78e101]{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-3e78e101]{align-items:center;gap:10px;margin-bottom:9px;display:flex}.ctl-sec[data-v-3e78e101]{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-3e78e101]:first-of-type{border-top:0;margin-top:0;padding-top:0}.ctl-name[data-v-3e78e101]{color:var(--hud-dim);flex:none;width:64px;font-size:11.5px}.ctl-val[data-v-3e78e101]{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-3e78e101]{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-3e78e101]::-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-3e78e101]:hover::-webkit-slider-thumb{transform:scale(1.18);box-shadow:0 0 0 5px #35e0a01f,0 1px 4px #00000080}.ctl-range[data-v-3e78e101]:active::-webkit-slider-thumb{transform:scale(1.05)}.bp-range[data-v-3e78e101]{accent-color:var(--hud-accent)}.snap-toggle[data-v-3e78e101]{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-3e78e101]{color:var(--hud-accent);background:#35e0a014;border-color:#35e0a066}.fps-seg[data-v-3e78e101]{flex:1;gap:4px;display:flex}.fps-seg button[data-v-3e78e101]{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-3e78e101]:hover{border-color:var(--hud-line-hi);color:var(--hud-text)}.fps-seg button.on[data-v-3e78e101]{color:var(--hud-accent);background:#35e0a014;border-color:#35e0a066}.ctl-btns[data-v-3e78e101]{gap:8px;margin-top:auto;display:flex}.btn[data-v-3e78e101]{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-3e78e101]{background:var(--hud-accent-dim);color:#04120c}.btn-primary[data-v-3e78e101]:hover{background:#25b57e}.btn-ghost[data-v-3e78e101]{color:var(--hud-text);border:1px solid #27395c}.btn-ghost[data-v-3e78e101]:hover{background:#14203a;border-color:#33507c}.btn-danger[data-v-3e78e101]{color:#fff;background:#b3273a}.btn-danger[data-v-3e78e101]:hover{background:#d1304a}.btn[data-v-3e78e101]:not(:disabled):active{transform:translateY(1px)}.bind-select[data-v-3e78e101]:disabled,.btn[data-v-3e78e101]:disabled,.nav-action[data-v-3e78e101]:disabled,.obj-input[data-v-3e78e101]:disabled,.obj-mini[data-v-3e78e101]:disabled,.obj-select[data-v-3e78e101]:disabled{opacity:.38;cursor:not-allowed;filter:saturate(.4)}.btn[data-v-3e78e101]:disabled:hover,.nav-action[data-v-3e78e101]:disabled:hover{background:inherit}.trend-legend[data-v-3e78e101]{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-3e78e101]{max-height:100px}.trend-legend[data-v-3e78e101]::-webkit-scrollbar{width:6px}.trend-legend[data-v-3e78e101]::-webkit-scrollbar-thumb{background:#1c2942;border-radius:3px}.trend-legend[data-v-3e78e101]::-webkit-scrollbar-track{background:0 0}.lg-chip[data-v-3e78e101]{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-3e78e101]:hover{border-color:var(--hud-line-hi);color:var(--hud-text)}.lg-chip.off[data-v-3e78e101]{opacity:.32}.lg-more[data-v-3e78e101]{letter-spacing:.04em;color:var(--hud-faint);border-style:dashed;font-size:10px}.lg-more[data-v-3e78e101]:hover{color:var(--hud-accent);border-color:#35e0a066}.lg-dot[data-v-3e78e101]{border-radius:2px;width:7px;height:7px}.trend-wrap[data-v-3e78e101]{flex:1;min-height:0;position:relative}.trend-cv[data-v-3e78e101]{width:100%;height:100%;position:absolute;inset:0}.trend-empty[data-v-3e78e101]{font-family:var(--font-mono);color:var(--hud-faint);place-content:center;font-size:10.5px;display:grid;position:absolute;inset:0}.inspector[data-v-3e78e101]{animation:rise-3e78e101 .18s var(--hud-ease)}@keyframes rise-3e78e101{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ins-chip-row[data-v-3e78e101]{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.ins-chip[data-v-3e78e101]{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-3e78e101]{color:var(--hud-accent);border-color:#35e0a066}.sect-hd[data-v-3e78e101]{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-3e78e101]:before{content:"";background:var(--hud-accent);opacity:.55;border-radius:1px;width:3px;height:9px}.obj-row[data-v-3e78e101]{align-items:center;gap:8px;margin-bottom:8px;display:flex}.obj-label[data-v-3e78e101]{width:52px;color:var(--hud-dim);flex:none;font-size:10.5px}.obj-input[data-v-3e78e101],.obj-select[data-v-3e78e101]{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-3e78e101]:focus,.obj-select[data-v-3e78e101]:focus{border-color:var(--hud-accent);outline:none}.obj-sep[data-v-3e78e101]{background:var(--hud-line-soft);height:1px;margin:8px 0}.range-status[data-v-3e78e101]{min-width:0;color:var(--hud-faint);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;overflow:hidden}.obj-mini[data-v-3e78e101]{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-3e78e101]{color:#04120c;background:var(--hud-accent);border-color:var(--hud-accent)}.obj-mini.danger[data-v-3e78e101]{color:var(--hud-danger);width:100%;margin-top:4px}.obj-range[data-v-3e78e101]{accent-color:var(--hud-accent);flex:1}.bp-val[data-v-3e78e101]{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-3e78e101]{gap:4px;display:flex}.seg-btn[data-v-3e78e101]{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-3e78e101]:hover{border-color:var(--hud-line-hi);color:var(--hud-text)}.seg-btn.on[data-v-3e78e101]{color:#04120c;background:var(--hud-accent);border-color:var(--hud-accent)}.xz-seg[data-v-3e78e101]{gap:6px;margin-bottom:8px;display:flex}.xz-seg .seg-btn[data-v-3e78e101]{flex:1}.scale-row[data-v-3e78e101]{align-items:center;gap:8px;display:flex}.scale-max[data-v-3e78e101],.scale-min[data-v-3e78e101]{font-family:var(--font-mono);color:var(--hud-faint);font-size:10px}.scale-range[data-v-3e78e101]{accent-color:var(--hud-accent);flex:1}.scale-val[data-v-3e78e101]{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-3e78e101]{gap:8px;margin-top:12px;display:flex}.ins-del[data-v-3e78e101]{color:var(--hud-danger);background:#ff6b6b1a;border:1px solid #ff6b6b66}.ins-del.armed[data-v-3e78e101]{background:var(--hud-danger);color:#fff}.ins-empty[data-v-3e78e101]{color:var(--hud-faint);text-align:center;padding:8px 0 6px;font-size:11px}.health-body[data-v-3e78e101]{align-items:center;gap:14px;display:flex}.donut-wrap[data-v-3e78e101]{flex:none;width:118px;height:118px;position:relative}.donut-wrap canvas[data-v-3e78e101]{width:118px;height:118px}.donut-center[data-v-3e78e101]{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.donut-center b[data-v-3e78e101]{font-family:var(--font-mono);color:var(--hud-accent);font-size:21px;font-weight:700}.donut-center span[data-v-3e78e101]{color:var(--hud-faint);font-size:9.5px}.health-legend[data-v-3e78e101]{flex-direction:column;flex:1;gap:8px;display:flex}.hl-row[data-v-3e78e101]{align-items:center;gap:7px;font-size:11.5px;display:flex}.hl-dot[data-v-3e78e101]{border-radius:50%;flex:none;width:7px;height:7px}.hl-row .n[data-v-3e78e101]{font-family:var(--font-mono);color:var(--hud-text);margin-left:auto;font-size:13px;font-weight:700}.event-list[data-v-3e78e101]{flex-direction:column;flex:1;min-height:0;max-height:200px;display:flex;overflow:hidden auto}.event-row[data-v-3e78e101]{transition:background .13s var(--hud-ease);border-radius:7px;align-items:center;gap:7px;padding:4px 6px;display:flex}.event-row[data-v-3e78e101]:hover{background:#35e0a00d}.ev-time[data-v-3e78e101]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--hud-faint);flex:none;font-size:10px}.ev-name[data-v-3e78e101]{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-3e78e101]{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-3e78e101]{font-family:var(--font-mono);color:var(--hud-faint);text-align:center;padding:12px;font-size:9.5px}.rail-empty[data-v-3e78e101]{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-3e78e101]{fill:none;width:19px;height:19px;stroke:var(--hud-faint);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.mm-body[data-v-3e78e101]{align-items:stretch;gap:8px;display:flex}.mm-wrap[data-v-3e78e101]{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-3e78e101]{cursor:crosshair;width:100%;height:100%;position:absolute;inset:0}.nav-cv[data-v-3e78e101]{cursor:crosshair;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.alarm-list[data-v-3e78e101]{flex-direction:column;display:flex}.al-row[data-v-3e78e101]{border-radius:var(--hud-r-md);align-items:flex-start;gap:9px;padding:9px 8px;transition:background .15s;display:flex}.al-row[data-v-3e78e101]:hover{background:#101a2c}.al-ico[data-v-3e78e101]{border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid}.al-ico.crit[data-v-3e78e101]{color:var(--hud-danger);background:#ff6b6b1f}.al-ico.warn[data-v-3e78e101]{color:var(--hud-amber);background:#f6c4531f}.al-ico.info[data-v-3e78e101]{color:var(--hud-cyan);background:#41c8f41f}.al-svg[data-v-3e78e101]{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.al-body[data-v-3e78e101]{flex:1;min-width:0}.al-txt[data-v-3e78e101]{color:var(--hud-text);font-size:12px;font-weight:500;line-height:1.35}.al-src[data-v-3e78e101]{font-family:var(--font-mono);color:var(--hud-faint);margin-top:2px;font-size:9.5px}.al-state[data-v-3e78e101]{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-3e78e101]{color:var(--hud-danger);background:#ff6b6b1a;border-color:#ff6b6b66}.al-state.s1[data-v-3e78e101]{color:var(--hud-amber);background:#f6c4531a;border-color:#f6c45359}.al-state.s2[data-v-3e78e101]{color:var(--hud-dim);background:#8fa0b514;border-color:#8fa0b54d}.nav-bell-warn[data-v-3e78e101]{color:var(--hud-danger);border-color:#ff6b6b80}.mm-col[data-v-3e78e101]{flex-direction:column;gap:6px;display:flex}.mm-col .vp-tool[data-v-3e78e101]{border-radius:8px;width:30px;height:30px}.mm-meta[data-v-3e78e101]{color:var(--hud-faint);letter-spacing:.08em;text-align:center;margin-top:8px;font-size:9.5px}.rpg-lines.chat-embed[data-v-3e78e101]{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-3e78e101]{align-items:center;gap:8px;display:flex}.chat-sect .chat-refresh[data-v-3e78e101]{margin-left:auto}.chat-id-row[data-v-3e78e101]{align-items:center;gap:10px;margin-bottom:4px;display:flex}.chat-badge[data-v-3e78e101]{--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-3e78e101]{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.chat-name[data-v-3e78e101]{color:var(--hud-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.chat-meta[data-v-3e78e101]{align-items:center;gap:6px;display:flex}.chat-state[data-v-3e78e101]{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-3e78e101]{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-3e78e101]{color:var(--hud-amber);background:#f6c4531a;border:1px solid #f6c45373}.chat-role.r-worker[data-v-3e78e101]{color:var(--hud-cyan);background:#41c8f41a;border:1px solid #41c8f466}.chat-state.s-busy[data-v-3e78e101]{color:var(--hud-amber);border-color:#f6c45380}.chat-state.s-stopped[data-v-3e78e101]{color:var(--hud-danger);border-color:#ff6b6b80}.chat-harness[data-v-3e78e101]{font-family:var(--font-mono);letter-spacing:.1em;color:var(--hud-faint);font-size:10px}.chat-count[data-v-3e78e101]{font-family:var(--font-mono);color:var(--hud-faint);font-size:10px}.chat-refresh[data-v-3e78e101]{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-3e78e101]:hover{border-color:var(--hud-accent);color:var(--hud-accent)}.chat-refresh[data-v-3e78e101]:active{transform:rotate(180deg)}.rpg-lines[data-v-3e78e101]{flex-direction:column;flex:1;gap:7px;min-height:0;padding:10px 12px 12px;display:flex;overflow:hidden auto}.rpg-divider[data-v-3e78e101]{font-family:var(--font-mono);letter-spacing:.2em;color:var(--hud-faint);margin:4px 0 2px;font-size:10px}.rpg-divider.live[data-v-3e78e101]{color:var(--hud-amber)}.rpg-line[data-v-3e78e101]{align-items:flex-start;gap:8px;display:flex}.rpg-time[data-v-3e78e101]{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-3e78e101]{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-3e78e101]{opacity:.62}.rpg-line.live .rpg-bubble[data-v-3e78e101]{animation:rise-3e78e101 .26s var(--hud-ease) both;border-color:var(--hud-line-hi);background:#14213a}.rpg-kind[data-v-3e78e101]{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-3e78e101]{color:var(--hud-accent)}.rpg-kind.k-error[data-v-3e78e101]{color:var(--hud-danger)}.rpg-text[data-v-3e78e101]{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-3e78e101]{color:#edf4fa}.rpg-typing[data-v-3e78e101]{align-items:center;gap:4px;padding:5px 2px;display:flex}.ty-dot[data-v-3e78e101]{background:var(--hud-amber);width:5px;height:5px;animation:ty-bounce-3e78e101 1.15s var(--hud-ease) infinite;border-radius:50%}.ty-dot[data-v-3e78e101]:nth-child(2){animation-delay:.15s}.ty-dot[data-v-3e78e101]:nth-child(3){animation-delay:.3s}.ty-label[data-v-3e78e101]{font-family:var(--font-mono);color:var(--hud-faint);margin-left:5px;font-size:10px}.rpg-note[data-v-3e78e101]{font-family:var(--font-mono);color:var(--hud-dim);text-align:center;padding:14px 0;font-size:10px}.boundary-panel[data-v-3e78e101]{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-3e78e101]{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-3e78e101]:active{cursor:grabbing}.bp-name[data-v-3e78e101]{color:var(--hud-text);font-size:13px;font-weight:700}.bp-sub[data-v-3e78e101]{font-family:var(--font-mono);letter-spacing:.12em;color:var(--hud-faint);font-size:10px}.bp-tabs[data-v-3e78e101]{gap:4px;margin-left:auto;display:flex}.bp-tab[data-v-3e78e101]{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-3e78e101]{color:#04120c;background:var(--hud-accent);border-color:var(--hud-accent)}.bp-row[data-v-3e78e101]{align-items:center;gap:8px;display:flex}.bp-label[data-v-3e78e101]{width:52px;color:var(--hud-dim);flex:none;font-size:10.5px}.bp-range[data-v-3e78e101]{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-3e78e101]::-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-3e78e101]:hover::-webkit-slider-thumb{transform:scale(1.15)}.bp-hint[data-v-3e78e101]{color:var(--hud-faint);font-size:10px;line-height:1.6}.bp-actions[data-v-3e78e101]{gap:6px;margin-top:4px;display:flex}.bp-btn[data-v-3e78e101]{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-3e78e101]:hover{background:#14203a;border-color:#33507c}.bp-btn.save[data-v-3e78e101]{color:#04120c;background:var(--hud-accent-dim);border-color:var(--hud-accent-dim)}.bp-btn.save[data-v-3e78e101]:hover{background:#25b57e}.bp-btn.danger[data-v-3e78e101]{color:var(--hud-danger);border-color:#ff6b6b66}.bp-btn.danger[data-v-3e78e101]:hover{background:#ff6b6b1a}.member-list[data-v-3e78e101]{flex-direction:column;gap:5px;max-height:220px;display:flex;overflow:hidden auto}.member-row[data-v-3e78e101]{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-3e78e101]{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-3e78e101]{flex-direction:column;flex:1;min-width:0;display:flex}.member-name[data-v-3e78e101]{color:var(--hud-text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.member-role[data-v-3e78e101]{font-family:var(--font-mono);letter-spacing:.06em;color:var(--hud-faint);font-size:10px}.member-role.r-lead[data-v-3e78e101]{color:var(--hud-amber)}.member-role.r-worker[data-v-3e78e101]{color:var(--hud-cyan)}.member-select[data-v-3e78e101]{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}.drop-chip[data-v-3e78e101],.error-chip[data-v-3e78e101]{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-3e78e101]{color:var(--hud-accent)}.error-chip[data-v-3e78e101]{color:var(--hud-danger);border-color:#ff6b6b66}.bind-row[data-v-3e78e101]{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-3e78e101]{width:26px;height:26px;color:var(--hud-accent);background:#0d1a26;border-radius:7px;flex:none;place-items:center;display:grid}.bind-svg[data-v-3e78e101]{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.bind-meta[data-v-3e78e101]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.bind-label[data-v-3e78e101]{color:var(--hud-text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.bind-val[data-v-3e78e101]{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-3e78e101]{font-size:11px;font-weight:700}.bind-spark[data-v-3e78e101]{flex:none;width:56px;height:20px}.bind-x[data-v-3e78e101]{width:22px;height:22px;color:var(--hud-faint);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none}.bind-x[data-v-3e78e101]:hover{color:var(--hud-danger);background:#ff6b6b1f}.bind-add-wrap[data-v-3e78e101]{position:relative}.bind-add[data-v-3e78e101]{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-3e78e101]:hover{border-color:var(--hud-accent-dim);color:var(--hud-accent)}.bind-pop[data-v-3e78e101]{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-3e78e101]::-webkit-scrollbar{width:8px}.bind-pop[data-v-3e78e101]::-webkit-scrollbar-thumb{background:#2c4568 padding-box content-box;border:2px solid #0000;border-radius:9999px}.bind-pop[data-v-3e78e101]::-webkit-scrollbar-thumb:hover{background:#3d5a85 padding-box content-box}.bind-pop button[data-v-3e78e101]{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-3e78e101]:hover{color:var(--hud-text);background:#12203a}.bind-pop .bind-svg[data-v-3e78e101]{color:var(--hud-accent)}.bind-pop button>span[data-v-3e78e101]{white-space:nowrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.bp-group[data-v-3e78e101]{flex-direction:column;display:flex}.bp-group+.bp-group[data-v-3e78e101]{border-top:1px solid #27395c8c}.bp-tpl[data-v-3e78e101]{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-3e78e101]{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-3e78e101]{color:var(--hud-faint);padding:10px;font-size:10.5px}.dcw-row[data-v-3e78e101]{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-3e78e101]:hover{border-color:var(--hud-line-hi);box-shadow:0 6px 18px #03070e66}.dcw-top[data-v-3e78e101]{align-items:center;gap:8px;display:flex}.dcw-id[data-v-3e78e101]{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.dcw-name[data-v-3e78e101]{color:var(--hud-faint);text-overflow:ellipsis;white-space:nowrap;font-size:9.5px;overflow:hidden}.dcw-tag[data-v-3e78e101]{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-3e78e101]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex:none;align-items:baseline;gap:3px;display:flex}.dcw-cur b[data-v-3e78e101]{color:var(--hud-cyan);text-shadow:0 0 14px #41c8f447;font-size:16px;font-weight:700}.dcw-cur i[data-v-3e78e101]{color:var(--hud-faint);font-size:9.5px;font-style:normal}.dcw-win[data-v-3e78e101]{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-3e78e101]{letter-spacing:.14em;color:var(--hud-faint);flex:none;font-size:10px;font-style:normal;font-weight:700}.dcw-win-num[data-v-3e78e101]{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-3e78e101]{background:#1a2740;border-radius:999px;flex:1;height:4px;position:relative}.dcw-win-track[data-v-3e78e101]:before{content:"";border-radius:inherit;background:linear-gradient(90deg,#5a82af66,#5a82af24);position:absolute;inset:0}.dcw-win-track i[data-v-3e78e101]{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-3e78e101]{color:var(--hud-amber)}.dcw-win.recipe .dcw-win-track[data-v-3e78e101]:before{background:linear-gradient(90deg,#f6c45380,#f6c45329)}.dcw-win.recipe .dcw-win-track i[data-v-3e78e101]{border-color:var(--hud-amber);box-shadow:0 0 8px #f6c4538c}.dcw-write[data-v-3e78e101]{gap:6px;display:flex}.dcw-write input[data-v-3e78e101]{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-3e78e101]::placeholder{color:var(--hud-faint);font-size:10px}.dcw-write input[data-v-3e78e101]:focus{border-color:var(--hud-accent);outline:none;box-shadow:0 0 0 3px #35e0a021}.dcw-send[data-v-3e78e101]{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-3e78e101]:hover:not(:disabled){background:var(--hud-accent);box-shadow:0 0 14px #35e0a059}.dcw-send[data-v-3e78e101]:disabled{opacity:.38;cursor:default}.dcw-err[data-v-3e78e101]{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-3e78e101]:hover,.daq-ctl-cycle input[data-v-3e78e101]:hover,.daq-num[data-v-3e78e101]:hover,.obj-input[data-v-3e78e101]:hover,.obj-select[data-v-3e78e101]:hover{border-color:var(--hud-line-hi)}.bind-select[data-v-3e78e101]:focus,.daq-ctl-cycle input[data-v-3e78e101]:focus,.daq-num[data-v-3e78e101]:focus,.obj-input[data-v-3e78e101]:focus,.obj-select[data-v-3e78e101]:focus{border-color:var(--hud-accent);outline:none;box-shadow:0 0 0 3px #35e0a021}input[type=number][data-v-3e78e101]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-3e78e101]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-3e78e101]{appearance:textfield}.obj-range[data-v-3e78e101],.scale-range[data-v-3e78e101]{appearance:none;cursor:pointer;background:#1a2740;border-radius:999px;outline:none;height:4px}.obj-range[data-v-3e78e101]::-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-3e78e101]::-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-3e78e101]::-webkit-slider-thumb:hover{transform:scale(1.18);box-shadow:0 0 0 5px #35e0a033,0 2px 8px #03070e8c}.scale-range[data-v-3e78e101]::-webkit-slider-thumb:hover{transform:scale(1.18);box-shadow:0 0 0 5px #35e0a033,0 2px 8px #03070e8c}.obj-range[data-v-3e78e101]::-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-3e78e101]::-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-3e78e101]::-moz-range-track{background:#1a2740;border-radius:999px;height:4px}.scale-range[data-v-3e78e101]::-moz-range-track{background:#1a2740;border-radius:999px;height:4px}.bind-row[data-v-3e78e101]{transition:border-color .18s var(--hud-ease), box-shadow .18s var(--hud-ease)}.bind-row[data-v-3e78e101]:hover{border-color:var(--hud-line-hi);box-shadow:0 6px 18px #03070e66}.bind-add[data-v-3e78e101]:hover{background:#35e0a00d;border-style:solid}.daq-bind-bar[data-v-3e78e101]{gap:6px;display:flex}.bind-select[data-v-3e78e101]{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-3e78e101]:hover{border-color:var(--hud-line-hi);color:var(--hud-text)}.bind-select[data-v-3e78e101]:focus{border-color:var(--hud-accent);color:var(--hud-text);outline:none;box-shadow:0 0 0 3px #35e0a021}.bind-add-btn[data-v-3e78e101]{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-3e78e101]:hover:not(:disabled){background:var(--hud-accent);box-shadow:0 0 14px #35e0a059}.bind-add-btn[data-v-3e78e101]:disabled{opacity:.4;cursor:default}.daq-info-row[data-v-3e78e101]{color:var(--hud-dim);justify-content:space-between;gap:8px;padding:3px 0;font-size:11px;display:flex}.daq-info-row b[data-v-3e78e101]{font-family:var(--font-mono);color:var(--hud-text);font-variant-numeric:tabular-nums;font-weight:600}.daq-info-row b.cy[data-v-3e78e101]{color:var(--hud-cyan);font-size:13px}.daq-ctrl[data-v-3e78e101]{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-3e78e101]{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-3e78e101]{color:var(--hud-accent);border-color:#35e0a073}.daq-ctl-cycle[data-v-3e78e101]{color:var(--hud-faint);align-items:center;gap:5px;font-size:10.5px;display:inline-flex}.daq-ctl-cycle input[data-v-3e78e101],.daq-num[data-v-3e78e101]{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-3e78e101]{color:var(--hud-faint);align-items:center;gap:4px;font-size:10px;display:inline-flex}.bind-add-btn.warn[data-v-3e78e101]:not(:disabled){color:var(--hud-amber);box-shadow:none;background:#f6c4531f}.bind-add-btn.warn[data-v-3e78e101]:hover:not(:disabled){background:#f6c45333;box-shadow:0 0 14px #f6c45340}.bind-add-btn.danger[data-v-3e78e101]:not(:disabled){color:var(--hud-danger);box-shadow:none;background:#ff6b6b1a}.bind-add-btn.danger[data-v-3e78e101]:hover:not(:disabled){background:#ff6b6b2e;box-shadow:0 0 14px #ff6b6b40}.statusbar[data-v-3e78e101]{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-3e78e101]{color:var(--hud-accent);font-weight:600}.statusbar .sb-stats[data-v-3e78e101]{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-3e78e101]{color:var(--hud-text);font-weight:600}.sb-stats i[data-v-3e78e101]{color:var(--hud-line-hi);font-style:normal}.sb-dot[data-v-3e78e101]{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-3e78e101]{background:var(--hud-danger);box-shadow:0 0 6px var(--hud-danger)}.sb-dot[data-v-3e78e101]:not(.red){animation:sb-pulse-3e78e101 2.4s var(--hud-ease) infinite}@keyframes sb-pulse-3e78e101{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.sb-dot[data-v-3e78e101]:not(.red){animation:none}}.sb-lat[data-v-3e78e101]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;position:absolute;left:50%;transform:translate(-50%)}.statusbar .copy[data-v-3e78e101]{color:var(--hud-faint);font-family:var(--font-mono);margin-left:auto;font-size:10px}.loading-mask[data-v-3e78e101]{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-3e78e101]{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-3e78e101}.loading-text[data-v-3e78e101]{font-family:var(--font-mono);letter-spacing:.24em;color:var(--hud-dim);font-size:11px}@keyframes spin-3e78e101{to{transform:rotate(1turn)}}@keyframes ty-bounce-3e78e101{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.drag-grip[data-v-3e78e101]{cursor:grab;touch-action:none}.drag-grip[data-v-3e78e101]:active{cursor:grabbing}.drag-panel[data-v-3e78e101]{will-change:left, top}.town-view[data-v-3e78e101] ::-webkit-scrollbar{width:8px;height:8px}.town-view[data-v-3e78e101] ::-webkit-scrollbar-track{background:0 0}.town-view[data-v-3e78e101] ::-webkit-scrollbar-thumb{background:#1c2942;border:2px solid #080d16;border-radius:4px}.town-view[data-v-3e78e101] ::-webkit-scrollbar-thumb:hover{background:#2c4568}.al-state[data-v-3e78e101]:active,.bind-add[data-v-3e78e101]:active,.bind-x[data-v-3e78e101]:active,.bp-btn[data-v-3e78e101]:active,.btn[data-v-3e78e101]:active,.lg-chip[data-v-3e78e101]:active,.mini-btn[data-v-3e78e101]:active,.obj-mini[data-v-3e78e101]:active,.snap-toggle[data-v-3e78e101]:active,.vp-tool[data-v-3e78e101]:active{transform:scale(.96)}.al-state[data-v-3e78e101],.bind-add[data-v-3e78e101],.bp-btn[data-v-3e78e101],.btn[data-v-3e78e101],.lg-chip[data-v-3e78e101],.mini-btn[data-v-3e78e101],.obj-mini[data-v-3e78e101],.snap-toggle[data-v-3e78e101],.vp-tool[data-v-3e78e101]{transition-property:filter,background,border-color,color,transform,opacity;transition-duration:.15s;transition-timing-function:var(--hud-ease)}.town-view button[data-v-3e78e101]:focus-visible,.town-view input[data-v-3e78e101]:focus-visible,.town-view select[data-v-3e78e101]:focus-visible{box-shadow:0 0 0 2px var(--hud-bg), 0 0 0 4px #41c8f473;border-radius:6px;outline:none}.vp-title h2[data-v-3e78e101]{color:var(--hud-text)}@keyframes estop-pulse-3e78e101{50%{filter:brightness(1.35)}}.btn-danger.armed[data-v-3e78e101]{animation:1s ease-in-out infinite estop-pulse-3e78e101}@media (prefers-reduced-motion:reduce){.callout[data-v-3e78e101],.inspector[data-v-3e78e101],.btn-danger.armed[data-v-3e78e101],.loading-spinner[data-v-3e78e101],.rpg-line.live .rpg-bubble[data-v-3e78e101],.ty-dot[data-v-3e78e101]{animation:none}}.dock-toggle[data-v-3e78e101],.sheet-btn[data-v-3e78e101],.sheet-hd[data-v-3e78e101]{display:none}.sheet-mask[data-v-3e78e101]{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-3e78e101]{--hud-faint:#8b9bb0}.topnav[data-v-3e78e101]{flex-wrap:wrap;align-items:center;gap:6px 8px;height:auto;min-height:46px;padding:6px 10px 8px}.brand[data-v-3e78e101]{flex:auto;order:0;gap:8px;min-width:0}.brand>div[data-v-3e78e101]{min-width:0;overflow:hidden}.brand-name[data-v-3e78e101]{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.nav-right[data-v-3e78e101]{flex:none;order:1;gap:6px;margin-left:0}.nav-tabs[data-v-3e78e101]{flex:100%;order:2;gap:8px;position:static;transform:none}.seg button[data-v-3e78e101]{padding:0 14px;font-size:13px}.nav-action[data-v-3e78e101]{height:40px;padding:0 12px;font-size:13px}.save-chip[data-v-3e78e101]{font-size:11.5px}.nav-chip[data-v-3e78e101]{padding:5px 8px;font-size:11.5px}.avatar-chip[data-v-3e78e101]{padding:3px 8px 3px 3px}.avatar-chip span[data-v-3e78e101]{font-size:13px}.avatar-fallback[data-v-3e78e101]{width:26px;height:26px;font-size:11.5px}.sheet-btn[data-v-3e78e101]{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-3e78e101]{color:#04120c;background:var(--hud-accent);border-color:var(--hud-accent);box-shadow:0 0 12px #35e0a04d}.sheet-ico[data-v-3e78e101]{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.app[data-v-3e78e101]{grid-template-columns:minmax(0,1fr)}.stage-col[data-v-3e78e101],.stage[data-v-3e78e101]{min-height:0}.stage-top[data-v-3e78e101]{flex-wrap:wrap;gap:8px;padding:10px 12px}.vp-title[data-v-3e78e101]{gap:8px;padding:6px 10px}.vp-title h2[data-v-3e78e101]{font-size:14px}.vp-id[data-v-3e78e101]{font-size:11.5px}.vp-tool[data-v-3e78e101]{width:40px;height:40px}.vp-svg[data-v-3e78e101]{width:17px;height:17px}.angle-chip[data-v-3e78e101]{min-height:40px;padding:4px 10px;font-size:13px;top:58px;left:12px}.angle-chip select[data-v-3e78e101]{font-size:13px}.kpi-strip[data-v-3e78e101]{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-3e78e101]::-webkit-scrollbar{display:none}.kpi[data-v-3e78e101]{flex:none;gap:8px;padding:6px 10px}.kpi-ico[data-v-3e78e101]{width:28px;height:28px}.kpi-label[data-v-3e78e101]{font-size:11.5px}.kpi-val[data-v-3e78e101]{font-size:13px}.kpi-val small[data-v-3e78e101]{font-size:11.5px}.rail[data-v-3e78e101]{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-3e78e101]{visibility:visible;transition:transform .26s var(--hud-ease), visibility 0s;transform:none}.topnav.sheet-on[data-v-3e78e101]{z-index:71}.rail-left[data-v-3e78e101],.rail-right[data-v-3e78e101]{border-left:0;border-right:0}.rail .panel[data-v-3e78e101]{flex:none}.sheet-hd[data-v-3e78e101]{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-3e78e101]{background:#2c4568;border-radius:2px;width:40px;height:3px;margin-left:-20px;position:absolute;top:6px;left:50%}.sheet-hd-t[data-v-3e78e101]{color:var(--hud-text);letter-spacing:.04em;font-size:13px;font-weight:700}.sheet-x[data-v-3e78e101]{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}.dock[data-v-3e78e101]{padding:0;display:block}.dock-toggle[data-v-3e78e101]{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-3e78e101]{flex:none}.dock-toggle-hint[data-v-3e78e101]{color:var(--hud-faint);letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.dock-caret[data-v-3e78e101]{color:var(--hud-dim);transition:transform .2s var(--hud-ease);flex:none;margin-left:auto}.dock.dock-open .dock-caret[data-v-3e78e101]{transform:rotate(180deg)}.dock .dock-card[data-v-3e78e101]{display:none}.dock.dock-open[data-v-3e78e101]{overscroll-behavior:contain;max-height:52dvh;padding:8px;overflow-y:auto}.dock.dock-open .dock-card[data-v-3e78e101]{min-height:0;margin-bottom:8px;display:flex}.dock.dock-open .dock-card[data-v-3e78e101]:last-child{margin-bottom:0}.dock-card[data-v-3e78e101]{padding:12px}.dock-hd h3[data-v-3e78e101]{font-size:13px}.dock-count[data-v-3e78e101],.dock-mode[data-v-3e78e101],.ctl-sec[data-v-3e78e101]{font-size:11.5px}.ctl-row[data-v-3e78e101]{flex-wrap:wrap;gap:6px 10px}.ctl-name[data-v-3e78e101]{width:auto;min-width:62px;font-size:13px}.ctl-val[data-v-3e78e101]{width:auto;min-width:38px;font-size:12.5px}.fps-seg[data-v-3e78e101]{flex-wrap:wrap}.fps-seg button[data-v-3e78e101]{padding:0 10px;font-size:13px}.snap-toggle[data-v-3e78e101],.lg-chip[data-v-3e78e101],.trend-empty[data-v-3e78e101]{font-size:11.5px}.statusbar[data-v-3e78e101]{flex-wrap:wrap;gap:6px 12px;height:auto;min-height:30px;padding:5px 10px;font-size:11.5px}.statusbar .copy[data-v-3e78e101]{display:none}.sb-lat[data-v-3e78e101]{margin-left:auto;position:static;transform:none}.town-view button[data-v-3e78e101]{min-height:40px}.town-view[data-v-3e78e101] :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),.town-view .dock .ctl-sec[data-v-3e78e101],.town-view .dock .ctl-val[data-v-3e78e101],.town-view .dock .dock-count[data-v-3e78e101],.town-view .dock .dock-mode[data-v-3e78e101],.town-view .dock .dock-toggle-hint[data-v-3e78e101],.town-view .statusbar .copy[data-v-3e78e101]{font-size:11.5px}.town-view .dock .ctl-val[data-v-3e78e101]{font-size:12.5px}.town-view .dock-hd h3[data-v-3e78e101]{font-size:13px}.town-view .bind-val b[data-v-3e78e101]{font-size:12px}.town-view .avatar-chip span[data-v-3e78e101]{font-size:13px}.town-view .save-chip[data-v-3e78e101],.town-view .nav-chip[data-v-3e78e101],.town-view .vp-id[data-v-3e78e101]{font-size:11.5px}.town-view .loading-text[data-v-3e78e101]{font-size:12px}.town-view[data-v-3e78e101] :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}.town-view .statusbar[data-v-3e78e101]{font-size:12px}.town-view .vd-name[data-v-3e78e101]{font-size:13px}}@media (width<=639px){.brand[data-v-3e78e101]{flex:none}.brand>div[data-v-3e78e101]{display:none}.brand-glyph[data-v-3e78e101]{width:28px;height:28px}.nav-fps[data-v-3e78e101],.nav-user span[data-v-3e78e101]{display:none}.avatar-chip[data-v-3e78e101]{padding:3px}.sheet-btn-t[data-v-3e78e101]{display:none}.sheet-btn[data-v-3e78e101]{padding:0 10px}.stage-top[data-v-3e78e101]{padding:8px 10px}.vp-tools[data-v-3e78e101]{gap:6px}.vp-tool[data-v-3e78e101]{width:40px;height:40px}.angle-chip[data-v-3e78e101]{top:54px;left:10px}.kpi-strip[data-v-3e78e101]{padding:0 10px}.dock.dock-open[data-v-3e78e101]{max-height:58dvh}}@media (prefers-reduced-motion:reduce){.rail[data-v-3e78e101],.dock-caret[data-v-3e78e101]{transition:none}}.approval-card[data-v-3e78e101]{border-radius:var(--hud-r-md);background:#f6c4530f;border:1px solid #f6c4534d;margin-bottom:7px;padding:8px 9px}.approval-detail[data-v-3e78e101]{color:var(--hud-text);font-size:11px}.approval-ttl[data-v-3e78e101]{font-family:var(--font-mono);letter-spacing:.05em;color:var(--hud-amber);margin-top:5px;font-size:9.5px}.approval-ttl.urgent[data-v-3e78e101]{color:var(--hud-danger)}
@@ -1 +0,0 @@
1
- .line-chip[data-v-96633662]{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:8px;display:inline-block;box-shadow:0 0 10px}.param-chip.daqwin[data-v-96633662]{color:#41c8f4;border-color:#41c8f466}.adopt-card[data-v-96633662]{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.adopt-title[data-v-96633662]{color:var(--aw-dim,#8fa0b5);flex:none;padding-top:4px;font-size:12px}.adopt-list[data-v-96633662]{flex-wrap:wrap;gap:8px;display:flex}.adopt-chip[data-v-96633662]{color:#e8eef8;background:#0d1420b3;border:1px solid #3c506e80;border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 8px;font-size:11.5px;display:inline-flex}.page[data-v-96633662]{padding:4px}h1[data-v-96633662]{letter-spacing:-.015em;margin:2px 0 4px;font-size:30px;font-weight:400}.ledger-card[data-v-96633662]{margin-bottom:14px;padding:14px 18px}.ledger-head[data-v-96633662]{align-items:center;gap:12px;display:flex}.ledger-head b[data-v-96633662]{font-size:13.5px}.ledger-tri[data-v-96633662]{align-items:center;gap:12px;margin-top:12px;display:flex}.tri-cell[data-v-96633662]{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-96633662]{color:var(--ink-faint);font-size:11.5px}.tri-cell b[data-v-96633662]{color:var(--ink);font-size:17px}.ledger-cols[data-v-96633662]{grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;display:grid}.sec-t[data-v-96633662]{letter-spacing:.12em;color:var(--ink-faint);margin-bottom:6px;font-size:11.5px;font-weight:700;display:block}.ledger-list[data-v-96633662]{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-96633662]{align-items:center;gap:8px;display:flex}.rec-st[data-v-96633662]{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-96633662]{color:var(--tone-warning-dot);border-color:var(--tone-warning-dot)}.tri-cell b[data-v-96633662]{overflow-wrap:anywhere}.rec-st.judged[data-v-96633662]{color:var(--tone-warning-dot);border-color:var(--tone-warning-dot);opacity:.85}.rec-st.judged-keep[data-v-96633662],.rec-st.rolled-back[data-v-96633662]{color:var(--tone-success-dot);border-color:var(--tone-success-dot)}.sub[data-v-96633662]{opacity:.6;margin:0;font-size:12.5px}.mono[data-v-96633662]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-96633662]{opacity:.55}.badges[data-v-96633662]{gap:8px;display:flex}.badge[data-v-96633662]{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}.ctrl-card[data-v-96633662]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:14px 18px;display:flex}.ctrl-left[data-v-96633662]{align-items:center;gap:14px;display:flex}.aw-pill.running[data-v-96633662]{background:var(--accent)}.ctrl-right[data-v-96633662]{align-items:center;gap:12px;display:flex}.ctrl-metrics[data-v-96633662]{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:11.5px;display:flex}.ctrl-metrics .sep[data-v-96633662]{opacity:.4}.ctrl-metrics .warn[data-v-96633662]{color:var(--tone-warning-dot)}.add-btn[data-v-96633662]{padding:8px 16px;font-size:13px}.banner[data-v-96633662]{border-radius:var(--radius-chip);margin:0 0 12px;padding:9px 14px;font-size:12.5px}.banner.bad[data-v-96633662]{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-96633662]{color:var(--tone-success-dot);background:var(--tone-success-bg);border:1px solid color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.table-card[data-v-96633662]{margin-bottom:14px;overflow-x:auto}.nodes-table[data-v-96633662]{border-collapse:collapse;width:100%;font-size:12.5px}.nodes-table td[data-v-96633662],.nodes-table th[data-v-96633662]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:9px 12px}.nodes-table th[data-v-96633662]{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-96633662]{margin-left:8px}.ch[data-v-96633662]{color:var(--ink-faint);margin-top:2px;font-size:11.5px;display:block}.right[data-v-96633662]{text-align:right}.val[data-v-96633662]{font-size:13px}.val small[data-v-96633662]{color:var(--ink-faint);margin-left:3px}.read-stale[data-v-96633662]{color:var(--tone-danger-dot,#e05a5a);text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.read-btn[data-v-96633662]{margin-left:8px}.st-pill[data-v-96633662]{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-96633662]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.writing[data-v-96633662]{color:var(--ink);background:var(--hover-tint)}.st-pill.alarm[data-v-96633662],.st-pill.error[data-v-96633662]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.warn[data-v-96633662]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.st-pill.idle[data-v-96633662],.st-pill.offline[data-v-96633662]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.paused[data-v-96633662]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.ctrl-toggle[data-v-96633662]{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-96633662]{background:var(--tone-neutral-dot);border-radius:50%;width:7px;height:7px}.ctrl-toggle.on[data-v-96633662]{color:var(--tone-success-dot);border-color:color-mix(in srgb, var(--tone-success-dot) 45%, transparent)}.ctrl-toggle.on .ct-dot[data-v-96633662]{background:var(--tone-success-dot);box-shadow:0 0 6px var(--tone-success-dot)}.ctrl-toggle[data-v-96633662]:disabled{opacity:.55;cursor:wait}.node-paused td[data-v-96633662]{opacity:.6}.node-paused .write-row[data-v-96633662]{opacity:.5}.tpl-hint[data-v-96633662]{margin:0 0 10px;font-size:12px}.recipe-hd[data-v-96633662],.recipe-actions[data-v-96633662]{flex-wrap:wrap}.tpl-chips[data-v-96633662]{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.tpl-chip[data-v-96633662]{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-96633662]{color:var(--ink-faint)}.tpl-tag[data-v-96633662]{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-96633662]{color:var(--ink-faint);border-color:var(--line-strong)}.write-row[data-v-96633662]{align-items:center;gap:6px;display:flex}.write-inp[data-v-96633662]{width:92px;padding:4px 8px}.write-btn[data-v-96633662]{padding:5px 12px}.mini-btn[data-v-96633662]{margin-right:4px}.mini-btn.danger[data-v-96633662]{color:var(--tone-danger-dot)}.mini-btn[data-v-96633662]:hover{border-color:var(--accent);color:var(--accent)}.inp[data-v-96633662]{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-card[data-v-96633662]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding:14px 18px;display:flex}.line-status[data-v-96633662]{align-items:center;gap:12px;min-width:260px;display:flex}.line-dot[data-v-96633662]{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-96633662]{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-96633662}@keyframes linePulse-96633662{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-96633662]{font-size:14px}.line-info small[data-v-96633662]{margin-top:2px;font-size:11px;display:block}.line-ctl[data-v-96633662]{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.ctl-sel[data-v-96633662]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11px;display:flex}.ctl-sel .inp[data-v-96633662]{min-width:150px}.param-chip[data-v-96633662]{overflow-wrap:anywhere}.pill-btn.stop[data-v-96633662]{background:var(--tone-danger-dot);border-color:var(--tone-danger-dot)}.product-row[data-v-96633662]{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.prod-chip[data-v-96633662]{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-96633662]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.prod-del[data-v-96633662]{color:var(--tone-danger-dot);font-weight:700}.query-card[data-v-96633662]{margin-bottom:14px;padding:14px 18px}.q-grid[data-v-96633662]{grid-template-columns:repeat(6,1fr);align-items:end;gap:10px;display:grid}.recipe-grid[data-v-96633662]{grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr))}.q-grid .f[data-v-96633662]{color:var(--ink-faint);font-size:11px}.q-actions[data-v-96633662]{justify-content:flex-end}.q-result[data-v-96633662]{margin-top:12px;overflow-x:auto}.cal-form[data-v-96633662]{grid-template-columns:2fr 1fr;align-items:end}.recipe-card[data-v-96633662]{margin-bottom:14px;padding:16px 18px}.recipe-hd[data-v-96633662]{align-items:center;gap:10px;margin-bottom:6px;display:flex}.recipe-hd h3[data-v-96633662]{margin:0;font-size:16px}.panel-tag[data-v-96633662]{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-96633662]{color:var(--ink-faint);margin:0 0 14px;font-size:12px}.recipe-grid[data-v-96633662]{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.recipe-item[data-v-96633662]{background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--radius-chip);padding:12px 14px}.recipe-name b[data-v-96633662]{font-size:13.5px}.recipe-name small[data-v-96633662]{margin-left:8px}.desc[data-v-96633662]{margin:4px 0;font-size:12px}.recipe-params[data-v-96633662]{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}.param-chip[data-v-96633662]{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-96633662]{align-items:center;gap:6px;margin-top:8px;display:flex}.ver-row[data-v-96633662]{border:1px solid var(--divider-hair);border-radius:10px;margin-bottom:8px;padding:10px 12px}.ver-row.cur[data-v-96633662]{background:color-mix(in srgb, var(--accent) 6%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.ver-head[data-v-96633662]{align-items:center;gap:10px;display:flex}.ver-v[data-v-96633662]{font-size:13px;font-weight:700}.ver-src[data-v-96633662]{border:1px solid var(--line-strong);border-radius:var(--radius-pill);padding:1px 8px;font-size:11.5px}.ver-src.agent[data-v-96633662]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.ver-src.user[data-v-96633662]{color:var(--ink-soft)}.ver-src.system[data-v-96633662]{color:var(--ink-faint)}.ver-src.cur[data-v-96633662]{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:#0000}.ver-actor[data-v-96633662]{font-family:var(--font-mono);color:var(--ink-soft);font-size:12px}.ver-desc[data-v-96633662]{color:var(--ink);margin:6px 0 0;font-size:12px}.ver-diff[data-v-96633662]{color:var(--ink-faint);margin:4px 0 0;font-size:11px}.sec-label[data-v-96633662]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:14px 0 6px;font-size:11px;font-weight:600}.runs[data-v-96633662]{margin-top:6px}.modal-mask[data-v-96633662]{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-96633662]{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-96633662]{margin:0 0 14px;font-size:17px}.seg-row[data-v-96633662]{gap:8px;margin-bottom:14px;display:flex}.seg[data-v-96633662]{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-96633662]{color:var(--on-accent);background:var(--accent);border-color:var(--accent);font-weight:600}.f-grid[data-v-96633662]{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.driver-form[data-v-96633662]{grid-template-columns:repeat(3,1fr)}.param-row[data-v-96633662]{grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:end;gap:8px;margin-bottom:8px;display:grid}.param-row .f[data-v-96633662]{flex:1}.param-del[data-v-96633662]{margin-bottom:2px}.f[data-v-96633662]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11.5px;display:flex}.f em[data-v-96633662]{margin-left:3px;font-style:normal}.hint[data-v-96633662]{color:var(--ink-faint);font-size:11.5px}.test-row[data-v-96633662]{align-items:center;gap:10px;margin:6px 0 4px;display:flex}.test-result[data-v-96633662]{font-family:var(--font-mono);font-size:11px}.test-result.good[data-v-96633662]{color:var(--tone-success-dot)}.test-result.bad[data-v-96633662]{color:var(--tone-danger-dot)}.m-err[data-v-96633662]{color:var(--tone-danger-dot);margin:8px 0 0;font-size:12px}.m-note[data-v-96633662]{color:var(--ink-faint);margin:8px 0 0;font-size:12px}.param-chip.stale[data-v-96633662]{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-stale-tag[data-v-96633662]{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}.row-stale[data-v-96633662]{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-96633662]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.aw-pill.outline[data-v-96633662]{color:var(--ink);background:var(--paper-raised);border-color:var(--line-strong)}.err[data-v-96633662]{color:var(--tone-danger-dot);margin-top:14px;font-size:13px}@media (prefers-reduced-motion:no-preference){.nodes-table tbody tr[data-v-96633662]:hover{background:var(--hover-tint)}}@media (width<=900px){.ctrl-card[data-v-96633662]{gap:12px;padding:12px}.ctrl-right[data-v-96633662]{flex-wrap:wrap;gap:8px 10px;width:100%}.ctrl-metrics[data-v-96633662]{width:100%}.line-card[data-v-96633662]{gap:12px;padding:12px}.line-status[data-v-96633662]{min-width:0}.line-ctl[data-v-96633662]{width:100%}.ctl-sel[data-v-96633662]{flex:140px;min-width:0}.ctl-sel .inp[data-v-96633662]{width:100%;min-width:0}.line-ctl .pill-btn[data-v-96633662]{flex:120px}.table-card[data-v-96633662]{-webkit-overflow-scrolling:touch;overflow-x:auto}.nodes-table[data-v-96633662]{min-width:1080px}.nodes-table td[data-v-96633662],.nodes-table th[data-v-96633662]{white-space:nowrap}.nodes-table tbody>tr>td[data-v-96633662]:first-child,.nodes-table thead>tr>th[data-v-96633662]:first-child{z-index:2;background:var(--paper-raised);box-shadow:1px 0 0 var(--line);position:sticky;left:0}.adopt-card[data-v-96633662],.ledger-card[data-v-96633662],.query-card[data-v-96633662],.recipe-card[data-v-96633662]{padding:12px}.ledger-cols[data-v-96633662]{grid-template-columns:1fr}.ledger-tri[data-v-96633662]{flex-wrap:wrap}.aw-pill[data-v-96633662],.ctrl-toggle[data-v-96633662],.inp[data-v-96633662],.mini-btn[data-v-96633662],.pill-btn[data-v-96633662],.prod-chip[data-v-96633662],.tpl-chip[data-v-96633662],.write-inp[data-v-96633662]{min-height:40px}.write-inp[data-v-96633662]{width:100%;min-width:90px}.write-row[data-v-96633662]{flex-wrap:wrap}.cal-form[data-v-96633662],.driver-form[data-v-96633662],.f-grid[data-v-96633662]{grid-template-columns:1fr}.q-grid[data-v-96633662]{grid-template-columns:repeat(2,minmax(0,1fr))}.param-row[data-v-96633662]{grid-template-columns:1fr 1fr}.modal[data-v-96633662]{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:16px 14px}.seg[data-v-96633662]{min-height:40px;padding:10px 0}.m-actions[data-v-96633662]{flex-wrap:wrap}.m-actions[data-v-96633662]>*{flex:auto}.recipe-hd .mini-btn[data-v-96633662],.recipe-hd .pill-btn[data-v-96633662]{min-height:40px}}@media (width<=640px){h1[data-v-96633662]{font-size:22px}.q-grid[data-v-96633662]{grid-template-columns:1fr}}
@@ -1 +0,0 @@
1
- .page[data-v-680686c6]{padding:4px}.back[data-v-680686c6]{color:var(--ink-faint);text-decoration:none}.back[data-v-680686c6]:hover{color:var(--accent)}.aw-page-head h1[data-v-680686c6]{letter-spacing:-.01em;margin:2px 0 4px;font-size:26px;font-weight:400}.mono[data-v-680686c6]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sec[data-v-680686c6]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 10px;font-size:12px;font-weight:600}.mt[data-v-680686c6]{margin-top:22px}.err[data-v-680686c6]{color:var(--tone-danger-dot);margin-top:14px;font-size:13px}.grid[data-v-680686c6]{grid-template-columns:minmax(260px,340px) minmax(320px,1fr) minmax(280px,380px);align-items:start;gap:14px;display:grid}@media (width<=1100px){.grid[data-v-680686c6]{grid-template-columns:1fr}}.pad[data-v-680686c6],.value-card[data-v-680686c6]{padding:16px 18px}.big-val[data-v-680686c6]{color:var(--accent);margin:8px 0 10px;font-size:40px;line-height:1.1}.big-val small[data-v-680686c6]{color:var(--ink-faint);margin-left:8px;font-size:15px}.live-canvas[data-v-680686c6]{border:1px solid var(--line);border-radius:var(--radius-chip);background:var(--paper-deep);width:100%;height:64px}.facts[data-v-680686c6]{flex-direction:column;gap:4px;margin:14px 0 0;display:flex}.facts div[data-v-680686c6]{justify-content:space-between;font-size:11.5px;display:flex}.facts dt[data-v-680686c6]{color:var(--ink-faint)}.facts dd[data-v-680686c6]{color:var(--ink);margin:0}.form-grid[data-v-680686c6]{flex-direction:column;gap:10px;display:flex}.field[data-v-680686c6]{color:var(--ink-faint);flex-direction:column;flex:1;gap:4px;font-size:12px;display:flex}.field.row[data-v-680686c6]{flex-direction:row;align-items:center;gap:8px}.field.row small[data-v-680686c6]{color:var(--ink-faint)}.field-row[data-v-680686c6]{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.input[data-v-680686c6]{width:100%;color:var(--ink);background:var(--paper-raised);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:6px 9px;font-size:12.5px}.input[data-v-680686c6]:disabled{opacity:.45}.grow[data-v-680686c6]{flex:auto}.toggle[data-v-680686c6]{cursor:pointer;color:var(--tone-neutral-dot);background:var(--tone-neutral-bg);border-radius:var(--radius-chip);border:0;align-self:flex-start;padding:6px 12px;font-size:12px}.toggle.on[data-v-680686c6]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.toggle.slim[data-v-680686c6]{padding:6px 10px;font-size:11.5px}.bind-row[data-v-680686c6]{gap:8px;display:flex}.driver-grid[data-v-680686c6]{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.field em[data-v-680686c6]{color:var(--tone-danger-dot);margin-left:2px;font-style:normal}.test-row[data-v-680686c6]{align-items:center;gap:10px;margin-top:8px;display:flex}.test-out[data-v-680686c6]{font-size:11px}.test-out.ok[data-v-680686c6]{color:var(--tone-success-dot)}.test-out.bad[data-v-680686c6]{color:var(--tone-danger-dot)}.col-hist[data-v-680686c6]{min-width:0}.hist-hd[data-v-680686c6]{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.hist-ctl[data-v-680686c6]{align-items:center;gap:6px;display:flex}.refresh-ctl[data-v-680686c6]{color:var(--ink-soft);align-items:center;gap:3px;font-size:11px;display:inline-flex}.refresh-ctl input[data-v-680686c6]{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-680686c6]:focus{border-color:var(--accent);outline:none}.hist-canvas[data-v-680686c6]{border:1px solid var(--line);border-radius:var(--radius-chip);background:var(--paper-deep);width:100%;height:130px}.raw-table[data-v-680686c6]{border-collapse:collapse;width:100%;margin-top:10px;font-size:11px}.raw-table td[data-v-680686c6],.raw-table th[data-v-680686c6]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:4px 6px}.raw-table th[data-v-680686c6]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}.st-pill[data-v-680686c6]{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius-pill);padding:3px 11px;font-size:11px;display:inline-block}.st-pill.ok[data-v-680686c6]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.warn[data-v-680686c6]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.st-pill.alarm[data-v-680686c6]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.offline[data-v-680686c6]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.frames-tile[data-v-680686c6]{margin-top:14px}.frames-n[data-v-680686c6]{color:var(--ink-faint);margin-left:8px}.vec-svg[data-v-680686c6]{background:var(--tone-neutral-bg);border-radius:6px;width:100%;height:96px;margin-bottom:10px;display:block}.gal[data-v-680686c6]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.gal-item[data-v-680686c6]{cursor:zoom-in;margin:0}.gal-item img[data-v-680686c6]{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-680686c6]{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;overflow:hidden}.frames-empty[data-v-680686c6]{color:var(--ink-faint);margin:8px 0;font-size:13px}.gal-full[data-v-680686c6]{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-680686c6]{border-radius:8px;max-width:92vw;max-height:92vh}
@@ -1 +0,0 @@
1
- .harness-caps[data-v-45750947]{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.harness-cap[data-v-45750947]{border:1px solid var(--border,#2a3a4a);opacity:.75;border-radius:3px;padding:0 6px;font-size:11px;line-height:18px}.h-opt[data-v-45750947]{align-items:center;gap:7px;display:inline-flex}.h-opt-dot[data-v-45750947]{background:var(--tone-success-dot,#4a6b57);border-radius:50%;flex:none;width:6px;height:6px}.h-opt.off .h-opt-dot[data-v-45750947]{background:var(--tone-danger-dot,#c25a4e)}.h-opt.off[data-v-45750947]{opacity:.6}.h-install[data-v-45750947]{color:var(--accent);margin-left:8px;text-decoration:none}.h-install[data-v-45750947]:hover{text-decoration:underline}.harness-status[data-v-45750947]{color:var(--ink-faint);align-items:center;gap:6px;margin-top:6px;font-size:11px;display:flex}.harness-status.off[data-v-45750947]{color:var(--danger,#c25a4e)}.h-cell[data-v-45750947]{font-family:var(--font-mono);align-items:center;gap:6px;font-size:12px;display:inline-flex}.h-dot[data-v-45750947]{background:var(--ok,#4a6b57);border-radius:50%;width:6px;height:6px}.h-cell.off .h-dot[data-v-45750947]{background:var(--danger,#c25a4e)}.h-cell.off[data-v-45750947]{opacity:.75}.h-miss[data-v-45750947]{color:var(--danger,#c25a4e);font-family:var(--font-sans);font-size:11px}.page[data-v-45750947]{padding:4px}.head[data-v-45750947]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}h2[data-v-45750947]{margin:0 0 4px}.sub[data-v-45750947]{opacity:.55;margin:0;font-size:12px}.toolbar[data-v-45750947]{align-items:center;gap:12px;margin-bottom:12px;display:flex}.admin-note[data-v-45750947]{color:var(--ink-faint);align-items:center;gap:5px;font-size:11px;display:inline-flex}.tpl-name[data-v-45750947]{align-items:center;gap:6px;display:inline-flex}.vis-tag[data-v-45750947]{margin-right:8px}.owner[data-v-45750947]{color:var(--ink-soft);font-size:12px}.inst[data-v-45750947]{align-items:center;gap:8px;padding:2px 0;font-size:12px;display:flex}.inst-ch[data-v-45750947],.inst-id[data-v-45750947]{font-family:var(--font-mono);opacity:.6}.empty[data-v-45750947]{opacity:.4;padding:6px 0;font-size:12px}@media (width<=900px){.head[data-v-45750947]{flex-direction:column;align-items:stretch;gap:12px}.head>div[data-v-45750947]{min-width:0}.head h2[data-v-45750947]{font-size:21px;line-height:1.25}.head[data-v-45750947] .ant-space{flex-direction:column;align-items:stretch;gap:8px;width:100%;display:flex}.head[data-v-45750947] .ant-space-item{width:100%}.head[data-v-45750947] .ant-btn{width:100%;min-height:40px}.toolbar[data-v-45750947]{flex-wrap:wrap;gap:8px}.toolbar[data-v-45750947] .ant-segmented{flex:100%;min-width:0}.admin-note[data-v-45750947]{flex:100%;min-width:0;font-size:11.5px;line-height:1.5}.page[data-v-45750947] .ant-table-content table{min-width:828px}.page[data-v-45750947] .ant-table colgroup col:first-child{width:44px}.page[data-v-45750947] .ant-table-tbody>tr>td:first-child,.page[data-v-45750947] .ant-table-thead>tr>th:first-child{width:44px;min-width:44px;padding-left:6px;padding-right:2px}.page[data-v-45750947] .ant-table-tbody>tr>td:nth-child(2),.page[data-v-45750947] .ant-table-thead>tr>th:nth-child(2){z-index:2;background:var(--paper-raised);min-width:132px;box-shadow:1px 0 0 var(--line);position:sticky;left:44px}.page[data-v-45750947] .ant-table-thead>tr>th:nth-child(2){z-index:3}}@media (width<=640px){.page[data-v-45750947]{padding:0}.head h2[data-v-45750947]{font-size:19px}.sub[data-v-45750947]{font-size:11.5px;line-height:1.5}.tpl-name[data-v-45750947]{min-width:120px}.page[data-v-45750947] .ant-table .ant-btn-sm{min-height:34px}}@media (width<=900px){.page[data-v-45750947] .ant-switch{position:relative}.page[data-v-45750947] .ant-switch:after{content:"";position:absolute;inset:-12px -6px}}
@@ -1 +0,0 @@
1
- .page[data-v-1b416c3a]{padding:4px}h1[data-v-1b416c3a]{letter-spacing:-.015em;margin:2px 0 4px;font-size:30px;font-weight:400}.sub[data-v-1b416c3a]{opacity:.6;margin:0;font-size:12.5px}.mono[data-v-1b416c3a]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-1b416c3a]{opacity:.55}.err[data-v-1b416c3a]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.pad[data-v-1b416c3a]{padding:10px 12px}.badges[data-v-1b416c3a]{gap:8px;display:flex}.badge[data-v-1b416c3a]{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}.badge.bad[data-v-1b416c3a]{color:var(--tone-danger-dot);border-color:color-mix(in srgb, var(--tone-danger-dot) 45%, transparent)}.infra-banner[data-v-1b416c3a]{color:var(--tone-warning-dot);background:var(--tone-warning-bg);border:1px solid color-mix(in srgb, var(--tone-warning-dot) 40%, transparent);border-radius:var(--radius-panel-sm,10px);align-items:flex-start;gap:10px;margin-bottom:14px;padding:10px 14px;display:flex}.infra-banner>span[data-v-1b416c3a]:first-child{flex:none;margin-top:2px}.infra-banner .txt[data-v-1b416c3a]{flex:auto;font-size:12.5px;line-height:1.5}.ov-card[data-v-1b416c3a]{margin-bottom:14px;padding:10px 18px}.ov-row[data-v-1b416c3a]{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:12px;display:flex}.ov-item[data-v-1b416c3a]{align-items:center;gap:5px;display:inline-flex}.ov-item b[data-v-1b416c3a]{color:var(--ink);font-weight:700}.ov-item.ok[data-v-1b416c3a]{color:var(--tone-success-dot)}.ov-item.bad[data-v-1b416c3a]{color:var(--tone-danger-dot)}.ov-item.accent b[data-v-1b416c3a]{color:var(--accent)}.ov-row .sep[data-v-1b416c3a]{opacity:.4}.ov-row .reload[data-v-1b416c3a]{margin-left:auto}.zone[data-v-1b416c3a]{margin-bottom:14px;padding:12px 18px 14px}.zone-head[data-v-1b416c3a]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;margin-bottom:10px;display:flex}.zone-head h2[data-v-1b416c3a]{letter-spacing:.01em;flex-wrap:wrap;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:600;display:inline-flex}.zone-head h2 .cnt[data-v-1b416c3a]{color:var(--ink-faint);font-size:11.5px;font-weight:400}.zone-actions[data-v-1b416c3a]{align-items:center;gap:8px;display:flex}.env-grid[data-v-1b416c3a]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.env-card[data-v-1b416c3a]{background:var(--surface-sunken,color-mix(in srgb, var(--ink) 3%, transparent));border:1px solid var(--divider-hair);border-radius:var(--radius-chip);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.env-card.ok[data-v-1b416c3a]{border-color:color-mix(in srgb, var(--tone-success-dot) 35%, transparent)}.env-card.bad[data-v-1b416c3a]{border-color:color-mix(in srgb, var(--tone-warning-dot) 40%, transparent)}.env-card .ec-head[data-v-1b416c3a]{align-items:center;gap:6px;font-size:12.5px;display:flex}.env-card .ec-head .ec-state[data-v-1b416c3a]{color:var(--ink-faint);margin-left:auto;font-size:11.5px}.env-card.ok .ec-head>span[data-v-1b416c3a]:first-child{color:var(--tone-success-dot)}.env-card.bad .ec-head>span[data-v-1b416c3a]:first-child{color:var(--tone-warning-dot)}.env-card .ec-detail[data-v-1b416c3a]{color:var(--ink-soft);overflow-wrap:anywhere;margin:0;font-size:11.5px;line-height:1.55}.env-card .ec-detail.dim[data-v-1b416c3a]{color:var(--ink-faint)}.env-card .ec-actions[data-v-1b416c3a]{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px;display:flex}.env-card .ec-issues[data-v-1b416c3a]{max-height:96px;margin:0;padding:0;font-size:11.5px;list-style:none;overflow-y:auto}.env-card .ec-issues li[data-v-1b416c3a]{color:var(--ink-soft);align-items:center;gap:6px;padding:1px 0;display:flex}.env-card .ec-issues .tag[data-v-1b416c3a]{color:var(--tone-warning-dot);background:var(--tone-warning-bg);border-radius:3px;flex:none;padding:0 5px;font-size:11.5px}.env-task[data-v-1b416c3a]{border-top:1px solid var(--divider-hair);margin-top:10px;padding-top:10px}.env-task .et-head[data-v-1b416c3a]{align-items:center;gap:8px;font-size:12px;display:flex}.env-task .et-head .dim[data-v-1b416c3a]{color:var(--ink-faint);font-weight:400}.env-task .et-log[data-v-1b416c3a]{white-space:pre-wrap;background:var(--surface-sunken,color-mix(in srgb, var(--ink) 4%, transparent));border-radius:var(--radius-chip);max-height:220px;margin:6px 0 0;padding:8px 10px;font-size:11.5px;line-height:1.5;overflow:auto}.mini-btn.primary[data-v-1b416c3a]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}@keyframes amlSpin-1b416c3a{to{transform:rotate(1turn)}}.spin[data-v-1b416c3a]{animation:1s linear infinite amlSpin-1b416c3a;display:inline-block}@media (prefers-reduced-motion:reduce){.spin[data-v-1b416c3a]{animation:none}}.note-edit[data-v-1b416c3a]{align-items:center;gap:6px;display:flex}.note-edit input[data-v-1b416c3a]{min-width:120px;color:var(--ink);border:1px solid var(--line-strong);background:0 0;border-radius:4px;padding:3px 6px;font-size:12px}.note-text[data-v-1b416c3a]{align-items:center;gap:6px;display:inline-flex}.note-text .edit-i[data-v-1b416c3a]{cursor:pointer;opacity:.5}.note-text .edit-i[data-v-1b416c3a]:hover{opacity:1}.live-dot[data-v-1b416c3a]{background:var(--tone-success-dot);width:7px;height:7px;box-shadow:0 0 6px color-mix(in srgb, var(--tone-success-dot) 60%, transparent);border-radius:50%}@media (prefers-reduced-motion:no-preference){.live-dot[data-v-1b416c3a]{animation:1.8s ease-in-out infinite amlPulse-1b416c3a}}@keyframes amlPulse-1b416c3a{50%{opacity:.4}}.tbl[data-v-1b416c3a]{border-collapse:collapse;width:100%;font-size:12.5px}.tbl td[data-v-1b416c3a],.tbl th[data-v-1b416c3a]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:8px 10px}.tbl th[data-v-1b416c3a]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1px solid var(--line-strong);font-size:11.5px;font-weight:600}.tbl .num[data-v-1b416c3a],.tbl .right[data-v-1b416c3a]{text-align:right}.tbl .acts[data-v-1b416c3a]{white-space:nowrap}.tbl .acts .mini-btn+.mini-btn[data-v-1b416c3a]{margin-left:6px}.row-main[data-v-1b416c3a]{cursor:pointer}@media (prefers-reduced-motion:no-preference){.row-main[data-v-1b416c3a]:hover{background:var(--hover-tint)}}.row-main.open td[data-v-1b416c3a]{border-bottom-color:#0000}.note-cell[data-v-1b416c3a]{max-width:260px}.note[data-v-1b416c3a]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.kind[data-v-1b416c3a]{border:1px solid var(--line);color:var(--ink-faint);border-radius:99px;margin-left:6px;padding:1px 6px;font-size:11.5px}.kind.agent[data-v-1b416c3a]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 40%, transparent)}.detail-row td[data-v-1b416c3a]{background:var(--frost-bg);padding:0 12px 12px}.det-grid[data-v-1b416c3a]{grid-template-columns:minmax(340px,3fr) minmax(280px,2fr);gap:10px 22px;display:grid}@media (width<=1100px){.det-grid[data-v-1b416c3a]{grid-template-columns:1fr}}.det-title[data-v-1b416c3a]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:10px 0 6px;font-size:11.5px;font-weight:600}.det-title[data-v-1b416c3a]:first-child{margin-top:10px}.sub-tbl[data-v-1b416c3a]{border-collapse:collapse;width:100%;font-size:12px}.sub-tbl td[data-v-1b416c3a],.sub-tbl th[data-v-1b416c3a]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:5px 8px}.sub-tbl th[data-v-1b416c3a]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-size:11.5px}.sub-tbl .num[data-v-1b416c3a]{text-align:right}.role-chip[data-v-1b416c3a]{font-family:var(--font-mono);background:var(--paper-deep);color:var(--ink-soft);border-radius:5px;padding:1px 6px;font-size:11.5px}.run-line[data-v-1b416c3a]{overflow-wrap:anywhere;margin:4px 0;font-size:11.5px}.run-line b[data-v-1b416c3a]{color:var(--ink)}.drop-line[data-v-1b416c3a]{color:var(--tone-danger-dot);overflow-wrap:anywhere;margin:2px 0;font-size:11.5px}.st-pill[data-v-1b416c3a]{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.provisioning[data-v-1b416c3a],.st-pill.queued[data-v-1b416c3a]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.evaluating[data-v-1b416c3a],.st-pill.running[data-v-1b416c3a],.st-pill.training[data-v-1b416c3a]{color:var(--tone-info-dot);background:color-mix(in srgb, var(--tone-info-dot) 12%, transparent)}.st-pill.done[data-v-1b416c3a],.st-pill.gates_passed[data-v-1b416c3a]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.failed[data-v-1b416c3a],.st-pill.gates_failed[data-v-1b416c3a],.st-pill.timeout[data-v-1b416c3a]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.cancelled[data-v-1b416c3a],.st-pill.interrupted[data-v-1b416c3a]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.prog-th[data-v-1b416c3a]{min-width:140px}.prog-cell[data-v-1b416c3a]{white-space:nowrap}.prog[data-v-1b416c3a]{vertical-align:middle;background:var(--paper-deep);border-radius:3px;width:96px;height:6px;display:inline-block;overflow:hidden}.prog i[data-v-1b416c3a]{background:var(--tone-info-dot);border-radius:3px;height:100%;transition:width .4s;display:block}.prog i.done[data-v-1b416c3a]{background:var(--tone-success-dot)}.prog i.bad[data-v-1b416c3a]{background:var(--tone-danger-dot)}.prog-num[data-v-1b416c3a]{color:var(--ink-soft);margin-left:7px;font-size:11.5px}.gate-id[data-v-1b416c3a]{font-weight:700}.gate-detail[data-v-1b416c3a]{margin-top:3px;font-size:11px;display:block}.verdict[data-v-1b416c3a]{border-radius:99px;padding:1px 7px;font-size:11.5px}.verdict.pass[data-v-1b416c3a]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.verdict.fail[data-v-1b416c3a]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.live-hint[data-v-1b416c3a]{letter-spacing:0;color:var(--tone-info-dot);text-transform:none;margin-left:8px;font-size:11.5px;font-weight:400}.logs[data-v-1b416c3a]{max-height:260px;font-family:var(--font-mono);color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--divider-hair);white-space:pre-wrap;word-break:break-all;border-radius:8px;margin:0;padding:9px 11px;font-size:11px;line-height:1.55;overflow-y:auto}tr.best[data-v-1b416c3a]{background:color-mix(in srgb, var(--accent) 9%, transparent)}tr.best td[data-v-1b416c3a]:first-child{box-shadow:inset 3px 0 0 var(--accent)}.best-tag[data-v-1b416c3a]{color:var(--on-accent);background:var(--accent);border-radius:99px;margin-right:6px;padding:1px 7px;font-size:11.5px}.stage-pill[data-v-1b416c3a]{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--line-strong);border-radius:var(--radius-pill);color:var(--ink-soft);padding:3px 9px;font-size:11.5px;display:inline-block}.stage-pill.shadow[data-v-1b416c3a]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 45%, transparent)}.stage-pill.production[data-v-1b416c3a]{color:var(--tone-success-dot);background:var(--tone-success-bg);border-color:#0000}.stage-pill.retired[data-v-1b416c3a]{opacity:.55;border-style:dashed}.inp-sel[data-v-1b416c3a]{color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:5px 10px;font-size:12px}.pc-body[data-v-1b416c3a]{margin-top:4px}.io-grid[data-v-1b416c3a]{color:var(--ink-soft);flex-wrap:wrap;gap:6px 14px;margin-bottom:10px;font-size:11.5px;display:flex}.io-item b[data-v-1b416c3a]{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.pc-form[data-v-1b416c3a]{grid-template-columns:minmax(300px,3fr) minmax(220px,2fr);gap:12px 18px;display:grid}@media (width<=1100px){.pc-form[data-v-1b416c3a]{grid-template-columns:1fr}}.pc-field[data-v-1b416c3a]{color:var(--ink-soft);flex-direction:column;gap:5px;margin-top:8px;font-size:12px;display:flex}.pc-side[data-v-1b416c3a]{flex-direction:column;align-items:stretch;gap:8px;display:flex}.pc-side .ghost-btn[data-v-1b416c3a]{align-self:flex-start;margin-top:8px}.pc-side .pill-btn[data-v-1b416c3a]{margin-top:auto}.inp[data-v-1b416c3a]{font-family:var(--font-mono);color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:6px 10px;font-size:12px}.inp.area[data-v-1b416c3a]{resize:vertical;line-height:1.5}.inp[data-v-1b416c3a]:focus{border-color:var(--accent);outline:none}.hint[data-v-1b416c3a]{margin:8px 0 0;font-size:11.5px;line-height:1.6}.modal-mask[data-v-1b416c3a]{z-index:60;background:color-mix(in srgb, var(--ink) 45%, transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);justify-content:center;align-items:flex-start;padding:8vh 16px 16px;display:flex;position:fixed;inset:0}.modal[data-v-1b416c3a]{background:var(--paper);border:1px solid var(--line-strong);border-radius:14px;width:min(760px,100%);max-height:84vh;padding:18px 22px 16px;overflow-y:auto;box-shadow:0 18px 48px #00000040}.m-title[data-v-1b416c3a]{margin:0 0 12px;font-size:16px;font-weight:600}.f-grid[data-v-1b416c3a]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin-bottom:10px;display:grid}@media (width<=720px){.f-grid[data-v-1b416c3a]{grid-template-columns:1fr}}.f[data-v-1b416c3a]{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:12px;display:flex}.f.wide[data-v-1b416c3a]{grid-column:1/-1}.f em[data-v-1b416c3a]{color:var(--tone-danger-dot);margin-left:2px;font-style:normal}.sec-label[data-v-1b416c3a]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:12px 0 8px;font-size:11px;font-weight:600}.node-rows[data-v-1b416c3a]{flex-direction:column;gap:7px;margin-bottom:12px;display:flex}.node-row[data-v-1b416c3a]{align-items:center;gap:8px;display:flex}.node-row .grow[data-v-1b416c3a]{flex:auto}.node-row .sel[data-v-1b416c3a]{flex:0 0 220px}.m-err[data-v-1b416c3a]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.m-actions[data-v-1b416c3a]{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.empty[data-v-1b416c3a]{color:var(--ink-faint);text-align:center;margin:6px 0;padding:18px 0;font-size:12.5px}.tbl-scroll[data-v-1b416c3a]{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}@media (width<=900px){.tbl-scroll[data-v-1b416c3a]{scrollbar-width:thin;overflow-x:auto}.tbl-datasets[data-v-1b416c3a]{min-width:720px}.tbl-jobs[data-v-1b416c3a]{min-width:860px}.tbl-exp[data-v-1b416c3a]{min-width:700px}.tbl-models[data-v-1b416c3a]{min-width:780px}.tbl td[data-v-1b416c3a],.tbl th[data-v-1b416c3a]{white-space:nowrap}.tbl tbody>tr>td[data-v-1b416c3a]:first-child,.tbl thead>tr>th[data-v-1b416c3a]:first-child{z-index:2;background:var(--paper-raised);box-shadow:1px 0 0 var(--line);position:sticky;left:0}.tbl thead>tr>th[data-v-1b416c3a]:first-child{z-index:3}.detail-row>td[data-v-1b416c3a]:first-child{box-shadow:none;background:var(--frost-bg);position:static}.inp[data-v-1b416c3a],.inp-sel[data-v-1b416c3a],.mini-btn[data-v-1b416c3a],.note-edit input[data-v-1b416c3a],.pill-btn[data-v-1b416c3a]{min-height:40px}.tbl .acts .mini-btn+.mini-btn[data-v-1b416c3a]{margin-left:8px}.note-cell[data-v-1b416c3a]{max-width:200px}.note-edit[data-v-1b416c3a]{flex-wrap:wrap}.zone[data-v-1b416c3a]{padding:12px 12px 14px}.f-grid[data-v-1b416c3a],.det-grid[data-v-1b416c3a]{grid-template-columns:1fr}.m-actions[data-v-1b416c3a],.mx-actions[data-v-1b416c3a]{flex-wrap:wrap}.modal[data-v-1b416c3a]{padding:16px}.node-row[data-v-1b416c3a]{flex-wrap:wrap}.node-row .sel[data-v-1b416c3a]{flex:100%}.modal-mask[data-v-1b416c3a]{padding:4vh 10px 12px}}@media (width<=640px){.zone-head[data-v-1b416c3a]{gap:8px}.zone-head h2[data-v-1b416c3a]{font-size:14px}.zone-actions[data-v-1b416c3a]{flex-wrap:wrap}.ov-card[data-v-1b416c3a]{padding:10px 12px}}
@@ -1 +0,0 @@
1
- {"id":"f4707884-7cf4-4a31-80d2-e3d72b73745f","timestamp":1789741900121,"prerendered":[]}
@@ -1 +0,0 @@
1
- .page[data-v-b5127862]{padding:4px}.head[data-v-b5127862]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}h2[data-v-b5127862]{margin:0 0 4px}.sub[data-v-b5127862]{opacity:.55;margin:0;font-size:12px}.toolbar[data-v-b5127862]{align-items:center;gap:12px;margin-bottom:12px;display:flex}.admin-note[data-v-b5127862]{color:var(--ink-faint);align-items:center;gap:5px;font-size:11px;display:inline-flex}.grid[data-v-b5127862]{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.card[data-v-b5127862]{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-panel);transition:border-color var(--transition-fast);flex-direction:column;gap:8px;padding:14px;display:flex}.card[data-v-b5127862]:hover{border-color:var(--line-strong)}.card-head[data-v-b5127862]{align-items:center;gap:8px;display:flex}.name[data-v-b5127862]{text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:15px;font-weight:600;overflow:hidden}.vis-tag[data-v-b5127862]{margin-right:2px}.owner[data-v-b5127862]{color:var(--ink-faint);font-size:11px}.desc[data-v-b5127862]{color:var(--ink-soft);margin:0;font-size:12px}.member-line[data-v-b5127862]{align-items:center;gap:6px;font-size:12px;display:flex}.lead-name[data-v-b5127862]{font-weight:500}.count[data-v-b5127862]{font-family:var(--font-mono);color:var(--ink-faint);font-size:11px}.scenario[data-v-b5127862]{font-family:var(--font-mono);color:var(--ink-faint);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.card-foot[data-v-b5127862]{align-items:center;gap:6px;margin-top:2px;display:flex}.ws[data-v-b5127862]{max-width:60%;font-family:var(--font-mono);color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;font-size:10.5px;display:inline-flex;overflow:hidden}.spacer[data-v-b5127862]{flex:auto}.card.placeholder[data-v-b5127862]{opacity:.55;cursor:pointer;border-style:dashed;justify-content:center;align-items:center;min-height:160px;font-size:13px}.big[data-v-b5127862]{font-size:28px}@media (width<=900px){.head[data-v-b5127862]{flex-direction:column;align-items:stretch;gap:12px}.head>div[data-v-b5127862]{min-width:0}.head h2[data-v-b5127862]{font-size:21px;line-height:1.25}.head[data-v-b5127862] .ant-space{flex-direction:column;align-items:stretch;gap:8px;width:100%;display:flex}.head[data-v-b5127862] .ant-space-item{width:100%}.head[data-v-b5127862] .ant-btn{width:100%;min-height:40px}.toolbar[data-v-b5127862]{flex-wrap:wrap;gap:8px}.toolbar[data-v-b5127862] .ant-segmented{flex:100%;min-width:0}.admin-note[data-v-b5127862]{flex:100%;min-width:0;font-size:11.5px;line-height:1.5}.grid[data-v-b5127862]{grid-template-columns:1fr}.card-head[data-v-b5127862],.member-line[data-v-b5127862],.card-foot[data-v-b5127862]{flex-wrap:wrap}.ws[data-v-b5127862]{max-width:100%}}@media (width<=640px){.page[data-v-b5127862]{padding:0}.head h2[data-v-b5127862]{font-size:19px}.sub[data-v-b5127862]{font-size:11.5px;line-height:1.5}.scenario[data-v-b5127862]{font-size:11.5px}}
@@ -1 +0,0 @@
1
- .mono[data-v-4b6f87e1]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-4b6f87e1]{opacity:.55}.ch[data-v-4b6f87e1]{color:var(--ink-faint);margin-top:2px;font-size:10px;display:block}.val[data-v-4b6f87e1]{font-size:13px}.val small[data-v-4b6f87e1]{color:var(--ink-faint);margin-left:3px}.val.stale[data-v-4b6f87e1]{opacity:.45}.val.val-alarm[data-v-4b6f87e1]{color:var(--tone-danger-dot);font-weight:700}.trend-cell[data-v-4b6f87e1]{width:128px}.trend[data-v-4b6f87e1]{width:120px;height:26px;display:block}.trend .trace[data-v-4b6f87e1]{fill:none;stroke:var(--tone-info-dot);stroke-width:1.4px}.trend .trace.alarm[data-v-4b6f87e1]{stroke:var(--tone-danger-dot)}.trend .trace-idle[data-v-4b6f87e1]{stroke:var(--ink-fainter);stroke-width:1px;stroke-dasharray:2 4;opacity:.55}.trend .lim[data-v-4b6f87e1]{stroke:color-mix(in srgb, var(--tone-warning-dot) 62%, transparent);stroke-width:1px;stroke-dasharray:3 3}.trend .lim.max[data-v-4b6f87e1]{stroke:color-mix(in srgb, var(--tone-danger-dot) 55%, transparent)}.st-pill[data-v-4b6f87e1]{font-family:var(--font-mono);letter-spacing:.04em;border-radius:var(--radius-pill);padding:2px 9px;font-size:10.5px;display:inline-block}.st-pill.ok[data-v-4b6f87e1]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.warn[data-v-4b6f87e1]{color:var(--tone-warning-dot);background:var(--tone-warning-bg)}.st-pill.alarm[data-v-4b6f87e1]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}tr.row-recipe-alarm[data-v-4b6f87e1]{background:color-mix(in srgb, var(--tone-danger-dot,#ff6b6b) 8%, transparent)}tr.row-recipe-alarm td[data-v-4b6f87e1]:first-child{box-shadow:inset 3px 0 0 var(--tone-danger-dot,#ff6b6b)}.st-pill.offline[data-v-4b6f87e1],.st-pill.disabled[data-v-4b6f87e1],.st-pill.idle[data-v-4b6f87e1],.st-pill.unassigned[data-v-4b6f87e1]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.drv-tag[data-v-4b6f87e1]{font-family:var(--font-mono);border:1px solid var(--line);border-radius:var(--radius-chip);color:var(--ink-soft);padding:2px 7px;font-size:10.5px}.drv-tag.planned[data-v-4b6f87e1]{opacity:.55;border-style:dashed}.console-link[data-v-4b6f87e1]{color:var(--accent);align-items:center;gap:5px;font-size:12.5px;display:inline-flex}.node-toggle[data-v-4b6f87e1]{border:1px solid var(--line);border-radius:var(--radius-chip);color:var(--ink);cursor:pointer;background:0 0;align-items:center;gap:4px;margin-right:12px;padding:2px 9px;font-size:11.5px;transition:border-color .15s,background .15s;display:inline-flex}.node-toggle[data-v-4b6f87e1]:hover{border-color:var(--accent);background:var(--hover-tint)}.node-toggle.off[data-v-4b6f87e1]{color:var(--ink-soft);opacity:.8;border-style:dashed}.dev-binds[data-v-4b6f87e1]{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.dev-bind-chip[data-v-4b6f87e1]{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);align-items:center;gap:4px;padding:1px 7px;font-size:11px;display:inline-flex}.dev-unbind[data-v-4b6f87e1]{cursor:pointer;opacity:.55;font-size:10px}.dev-unbind[data-v-4b6f87e1]:hover{opacity:1;color:var(--tone-danger-dot)}.dev-add[data-v-4b6f87e1]{max-width:130px;font-size:11px}.line-sel[data-v-4b6f87e1]{max-width:120px;color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:3px 6px;font-size:10.5px;transition:border-color .15s}.line-sel[data-v-4b6f87e1]:focus{border-color:var(--accent);outline:none}.run-pill[data-v-4b6f87e1]{color:var(--ink-faint);border:1px solid var(--line);border-radius:var(--radius-pill);align-items:center;gap:6px;padding:2px 9px;font-size:10.5px;display:inline-flex}.run-pill .rp-dot[data-v-4b6f87e1]{opacity:.7;border:1.5px solid;border-radius:50%;width:6px;height:6px}.run-pill.na[data-v-4b6f87e1]{opacity:.75;border-style:dashed}.run-pill.on[data-v-4b6f87e1]{color:var(--tone-success-dot);border-color:color-mix(in srgb, var(--tone-success-dot) 40%, transparent);background:var(--tone-success-bg)}.run-pill.on .rp-dot[data-v-4b6f87e1]{background:var(--tone-success-dot);opacity:1;border-color:#0000}@media (width<=900px){.ch[data-v-4b6f87e1],.dev-add[data-v-4b6f87e1],.dev-bind-chip[data-v-4b6f87e1],.dev-unbind[data-v-4b6f87e1],.drv-tag[data-v-4b6f87e1],.node-meta small[data-v-4b6f87e1],.st-pill[data-v-4b6f87e1],small.mono[data-v-4b6f87e1]{font-size:11.5px}}@media (prefers-reduced-motion:no-preference){.run-pill.on .rp-dot[data-v-4b6f87e1]{animation:1.8s ease-in-out infinite rpPulse-4b6f87e1}}@keyframes rpPulse-4b6f87e1{0%,to{box-shadow:0 0 2px color-mix(in srgb, var(--tone-success-dot) 55%, transparent)}50%{box-shadow:0 0 7px color-mix(in srgb, var(--tone-success-dot) 85%, transparent)}}.prod-cell[data-v-4b6f87e1]{max-width:170px}.prod-cell b[data-v-4b6f87e1]{text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.prod-cell small[data-v-4b6f87e1]{color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:10px;display:block;overflow:hidden}.page[data-v-8252d58d]{padding:4px}h1[data-v-8252d58d]{letter-spacing:-.015em;margin:2px 0 4px;font-size:30px;font-weight:400}.sub[data-v-8252d58d]{opacity:.6;margin:0;font-size:12.5px}.mono[data-v-8252d58d]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-8252d58d]{opacity:.55}.badges[data-v-8252d58d]{gap:8px;display:flex}.badge[data-v-8252d58d]{letter-spacing:.05em;color:var(--ink-soft);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:3px 10px;font-size:11px}.ctrl-card[data-v-8252d58d]{flex-direction:column;gap:11px;margin-bottom:14px;padding:12px 18px 11px;display:flex}.ctrl-row[data-v-8252d58d]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.ctrl-left[data-v-8252d58d]{flex-wrap:wrap;align-items:center;gap:14px;min-width:0;display:flex}.ctrl-left[data-v-8252d58d]>*,.ctrl-right[data-v-8252d58d]>*{flex:none}.aw-pill[data-v-8252d58d]{white-space:nowrap;flex:none}.mini-act[data-v-8252d58d],.mini-btn[data-v-8252d58d],.node-toggle[data-v-8252d58d],.pill-btn[data-v-8252d58d]{white-space:nowrap}.aw-pill.running[data-v-8252d58d]{background:var(--accent)}.cycle[data-v-8252d58d]{white-space:nowrap;color:var(--ink-faint);flex:none;align-items:center;gap:6px;font-size:12px;display:inline-flex}.cycle input[data-v-8252d58d]{width:84px;color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:4px 8px}.ctrl-metrics[data-v-8252d58d]{min-width:0;color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px;font-size:11.5px;display:flex}.ctrl-metrics>span[data-v-8252d58d]{white-space:nowrap}.ctrl-metrics .sep[data-v-8252d58d]{opacity:.4}.ctrl-metrics .warn[data-v-8252d58d]{color:var(--tone-warning-dot)}.line-strip[data-v-8252d58d]{border-top:1px solid var(--divider-hair);align-items:center;gap:12px;padding-top:10px;display:flex}.strip-label[data-v-8252d58d]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);flex:none;align-items:center;gap:6px;font-size:10.5px;display:inline-flex}.strip-label small[data-v-8252d58d]{color:var(--ink-faint);font-size:10px}.strip-scroll[data-v-8252d58d]{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:auto;gap:8px;min-width:0;padding-bottom:2px;display:flex;overflow-x:auto}.strip-scroll[data-v-8252d58d]::-webkit-scrollbar{height:4px}.strip-scroll[data-v-8252d58d]::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:2px}.strip-scroll[data-v-8252d58d]::-webkit-scrollbar-track{background:0 0}.line-pill[data-v-8252d58d]{color:var(--ink-soft);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-pill);flex:none;align-items:center;gap:7px;padding:4px 12px;font-size:11.5px;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.line-pill .lp-dot[data-v-8252d58d]{border:1.5px solid var(--lc,var(--ink-fainter));opacity:.55;border-radius:50%;width:7px;height:7px}.line-pill b[data-v-8252d58d]{font-weight:600}.line-pill small[data-v-8252d58d]{color:var(--ink-faint);font-size:10.5px}.line-pill[data-v-8252d58d]:hover{border-color:var(--lc,var(--accent));color:var(--ink)}.line-pill.on[data-v-8252d58d]{color:var(--ink);background:color-mix(in srgb, var(--lc) 10%, transparent);border-color:color-mix(in srgb, var(--lc) 50%, transparent)}.line-pill.on .lp-dot[data-v-8252d58d]{background:var(--lc);opacity:1;border-color:#0000}.line-pill.on .lp-run[data-v-8252d58d]{color:color-mix(in srgb, var(--lc) 75%, var(--ink))}@media (prefers-reduced-motion:no-preference){.line-pill.on .lp-dot[data-v-8252d58d]{box-shadow:0 0 7px color-mix(in srgb, var(--lc) 75%, transparent);animation:1.8s ease-in-out infinite lpPulse-8252d58d}}@keyframes lpPulse-8252d58d{0%,to{box-shadow:0 0 3px color-mix(in srgb, var(--lc) 55%, transparent)}50%{box-shadow:0 0 9px color-mix(in srgb, var(--lc) 85%, transparent)}}.table-card[data-v-8252d58d]{overflow-x:auto}.vs-pad td[data-v-8252d58d]{border:0!important;padding:0!important}.nodes-table[data-v-8252d58d]{border-collapse:collapse;width:100%;font-size:12.5px}.nodes-table tbody tr[data-v-8252d58d]{content-visibility:auto;contain-intrinsic-size:auto 42px}.nodes-table[data-v-8252d58d] td,.nodes-table th[data-v-8252d58d]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:9px 12px}.nodes-table th[data-v-8252d58d]{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[data-v-8252d58d] td b{margin-left:8px}.nodes-table[data-v-8252d58d] .right,.right[data-v-8252d58d]{text-align:right}.ops-panels[data-v-8252d58d]{grid-template-columns:minmax(320px,5fr) minmax(320px,7fr);gap:10px;margin:0 0 10px;display:grid}@media (width<=1100px){.ops-panels[data-v-8252d58d]{grid-template-columns:1fr}}.ops-panel[data-v-8252d58d]{background:var(--surface-glass);border:1px solid var(--glass-line);min-width:0;-webkit-backdrop-filter:var(--aurora-blur) saturate(1.15);backdrop-filter:var(--aurora-blur) saturate(1.15);border-radius:10px}.ops-panel.alarm-panel.live[data-v-8252d58d]{border-color:color-mix(in srgb, var(--tone-danger-dot) 40%, var(--glass-line))}.panel-head[data-v-8252d58d]{color:var(--ink-soft);border-bottom:1px solid var(--glass-line);align-items:center;gap:7px;padding:8px 12px;font-size:12.5px;display:flex}.panel-head .bell[data-v-8252d58d]{color:var(--tone-danger-dot)}.panel-head .cnt[data-v-8252d58d]{color:var(--ink-faint);margin-left:auto;font-size:11px}.panel-head .cnt.hot[data-v-8252d58d]{color:var(--tone-danger-dot);font-weight:700}.panel-link[data-v-8252d58d]{color:var(--tone-info-dot);align-items:center;gap:3px;margin-left:auto;font-size:11.5px;text-decoration:none;display:inline-flex}.panel-head .cnt+.panel-link[data-v-8252d58d]{margin-left:12px}.panel-body[data-v-8252d58d]{flex-direction:column;gap:5px;max-height:168px;padding:8px 12px;display:flex;overflow-y:auto}.panel-empty[data-v-8252d58d]{color:var(--ink-faint);margin:4px 0;font-size:12px}.alarm-row[data-v-8252d58d]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 35%, transparent);border-radius:7px;align-items:center;gap:7px;padding:5px 8px;font-size:12px;display:flex}.alarm-row .tri[data-v-8252d58d]{flex:none}.alarm-row b[data-v-8252d58d]{color:var(--ink)}.alarm-row .esc[data-v-8252d58d]{color:var(--tone-danger-dot)}.alarm-row .ack[data-v-8252d58d]{margin-left:auto}.evt-row[data-v-8252d58d]{border-radius:6px;align-items:center;gap:7px;padding:4px 6px;font-size:12px;display:flex}.evt-row[data-v-8252d58d]:hover{background:var(--frost-bg)}.evt-row .t[data-v-8252d58d]{flex:none;font-size:11px}.evt-row .txt[data-v-8252d58d]{min-width:0;color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.src-badge[data-v-8252d58d]{border:1px solid var(--glass-line);color:var(--ink-faint);border-radius:99px;flex:none;padding:1px 6px;font-size:10px}.src-badge.agent[data-v-8252d58d]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 40%, transparent)}.src-badge.user[data-v-8252d58d]{color:var(--tone-success-dot);border-color:color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.src-badge.system[data-v-8252d58d]{color:var(--ink-faint)}.kind-chip[data-v-8252d58d]{color:var(--ink-soft);background:var(--frost-bg);border-radius:5px;flex:none;padding:1px 6px;font-size:10px}.kind-chip.alarm[data-v-8252d58d]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.kind-chip.write[data-v-8252d58d]{color:var(--tone-info-dot)}.kind-chip.rollback[data-v-8252d58d]{color:var(--tone-warning-dot)}.err[data-v-8252d58d]{color:var(--tone-danger-dot);margin-top:14px;font-size:13px}@media (prefers-reduced-motion:no-preference){.nodes-table tbody tr[data-v-8252d58d]:hover{background:var(--hover-tint)}}.infra-banner[data-v-8252d58d]{color:var(--tone-warning-dot);background:var(--tone-warning-bg);border:1px solid color-mix(in srgb, var(--tone-warning-dot) 40%, transparent);border-radius:var(--radius-chip);align-items:center;gap:10px;margin-bottom:14px;padding:10px 14px;display:flex}.infra-banner.good[data-v-8252d58d]{color:var(--tone-success-dot);background:var(--tone-success-bg);border-color:color-mix(in srgb, var(--tone-success-dot) 40%, transparent)}.infra-banner .txt[data-v-8252d58d]{flex:auto;font-size:12.5px;line-height:1.5}.infra-banner .txt a[data-v-8252d58d]{color:var(--accent);text-decoration:underline}.infra-banner .txt b[data-v-8252d58d]{font-weight:600}.infra-banner .txt small[data-v-8252d58d]{opacity:.75;margin-left:8px;font-size:10.5px}.infra-banner .pill-btn[data-v-8252d58d]{flex:none}.alarm-bar[data-v-8252d58d]{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);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;padding:8px 14px;display:flex}.bar-label[data-v-8252d58d]{letter-spacing:.05em;text-transform:uppercase;flex:none;align-items:center;gap:6px;font-size:11px;font-weight:600;display:inline-flex}.bar-label .bell[data-v-8252d58d]{animation:1.6s ease-in-out infinite bellShake-8252d58d}@media (prefers-reduced-motion:reduce){.bar-label .bell[data-v-8252d58d]{animation:none}}@keyframes bellShake-8252d58d{0%,80%,to{transform:rotate(0)}85%{transform:rotate(12deg)}90%{transform:rotate(-10deg)}95%{transform:rotate(6deg)}}.alarm-scroll[data-v-8252d58d]{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:auto;gap:8px;min-width:0;display:flex;overflow-x:auto}.alarm-item[data-v-8252d58d]{color:var(--ink-soft);background:var(--paper-deep);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 30%, transparent);border-radius:var(--radius-pill);flex:none;align-items:center;gap:8px;padding:4px 10px;font-size:11.5px;display:inline-flex}.alarm-item b[data-v-8252d58d]{font-weight:600}.alarm-item .dim[data-v-8252d58d]{opacity:.6}.alarm-item .esc[data-v-8252d58d]{color:var(--tone-warning-dot)}.alarm-item .ack[data-v-8252d58d]{color:var(--paper-raised);background:var(--tone-danger-dot);border-color:#0000;padding:2px 9px}.alarm-item .ack[data-v-8252d58d]:hover{opacity:.85;color:var(--paper-raised);border-color:#0000}.ctrl-right[data-v-8252d58d]{flex-wrap:wrap;align-items:center;gap:12px;min-width:0;display:flex}.add-btn[data-v-8252d58d]{white-space:nowrap;padding:8px 16px;font-size:13px}.modal-mask[data-v-8252d58d]{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-8252d58d]{background:var(--surface-glass-strong);width:640px;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-8252d58d]{margin:0 0 14px;font-size:17px}.seg-row[data-v-8252d58d]{gap:8px;margin-bottom:14px;display:flex}.seg[data-v-8252d58d]{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-8252d58d]{color:var(--on-accent);background:var(--accent);border-color:var(--accent);font-weight:600}.f-grid[data-v-8252d58d]{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.driver-form[data-v-8252d58d]{grid-template-columns:repeat(3,1fr)}.cal-form[data-v-8252d58d]{grid-template-columns:2fr 1fr;align-items:end}.f[data-v-8252d58d]{color:var(--ink-faint);flex-direction:column;gap:4px;font-size:11.5px;display:flex}.f em[data-v-8252d58d]{color:var(--tone-danger-dot);margin-left:3px;font-style:normal}.inp[data-v-8252d58d]{width:100%;color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:6px 9px;font-size:12.5px}.hint[data-v-8252d58d]{color:var(--ink-faint);font-size:10px}.test-row[data-v-8252d58d]{align-items:center;gap:10px;margin:6px 0 4px;display:flex}.test-result[data-v-8252d58d]{font-family:var(--font-mono);font-size:11px}.test-result.ok[data-v-8252d58d]{color:var(--tone-success-dot)}.test-result.bad[data-v-8252d58d]{color:var(--tone-danger-dot)}.m-err[data-v-8252d58d]{color:var(--tone-danger-dot);margin:8px 0 0;font-size:12px}.m-actions[data-v-8252d58d]{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.aw-pill.outline[data-v-8252d58d]{color:var(--ink);background:var(--paper-raised);border-color:var(--line-strong)}.sec-label[data-v-8252d58d]{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin:14px 0 6px;font-size:11px;font-weight:600}.tpl-table[data-v-8252d58d]{border-collapse:collapse;width:100%;font-size:12.5px}.tpl-table td[data-v-8252d58d]{border-bottom:1px solid var(--divider-hair);padding:7px 8px}.tpl-table td b[data-v-8252d58d]{margin-right:8px}.tpl-table .range[data-v-8252d58d]{color:var(--ink-soft);font-size:11.5px}.tpl-table .empty[data-v-8252d58d]{color:var(--ink-faint);text-align:center;padding:14px 0;font-size:12px}.tpl-table .actions[data-v-8252d58d]{white-space:nowrap}.tbl-toolbar[data-v-8252d58d]{border-bottom:1px solid var(--divider-hair);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px;padding:11px 14px;display:flex}.filters[data-v-8252d58d]{flex-wrap:wrap;align-items:flex-end;gap:9px;display:flex}.flt[data-v-8252d58d]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);flex-direction:column;gap:3px;font-size:10px;display:flex}.inp-sel[data-v-8252d58d]{min-width:112px;color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-chip);padding:4px 8px;font-size:11.5px;transition:border-color .15s}.inp-sel[data-v-8252d58d]:focus{border-color:var(--accent);outline:none}.clear-btn[data-v-8252d58d]{margin-bottom:1px}.flt-search[data-v-8252d58d]{width:168px;min-width:0}.flt-search[data-v-8252d58d]::placeholder{color:var(--ink-faint)}.count[data-v-8252d58d]{color:var(--ink-faint);padding-bottom:4px;font-size:11px}.opt-card[data-v-8252d58d]{padding:0}.opt-head[data-v-8252d58d]{width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:12px 16px;font-size:13.5px;display:flex}.opt-head>.i-tabler-flask[data-v-8252d58d]{color:var(--tone-info-dot);font-size:16px}.opt-count[data-v-8252d58d]{color:var(--tone-info-dot);background:var(--tone-info-bg);border-radius:999px;padding:1px 8px;font-size:10.5px}.opt-chevron[data-v-8252d58d]{border-right:1.5px solid var(--ink-faint);border-bottom:1.5px solid var(--ink-faint);width:7px;height:7px;transition:transform var(--transition-base);margin-left:auto;transform:rotate(45deg)}.opt-chevron.open[data-v-8252d58d]{transform:rotate(225deg)}.opt-body[data-v-8252d58d]{visibility:hidden;opacity:0;flex-direction:column;gap:10px;max-height:0;padding:0 16px;transition:max-height .26s cubic-bezier(.22,.68,.36,1),opacity .2s,visibility .26s;display:flex;overflow:hidden}.opt-body.open[data-v-8252d58d]{visibility:visible;opacity:1;max-height:64vh;padding-bottom:14px;overflow-y:auto}.opt-filters[data-v-8252d58d]{align-items:center;gap:8px;display:flex}.opt-empty[data-v-8252d58d]{color:var(--ink-faint);font-size:11.5px}.opt-list[data-v-8252d58d]{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.opt-row[data-v-8252d58d]{background:var(--frost-bg);border:1px solid var(--glass-line);border-radius:10px;flex-direction:column;gap:5px;padding:9px 12px;display:flex}.opt-row.open[data-v-8252d58d]{border-color:color-mix(in srgb, var(--tone-warning-dot) 36%, var(--glass-line))}.opt-row.rolled-back[data-v-8252d58d]{border-color:color-mix(in srgb, var(--tone-danger-dot) 30%, var(--glass-line))}.opt-line1[data-v-8252d58d]{align-items:center;gap:9px;min-width:0;display:flex}.opt-status[data-v-8252d58d]{font-family:var(--font-mono);color:var(--ink-faint);border:1px solid var(--line-strong);border-radius:5px;flex:none;padding:1px 8px;font-size:9.5px}.opt-status.open[data-v-8252d58d]{color:var(--tone-warning-dot);border-color:color-mix(in srgb, var(--tone-warning-dot) 45%, transparent)}.opt-status.judged-keep[data-v-8252d58d]{color:var(--tone-success-dot);border-color:color-mix(in srgb, var(--tone-success-dot) 45%, transparent)}.opt-status.rolled-back[data-v-8252d58d]{color:var(--tone-danger-dot);border-color:color-mix(in srgb, var(--tone-danger-dot) 45%, transparent)}.opt-node[data-v-8252d58d]{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.opt-params[data-v-8252d58d]{color:var(--tone-info-dot);flex:none;font-size:11px}.opt-time[data-v-8252d58d]{color:var(--ink-faint);flex:none;margin-left:auto;font-size:10px}.mini-act[data-v-8252d58d]{color:var(--tone-info-dot);background:var(--tone-info-bg);cursor:pointer;border:0;border-radius:6px;flex:none;padding:2px 9px;font-size:10.5px}.mini-act.danger[data-v-8252d58d]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.mini-act[data-v-8252d58d]:disabled{opacity:.5;cursor:default}.opt-line2[data-v-8252d58d]{color:var(--ink-faint);flex-wrap:wrap;gap:8px;font-size:10.5px;display:flex}.opt-judge.keep[data-v-8252d58d],.opt-judge.rollback[data-v-8252d58d],.opt-judge.uncertain[data-v-8252d58d]{color:var(--ink-soft)}.opt-judge b[data-v-8252d58d]{font-weight:600}.opt-open-hint[data-v-8252d58d]{color:var(--tone-warning-dot)}.opt-agg[data-v-8252d58d]{color:var(--ink-faint)}.opt-series[data-v-8252d58d]{flex-wrap:wrap;gap:10px;padding-top:4px;display:flex}.opt-ch[data-v-8252d58d]{flex:180px;align-items:center;gap:8px;min-width:160px;display:flex}.opt-spark[data-v-8252d58d]{width:120px;height:30px}.opt-spark polyline[data-v-8252d58d]{fill:none;stroke:var(--tone-info-dot);stroke-width:1.5px}.badge[data-v-8252d58d],.evt-row .t[data-v-8252d58d],.flt[data-v-8252d58d],.hint[data-v-8252d58d],.infra-banner .txt small[data-v-8252d58d],.kind-chip[data-v-8252d58d],.line-pill small[data-v-8252d58d],.mini-act[data-v-8252d58d],.opt-count[data-v-8252d58d],.opt-line2[data-v-8252d58d],.opt-status[data-v-8252d58d],.opt-time[data-v-8252d58d],.sec-label[data-v-8252d58d],.src-badge[data-v-8252d58d],.strip-label[data-v-8252d58d],.strip-label small[data-v-8252d58d]{font-size:11.5px}.sub[data-v-8252d58d]{font-size:13px}.alarm-item small[data-v-8252d58d],.alarm-row small[data-v-8252d58d]{font-size:11.5px}@media (width<=900px){.page small[data-v-8252d58d],.page small.mono[data-v-8252d58d],.page small.mono b[data-v-8252d58d]{font-size:11.5px}.alarm-item[data-v-8252d58d]{padding:6px 10px}.alarm-item .ack[data-v-8252d58d],.mini-btn.ack[data-v-8252d58d]{white-space:nowrap;min-height:32px;padding:4px 12px}.alarm-row[data-v-8252d58d]{flex-wrap:wrap}.flt[data-v-8252d58d],.hint[data-v-8252d58d],.sec-label[data-v-8252d58d]{font-size:11.5px}.inp-sel[data-v-8252d58d]{font-size:12.5px}.badge[data-v-8252d58d],.line-pill small[data-v-8252d58d],.strip-label[data-v-8252d58d]{font-size:11.5px}.ctrl-metrics[data-v-8252d58d]{font-size:12px}.evt-row[data-v-8252d58d]{font-size:12.5px}.evt-row .t[data-v-8252d58d],.kind-chip[data-v-8252d58d],.src-badge[data-v-8252d58d]{font-size:11.5px}.panel-head[data-v-8252d58d]{font-size:13px}.alarm-item[data-v-8252d58d],.alarm-item small[data-v-8252d58d],.alarm-row small[data-v-8252d58d],.clear-btn[data-v-8252d58d],.mini-act[data-v-8252d58d],.opt-count[data-v-8252d58d],.opt-line2[data-v-8252d58d],.opt-status[data-v-8252d58d],.opt-time[data-v-8252d58d],.strip-label small[data-v-8252d58d]{font-size:11.5px}.opt-empty[data-v-8252d58d],.panel-empty[data-v-8252d58d],.tpl-table .range[data-v-8252d58d]{font-size:12px}.infra-banner .txt small[data-v-8252d58d]{font-size:11.5px}.m-title[data-v-8252d58d]{font-size:16px}.sub[data-v-8252d58d]{font-size:13px}}@media (width<=700px){.ctrl-card[data-v-8252d58d]{padding:12px 14px 11px}.ctrl-row[data-v-8252d58d]{flex-direction:column;align-items:stretch;gap:12px}.ctrl-left[data-v-8252d58d]{gap:10px}.ctrl-left>.aw-pill[data-v-8252d58d]{flex:100%}.ctrl-left>.cycle[data-v-8252d58d]{flex:calc(50% - 5px);justify-content:space-between}.cycle input[data-v-8252d58d]{width:62px}.ctrl-right[data-v-8252d58d]{gap:10px}.ctrl-metrics[data-v-8252d58d]{flex:100%}.ctrl-right>.add-btn[data-v-8252d58d]{flex:calc(50% - 5px)}.alarm-bar[data-v-8252d58d]{flex-direction:column;align-items:stretch;gap:8px;padding:10px 12px}.bar-label[data-v-8252d58d]{justify-content:flex-start}.alarm-scroll[data-v-8252d58d]{width:100%;padding-bottom:3px}.alarm-item[data-v-8252d58d]{max-width:100%}.tbl-toolbar[data-v-8252d58d]{flex-direction:column;align-items:stretch;gap:8px;padding:11px 12px}.filters[data-v-8252d58d]{grid-template-columns:1fr 1fr;gap:8px 10px;display:grid}.filters>.flt[data-v-8252d58d]{min-width:0}.inp-sel[data-v-8252d58d]{width:100%;min-width:0}.flt-search[data-v-8252d58d]{width:100%}.clear-btn[data-v-8252d58d]{grid-column:1/-1;min-height:34px}.count[data-v-8252d58d]{padding-bottom:0}.opt-filters[data-v-8252d58d]{grid-template-columns:1fr 1fr;gap:8px;display:grid}.opt-filters>.mini-act[data-v-8252d58d]{grid-column:1/-1;min-height:34px}.opt-line1[data-v-8252d58d]{flex-wrap:wrap}.opt-node[data-v-8252d58d]{white-space:normal;flex:100%;overflow:visible}.opt-time[data-v-8252d58d]{margin-left:0}.opt-ch[data-v-8252d58d]{flex:100%}.opt-spark[data-v-8252d58d]{flex:auto;width:auto;min-width:96px}.nodes-table[data-v-8252d58d] td,.nodes-table th[data-v-8252d58d]{padding:7px 8px}.table-card[data-v-8252d58d]{-webkit-overflow-scrolling:touch}.opt-body.open[data-v-8252d58d]{max-height:70vh}.evt-row[data-v-8252d58d]{flex-wrap:wrap}.evt-row .txt[data-v-8252d58d]{white-space:normal;flex:100%;overflow:visible}}
@@ -1 +0,0 @@
1
- .page[data-v-7ef81432]{flex-direction:column;gap:14px;display:flex}.badges[data-v-7ef81432]{gap:8px;display:flex}.badge[data-v-7ef81432]{color:var(--ink-faint);background:var(--glass-bg);border:1px solid var(--glass-line);-webkit-backdrop-filter:var(--frost-blur);backdrop-filter:var(--frost-blur);border-radius:999px;padding:3px 10px;font-size:11.5px}.warn-badge[data-v-7ef81432]{color:var(--tone-warning-dot);background:var(--tone-warning-bg);border-color:color-mix(in srgb, var(--tone-warning-dot) 32%, transparent)}.tpl-btn[data-v-7ef81432]{color:var(--tone-info-dot);background:var(--tone-info-bg);border-color:color-mix(in srgb, var(--tone-info-dot) 34%, transparent);cursor:pointer}.tpl-btn[data-v-7ef81432]:hover{border-color:color-mix(in srgb, var(--tone-info-dot) 60%, transparent)}.fleet-filter[data-v-7ef81432]{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.fleet-filter .aw-seg button[data-v-7ef81432]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:11.5px}.fleet-search[data-v-7ef81432]{width:220px;height:30px;color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-panel-sm);margin-left:auto;padding:0 10px;font-size:11.5px}.fleet-search[data-v-7ef81432]:focus{border-color:var(--tone-success-dot);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.line-grid[data-v-7ef81432]{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.line-card[data-v-7ef81432]{text-align:left;background:var(--surface-glass);-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);transition:border-color var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base);flex-direction:column;gap:9px;padding:14px 16px;display:flex;position:relative}@media (hover:hover) and (prefers-reduced-motion:no-preference){.line-card[data-v-7ef81432]:hover{border-color:color-mix(in srgb, var(--lc,#3aa0ff) 55%, var(--line-strong));box-shadow:var(--glass-edge), var(--shadow-float);transform:translateY(-2px)}}.line-card[data-v-7ef81432]:not(.idle){border-color:color-mix(in srgb, var(--lc,#3aa0ff) 38%, var(--line-strong));background:linear-gradient(180deg, color-mix(in srgb, var(--lc,#3aa0ff) 9%, transparent), transparent 46%), var(--surface-glass)}.line-card.idle[data-v-7ef81432]{background:var(--frost-bg)}.line-card.idle .lc-dot[data-v-7ef81432]{box-shadow:none;opacity:.72}.line-card.idle .lc-name[data-v-7ef81432]{color:var(--ink-faint)}.lc-head[data-v-7ef81432]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lc-dot[data-v-7ef81432]{background:var(--lc);width:10px;height:10px;box-shadow:0 0 10px color-mix(in srgb, var(--lc) 70%, transparent);border-radius:4px;flex:none}.lc-name[data-v-7ef81432]{min-width:0;color:var(--ink);overflow-wrap:anywhere;flex:auto;font-size:14.5px}.lc-state[data-v-7ef81432]{font-family:var(--font-mono);color:var(--ink-faint);flex:none;margin-left:auto;font-size:11.5px}.lc-state.on[data-v-7ef81432]{color:var(--tone-success-dot)}.lc-act[data-v-7ef81432]{width:22px;height:22px;color:var(--ink-faint);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;font-size:13px;transition:color .15s,background .15s,opacity .15s,transform .16s cubic-bezier(.22,1,.36,1);display:inline-flex}.line-card:focus-within .lc-act[data-v-7ef81432],.line-card:hover .lc-act[data-v-7ef81432]{opacity:1}.lc-act[data-v-7ef81432]:hover{color:var(--tone-info-dot);background:var(--tone-info-bg)}.lc-act.danger[data-v-7ef81432]:hover{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.lc-act[data-v-7ef81432]:active{transform:scale(.9)}.lc-run[data-v-7ef81432]{color:var(--tone-info-dot);font-size:11.5px}.lc-run.dim[data-v-7ef81432]{color:var(--ink-faint)}.lc-run.dim.ph[data-v-7ef81432]{opacity:.75}.lc-stats[data-v-7ef81432]{color:var(--ink-faint);flex-wrap:wrap;gap:6px 14px;font-size:11.5px;display:flex}.lc-stats b[data-v-7ef81432]{color:var(--ink);font-weight:600}.lc-ctl[data-v-7ef81432]{gap:8px;display:flex}.lc-ctl .inp[data-v-7ef81432]{min-width:0;height:30px;color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-panel-sm);flex:1;padding:0 9px;font-size:11.5px}.lc-ctl .inp[data-v-7ef81432]:focus{border-color:var(--tone-success-dot);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.lc-ctl .pill-btn[data-v-7ef81432]{flex:none}.lc-manage[data-v-7ef81432]{color:var(--tone-info-dot);font-size:11.5px;font-weight:600;text-decoration:none}.lc-manage[data-v-7ef81432]:hover{text-decoration:underline}.new-card[data-v-7ef81432]{color:var(--ink-faint);border:1px dashed var(--line-strong);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:600}.new-card[data-v-7ef81432]:hover{color:var(--tone-success-dot);border-color:var(--tone-success-dot);transform:none}.new-card small[data-v-7ef81432]{color:var(--ink-faint);font-size:11.5px;font-weight:400}.banner[data-v-7ef81432]{border-radius:10px;padding:8px 12px;font-size:12px}.banner.bad[data-v-7ef81432]{color:var(--tone-danger-dot);background:var(--tone-danger-bg);border:1px solid color-mix(in srgb, var(--tone-danger-dot) 30%, transparent)}.modal-mask[data-v-7ef81432]{z-index:80;background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);place-items:center;display:grid;position:fixed;inset:0}.modal-enter-active[data-v-7ef81432]{transition:opacity .18s cubic-bezier(.22,1,.36,1)}.modal-leave-active[data-v-7ef81432]{transition:opacity .13s}.modal-enter-from[data-v-7ef81432],.modal-leave-to[data-v-7ef81432]{opacity:0}.modal-enter-active .modal[data-v-7ef81432]{transition:transform .2s cubic-bezier(.22,1,.36,1)}.modal-enter-from .modal[data-v-7ef81432]{transform:translateY(8px)scale(.96)}.modal[data-v-7ef81432]{background:var(--surface-glass-strong);width:min(440px,100vw - 40px);max-height:82vh;-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);flex-direction:column;gap:12px;padding:18px;display:flex;overflow:auto}.modal.wide[data-v-7ef81432]{width:min(640px,100vw - 40px)}.m-title[data-v-7ef81432]{color:var(--ink);align-items:baseline;gap:10px;font-size:15px;display:flex}.m-title.danger-title[data-v-7ef81432]{color:var(--tone-danger-dot);align-items:center}.f[data-v-7ef81432]{color:var(--ink-faint);flex-direction:column;gap:5px;font-size:11px;display:flex}.f em[data-v-7ef81432]{color:var(--tone-danger-dot);font-style:normal}.f .inp[data-v-7ef81432]{height:30px;color:var(--ink);background:var(--paper-deep);border:1px solid var(--line-strong);border-radius:var(--radius-panel-sm);padding:0 9px;font-size:12px}.f .inp[data-v-7ef81432]:focus{border-color:var(--tone-success-dot);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.color-row[data-v-7ef81432]{align-items:center;gap:7px;display:flex}.color-dot[data-v-7ef81432]{cursor:pointer;border:2px solid #0000;border-radius:6px;width:20px;height:20px}.color-dot.on[data-v-7ef81432]{border-color:var(--ink);box-shadow:0 0 10px}.m-actions[data-v-7ef81432]{justify-content:flex-end;gap:8px;display:flex}.m-err[data-v-7ef81432]{color:var(--tone-danger-dot);font-size:11px}.dim[data-v-7ef81432]{color:var(--ink-faint)}.sec-label[data-v-7ef81432]{color:var(--ink-faint);letter-spacing:.14em;font-size:11.5px;font-weight:700}.del-summary[data-v-7ef81432]{color:var(--ink-soft);font-size:12px;line-height:1.6}.del-purge[data-v-7ef81432]{color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.del-purge input[data-v-7ef81432]{width:14px;height:14px;accent-color:var(--tone-danger-dot)}.tpl-hint[data-v-7ef81432]{font-size:11px}.tpl-list[data-v-7ef81432]{flex-direction:column;gap:6px;display:flex}.tpl-row[data-v-7ef81432]{color:var(--ink);background:var(--frost-bg);border:1px solid var(--glass-line);border-radius:9px;align-items:center;gap:10px;padding:7px 10px;font-size:12px;display:flex}.tpl-row small[data-v-7ef81432]{flex:1}.tpl-tag[data-v-7ef81432]{font-family:var(--font-mono);color:var(--tone-info-dot);border:1px solid color-mix(in srgb, var(--tone-info-dot) 40%, transparent);border-radius:5px;padding:1px 8px;font-size:11.5px}.tpl-tag.builtin[data-v-7ef81432]{color:var(--ink-faint);border-color:var(--line-strong)}.tpl-form[data-v-7ef81432]{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tpl-sem[data-v-7ef81432]{color:var(--ink-faint);flex:1}textarea.inp[data-v-7ef81432]{resize:vertical;height:auto;padding:6px 9px;font-size:11.5px}@media (width<=900px){.badge.tpl-btn[data-v-7ef81432],.fleet-filter .aw-seg button[data-v-7ef81432],.fleet-search[data-v-7ef81432],.lc-ctl .inp[data-v-7ef81432],.line-card .pill-btn[data-v-7ef81432],.m-actions .mini-btn[data-v-7ef81432],.m-actions .pill-btn[data-v-7ef81432],.tpl-row .mini-btn[data-v-7ef81432]{min-height:40px}.lc-act[data-v-7ef81432]{opacity:1;width:40px;height:40px;font-size:16px}.lc-ctl[data-v-7ef81432]{flex-wrap:wrap}.lc-ctl .inp[data-v-7ef81432]{flex:150px}.lc-ctl .pill-btn[data-v-7ef81432]{flex:auto}.lc-manage[data-v-7ef81432]{align-items:center;min-height:40px;display:inline-flex}.color-row[data-v-7ef81432]{flex-wrap:wrap}.color-dot[data-v-7ef81432]{width:40px;height:40px}.del-purge input[data-v-7ef81432]{width:20px;height:20px}.modal[data-v-7ef81432]{width:min(440px,100vw - 20px);padding:14px}.modal.wide[data-v-7ef81432]{width:min(640px,100vw - 20px)}.tpl-form[data-v-7ef81432]{grid-template-columns:1fr}.tpl-row[data-v-7ef81432],.m-actions[data-v-7ef81432]{flex-wrap:wrap}.m-actions[data-v-7ef81432]>*{flex:auto}.fleet-filter[data-v-7ef81432]{gap:10px}.fleet-search[data-v-7ef81432]{flex:100%;width:100%;margin-left:0}}@media (width<=640px){.line-grid[data-v-7ef81432]{grid-template-columns:1fr}.line-card[data-v-7ef81432]{padding:12px}}
@@ -1 +0,0 @@
1
- .home[data-v-4325f6ad]{padding:4px}.hero[data-v-4325f6ad]{margin-bottom:var(--gap-block);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:30px 34px 32px;display:flex;overflow:hidden}.hero-scale[data-v-4325f6ad]{pointer-events:none;background:repeating-linear-gradient(90deg, color-mix(in srgb, var(--ink) 26%, transparent) 0 1px, transparent 1px 120px), repeating-linear-gradient(90deg, color-mix(in srgb, var(--ink) 11%, transparent) 0 1px, transparent 1px 24px);opacity:.55;height:9px;position:absolute;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.hero-main[data-v-4325f6ad]{flex-direction:column;gap:10px;max-width:620px;display:flex}.hero-title[data-v-4325f6ad]{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ink);margin:0;font-size:36px;font-weight:400;line-height:1.12}.hero-sub[data-v-4325f6ad]{max-width:54ch;color:var(--ink-faint);margin:0;font-size:13px;line-height:1.65}.hero-acts[data-v-4325f6ad]{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.hero-live[data-v-4325f6ad]{background:var(--frost-bg);border:1px solid var(--glass-line);border-left:2px solid var(--accent);border-radius:0 var(--radius-panel-sm) var(--radius-panel-sm) 0;flex-direction:column;gap:10px;min-width:224px;padding:15px 18px 13px;display:flex}.live-badge[data-v-4325f6ad]{letter-spacing:.16em;width:fit-content;color:var(--tone-success-dot);border:1px solid color-mix(in srgb, var(--tone-success-dot) 45%, transparent);border-radius:var(--radius-pill);align-items:center;gap:7px;padding:2px 10px;font-size:10px;display:inline-flex}.live-dot[data-v-4325f6ad]{background:var(--tone-success-dot);border-radius:50%;width:6px;height:6px}@media (prefers-reduced-motion:no-preference){.live-dot[data-v-4325f6ad]{animation:1.6s ease-in-out infinite livePulse-4325f6ad}}@keyframes livePulse-4325f6ad{0%,to{box-shadow:0 0 3px var(--tone-success-dot)}50%{box-shadow:0 0 9px var(--tone-success-dot)}}.live-rows[data-v-4325f6ad]{flex-direction:column;margin:0;display:flex}.live-row[data-v-4325f6ad]{border-top:1px solid var(--divider-hair);justify-content:space-between;align-items:baseline;gap:16px;padding:7px 0;display:flex}.live-row[data-v-4325f6ad]:first-child{border-top:0;padding-top:2px}.live-row dt[data-v-4325f6ad]{color:var(--ink-faint);font-size:11.5px}.live-row dd[data-v-4325f6ad]{color:var(--ink);margin:0;font-size:13.5px}.live-row dd b[data-v-4325f6ad]{font-weight:500}.live-row dd small[data-v-4325f6ad]{color:var(--ink-faint);font-size:11px}.live-row.is-alarm dd[data-v-4325f6ad],.live-row.is-alarm dt[data-v-4325f6ad]{color:var(--tone-danger-dot)}.aw-gauge-band[data-v-4325f6ad]{--cols:6;margin-bottom:var(--gap-block)}@media (width<=1240px){.aw-gauge-band[data-v-4325f6ad]{--cols:3}}@media (width<=720px){.aw-gauge-band[data-v-4325f6ad]{--cols:2}}.grid[data-v-4325f6ad]{gap:var(--gap-block);margin-bottom:var(--gap-block);grid-template-columns:repeat(12,1fr);display:grid}.span8[data-v-4325f6ad]{grid-column:span 8}.span4[data-v-4325f6ad]{grid-column:span 4}@media (width<=1100px){.span4[data-v-4325f6ad],.span8[data-v-4325f6ad]{grid-column:span 12}}.aw-bench-sub[data-v-4325f6ad]{letter-spacing:.02em;color:var(--ink-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}@media (width<=1500px){.aw-bench-sub[data-v-4325f6ad]{display:none}}.chart[data-v-4325f6ad]{width:100%}.h280[data-v-4325f6ad]{height:280px}.h240[data-v-4325f6ad]{height:240px}.donut-wrap[data-v-4325f6ad]{position:relative}.donut-center[data-v-4325f6ad]{pointer-events:none;flex-direction:column;align-items:center;width:100%;display:flex;position:absolute;top:38%;left:0;transform:translateY(-50%)}.donut-center b[data-v-4325f6ad]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink);font-size:26px;font-weight:500}.donut-center small[data-v-4325f6ad]{color:var(--ink-faint);font-size:11px}.fleet[data-v-4325f6ad]{margin-bottom:var(--gap-block)}.fleet-grid[data-v-4325f6ad]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;display:grid}.line-card[data-v-4325f6ad]{cursor:pointer;background:var(--frost-bg);border:1px solid var(--glass-line);border-radius:var(--radius-panel-sm);transition:border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-base), box-shadow var(--transition-base);padding:13px 15px}@media (hover:hover) and (prefers-reduced-motion:no-preference){.line-card[data-v-4325f6ad]:hover{border-color:var(--lc,var(--accent));box-shadow:var(--glass-edge), var(--shadow-float);transform:translateY(-1px)}}.line-card.on[data-v-4325f6ad]{background:color-mix(in srgb, var(--lc) 7%, var(--paper-deep));border-color:color-mix(in srgb, var(--lc) 45%, transparent)}.lc-head[data-v-4325f6ad]{align-items:center;gap:8px;display:flex}.lc-dot[data-v-4325f6ad]{border:1.5px solid var(--lc);border-radius:50%;flex:none;width:8px;height:8px}.line-card.on .lc-dot[data-v-4325f6ad]{background:var(--lc);box-shadow:0 0 7px color-mix(in srgb, var(--lc) 70%, transparent)}.lc-head b[data-v-4325f6ad]{color:var(--ink);font-size:13px}.lc-state[data-v-4325f6ad]{font-family:var(--font-mono);letter-spacing:.05em;color:var(--ink-faint);border:1px solid var(--line-strong);border-radius:var(--radius-pill);margin-left:auto;padding:1px 8px;font-size:10px}.lc-state.on[data-v-4325f6ad]{color:var(--tone-success-dot);border-color:color-mix(in srgb, var(--tone-success-dot) 45%, transparent)}.lc-run[data-v-4325f6ad]{color:color-mix(in srgb, var(--lc) 70%, var(--ink));flex-direction:column;gap:2px;margin-top:8px;font-size:11.5px;display:flex}.lc-run small[data-v-4325f6ad]{color:var(--ink-faint);font-size:10px}.lc-meta[data-v-4325f6ad]{color:var(--ink-faint);border-top:1px solid var(--divider-hair);gap:14px;margin-top:9px;padding-top:8px;font-size:10.5px;display:flex}.harness[data-v-4325f6ad]{margin-bottom:var(--gap-block)}.harness-row[data-v-4325f6ad]{flex-wrap:wrap;gap:8px;padding:2px 0 4px;display:flex}.h-item[data-v-4325f6ad]{cursor:default;background:color-mix(in srgb, var(--ink) 3%, transparent);border:1px solid var(--divider-hair);border-radius:var(--radius-pill);align-items:center;gap:7px;padding:5px 12px;font-size:11.5px;transition:border-color .15s,background .15s;display:flex}.h-item[data-v-4325f6ad]:hover{border-color:var(--line-strong)}.h-item.link[data-v-4325f6ad]{cursor:pointer}.h-item.link[data-v-4325f6ad]:hover{border-color:var(--accent);color:var(--accent)}.h-go[data-v-4325f6ad]{color:var(--ink-faint);flex:none;font-size:10px}.h-item.link:hover .h-go[data-v-4325f6ad]{color:var(--accent)}.h-dot[data-v-4325f6ad]{background:var(--tone-success-dot,#4a6b57);border-radius:50%;flex:none;width:6px;height:6px}.h-item.off[data-v-4325f6ad]{opacity:.55}.h-item.off .h-dot[data-v-4325f6ad]{background:var(--tone-danger-dot,#c25a4e)}.h-name[data-v-4325f6ad]{color:var(--ink);font-weight:600}.h-item.off .h-name[data-v-4325f6ad]{color:var(--ink-soft)}.h-cmd[data-v-4325f6ad]{color:var(--ink-faint);font-size:10px}@media (width<=900px){.fleet-all small[data-v-4325f6ad],.h-cmd[data-v-4325f6ad],.h-go[data-v-4325f6ad],.lc-meta[data-v-4325f6ad],.lc-meta span[data-v-4325f6ad],.lc-run small[data-v-4325f6ad],.lc-state[data-v-4325f6ad]{font-size:11.5px}}.fleet-all[data-v-4325f6ad]{min-height:86px;color:var(--ink-faint);background:0 0;border-style:dashed;flex-direction:column;justify-content:center;align-items:center;gap:6px;transition:border-color .15s,color .15s,background .15s;display:flex}.fleet-all[data-v-4325f6ad]:hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 5%, transparent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.fa-n[data-v-4325f6ad]{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:22px;line-height:1}.fleet-all:hover .fa-n[data-v-4325f6ad]{color:var(--accent)}.fa-label[data-v-4325f6ad]{font-size:12px}.fa-arrow[data-v-4325f6ad]{font-size:15px;transition:transform .16s cubic-bezier(.22,1,.36,1)}.fleet-all:hover .fa-arrow[data-v-4325f6ad]{transform:translate(3px)}.fleet-empty[data-v-4325f6ad]{color:var(--ink-faint);text-align:center;padding:18px 0;font-size:12px}@media (width<=640px){.hero[data-v-4325f6ad]{padding:24px 20px}.hero-title[data-v-4325f6ad]{font-size:28px}}
@@ -1 +0,0 @@
1
- .plugins-page[data-v-91571e48]{max-width:1080px;margin:0 auto;padding:24px 20px 48px}.pg-sub[data-v-91571e48]{opacity:.6;margin:8px 0 0;font-size:12.5px}.pg-stats[data-v-91571e48]{opacity:.85;align-items:center;gap:14px;font-size:12px;display:flex}.pg-stats b[data-v-91571e48]{font-size:15px}.pg-failures[data-v-91571e48]{margin-bottom:16px}.fail-line[data-v-91571e48]{font-family:ui-monospace,monospace;font-size:11px}.pg-empty[data-v-91571e48]{text-align:center;border:1px dashed var(--line-strong);border-radius:var(--radius-panel);background:var(--paper-deep);flex-direction:column;align-items:center;gap:10px;padding:56px 24px;display:flex}.pg-empty-ico[data-v-91571e48]{color:var(--ink-faint);font-size:30px}.pg-empty-t[data-v-91571e48]{color:var(--ink-faint);margin:0;font-size:12.5px}.pg-grid[data-v-91571e48]{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.pg-card[data-v-91571e48]{border:1px solid var(--aw-border,#8098c740);background:var(--aw-card,#ffffff0a);cursor:pointer;border-radius:12px;padding:14px 16px;transition:border-color .2s,transform .2s;position:relative}.pg-card[data-v-91571e48]:hover{border-color:var(--aw-accent,#35e0a0);transform:translateY(-1px)}.pg-card.is-off[data-v-91571e48]{opacity:.55}.card-head[data-v-91571e48]{align-items:center;gap:10px;display:flex}.card-name[data-v-91571e48]{font-size:15px;font-weight:700}.card-ver[data-v-91571e48]{color:inherit;opacity:.5;font-family:ui-monospace,monospace;font-size:11px}.card-head .a-switch[data-v-91571e48]{margin-left:auto}.card-desc[data-v-91571e48]{opacity:.75;min-height:18px;margin:8px 0;font-size:12px}.card-tags[data-v-91571e48]{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.tag[data-v-91571e48]{border:1px solid #8098c74d;border-radius:999px;padding:2px 8px;font-size:10px}.tag.project[data-v-91571e48]{color:color-mix(in srgb, #35e0a0 42%, var(--ink));border-color:#35e0a080}.tag.user[data-v-91571e48]{color:color-mix(in srgb, #41c8f4 46%, var(--ink));border-color:#41c8f480}.tag.on[data-v-91571e48]{color:color-mix(in srgb, #35e0a0 42%, var(--ink));border-color:#35e0a080}.tag.off[data-v-91571e48]{color:color-mix(in srgb, #ff6b6b 55%, var(--ink));border-color:#ff6b6b66}.tag.client[data-v-91571e48]{border-color:color-mix(in srgb, var(--ink) 24%, transparent);color:var(--ink-soft)}.card-routes[data-v-91571e48]{flex-direction:column;gap:2px;display:flex}.card-routes code[data-v-91571e48]{opacity:.65;font-size:10px}.detail dt[data-v-91571e48]{opacity:.5;margin-top:10px;font-size:11px}.detail dd[data-v-91571e48]{margin:2px 0 0;font-family:ui-monospace,monospace;font-size:12px}.detail .scope-hint[data-v-91571e48]{opacity:.6;margin-bottom:6px;font-family:inherit;font-size:11px}.detail-route[data-v-91571e48]{opacity:.8;margin-bottom:4px;font-size:11px;display:block}h4[data-v-91571e48]{margin:16px 0 6px}.dim[data-v-91571e48]{opacity:.45}@media (width<=900px){.plugins-page[data-v-91571e48]{max-width:100%;padding:16px 12px 40px}.pg-stats[data-v-91571e48]{flex-wrap:wrap;gap:10px 14px;width:100%;font-size:11.5px}.pg-grid[data-v-91571e48]{grid-template-columns:1fr}.card-head[data-v-91571e48]{flex-wrap:wrap}.card-routes code[data-v-91571e48],.detail-route[data-v-91571e48]{overflow-wrap:anywhere}}@media (width<=640px){.plugins-page[data-v-91571e48]{padding:12px 8px 40px}.pg-sub[data-v-91571e48]{font-size:11.5px;line-height:1.5}.tag[data-v-91571e48]{font-size:11.5px}.card-desc[data-v-91571e48]{font-size:12.5px}.pg-stats[data-v-91571e48] .ant-btn{min-height:40px}}