agentworkshop 0.7.71 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.AgentWorkShop/prompts/host-tools.json +455 -0
- package/.output/.AgentWorkShop/prompts/host-tools.json +455 -0
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{DJJDigim2.js → -FhgRqJl2.js} +1 -1
- package/.output/public/_nuxt/{CGk_VUhO2.js → 0qvcO_KM2.js} +1 -1
- package/.output/public/_nuxt/26OL4Ao82.js +1 -0
- package/.output/public/_nuxt/{sBDZymdy2.js → 2Kwo_j9G2.js} +1 -1
- package/.output/public/_nuxt/{BqYVLAcm.js → 2v5GdspM.js} +1 -1
- package/.output/public/_nuxt/{DkQBMVTs2.js → 8M7wFbEN2.js} +1 -1
- package/.output/public/_nuxt/{DtiY69xi2.js → 8SZLbrI42.js} +1 -1
- package/.output/public/_nuxt/{DF32f5EL2.js → B2NbzUau2.js} +1 -1
- package/.output/public/_nuxt/{CwZW1ZCe2.js → B4JlRHBB2.js} +1 -1
- package/.output/public/_nuxt/{BQOn0q6Y.js → B6C4WofF.js} +1 -1
- package/.output/public/_nuxt/{BC7W6lNm.js → B6UwtJ1a.js} +1 -1
- package/.output/public/_nuxt/{BfQ-ptH0.js → B8HFUsMH.js} +1 -1
- package/.output/public/_nuxt/{DzBbYWrw2.js → BBB_j2LU2.js} +1 -1
- package/.output/public/_nuxt/BCLUwdP52.js +1 -0
- package/.output/public/_nuxt/{CLxmY3Rh.js → BK4wbfGS.js} +1 -1
- package/.output/public/_nuxt/{BRMVDfPl2.js → BKidykmV2.js} +1 -1
- package/.output/public/_nuxt/BPUQZ9Lq2.js +8 -0
- package/.output/public/_nuxt/BRYBzVMJ.js +1 -0
- package/.output/public/_nuxt/{Bj5sjA5O.js → BRci9D_l.js} +1 -1
- package/.output/public/_nuxt/{Dmgqz2np2.js → BVGzwAxr2.js} +1 -1
- package/.output/public/_nuxt/BVg2R2VB2.js +1 -0
- package/.output/public/_nuxt/{C3aUN4Vp2.js → BW2uTUx52.js} +1 -1
- package/.output/public/_nuxt/{B5FKaMM02.js → BY3Lbz3h2.js} +1 -1
- package/.output/public/_nuxt/{DIwmMa_7.js → BYzim_Bn.js} +1 -1
- package/.output/public/_nuxt/{D8xUsQGt.js → B_Obcbiu.js} +1 -1
- package/.output/public/_nuxt/BaYDgyaR.js +3 -0
- package/.output/public/_nuxt/{DZJ11BTI.js → BbACaREb.js} +1 -1
- package/.output/public/_nuxt/{BJrj5JVe2.js → BcosvNXb2.js} +1 -1
- package/.output/public/_nuxt/{B_-vAvzb.js → BfeXib9G.js} +1 -1
- package/.output/public/_nuxt/{CeLqojCJ.js → BfgTar9L.js} +1 -1
- package/.output/public/_nuxt/BfvuWqSa.js +1 -0
- package/.output/public/_nuxt/{D8r8PNQa2.js → BiZWwdcD2.js} +1 -1
- package/.output/public/_nuxt/BkEokGX5.js +1 -0
- package/.output/public/_nuxt/{CJSohaqk2.js → BklGqEto2.js} +2 -2
- package/.output/public/_nuxt/{DkpmSnHX.js → Bko5adbu.js} +1 -1
- package/.output/public/_nuxt/{DTQTGA6v2.js → BmBlIIJo2.js} +1 -1
- package/.output/public/_nuxt/{D_NjL-Hz.js → Bmvt9ydE.js} +1 -1
- package/.output/public/_nuxt/{Cp4r6Eiz.js → BoyuIoSm.js} +1 -1
- package/.output/public/_nuxt/{62J4vljm2.js → Bq-tmkst.js} +1 -1
- package/.output/public/_nuxt/{BMMoqi94.js → BqFaZ4kS.js} +1 -1
- package/.output/public/_nuxt/BsJYieAL2.js +1 -0
- package/.output/public/_nuxt/{DD4J2Otc.js → BtZKe9ZV.js} +1 -1
- package/.output/public/_nuxt/{BnpY_zNx.js → BtumQhZK.js} +1 -1
- package/.output/public/_nuxt/{BjLzqWJH2.js → BwWs9EdO2.js} +1 -1
- package/.output/public/_nuxt/{Bx2a9cuY2.js → BxxpJxZf2.js} +1 -1
- package/.output/public/_nuxt/{qRXa-PM22.js → ByTnUqFw2.js} +1 -1
- package/.output/public/_nuxt/{DvOETuoT2.js → Byiiiwc72.js} +1 -1
- package/.output/public/_nuxt/{Car2lkbb.js → C1-SuwUN.js} +1 -1
- package/.output/public/_nuxt/{Dg81dOEO.js → C14pM5G4.js} +1 -1
- package/.output/public/_nuxt/{MDhaRQq_.js → C2Yp-B8m.js} +1 -1
- package/.output/public/_nuxt/{BJ2nJNlK2.js → C4e6_nom2.js} +1 -1
- package/.output/public/_nuxt/{CiCEprsp2.js → C5OStZJ62.js} +1 -1
- package/.output/public/_nuxt/{ByMj6e7s.js → C6lssmvl.js} +2 -2
- package/.output/public/_nuxt/{C6uBP0Xa.js → CC-GEjfN.js} +1 -1
- package/.output/public/_nuxt/CC2Pv8VL2.js +1 -0
- package/.output/public/_nuxt/{DKiqdYnj.js → CCcMgxV9.js} +1 -1
- package/.output/public/_nuxt/{5S26I34j2.js → CDL30A2z2.js} +1 -1
- package/.output/public/_nuxt/{B8C-QJB5.js → CDYLasP8.js} +1 -1
- package/.output/public/_nuxt/CElzwyXQ.js +1 -0
- package/.output/public/_nuxt/{2KE8xGVm.js → CEvJu-xI.js} +1 -1
- package/.output/public/_nuxt/{CR612R752.js → CFQRFctQ2.js} +1 -1
- package/.output/public/_nuxt/{DnzjxC0u.js → CHk9XxNi.js} +2 -2
- package/.output/public/_nuxt/{Bx4MR0jd.js → CLFmtXU7.js} +1 -1
- package/.output/public/_nuxt/{DW8k_0dQ.js → CMJi6yYS.js} +1 -1
- package/.output/public/_nuxt/{DD-r0S1p.js → CPvFGbr8.js} +1 -1
- package/.output/public/_nuxt/{CCgbgkid.js → CQSxS_Ek.js} +2 -2
- package/.output/public/_nuxt/{jGxHnjW6.js → CQuo31jF.js} +1 -1
- package/.output/public/_nuxt/{SoO2K-di.js → CRCrWy-6.js} +1 -1
- package/.output/public/_nuxt/CUCFFL9m.js +84 -0
- package/.output/public/_nuxt/CZYNy60j2.js +1 -0
- package/.output/public/_nuxt/{WPwdj9pg.js → CZsFf7ck.js} +1 -1
- package/.output/public/_nuxt/CfFUK6932.js +2 -0
- package/.output/public/_nuxt/{DAsjfdZD.js → CfIbFnJz.js} +1 -1
- package/.output/public/_nuxt/{Tk6TQZjU.js → CjF4QY9h.js} +1 -1
- package/.output/public/_nuxt/{DlUQa0wn.js → Cjo1t2IF.js} +1 -1
- package/.output/public/_nuxt/{CDn0eDn8.js → CmuGMxDP.js} +1 -1
- package/.output/public/_nuxt/Cn6EojFe.js +1 -0
- package/.output/public/_nuxt/{DLqSQbGv.js → CnYazk8d.js} +1 -1
- package/.output/public/_nuxt/{DQfy6R_2.js → CnrGVJIr.js} +1 -1
- package/.output/public/_nuxt/{C0YL0HKK.js → CtcBhkci.js} +1 -1
- package/.output/public/_nuxt/{h5gsh8E92.js → Cv-Mv7_h2.js} +1 -1
- package/.output/public/_nuxt/{vPcnBJsa2.js → CzlZrfq82.js} +1 -1
- package/.output/public/_nuxt/{C2YYOgMe.js → CznnUTZx.js} +2 -2
- package/.output/public/_nuxt/{csitHKnE2.js → D-80EfyA2.js} +1 -1
- package/.output/public/_nuxt/{BRdoISnJ2.js → D1C6qtS12.js} +1 -1
- package/.output/public/_nuxt/{Cnrmlixo.js → D1MkndMZ.js} +2 -2
- package/.output/public/_nuxt/{BLwDhlaa.js → D37gODe0.js} +1 -1
- package/.output/public/_nuxt/{NXY37IO62.js → D6FhDrYe2.js} +1 -1
- package/.output/public/_nuxt/{Btx8wL4-.js → D7TZLu4F.js} +1 -1
- package/.output/public/_nuxt/{qoUdVDnC.js → D7tEwf-o.js} +3 -3
- package/.output/public/_nuxt/D8HQPtm62.js +1 -0
- package/.output/public/_nuxt/D9O4L4jK.js +1 -0
- package/.output/public/_nuxt/{aQ1B7BZa2.js → D9lL3fJM2.js} +2 -2
- package/.output/public/_nuxt/{CT-vTjcG2.js → DC-2eKo62.js} +1 -1
- package/.output/public/_nuxt/DF9ETYJ32.js +1 -0
- package/.output/public/_nuxt/DGGBrc0q2.js +1 -0
- package/.output/public/_nuxt/DGu_fna7.js +1 -0
- package/.output/public/_nuxt/{BupBjt6B.js → DKOvbitt.js} +1 -1
- package/.output/public/_nuxt/{B1PzYsqN.js → DNxudyND.js} +1 -1
- package/.output/public/_nuxt/{BfX6_AjY.js → DOT-XQyi.js} +1 -1
- package/.output/public/_nuxt/{BsTZnkVK.js → DPPC9Teq.js} +1 -1
- package/.output/public/_nuxt/{HxohXQ_r.js → DRskyE7l.js} +1 -1
- package/.output/public/_nuxt/{B-U7E_Mc2.js → DW4ZgInh2.js} +1 -1
- package/.output/public/_nuxt/{BErG4kzc2.js → DWe6BMlp2.js} +1 -1
- package/.output/public/_nuxt/DWy0AjON.js +1 -0
- package/.output/public/_nuxt/{Bc_k6AVA.js → DXgw1dVL.js} +4 -4
- package/.output/public/_nuxt/{C3sWJ8SD2.js → DZsKIzKD2.js} +1 -1
- package/.output/public/_nuxt/D_59BNP1.js +14 -0
- package/.output/public/_nuxt/{BQIO4MkA2.js → D_FZ3KZI2.js} +1 -1
- package/.output/public/_nuxt/{n_Njdwii2.js → D__vJGHF2.js} +1 -1
- package/.output/public/_nuxt/{C9gErLQc2.js → DaizNGUm2.js} +1 -1
- package/.output/public/_nuxt/{C-MY-JQE2.js → DdyE0ylS.js} +1 -1
- package/.output/public/_nuxt/DgrK8UCQ.js +0 -0
- package/.output/public/_nuxt/DhLlTxQh2.js +1 -0
- package/.output/public/_nuxt/DhW7cFOa.js +1 -0
- package/.output/public/_nuxt/{Rt2i6k7C2.js → DhjgWrB62.js} +1 -1
- package/.output/public/_nuxt/{KwT4sN_d.js → DiWcX4gj.js} +1 -1
- package/.output/public/_nuxt/DiloA8vK.js +1 -0
- package/.output/public/_nuxt/{DX-c5laM2.js → DlS-SkQ42.js} +1 -1
- package/.output/public/_nuxt/{D_Zspo1y.js → DmHp9yQ3.js} +1 -1
- package/.output/public/_nuxt/{dq1HKoGD.js → DoL9u6wu.js} +1 -1
- package/.output/public/_nuxt/{CIvMT5Ic.js → DqxBCeDe.js} +1 -1
- package/.output/public/_nuxt/{BnNmkGJS2.js → DrlnrdvY2.js} +3 -3
- package/.output/public/_nuxt/{BAcjVcku2.js → Dt8TL8_X2.js} +1 -1
- package/.output/public/_nuxt/{BtfwbNC0.js → Du7gS8RU.js} +1 -1
- package/.output/public/_nuxt/DuUc4bbY2.js +1 -0
- package/.output/public/_nuxt/{DPUXbTg9.js → DudoisLM.js} +1 -1
- package/.output/public/_nuxt/{Ce5R-ZGf2.js → DwgVlehj2.js} +1 -1
- package/.output/public/_nuxt/Dyxf2xZw.js +1 -0
- package/.output/public/_nuxt/Dz9C2pTa.js +1 -0
- package/.output/public/_nuxt/{BYxG9Hb2.js → EMbqTHfT.js} +1 -1
- package/.output/public/_nuxt/{B1SzppY12.js → FsRVXpyF2.js} +1 -1
- package/.output/public/_nuxt/{0MLy6ogg2.js → GQrEW8nk2.js} +1 -1
- package/.output/public/_nuxt/{Tuz5LcLM.js → IXR1BWP5.js} +1 -1
- package/.output/public/_nuxt/{-jpUnM1I2.js → Iub61dX92.js} +1 -1
- package/.output/public/_nuxt/{CQgOzpvI.js → JegDslce.js} +2 -2
- package/.output/public/_nuxt/{DrF3TWoj.js → KzK37yIr.js} +1 -1
- package/.output/public/_nuxt/{Br3MggOL.js → N-CCmCsX.js} +1 -1
- package/.output/public/_nuxt/{DHhmq7s_.js → NfvZ5Lzv.js} +1 -1
- package/.output/public/_nuxt/{CzX_kaPL.js → POTcePF_.js} +1 -1
- package/.output/public/_nuxt/{D7s96J3r2.js → Q-JpBT032.js} +1 -1
- package/.output/public/_nuxt/{DzwIZ81f2.js → R1g64DNi2.js} +1 -1
- package/.output/public/_nuxt/{JgheoP3e.js → R5Pz7BqB.js} +1 -1
- package/.output/public/_nuxt/{yLyz0-Yz.js → SvjzWbn8.js} +1 -1
- package/.output/public/_nuxt/{Dd7MZc_Q.js → XqXoaoDs.js} +1 -1
- package/.output/public/_nuxt/{B6jtLy6z.js → YAA98rWJ.js} +11 -11
- package/.output/public/_nuxt/{HX4_xnak2.js → YLYSczSq2.js} +1 -1
- package/.output/public/_nuxt/{BBw9ylUY2.js → YNhAoK-R2.js} +1 -1
- package/.output/public/_nuxt/Zkbt8Uk5.js +1 -0
- package/.output/public/_nuxt/aml.PalMp-5n.css +1 -0
- package/.output/public/_nuxt/{C41CcsiD.js → b7UcqLKi.js} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/fa0af8b5-3929-428d-a6de-3b5cc6b8248f.json +1 -0
- package/.output/public/_nuxt/{DVkFSOZi.js → cKj4vSo5.js} +1 -1
- package/.output/public/_nuxt/{r1CpGsFp.js → dHwWyr6b.js} +1 -1
- package/.output/public/_nuxt/{default.BzOcvmSE.css → default.BEXGWZFQ.css} +1 -1
- package/.output/public/_nuxt/{DlcA9Gxl.js → eePbiWEh.js} +1 -1
- package/.output/public/_nuxt/{entry.CL2i0F8o.css → entry.C7koBPom.css} +1 -1
- package/.output/public/_nuxt/{cjRzSvAg2.js → eymRov9Y2.js} +1 -1
- package/.output/public/_nuxt/{B8cViLJT.js → geMze5qw.js} +1 -1
- package/.output/public/_nuxt/{uu1wfdfR2.js → gh-WMxV_2.js} +1 -1
- package/.output/public/_nuxt/{Ce6e1mPk2.js → hCN555XP2.js} +1 -1
- package/.output/public/_nuxt/{rdUE8Khf.js → hZG5MLjK.js} +3 -3
- package/.output/public/_nuxt/{CcX_jP-d.js → hlfahYxK.js} +1 -1
- package/.output/public/_nuxt/{cGSl2GZp2.js → ilJHF1nA2.js} +1 -1
- package/.output/public/_nuxt/{D6ZcgHPz.js → jDuiDtGb.js} +1 -1
- package/.output/public/_nuxt/{DbeNMehP.js → k9b520K-.js} +1 -1
- package/.output/public/_nuxt/ontology.B_3Wn907.css +1 -0
- package/.output/public/_nuxt/optimizer.CLA8I1sy.css +1 -0
- package/.output/public/_nuxt/{DSORcpTJ.js → rDvMijKA.js} +2 -2
- package/.output/public/_nuxt/{CAiHhX8P2.js → rF7mggl72.js} +2 -2
- package/.output/public/_nuxt/ri9UF8rk.js +2 -0
- package/.output/public/_nuxt/{KgnxOsMr.js → toG_qAMH.js} +1 -1
- package/.output/public/_nuxt/{KQZmHR_K.js → u3h4pGpm.js} +2 -2
- package/.output/public/_nuxt/{dJ7gK7C2.js → uomnHjhM.js} +1 -1
- package/.output/public/_nuxt/{BUTg4W_x2.js → v77qozuJ2.js} +1 -1
- package/.output/public/_nuxt/{BcEr7tIB.js → v7cV7hJa.js} +1 -1
- package/.output/public/_nuxt/{D25dVZ822.js → vkQoYNQR2.js} +2 -2
- package/.output/public/_nuxt/{wR_w07322.js → vp3LtnTz2.js} +1 -1
- package/.output/public/_nuxt/{Bnc8HELj2.js → we7-sMSo2.js} +1 -1
- package/.output/public/_nuxt/{kN3ZzR1-.js → wxISMS1i.js} +1 -1
- package/.output/public/_nuxt/{DGrrucbG2.js → zy7efYKR.js} +1 -1
- package/.output/server/chunks/_/access.mjs +1 -1
- package/.output/server/chunks/_/binding-authz.mjs +1 -1
- package/.output/server/chunks/_/catalog-view.mjs +1 -1
- package/.output/server/chunks/_/character-asset.repo.mjs +1 -1
- package/.output/server/chunks/_/chart-repo.mjs +1 -1
- package/.output/server/chunks/_/dashboard-repo.mjs +1 -1
- package/.output/server/chunks/_/data-export.mjs +6 -6
- package/.output/server/chunks/_/data-query.mjs +3 -3
- package/.output/server/chunks/_/eda-run.repo.mjs +2 -2
- package/.output/server/chunks/_/entity.mjs +1 -1
- package/.output/server/chunks/_/features.mjs +5 -5
- package/.output/server/chunks/_/golden.mjs +3 -3
- package/.output/server/chunks/_/host-bindings.mjs +1 -1
- package/.output/server/chunks/_/index.mjs +1 -1
- package/.output/server/chunks/_/mes-console.mjs +1 -1
- package/.output/server/chunks/_/nitro.mjs +7291 -3540
- package/.output/server/chunks/_/nitro.mjs.map +1 -1
- package/.output/server/chunks/_/ocap.mjs +1 -1
- package/.output/server/chunks/_/rest-auth.mjs +1 -1
- package/.output/server/chunks/_/scene-layout.repo.mjs +1 -1
- package/.output/server/chunks/_/spc.mjs +2 -2
- package/.output/server/chunks/build/TownView-BWMDbosY.mjs +1 -1
- package/.output/server/chunks/build/{_wsId_-BNKrrV1H.mjs → _wsId_-BPy-Aj9L.mjs} +3 -3
- package/.output/server/chunks/build/{_wsId_-BNKrrV1H.mjs.map → _wsId_-BPy-Aj9L.mjs.map} +1 -1
- package/.output/server/chunks/build/{agents-8tV9xL97.mjs → agents-CpNLdI8E.mjs} +6 -6
- package/.output/server/chunks/build/{agents-8tV9xL97.mjs.map → agents-CpNLdI8E.mjs.map} +1 -1
- package/.output/server/chunks/build/{aml-BNTEDOsl.mjs → aml-DRAFRcGU.mjs} +15 -12
- package/.output/server/chunks/build/{aml-BNTEDOsl.mjs.map → aml-DRAFRcGU.mjs.map} +1 -1
- package/.output/server/chunks/build/api-BEW_ebY_.mjs +64 -0
- package/.output/server/chunks/build/api-BEW_ebY_.mjs.map +1 -0
- package/.output/server/chunks/build/{channel-templates-Iot9Y3vV.mjs → channel-templates-ByHOQQkO.mjs} +2 -2
- package/.output/server/chunks/build/{channel-templates-Iot9Y3vV.mjs.map → channel-templates-ByHOQQkO.mjs.map} +1 -1
- package/.output/server/chunks/build/daq-CdxcfY_G.mjs +1 -1
- package/.output/server/chunks/build/dcw-BlDQtS4q.mjs +1 -1
- package/.output/server/chunks/build/{default-BeB88U7y.mjs → default-CNWS6NUw.mjs} +17 -11
- package/.output/server/chunks/build/{default-BeB88U7y.mjs.map → default-CNWS6NUw.mjs.map} +1 -1
- package/.output/server/chunks/build/{dropdown-CjwsxU39.mjs → dropdown-BNwTVGde.mjs} +2 -2
- package/.output/server/chunks/build/{dropdown-CjwsxU39.mjs.map → dropdown-BNwTVGde.mjs.map} +1 -1
- package/.output/server/chunks/build/{dropdown-C6YH_kSO.mjs → dropdown-Cd-xPhR6.mjs} +2 -2
- package/.output/server/chunks/build/{dropdown-C6YH_kSO.mjs.map → dropdown-Cd-xPhR6.mjs.map} +1 -1
- package/.output/server/chunks/build/input-number-BNlNDK7H.mjs +1 -1
- package/.output/server/chunks/build/{logs-BTfJQ6vQ.mjs → logs-pRb-TMWa.mjs} +3 -3
- package/.output/server/chunks/build/{logs-BTfJQ6vQ.mjs.map → logs-pRb-TMWa.mjs.map} +1 -1
- package/.output/server/chunks/build/{monitor-DvaR3yo8.mjs → monitor-Cq6hRFeQ.mjs} +6 -6
- package/.output/server/chunks/build/{monitor-DvaR3yo8.mjs.map → monitor-Cq6hRFeQ.mjs.map} +1 -1
- package/.output/server/chunks/build/ontology-DK0Mf0zT.mjs +1406 -0
- package/.output/server/chunks/build/ontology-DK0Mf0zT.mjs.map +1 -0
- package/.output/server/chunks/build/{operations-Cl8nVm9D.mjs → operations-SMQrRAcr.mjs} +3 -3
- package/.output/server/chunks/build/{operations-Cl8nVm9D.mjs.map → operations-SMQrRAcr.mjs.map} +1 -1
- package/.output/server/chunks/build/optimizer-BlWTsM-W.mjs +202 -0
- package/.output/server/chunks/build/optimizer-BlWTsM-W.mjs.map +1 -0
- package/.output/server/chunks/build/{pagination-KaIvHBzi.mjs → pagination-DTAconUo.mjs} +2 -2
- package/.output/server/chunks/build/{pagination-KaIvHBzi.mjs.map → pagination-DTAconUo.mjs.map} +1 -1
- package/.output/server/chunks/build/{permissions-CVTfixZj.mjs → permissions-DgXQZSyx.mjs} +6 -6
- package/.output/server/chunks/build/{permissions-CVTfixZj.mjs.map → permissions-DgXQZSyx.mjs.map} +1 -1
- package/.output/server/chunks/build/{schedules-BLhn2CLn.mjs → schedules-dSnr8url.mjs} +6 -6
- package/.output/server/chunks/build/{schedules-BLhn2CLn.mjs.map → schedules-dSnr8url.mjs.map} +1 -1
- package/.output/server/chunks/build/{select--XFl7CtY.mjs → select-B3Dsb9yq.mjs} +3 -3
- package/.output/server/chunks/build/{select--XFl7CtY.mjs.map → select-B3Dsb9yq.mjs.map} +1 -1
- package/.output/server/chunks/build/{settings-DIf_iYdu.mjs → settings-BrIhnS2Z.mjs} +2 -2
- package/.output/server/chunks/build/{settings-DIf_iYdu.mjs.map → settings-BrIhnS2Z.mjs.map} +1 -1
- package/.output/server/chunks/build/{table-DIu_YCJN.mjs → table-CmVD-cA9.mjs} +4 -4
- package/.output/server/chunks/build/{table-DIu_YCJN.mjs.map → table-CmVD-cA9.mjs.map} +1 -1
- package/.output/server/chunks/build/{teams-B2J6ouRY.mjs → teams-B1d32eHK.mjs} +4 -4
- package/.output/server/chunks/build/{teams-B2J6ouRY.mjs.map → teams-B1d32eHK.mjs.map} +1 -1
- package/.output/server/chunks/build/{tokens-DFQGaN2n.mjs → tokens-GYaGJ35Z.mjs} +6 -6
- package/.output/server/chunks/build/{tokens-DFQGaN2n.mjs.map → tokens-GYaGJ35Z.mjs.map} +1 -1
- package/.output/server/chunks/build/{tools-DWJFnU_t.mjs → tools-s_9U1Djj.mjs} +6 -6
- package/.output/server/chunks/build/{tools-DWJFnU_t.mjs.map → tools-s_9U1Djj.mjs.map} +1 -1
- package/.output/server/chunks/build/types-D6J7slEa.mjs +6 -2
- package/.output/server/chunks/build/useDaqAddNode-D_Rkju0f.mjs +1 -1
- package/.output/server/chunks/build/useDaqDetailNode-DeOsDxK5.mjs +1 -1
- package/.output/server/chunks/build/useDaqDetailParams-Cm9a9r5G.mjs +1 -1
- package/.output/server/chunks/build/useDaqFilters-CctmO03p.mjs +1 -1
- package/.output/server/chunks/build/useDaqStream-B9ZBVQrI.mjs +1 -1
- package/.output/server/chunks/build/useDaqTemplates-CK37sMfi.mjs +1 -1
- package/.output/server/chunks/build/useDcwAddNode-DACVcEHs.mjs +1 -1
- package/.output/server/chunks/build/useDcwStream-Dir5ufAU.mjs +1 -1
- package/.output/server/chunks/build/{users-BWw0VCr9.mjs → users-DjiVC_tS.mjs} +6 -6
- package/.output/server/chunks/build/{users-BWw0VCr9.mjs.map → users-DjiVC_tS.mjs.map} +1 -1
- package/.output/server/chunks/routes/api/mcp/workshop.mjs +1 -1
- package/.output/server/chunks/routes/api/system/backup/run.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs +17 -4
- package/.output/server/chunks/routes/api/workshop/agent-tools/approvals/_id/decide.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/grant.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/bindings/revoke.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/invoke.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/agent-tools/list.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id/preview.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/datasets/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/env/recheck.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/env/uv.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/env/venv.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index3.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index3.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index4.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index5.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index6.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/index7.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/cancel.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/logs.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id/retry.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/jobs/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/models/_id/predict.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/models/_id/promote.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/models/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs +8 -2
- package/.output/server/chunks/routes/api/workshop/aml/models/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id/train.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/training-plans/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/aml/twin/providers.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/analysis/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/analysis/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/analysis/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/approvals/_id/decide.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/assets/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channel-templates/_id/instantiate.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/channels/_id/activate.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/chat/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index2.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index3.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index4.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/index5.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/line.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/members/join.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/terminals.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/tools/reset.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/_id/twin-profile.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/channels.post.mjs +7 -7
- package/.output/server/chunks/routes/api/workshop/daq/_id/bind.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/bindings.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames/content.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/frames.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/ingest.post.mjs +2 -2
- package/.output/server/chunks/routes/api/workshop/daq/_id/samples.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id/test.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/alarms/_id/ack.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/alarms.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/controller.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/export/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/infra/reconnect.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/infra.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/templates/_key_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/daq/test-driver.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bind.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/bindings.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/param-ledger.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/read.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/test.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id/write.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/controller.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index2.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index3.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index3.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index4.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index4.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index5.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index5.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index6.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/index7.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/journal/node/_nodeId/rollback.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/line/query.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/start.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id/stop.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/lines/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/mes-artifacts/file.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/mes-hook-test.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/mes-test-read.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/judge.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/rollback.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id/series.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/optimizations/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id/read.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id/write.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/params/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/products/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/apply.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/mark-good.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/revert.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/rollback-good.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id/versions.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/recipes/index.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/close.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/data.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/runs/_id/rollback.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/templates/_key_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/dcw/test-driver.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id/control.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id/telemetry.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/device-twins/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/commonality.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/features/run.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index3.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index6.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/index6.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/runs/_id/labels.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/runs.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/eda/vm/predict.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/exp/confirmations/_id/decide.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/exp/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/fs/dirs.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/harnesses/_id/providers.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/harnesses.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/hitl/pending.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/hitl/respond.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index.mjs +62 -0
- package/.output/server/chunks/routes/api/workshop/index.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/index.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index10.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index11.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index12.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index3.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index4.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index5.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index6.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index6.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index7.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/index8.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/mes/datasets.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/mes/preview.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/autofix.mjs +52 -0
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/autofix.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/compile.mjs +54 -0
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/compile.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/evidence.mjs +51 -0
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/evidence.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/publish.mjs +67 -0
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/publish.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/approval-decision.mjs +49 -0
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/approval-decision.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/approval.mjs +35 -0
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/approval.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/transition.mjs +49 -0
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/rules/_ruleId/transition.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/subgraph.mjs +38 -0
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/subgraph.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/validate.mjs +35 -0
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId/validate.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId_.mjs +70 -0
- package/.output/server/chunks/routes/api/workshop/ontology/drafts/_draftId_.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/ontology/export/_ontologyId_.mjs +64 -0
- package/.output/server/chunks/routes/api/workshop/ontology/export/_ontologyId_.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/ontology/index.mjs +44 -0
- package/.output/server/chunks/routes/api/workshop/ontology/index.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/ontology/scene.mjs +43 -0
- package/.output/server/chunks/routes/api/workshop/ontology/scene.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/ontology/traces/_ontologyId_.mjs +38 -0
- package/.output/server/chunks/routes/api/workshop/ontology/traces/_ontologyId_.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/ontology/versions/_ontologyId/compare.mjs +40 -0
- package/.output/server/chunks/routes/api/workshop/ontology/versions/_ontologyId/compare.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/ontology/versions/_ontologyId_.mjs +63 -0
- package/.output/server/chunks/routes/api/workshop/ontology/versions/_ontologyId_.mjs.map +1 -0
- package/.output/server/chunks/routes/api/workshop/optimization/capabilities.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/optimization/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/optimization/index.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/optimization/index2.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/optimization/profiles/_id/publish.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/crosscheck.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/optimization/recommendations/_id/dispatch.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/optimization/solve.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/plugins/_name/disable.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/plugins/_name/enable.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/process-model/datasets.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/process-model/eligibility.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/process-model/experiments.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/process-model/index.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/process-model/specs/_id/publish.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/process-model/train.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/scene/layouts/_channelId_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/deploy.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/index.put.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/teams/_id/index2.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tools/_name_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/tools/sync.post.mjs +1 -1
- package/.output/server/chunks/routes/api/workshop/workspaces/_id/channel-templates/_tplId_.post.mjs +2 -2
- package/.output/server/chunks/routes/renderer.mjs +2 -2
- package/.output/server/chunks/virtual/entry.mjs +323 -18
- package/.output/server/chunks/virtual/precomputed.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/README-zh.md +28 -6
- package/README.md +26 -4
- package/app/components/AppSidebar.vue +1 -0
- package/app/components/aml/AmlModelsTable.vue +5 -0
- package/app/components/ontology/OntologyGraph.vue +356 -0
- package/app/pages/aml/styles.css +1 -0
- package/app/pages/ontology/api.ts +18 -0
- package/app/pages/ontology/index.vue +1062 -0
- package/app/pages/ontology/types.ts +164 -0
- package/app/pages/optimizer/index.vue +21 -4
- package/config.yml +1 -1
- package/docs/cli.en.md +2 -2
- package/docs/cli.md +2 -2
- package/docs/plugins.en.md +1 -1
- package/docs/plugins.md +1 -1
- package/docs/sdk.en.md +1 -1
- package/docs/sdk.md +1 -1
- package/i18n/locales/en.ts +84 -0
- package/i18n/locales/zh-CN.ts +84 -0
- package/mcp/aw-mcp-server.mjs +53 -1
- package/package.json +1 -1
- package/scripts/docs-shots.mjs +36 -0
- package/scripts/e2e-direct-rest-simulator-paper.mjs +624 -0
- package/scripts/e2e-idd-results.mjs +177 -0
- package/scripts/e2e-model-loop-live.mjs +785 -0
- package/scripts/e2e-ontology-live.mjs +909 -0
- package/scripts/e2e-ontology.mjs +393 -0
- package/scripts/e2e-pi-simulator-paper.mjs +2316 -0
- package/scripts/e2e-registered-harness-simulator-paper.mjs +1926 -0
- package/scripts/e2e-simulator-optimizer-paper.mjs +264 -0
- package/scripts/fixtures/omp-paper-harness.mjs +163 -0
- package/scripts/ontology-idd-rag-e2e.mjs +449 -0
- package/sdk/context.mjs +6 -0
- package/sdk/index.d.mts +2 -0
- package/server/api/workshop/agent-tools/approvals/[id]/decide.post.ts +16 -0
- package/server/api/workshop/aml/models/[id].patch.ts +36 -30
- package/server/api/workshop/ontology/drafts/[draftId]/autofix.ts +31 -0
- package/server/api/workshop/ontology/drafts/[draftId]/compile.ts +39 -0
- package/server/api/workshop/ontology/drafts/[draftId]/evidence.ts +33 -0
- package/server/api/workshop/ontology/drafts/[draftId]/publish.ts +44 -0
- package/server/api/workshop/ontology/drafts/[draftId]/rules/[ruleId]/approval-decision.ts +28 -0
- package/server/api/workshop/ontology/drafts/[draftId]/rules/[ruleId]/approval.ts +17 -0
- package/server/api/workshop/ontology/drafts/[draftId]/rules/[ruleId]/transition.ts +32 -0
- package/server/api/workshop/ontology/drafts/[draftId]/subgraph.ts +24 -0
- package/server/api/workshop/ontology/drafts/[draftId]/validate.ts +16 -0
- package/server/api/workshop/ontology/drafts/[draftId].ts +52 -0
- package/server/api/workshop/ontology/drafts/index.ts +20 -0
- package/server/api/workshop/ontology/export/[ontologyId].ts +50 -0
- package/server/api/workshop/ontology/index.ts +38 -0
- package/server/api/workshop/ontology/scene.ts +34 -0
- package/server/api/workshop/ontology/traces/[ontologyId].ts +19 -0
- package/server/api/workshop/ontology/versions/[ontologyId]/compare.ts +21 -0
- package/server/api/workshop/ontology/versions/[ontologyId].ts +42 -0
- package/server/plugins-builtin/diag-bridge/client.mjs +390 -239
- package/server/plugins-builtin/diag-bridge/host/helpers.mjs +80 -0
- package/server/plugins-builtin/diag-bridge/host/plugin.mjs +264 -2
- package/server/plugins-builtin/diag-bridge/i18n.json +84 -4
- package/server/services/workshop/agents/adapters/omp-rpc-client/frames.ts +129 -111
- package/server/services/workshop/agents/hitl-decision/dispatcher.ts +15 -0
- package/server/services/workshop/agents/host-tool-bridge/tools/industrial.ts +17 -2
- package/server/services/workshop/agents/industrial/aml-job-tools.ts +602 -569
- package/server/services/workshop/agents/industrial/grant-guard.ts +73 -0
- package/server/services/workshop/agents/industrial/index.ts +38 -32
- package/server/services/workshop/agents/industrial/ontology-tools.ts +380 -0
- package/server/services/workshop/agents/industrial/ops-tools.ts +54 -16
- package/server/services/workshop/agents/industrial/optimizer-tools.ts +81 -0
- package/server/services/workshop/agents/industrial/recipe-gate.ts +19 -6
- package/server/services/workshop/agents/industrial/recipe-propose-tools.ts +1 -1
- package/server/services/workshop/agents/industrial/tool-verify.ts +32 -2
- package/server/services/workshop/agents/omp-agent/supervision-history.ts +38 -0
- package/server/services/workshop/agents/omp-agent/tools-steer.ts +18 -1
- package/server/services/workshop/agents/tool-reference-spec.ts +1 -1
- package/server/services/workshop/aml/aml.repo.ts +16 -0
- package/server/services/workshop/aml/twin/physics-spec.ts +6 -22
- package/server/services/workshop/daq/bus/index.ts +12 -5
- package/server/services/workshop/daq/storage/index.ts +6 -5
- package/server/services/workshop/daq/storage/sqlite.adapter.ts +25 -13
- package/server/services/workshop/db/database/open.ts +97 -95
- package/server/services/workshop/db/database/schema.ts +156 -1
- package/server/services/workshop/ontology/autofix.ts +198 -0
- package/server/services/workshop/ontology/compiler.ts +474 -0
- package/server/services/workshop/ontology/contracts.ts +443 -0
- package/server/services/workshop/ontology/guards.ts +139 -0
- package/server/services/workshop/ontology/index.ts +12 -0
- package/server/services/workshop/ontology/ontology.service.ts +938 -0
- package/server/services/workshop/ontology/repo.ts +449 -0
- package/server/services/workshop/ontology/semantic-binding.service.ts +226 -0
- package/server/services/workshop/ontology/subgraph.core.ts +300 -0
- package/server/services/workshop/ontology/subgraph.service.ts +113 -0
- package/server/services/workshop/ontology/validator.ts +218 -0
- package/server/services/workshop/optimization/binding.repo.ts +7 -0
- package/server/services/workshop/optimization/contracts.ts +16 -0
- package/server/services/workshop/optimization/dispatch.service.ts +16 -0
- package/server/services/workshop/optimization/profile-adopt.service.ts +261 -0
- package/server/services/workshop/optimization/profile.repo.ts +24 -6
- package/server/services/workshop/optimization/python/__pycache__/problems.cpython-312.pyc +0 -0
- package/shared/dimensions.ts +124 -0
- package/.output/public/_nuxt/B3Y5bCrM.js +0 -1
- package/.output/public/_nuxt/B7s2qeyT.js +0 -14
- package/.output/public/_nuxt/B8N8nsad2.js +0 -2
- package/.output/public/_nuxt/BO0BJx3w.js +0 -8
- package/.output/public/_nuxt/BWn-lfCp2.js +0 -1
- package/.output/public/_nuxt/Bcs9zzO62.js +0 -1
- package/.output/public/_nuxt/BwO2Y5FH2.js +0 -1
- package/.output/public/_nuxt/C-LU6xv_.js +0 -1
- package/.output/public/_nuxt/CJ0bjZ6v2.js +0 -1
- package/.output/public/_nuxt/CJ3Vul2u.js +0 -1
- package/.output/public/_nuxt/CNwx04ln.js +0 -84
- package/.output/public/_nuxt/CVCscYzb2.js +0 -1
- package/.output/public/_nuxt/C_A0MCol2.js +0 -1
- package/.output/public/_nuxt/CnP6snIz.js +0 -3
- package/.output/public/_nuxt/D3buuIkE.js +0 -1
- package/.output/public/_nuxt/D4_INWgq.js +0 -1
- package/.output/public/_nuxt/D5kCimyw.js +0 -1
- package/.output/public/_nuxt/DBtXLkyA.js +0 -1
- package/.output/public/_nuxt/DHURbGkn2.js +0 -1
- package/.output/public/_nuxt/DaBzS-iu.js +0 -1
- package/.output/public/_nuxt/DnlhV7Xe.js +0 -1
- package/.output/public/_nuxt/GtI6PUI32.js +0 -1
- package/.output/public/_nuxt/LHIav-Kv.js +0 -1
- package/.output/public/_nuxt/Nw_6OpQZ.js +0 -1
- package/.output/public/_nuxt/RuMLNeQE.js +0 -1
- package/.output/public/_nuxt/Y4sMSPrS.js +0 -1
- package/.output/public/_nuxt/aml.CeLxRzvI.css +0 -1
- package/.output/public/_nuxt/builds/meta/0ae8cb0f-6ce5-4096-9692-9b1fc197b30d.json +0 -1
- package/.output/public/_nuxt/goF_oZHF.js +0 -2
- package/.output/public/_nuxt/optimizer.B8gCbU1b.css +0 -1
- package/.output/public/_nuxt/rJ7To74v2.js +0 -1
- package/.output/server/chunks/build/optimizer-BOtGWEtc.mjs +0 -200
- package/.output/server/chunks/build/optimizer-BOtGWEtc.mjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{S as e,v as t}from"./CavpkQb0.js";import{P as n,S as r,b as i,d as a,et as o}from"./ByMj6e7s.js";import{$ as s,Mt as c,Tt as l,V as u,Z as d,d as f,g as p,h as m,jt as h,n as g,nt as _,t as v,tt as y}from"./C2YYOgMe.js";import{_ as b,a as x,c as S,g as C,i as w,l as T,n as E,r as D,s as O,t as k,y as A}from"./DrF3TWoj.js";import{G as j,X as M,a as N,d as P,i as F,m as I,rt as L,t as R}from"./CNwx04ln.js";import{a as z}from"./DnzjxC0u.js";import{i as B,n as V,r as H}from"./DKiqdYnj.js";var U={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z`}}]},name:`up`,theme:`outlined`};function W(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){G(e,t,n[t])})}return e}function G(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var K=function(e,t){var n=W({},e,t.attrs);return i(P,W({},n,{icon:U}),null)};K.displayName=`UpOutlined`,K.inheritAttrs=!1;function q(){return typeof BigInt==`function`}function J(e){let t=e.trim(),n=t.startsWith(`-`);n&&(t=t.slice(1)),t=t.replace(/(\.\d*[^0])0*$/,`$1`).replace(/\.0*$/,``).replace(/^0+/,``),t.startsWith(`.`)&&(t=`0${t}`);let r=t||`0`,i=r.split(`.`),a=i[0]||`0`,o=i[1]||`0`;a===`0`&&o===`0`&&(n=!1);let s=n?`-`:``;return{negative:n,negativeStr:s,trimStr:r,integerStr:a,decimalStr:o,fullStr:`${s}${r}`}}function Y(e){let t=String(e);return!Number.isNaN(Number(t))&&t.includes(`e`)}function X(e){let t=String(e);if(Y(e)){let e=Number(t.slice(t.indexOf(`e-`)+2)),n=t.match(/\.(\d+)/);return n?.[1]&&(e+=n[1].length),e}return t.includes(`.`)&&Q(t)?t.length-t.indexOf(`.`)-1:0}function Z(e){let t=String(e);if(Y(e)){if(e>2**53-1)return String(q()?BigInt(e).toString():2**53-1);if(e<-(2**53-1))return String(q()?BigInt(e).toString():-(2**53-1));t=e.toFixed(X(t))}return J(t).fullStr}function Q(e){return typeof e==`number`?!Number.isNaN(e):e?/^\s*-?\d+(\.\d+)?\s*$/.test(e)||/^\s*-?\d+\.\s*$/.test(e)||/^\s*-?\.\d+\s*$/.test(e):!1}function ee(e){return!e&&e!==0&&!Number.isNaN(e)||!String(e).trim()}var te=class e{constructor(e){if(this.origin=``,ee(e)){this.empty=!0;return}this.origin=String(e),this.number=Number(e)}negate(){return new e(-this.toNumber())}add(t){if(this.isInvalidate())return new e(t);let n=Number(t);if(Number.isNaN(n))return this;let r=this.number+n;if(r>2**53-1)return new e(2**53-1);if(r<-(2**53-1))return new e(-(2**53-1));let i=Math.max(X(this.number),X(n));return new e(r.toFixed(i))}isEmpty(){return this.empty}isNaN(){return Number.isNaN(this.number)}isInvalidate(){return this.isEmpty()||this.isNaN()}equals(e){return this.toNumber()===e?.toNumber()}lessEquals(e){return this.add(e.negate().toString()).toNumber()<=0}toNumber(){return this.number}toString(){return!(arguments.length>0&&arguments[0]!==void 0)||arguments[0]?this.isInvalidate()?``:Z(this.number):this.origin}},ne=class e{constructor(e){if(this.origin=``,ee(e)){this.empty=!0;return}if(this.origin=String(e),e===`-`||Number.isNaN(e)){this.nan=!0;return}let t=e;if(Y(t)&&(t=Number(t)),t=typeof t==`string`?t:Z(t),Q(t)){let e=J(t);this.negative=e.negative;let n=e.trimStr.split(`.`);this.integer=BigInt(n[0]);let r=n[1]||`0`;this.decimal=BigInt(r),this.decimalLen=r.length}else this.nan=!0}getMark(){return this.negative?`-`:``}getIntegerStr(){return this.integer.toString()}getDecimalStr(){return this.decimal.toString().padStart(this.decimalLen,`0`)}alignDecimal(e){let t=`${this.getMark()}${this.getIntegerStr()}${this.getDecimalStr().padEnd(e,`0`)}`;return BigInt(t)}negate(){let t=new e(this.toString());return t.negative=!t.negative,t}add(t){if(this.isInvalidate())return new e(t);let n=new e(t);if(n.isInvalidate())return this;let r=Math.max(this.getDecimalStr().length,n.getDecimalStr().length),{negativeStr:i,trimStr:a}=J((this.alignDecimal(r)+n.alignDecimal(r)).toString()),o=`${i}${a.padStart(r+1,`0`)}`;return new e(`${o.slice(0,-r)}.${o.slice(-r)}`)}isEmpty(){return this.empty}isNaN(){return this.nan}isInvalidate(){return this.isEmpty()||this.isNaN()}equals(e){return this.toString()===e?.toString()}lessEquals(e){return this.add(e.negate().toString()).toNumber()<=0}toNumber(){return this.isNaN()?NaN:Number(this.toString())}toString(){return!(arguments.length>0&&arguments[0]!==void 0)||arguments[0]?this.isInvalidate()?``:J(`${this.getMark()}${this.getIntegerStr()}.${this.getDecimalStr()}`).fullStr:this.origin}};function $(e){return q()?new ne(e):new te(e)}function re(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(e===``)return``;let{negativeStr:i,integerStr:a,decimalStr:o}=J(e),s=`${t}${o}`,c=`${i}${a}`;if(n>=0){let a=Number(o[n]);return a>=5&&!r?re($(e).add(`${i}0.${`0`.repeat(n)}${10-a}`).toString(),t,n,r):n===0?c:`${c}${t}${o.padEnd(n,`0`).slice(0,n)}`}return s===`.0`?c:`${c}${s}`}var ie=200,ae=600,oe=r({compatConfig:{MODE:3},name:`StepHandler`,inheritAttrs:!1,props:{prefixCls:String,upDisabled:Boolean,downDisabled:Boolean,onStep:s()},slots:Object,setup(e,r){let{slots:a,emit:o}=r,s=t(),u=(e,t)=>{e.preventDefault(),o(`step`,t);function n(){o(`step`,t),s.value=setTimeout(n,ie)}s.value=setTimeout(n,ae)},d=()=>{clearTimeout(s.value)};return n(()=>{d()}),()=>{if(A())return null;let{prefixCls:t,upDisabled:n,downDisabled:r}=e,o=`${t}-handler`,s=l(o,`${o}-up`,{[`${o}-up-disabled`]:n}),f=l(o,`${o}-down`,{[`${o}-down-disabled`]:r}),p={unselectable:`on`,role:`button`,onMouseup:d,onMouseleave:d},{upNode:m,downNode:h}=a;return i(`div`,{class:`${o}-wrap`},[i(`span`,c(c({},p),{},{onMousedown:e=>{u(e,!0)},"aria-label":`Increase Value`,"aria-disabled":n,class:s}),[m?.()||i(`span`,{unselectable:`on`,class:`${t}-handler-up-inner`},null)]),i(`span`,c(c({},p),{},{onMousedown:e=>{u(e,!1)},"aria-label":`Decrease Value`,"aria-disabled":r,class:f}),[h?.()||i(`span`,{unselectable:`on`,class:`${t}-handler-down-inner`},null)])])}}});function se(e,n){let r=t(null);function i(){try{let{selectionStart:t,selectionEnd:n,value:i}=e.value,a=i.substring(0,t),o=i.substring(n);r.value={start:t,end:n,value:i,beforeTxt:a,afterTxt:o}}catch{}}function a(){if(e.value&&r.value&&n.value)try{let{value:t}=e.value,{beforeTxt:n,afterTxt:i,start:a}=r.value,o=t.length;if(t.endsWith(i))o=t.length-r.value.afterTxt.length;else if(t.startsWith(n))o=n.length;else{let e=n[a-1],r=t.indexOf(e,a-1);r!==-1&&(o=r+1)}e.value.setSelectionRange(o,o)}catch(e){`${e.message}`}}return[i,a]}var ce=(()=>{let t=e(0),r=()=>{L.cancel(t.value)};return n(()=>{r()}),e=>{r(),t.value=L(()=>{e()})}}),le=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},ue=(e,t)=>e||t.isEmpty()?t.toString():t.toNumber(),de=e=>{let t=$(e);return t.isInvalidate()?null:t},fe=()=>({stringMode:d(),defaultValue:y([String,Number]),value:y([String,Number]),prefixCls:_(),min:y([String,Number]),max:y([String,Number]),step:y([String,Number],1),tabindex:Number,controls:d(!0),readonly:d(),disabled:d(),autofocus:d(),keyboard:d(!0),parser:s(),formatter:s(),precision:Number,decimalSeparator:String,onInput:s(),onChange:s(),onPressEnter:s(),onStep:s(),onBlur:s(),onFocus:s()}),pe=r({compatConfig:{MODE:3},name:`InnerInputNumber`,inheritAttrs:!1,props:h(h({},fe()),{lazy:Boolean}),slots:Object,setup(t,n){let{attrs:r,slots:s,emit:u,expose:d}=n,f=e(),p=e(!1),m=e(!1),g=e(!1),_=e($(t.value));function v(e){t.value===void 0&&(_.value=e)}let y=(e,n)=>{if(!n)return t.precision>=0?t.precision:Math.max(X(e),X(t.step))},b=e=>{let n=String(e);if(t.parser)return t.parser(n);let r=n;return t.decimalSeparator&&(r=r.replace(t.decimalSeparator,`.`)),r.replace(/[^\w.-]+/g,``)},x=e(``),S=(e,n)=>{if(t.formatter)return t.formatter(e,{userTyping:n,input:String(x.value)});let r=typeof e==`number`?Z(e):e;if(!n){let e=y(r,n);if(Q(r)&&(t.decimalSeparator||e>=0)){let n=t.decimalSeparator||`.`;r=re(r,n,e)}}return r};x.value=(()=>{let e=t.value;return _.value.isInvalidate()&&[`string`,`number`].includes(typeof e)?Number.isNaN(e)?``:e:S(_.value.toString(),!1)})();function C(e,t){x.value=S(e.isInvalidate()?e.toString(!1):e.toString(!t),t)}let w=a(()=>de(t.max)),T=a(()=>de(t.min)),E=a(()=>!w.value||!_.value||_.value.isInvalidate()?!1:w.value.lessEquals(_.value)),D=a(()=>!T.value||!_.value||_.value.isInvalidate()?!1:_.value.lessEquals(T.value)),[O,k]=se(f,p),A=e=>w.value&&!e.lessEquals(w.value)?w.value:T.value&&!T.value.lessEquals(e)?T.value:null,j=e=>!A(e),M=(e,n)=>{var r;let i=e,a=j(i)||i.isEmpty();if(!i.isEmpty()&&!n&&(i=A(i)||i,a=!0),!t.readonly&&!t.disabled&&a){let e=i.toString(),a=y(e,n);return a>=0&&(i=$(re(e,`.`,a))),i.equals(_.value)||(v(i),(r=t.onChange)==null||r.call(t,i.isEmpty()?null:ue(t.stringMode,i)),t.value===void 0&&C(i,n)),i}return _.value},N=ce(),P=e=>{var n;if(O(),x.value=e,!g.value){let t=$(b(e));t.isNaN()||M(t,!0)}(n=t.onInput)==null||n.call(t,e),N(()=>{let n=e;t.parser||(n=e.replace(/。/g,`.`)),n!==e&&P(n)})},F=()=>{g.value=!0},L=()=>{g.value=!1,P(f.value.value)},R=e=>{P(e.target.value)},z=e=>{var n,r;if(e&&E.value||!e&&D.value)return;m.value=!1;let i=$(t.step);e||(i=i.negate());let a=(_.value||$(0)).add(i.toString()),o=M(a,!1);(n=t.onStep)==null||n.call(t,ue(t.stringMode,o),{offset:t.step,type:e?`up`:`down`}),(r=f.value)==null||r.focus()},B=e=>{let n=$(b(x.value)),r=n;r=n.isNaN()?_.value:M(n,e),t.value===void 0?r.isNaN()||C(r,!1):C(_.value,!1)},V=()=>{m.value=!0},H=e=>{var n;let{which:r}=e;m.value=!0,r===I.ENTER&&(g.value||(m.value=!1),B(!1),(n=t.onPressEnter)==null||n.call(t,e)),t.keyboard!==!1&&!g.value&&[I.UP,I.DOWN].includes(r)&&(z(I.UP===r),e.preventDefault())},U=()=>{m.value=!1},W=e=>{B(!1),p.value=!1,m.value=!1,u(`blur`,e)};return o(()=>t.precision,()=>{_.value.isInvalidate()||C(_.value,!1)},{flush:`post`}),o(()=>t.value,()=>{let e=$(t.value);_.value=e;let n=$(b(x.value));(!e.equals(n)||!m.value||t.formatter)&&C(e,m.value)},{flush:`post`}),o(x,()=>{t.formatter&&k()},{flush:`post`}),o(()=>t.disabled,e=>{e&&(p.value=!1)}),d({focus:()=>{var e;(e=f.value)==null||e.focus()},blur:()=>{var e;(e=f.value)==null||e.blur()}}),()=>{let e=h(h({},r),t),{prefixCls:n=`rc-input-number`,min:a,max:o,step:d=1,defaultValue:m,value:g,disabled:v,readonly:y,keyboard:b,controls:S=!0,autofocus:C,stringMode:w,parser:T,formatter:O,precision:k,decimalSeparator:A,onChange:M,onInput:N,onPressEnter:P,onStep:I,lazy:B,class:G,style:K}=e,q=le(e,[`prefixCls`,`min`,`max`,`step`,`defaultValue`,`value`,`disabled`,`readonly`,`keyboard`,`controls`,`autofocus`,`stringMode`,`parser`,`formatter`,`precision`,`decimalSeparator`,`onChange`,`onInput`,`onPressEnter`,`onStep`,`lazy`,`class`,`style`]),{upHandler:J,downHandler:Y}=s,X=`${n}-input`,Z={};return B?Z.onChange=R:Z.onInput=R,i(`div`,{class:l(n,G,{[`${n}-focused`]:p.value,[`${n}-disabled`]:v,[`${n}-readonly`]:y,[`${n}-not-a-number`]:_.value.isNaN(),[`${n}-out-of-range`]:!_.value.isInvalidate()&&!j(_.value)}),style:K,onKeydown:H,onKeyup:U},[S&&i(oe,{prefixCls:n,upDisabled:E.value,downDisabled:D.value,onStep:z},{upNode:J,downNode:Y}),i(`div`,{class:`${X}-wrap`},[i(`input`,c(c(c({autofocus:C,autocomplete:`off`,role:`spinbutton`,"aria-valuemin":a,"aria-valuemax":o,"aria-valuenow":_.value.isInvalidate()?null:_.value.toString(),step:d},q),{},{ref:f,class:X,value:x.value,disabled:v,readonly:y,onFocus:e=>{p.value=!0,u(`focus`,e)}},Z),{},{onBlur:W,onCompositionstart:F,onCompositionend:L,onBeforeinput:V}),null)])])}}});function me(e){return e!=null}var he=e=>{let{componentCls:t,lineWidth:n,lineType:r,colorBorder:i,borderRadius:a,fontSizeLG:o,controlHeightLG:s,controlHeightSM:c,colorError:l,inputPaddingHorizontalSM:u,colorTextDescription:d,motionDurationMid:f,colorPrimary:g,controlHeight:_,inputPaddingHorizontal:v,colorBgContainer:y,colorTextDisabled:b,borderRadiusSM:C,borderRadiusLG:T,controlWidth:A,handleVisible:j}=e;return[{[t]:h(h(h(h({},m(e)),E(e)),S(e,t)),{display:`inline-block`,width:A,margin:0,padding:0,border:`${n}px ${r} ${i}`,borderRadius:a,"&-rtl":{direction:`rtl`,[`${t}-input`]:{direction:`rtl`}},"&-lg":{padding:0,fontSize:o,borderRadius:T,[`input${t}-input`]:{height:s-2*n}},"&-sm":{padding:0,borderRadius:C,[`input${t}-input`]:{height:c-2*n,padding:`0 ${u}px`}},"&:hover":h({},w(e)),"&-focused":h({},k(e)),"&-disabled":h(h({},D(e)),{[`${t}-input`]:{cursor:`not-allowed`}}),"&-out-of-range":{input:{color:l}},"&-group":h(h(h({},m(e)),x(e)),{"&-wrapper":{display:`inline-block`,textAlign:`start`,verticalAlign:`top`,[`${t}-affix-wrapper`]:{width:`100%`},"&-lg":{[`${t}-group-addon`]:{borderRadius:T}},"&-sm":{[`${t}-group-addon`]:{borderRadius:C}}}}),[t]:{"&-input":h(h({width:`100%`,height:_-2*n,padding:`0 ${v}px`,textAlign:`start`,backgroundColor:`transparent`,border:0,borderRadius:a,outline:0,transition:`all ${f} linear`,appearance:`textfield`,color:e.colorText,fontSize:`inherit`,verticalAlign:`top`},O(e.colorTextPlaceholder)),{'&[type="number"]::-webkit-inner-spin-button, &[type="number"]::-webkit-outer-spin-button':{margin:0,webkitAppearance:`none`,appearance:`none`}})}})},{[t]:{[`&:hover ${t}-handler-wrap, &-focused ${t}-handler-wrap`]:{opacity:1},[`${t}-handler-wrap`]:{position:`absolute`,insetBlockStart:0,insetInlineEnd:0,width:e.handleWidth,height:`100%`,background:y,borderStartStartRadius:0,borderStartEndRadius:a,borderEndEndRadius:a,borderEndStartRadius:0,opacity:+(j===!0),display:`flex`,flexDirection:`column`,alignItems:`stretch`,transition:`opacity ${f} linear ${f}`,[`${t}-handler`]:{display:`flex`,alignItems:`center`,justifyContent:`center`,flex:`auto`,height:`40%`,[`
|
|
1
|
+
import{S as e,v as t}from"./CavpkQb0.js";import{P as n,S as r,b as i,d as a,tt as o}from"./C6lssmvl.js";import{$ as s,Mt as c,Tt as l,V as u,Z as d,d as f,g as p,h as m,jt as h,n as g,nt as _,t as v,tt as y}from"./CznnUTZx.js";import{_ as b,a as x,c as S,g as C,i as w,l as T,n as E,r as D,s as O,t as k,y as A}from"./KzK37yIr.js";import{G as j,X as M,a as N,d as P,i as F,m as I,rt as L,t as R}from"./CUCFFL9m.js";import{a as z}from"./CHk9XxNi.js";import{i as B,n as V,r as H}from"./CCcMgxV9.js";var U={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z`}}]},name:`up`,theme:`outlined`};function W(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){G(e,t,n[t])})}return e}function G(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var K=function(e,t){var n=W({},e,t.attrs);return i(P,W({},n,{icon:U}),null)};K.displayName=`UpOutlined`,K.inheritAttrs=!1;function q(){return typeof BigInt==`function`}function J(e){let t=e.trim(),n=t.startsWith(`-`);n&&(t=t.slice(1)),t=t.replace(/(\.\d*[^0])0*$/,`$1`).replace(/\.0*$/,``).replace(/^0+/,``),t.startsWith(`.`)&&(t=`0${t}`);let r=t||`0`,i=r.split(`.`),a=i[0]||`0`,o=i[1]||`0`;a===`0`&&o===`0`&&(n=!1);let s=n?`-`:``;return{negative:n,negativeStr:s,trimStr:r,integerStr:a,decimalStr:o,fullStr:`${s}${r}`}}function Y(e){let t=String(e);return!Number.isNaN(Number(t))&&t.includes(`e`)}function X(e){let t=String(e);if(Y(e)){let e=Number(t.slice(t.indexOf(`e-`)+2)),n=t.match(/\.(\d+)/);return n?.[1]&&(e+=n[1].length),e}return t.includes(`.`)&&Q(t)?t.length-t.indexOf(`.`)-1:0}function Z(e){let t=String(e);if(Y(e)){if(e>2**53-1)return String(q()?BigInt(e).toString():2**53-1);if(e<-(2**53-1))return String(q()?BigInt(e).toString():-(2**53-1));t=e.toFixed(X(t))}return J(t).fullStr}function Q(e){return typeof e==`number`?!Number.isNaN(e):e?/^\s*-?\d+(\.\d+)?\s*$/.test(e)||/^\s*-?\d+\.\s*$/.test(e)||/^\s*-?\.\d+\s*$/.test(e):!1}function ee(e){return!e&&e!==0&&!Number.isNaN(e)||!String(e).trim()}var te=class e{constructor(e){if(this.origin=``,ee(e)){this.empty=!0;return}this.origin=String(e),this.number=Number(e)}negate(){return new e(-this.toNumber())}add(t){if(this.isInvalidate())return new e(t);let n=Number(t);if(Number.isNaN(n))return this;let r=this.number+n;if(r>2**53-1)return new e(2**53-1);if(r<-(2**53-1))return new e(-(2**53-1));let i=Math.max(X(this.number),X(n));return new e(r.toFixed(i))}isEmpty(){return this.empty}isNaN(){return Number.isNaN(this.number)}isInvalidate(){return this.isEmpty()||this.isNaN()}equals(e){return this.toNumber()===e?.toNumber()}lessEquals(e){return this.add(e.negate().toString()).toNumber()<=0}toNumber(){return this.number}toString(){return!(arguments.length>0&&arguments[0]!==void 0)||arguments[0]?this.isInvalidate()?``:Z(this.number):this.origin}},ne=class e{constructor(e){if(this.origin=``,ee(e)){this.empty=!0;return}if(this.origin=String(e),e===`-`||Number.isNaN(e)){this.nan=!0;return}let t=e;if(Y(t)&&(t=Number(t)),t=typeof t==`string`?t:Z(t),Q(t)){let e=J(t);this.negative=e.negative;let n=e.trimStr.split(`.`);this.integer=BigInt(n[0]);let r=n[1]||`0`;this.decimal=BigInt(r),this.decimalLen=r.length}else this.nan=!0}getMark(){return this.negative?`-`:``}getIntegerStr(){return this.integer.toString()}getDecimalStr(){return this.decimal.toString().padStart(this.decimalLen,`0`)}alignDecimal(e){let t=`${this.getMark()}${this.getIntegerStr()}${this.getDecimalStr().padEnd(e,`0`)}`;return BigInt(t)}negate(){let t=new e(this.toString());return t.negative=!t.negative,t}add(t){if(this.isInvalidate())return new e(t);let n=new e(t);if(n.isInvalidate())return this;let r=Math.max(this.getDecimalStr().length,n.getDecimalStr().length),{negativeStr:i,trimStr:a}=J((this.alignDecimal(r)+n.alignDecimal(r)).toString()),o=`${i}${a.padStart(r+1,`0`)}`;return new e(`${o.slice(0,-r)}.${o.slice(-r)}`)}isEmpty(){return this.empty}isNaN(){return this.nan}isInvalidate(){return this.isEmpty()||this.isNaN()}equals(e){return this.toString()===e?.toString()}lessEquals(e){return this.add(e.negate().toString()).toNumber()<=0}toNumber(){return this.isNaN()?NaN:Number(this.toString())}toString(){return!(arguments.length>0&&arguments[0]!==void 0)||arguments[0]?this.isInvalidate()?``:J(`${this.getMark()}${this.getIntegerStr()}.${this.getDecimalStr()}`).fullStr:this.origin}};function $(e){return q()?new ne(e):new te(e)}function re(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0&&arguments[3];if(e===``)return``;let{negativeStr:i,integerStr:a,decimalStr:o}=J(e),s=`${t}${o}`,c=`${i}${a}`;if(n>=0){let a=Number(o[n]);return a>=5&&!r?re($(e).add(`${i}0.${`0`.repeat(n)}${10-a}`).toString(),t,n,r):n===0?c:`${c}${t}${o.padEnd(n,`0`).slice(0,n)}`}return s===`.0`?c:`${c}${s}`}var ie=200,ae=600,oe=r({compatConfig:{MODE:3},name:`StepHandler`,inheritAttrs:!1,props:{prefixCls:String,upDisabled:Boolean,downDisabled:Boolean,onStep:s()},slots:Object,setup(e,r){let{slots:a,emit:o}=r,s=t(),u=(e,t)=>{e.preventDefault(),o(`step`,t);function n(){o(`step`,t),s.value=setTimeout(n,ie)}s.value=setTimeout(n,ae)},d=()=>{clearTimeout(s.value)};return n(()=>{d()}),()=>{if(A())return null;let{prefixCls:t,upDisabled:n,downDisabled:r}=e,o=`${t}-handler`,s=l(o,`${o}-up`,{[`${o}-up-disabled`]:n}),f=l(o,`${o}-down`,{[`${o}-down-disabled`]:r}),p={unselectable:`on`,role:`button`,onMouseup:d,onMouseleave:d},{upNode:m,downNode:h}=a;return i(`div`,{class:`${o}-wrap`},[i(`span`,c(c({},p),{},{onMousedown:e=>{u(e,!0)},"aria-label":`Increase Value`,"aria-disabled":n,class:s}),[m?.()||i(`span`,{unselectable:`on`,class:`${t}-handler-up-inner`},null)]),i(`span`,c(c({},p),{},{onMousedown:e=>{u(e,!1)},"aria-label":`Decrease Value`,"aria-disabled":r,class:f}),[h?.()||i(`span`,{unselectable:`on`,class:`${t}-handler-down-inner`},null)])])}}});function se(e,n){let r=t(null);function i(){try{let{selectionStart:t,selectionEnd:n,value:i}=e.value,a=i.substring(0,t),o=i.substring(n);r.value={start:t,end:n,value:i,beforeTxt:a,afterTxt:o}}catch{}}function a(){if(e.value&&r.value&&n.value)try{let{value:t}=e.value,{beforeTxt:n,afterTxt:i,start:a}=r.value,o=t.length;if(t.endsWith(i))o=t.length-r.value.afterTxt.length;else if(t.startsWith(n))o=n.length;else{let e=n[a-1],r=t.indexOf(e,a-1);r!==-1&&(o=r+1)}e.value.setSelectionRange(o,o)}catch(e){`${e.message}`}}return[i,a]}var ce=(()=>{let t=e(0),r=()=>{L.cancel(t.value)};return n(()=>{r()}),e=>{r(),t.value=L(()=>{e()})}}),le=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n},ue=(e,t)=>e||t.isEmpty()?t.toString():t.toNumber(),de=e=>{let t=$(e);return t.isInvalidate()?null:t},fe=()=>({stringMode:d(),defaultValue:y([String,Number]),value:y([String,Number]),prefixCls:_(),min:y([String,Number]),max:y([String,Number]),step:y([String,Number],1),tabindex:Number,controls:d(!0),readonly:d(),disabled:d(),autofocus:d(),keyboard:d(!0),parser:s(),formatter:s(),precision:Number,decimalSeparator:String,onInput:s(),onChange:s(),onPressEnter:s(),onStep:s(),onBlur:s(),onFocus:s()}),pe=r({compatConfig:{MODE:3},name:`InnerInputNumber`,inheritAttrs:!1,props:h(h({},fe()),{lazy:Boolean}),slots:Object,setup(t,n){let{attrs:r,slots:s,emit:u,expose:d}=n,f=e(),p=e(!1),m=e(!1),g=e(!1),_=e($(t.value));function v(e){t.value===void 0&&(_.value=e)}let y=(e,n)=>{if(!n)return t.precision>=0?t.precision:Math.max(X(e),X(t.step))},b=e=>{let n=String(e);if(t.parser)return t.parser(n);let r=n;return t.decimalSeparator&&(r=r.replace(t.decimalSeparator,`.`)),r.replace(/[^\w.-]+/g,``)},x=e(``),S=(e,n)=>{if(t.formatter)return t.formatter(e,{userTyping:n,input:String(x.value)});let r=typeof e==`number`?Z(e):e;if(!n){let e=y(r,n);if(Q(r)&&(t.decimalSeparator||e>=0)){let n=t.decimalSeparator||`.`;r=re(r,n,e)}}return r};x.value=(()=>{let e=t.value;return _.value.isInvalidate()&&[`string`,`number`].includes(typeof e)?Number.isNaN(e)?``:e:S(_.value.toString(),!1)})();function C(e,t){x.value=S(e.isInvalidate()?e.toString(!1):e.toString(!t),t)}let w=a(()=>de(t.max)),T=a(()=>de(t.min)),E=a(()=>!w.value||!_.value||_.value.isInvalidate()?!1:w.value.lessEquals(_.value)),D=a(()=>!T.value||!_.value||_.value.isInvalidate()?!1:_.value.lessEquals(T.value)),[O,k]=se(f,p),A=e=>w.value&&!e.lessEquals(w.value)?w.value:T.value&&!T.value.lessEquals(e)?T.value:null,j=e=>!A(e),M=(e,n)=>{var r;let i=e,a=j(i)||i.isEmpty();if(!i.isEmpty()&&!n&&(i=A(i)||i,a=!0),!t.readonly&&!t.disabled&&a){let e=i.toString(),a=y(e,n);return a>=0&&(i=$(re(e,`.`,a))),i.equals(_.value)||(v(i),(r=t.onChange)==null||r.call(t,i.isEmpty()?null:ue(t.stringMode,i)),t.value===void 0&&C(i,n)),i}return _.value},N=ce(),P=e=>{var n;if(O(),x.value=e,!g.value){let t=$(b(e));t.isNaN()||M(t,!0)}(n=t.onInput)==null||n.call(t,e),N(()=>{let n=e;t.parser||(n=e.replace(/。/g,`.`)),n!==e&&P(n)})},F=()=>{g.value=!0},L=()=>{g.value=!1,P(f.value.value)},R=e=>{P(e.target.value)},z=e=>{var n,r;if(e&&E.value||!e&&D.value)return;m.value=!1;let i=$(t.step);e||(i=i.negate());let a=(_.value||$(0)).add(i.toString()),o=M(a,!1);(n=t.onStep)==null||n.call(t,ue(t.stringMode,o),{offset:t.step,type:e?`up`:`down`}),(r=f.value)==null||r.focus()},B=e=>{let n=$(b(x.value)),r=n;r=n.isNaN()?_.value:M(n,e),t.value===void 0?r.isNaN()||C(r,!1):C(_.value,!1)},V=()=>{m.value=!0},H=e=>{var n;let{which:r}=e;m.value=!0,r===I.ENTER&&(g.value||(m.value=!1),B(!1),(n=t.onPressEnter)==null||n.call(t,e)),t.keyboard!==!1&&!g.value&&[I.UP,I.DOWN].includes(r)&&(z(I.UP===r),e.preventDefault())},U=()=>{m.value=!1},W=e=>{B(!1),p.value=!1,m.value=!1,u(`blur`,e)};return o(()=>t.precision,()=>{_.value.isInvalidate()||C(_.value,!1)},{flush:`post`}),o(()=>t.value,()=>{let e=$(t.value);_.value=e;let n=$(b(x.value));(!e.equals(n)||!m.value||t.formatter)&&C(e,m.value)},{flush:`post`}),o(x,()=>{t.formatter&&k()},{flush:`post`}),o(()=>t.disabled,e=>{e&&(p.value=!1)}),d({focus:()=>{var e;(e=f.value)==null||e.focus()},blur:()=>{var e;(e=f.value)==null||e.blur()}}),()=>{let e=h(h({},r),t),{prefixCls:n=`rc-input-number`,min:a,max:o,step:d=1,defaultValue:m,value:g,disabled:v,readonly:y,keyboard:b,controls:S=!0,autofocus:C,stringMode:w,parser:T,formatter:O,precision:k,decimalSeparator:A,onChange:M,onInput:N,onPressEnter:P,onStep:I,lazy:B,class:G,style:K}=e,q=le(e,[`prefixCls`,`min`,`max`,`step`,`defaultValue`,`value`,`disabled`,`readonly`,`keyboard`,`controls`,`autofocus`,`stringMode`,`parser`,`formatter`,`precision`,`decimalSeparator`,`onChange`,`onInput`,`onPressEnter`,`onStep`,`lazy`,`class`,`style`]),{upHandler:J,downHandler:Y}=s,X=`${n}-input`,Z={};return B?Z.onChange=R:Z.onInput=R,i(`div`,{class:l(n,G,{[`${n}-focused`]:p.value,[`${n}-disabled`]:v,[`${n}-readonly`]:y,[`${n}-not-a-number`]:_.value.isNaN(),[`${n}-out-of-range`]:!_.value.isInvalidate()&&!j(_.value)}),style:K,onKeydown:H,onKeyup:U},[S&&i(oe,{prefixCls:n,upDisabled:E.value,downDisabled:D.value,onStep:z},{upNode:J,downNode:Y}),i(`div`,{class:`${X}-wrap`},[i(`input`,c(c(c({autofocus:C,autocomplete:`off`,role:`spinbutton`,"aria-valuemin":a,"aria-valuemax":o,"aria-valuenow":_.value.isInvalidate()?null:_.value.toString(),step:d},q),{},{ref:f,class:X,value:x.value,disabled:v,readonly:y,onFocus:e=>{p.value=!0,u(`focus`,e)}},Z),{},{onBlur:W,onCompositionstart:F,onCompositionend:L,onBeforeinput:V}),null)])])}}});function me(e){return e!=null}var he=e=>{let{componentCls:t,lineWidth:n,lineType:r,colorBorder:i,borderRadius:a,fontSizeLG:o,controlHeightLG:s,controlHeightSM:c,colorError:l,inputPaddingHorizontalSM:u,colorTextDescription:d,motionDurationMid:f,colorPrimary:g,controlHeight:_,inputPaddingHorizontal:v,colorBgContainer:y,colorTextDisabled:b,borderRadiusSM:C,borderRadiusLG:T,controlWidth:A,handleVisible:j}=e;return[{[t]:h(h(h(h({},m(e)),E(e)),S(e,t)),{display:`inline-block`,width:A,margin:0,padding:0,border:`${n}px ${r} ${i}`,borderRadius:a,"&-rtl":{direction:`rtl`,[`${t}-input`]:{direction:`rtl`}},"&-lg":{padding:0,fontSize:o,borderRadius:T,[`input${t}-input`]:{height:s-2*n}},"&-sm":{padding:0,borderRadius:C,[`input${t}-input`]:{height:c-2*n,padding:`0 ${u}px`}},"&:hover":h({},w(e)),"&-focused":h({},k(e)),"&-disabled":h(h({},D(e)),{[`${t}-input`]:{cursor:`not-allowed`}}),"&-out-of-range":{input:{color:l}},"&-group":h(h(h({},m(e)),x(e)),{"&-wrapper":{display:`inline-block`,textAlign:`start`,verticalAlign:`top`,[`${t}-affix-wrapper`]:{width:`100%`},"&-lg":{[`${t}-group-addon`]:{borderRadius:T}},"&-sm":{[`${t}-group-addon`]:{borderRadius:C}}}}),[t]:{"&-input":h(h({width:`100%`,height:_-2*n,padding:`0 ${v}px`,textAlign:`start`,backgroundColor:`transparent`,border:0,borderRadius:a,outline:0,transition:`all ${f} linear`,appearance:`textfield`,color:e.colorText,fontSize:`inherit`,verticalAlign:`top`},O(e.colorTextPlaceholder)),{'&[type="number"]::-webkit-inner-spin-button, &[type="number"]::-webkit-outer-spin-button':{margin:0,webkitAppearance:`none`,appearance:`none`}})}})},{[t]:{[`&:hover ${t}-handler-wrap, &-focused ${t}-handler-wrap`]:{opacity:1},[`${t}-handler-wrap`]:{position:`absolute`,insetBlockStart:0,insetInlineEnd:0,width:e.handleWidth,height:`100%`,background:y,borderStartStartRadius:0,borderStartEndRadius:a,borderEndEndRadius:a,borderEndStartRadius:0,opacity:+(j===!0),display:`flex`,flexDirection:`column`,alignItems:`stretch`,transition:`opacity ${f} linear ${f}`,[`${t}-handler`]:{display:`flex`,alignItems:`center`,justifyContent:`center`,flex:`auto`,height:`40%`,[`
|
|
2
2
|
${t}-handler-up-inner,
|
|
3
3
|
${t}-handler-down-inner
|
|
4
4
|
`]:{marginInlineEnd:0,fontSize:e.handleFontSize}}},[`${t}-handler`]:{height:`50%`,overflow:`hidden`,color:d,fontWeight:`bold`,lineHeight:0,textAlign:`center`,cursor:`pointer`,borderInlineStart:`${n}px ${r} ${i}`,transition:`all ${f} linear`,"&:active":{background:e.colorFillAlter},"&:hover":{height:`60%`,[`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{dt as e,mt as t,v as n}from"./CavpkQb0.js";import{R as r,S as i,V as a,W as o,b as s,d as c,et as l,f as u,h as d,i as f,m as p,nt as m,p as ee,rt as h,y as g}from"./ByMj6e7s.js";import{c as _,f as v,l as y}from"./goF_oZHF.js";import{m as te,p as ne}from"./B8C-QJB5.js";import{t as re}from"./BsTZnkVK.js";import{n as ie}from"./Cnrmlixo.js";import{t as ae}from"./D_NjL-Hz.js";import{t as b}from"./BDNMzG2s.js";import{t as x}from"./JgheoP3e.js";import{n as S}from"./BQOn0q6Y.js";import{t as oe}from"./BnNmkGJS2.js";import{t as se}from"./DPvZxAt02.js";var ce={class:`studio`},le={class:`col left`},ue={class:`card grow`},de={class:`sec`},fe={value:``},pe=[`value`],me={class:`nodeList`,"data-test":`studio-nodes`},he=[`title`,`onDblclick`],ge={class:`nName`},_e={key:0,class:`unit`},ve=[`onClick`],ye={key:0,class:`empty`},be={class:`card`},xe={class:`sec`},Se=[`onClick`],Ce={class:`nName`},we={class:`unit`},Te=[`onClick`],Ee={key:0,class:`empty`},De={class:`col mid`},Oe={class:`card`},ke={class:`row`},Ae={class:`gallery`,"data-test":`studio-gallery`},je=[`title`,`onClick`],Me={class:`row`},Ne={class:`lbl`},Pe={value:`15`},Fe={value:`60`},Ie={value:`240`},Le={class:`lbl`},Re={value:``},ze=[`value`],Be={class:`lbl`},Ve={value:`avg`},He={value:`min`},Ue={value:`max`},We=[`disabled`],Ge=[`disabled`],Ke={key:0,class:`err`},qe={class:`card grow canvasCard`},Je={key:0,class:`kpiRow`},Ye={class:`kName`},Xe={class:`kVal`},Ze={class:`unit`},Qe={key:1,class:`tblWrap`},$e={class:`tbl`},et={class:`mono`},tt={key:2,class:`empty big`},nt={class:`col right`},rt={class:`card`},it={class:`sec`},at={class:`well`,"data-test":`studio-y-well`},ot={class:`axis`},st=[`title`,`onClick`],ct=[`onClick`],lt={key:0,class:`empty`},ut={class:`sec`},dt={class:`well`},ft=[`onClick`],pt={key:0,class:`empty`},mt={class:`row`},ht=[`placeholder`],gt={class:`card`},_t={class:`sec`},vt={class:`hint`},yt={class:`nName`},bt=[`disabled`,`onClick`],xt=[`onClick`],St=[`disabled`,`onClick`],Ct={key:0,class:`hint`,"data-test":`studio-deviation`},wt={class:`card`},Tt={class:`sec`},Et=[`placeholder`],Dt={class:`row`},Ot={value:`private`},kt={value:`line`},At=[`disabled`],jt={key:0,class:`hint`},Mt={class:`modal`},Nt={class:`sec`},Pt=[`value`],Ft={class:`row end`},It={key:0,class:`hint`},C=b(i({__name:`index`,setup(i){let b=[`trend`,`bar`,`scatter`,`kpi`,`table`,`histogram`],{t:C}=ie(),w=ne(),Lt=te(),T=n(!1),E=n(``),D=c(()=>{let e=P.value.map(e=>`${e.name}(${e.nodeId})`).join(`、`),t=z.value?`、批次 ${z.value}`:``,n=U.value.at(-1),r=n?`。最新读数 ${n.points.at(-1)?.v??`-`}${n.unit}(时间窗 ${new Date(n.points[0]?.at??0).toISOString().slice(0,16)} 起)`:``;return`请用 daq_query 分析:产线 ${j.value||`(未选)`} 的 ${e}${t},窗口 ${R.value} 分钟、聚合 ${B.value}。请结合历史窗口给出趋势判读与建议${r}`});function Rt(){navigator.clipboard?.writeText(D.value).then(()=>{E.value=C(`studio.copied`)}).catch(()=>{E.value=``})}let O=c(()=>({trend:C(`studio.viz.trend`),bar:C(`studio.viz.bar`),scatter:C(`studio.viz.scatter`),kpi:C(`studio.viz.kpi`),table:C(`studio.viz.table`),histogram:C(`studio.viz.histogram`)})),k=n([]),A=n([]),j=n(``),M=n([]),N=n([]),P=n([]),F=n([]),I=n(``),L=n(`trend`),R=n(`60`),z=n(``),B=n(`avg`),V=n(!1),H=n(``),U=n([]),W=n(new Set),G=n(new Map),K=n(null),q=n(``),J=n(`private`),Y=n(``),X=n(``),Z=e=>P.value.some(t=>t.nodeId===e),zt=e=>e===`kpi`||e===`table`?U.value.length>0:P.value.length>0;function Bt(e){if(!Z(e.id)){if(P.value.length>=8){H.value=C(`studio.yMax`);return}P.value.push({nodeId:e.id,name:e.name,unit:e.unit,axis:P.value.length===0?`L`:`R`}),W.value.delete(e.id)}}function Vt(e){P.value=P.value.filter(t=>t.nodeId!==e)}function Ht(e){let t=P.value.find(t=>t.nodeId===e);t&&(t.axis=t.axis===`L`?`R`:`L`)}function Ut(){let e=Number(I.value);if(Number.isFinite(e)&&e!==0){F.value.push({value:e,label:`ref`}),I.value=``;return}let t=A.value.find(e=>Z(e.id));t?.max!=null&&F.value.push({value:Number(t.max),label:C(`studio.maxRef`)})}function Wt(e){let t=e.points.at(-1)?.v;return t==null?`-`:String(Number(t.toFixed(3)))}let Gt=c(()=>{let e=new Set;for(let t of U.value)for(let n of t.points)e.add(n.at);return[...e].sort((e,t)=>t-e).slice(0,200).map(e=>{let t={};for(let n of U.value){let r=n.points.find(t=>t.at===e);t[n.nodeId]=r?String(r.v):``}return{at:e,time:new Date(e).toISOString().slice(5,19).replace(`T`,` `),cells:t}})}),Kt=c(()=>{if(!U.value.length)return null;if(L.value===`trend`)return se({series:U.value,refLines:F.value,golden:{cache:G.value,on:W.value}});let e=[];for(let t of U.value)t.unit&&!e.includes(t.unit)&&e.push(t.unit);let t=t=>Math.min(e.indexOf(t),1),n=[0,1].slice(0,Math.max(1,Math.min(e.length,2))).map(t=>({type:`value`,name:e[t]??``,scale:!0})),r=[];if(L.value===`bar`)r.push(...U.value.map(e=>({name:e.name,type:`bar`,yAxisIndex:t(e.unit),data:e.points.map(e=>[e.at,e.v]),barMaxWidth:24})));else if(L.value===`scatter`)r.push(...U.value.map(e=>({name:e.name,type:`scatter`,yAxisIndex:t(e.unit),symbolSize:5,data:e.points.map(e=>[e.at,e.v])})));else if(L.value===`histogram`)for(let e of U.value){let t=e.points.map(e=>e.v);if(!t.length)continue;let n=Math.min(...t),i=(Math.max(...t)-n)/20||1,a=Array.from({length:20},()=>0);for(let e of t)a[Math.min(19,Math.floor((e-n)/i))]+=1;r.push({name:e.name,type:`bar`,yAxisIndex:0,barCategoryGap:`0%`,data:a.map((e,t)=>[Number((n+t*i).toFixed(3)),e]),tooltip:{formatter:e=>`[${(n+e.dataIndex*i).toFixed(2)}, ${(n+(e.dataIndex+1)*i).toFixed(2)}) : ${a[e.dataIndex]}`}})}return{tooltip:{trigger:`axis`},legend:{type:`scroll`},grid:{left:56,right:e.length>1?56:24,top:32,bottom:64},xAxis:[{type:`time`,axisLabel:{hideOverlap:!0}}],yAxis:n,dataZoom:[{type:`inside`},{type:`slider`,height:16,bottom:10}],toolbox:{right:8,top:0,feature:{saveAsImage:{title:`PNG`}}},series:r}});async function qt(){V.value=!0,H.value=``;try{let e=N.value.find(e=>e.id===z.value),t=e?.endedAt?Date.parse(e.endedAt):Date.now(),n=e?Date.parse(e.startedAt):t-(Number(R.value)||60)*6e4,r=new URLSearchParams;j.value&&r.set(`line_id`,j.value),r.set(`node_ids`,P.value.map(e=>e.nodeId).join(`,`)),r.set(`from`,String(n)),r.set(`to`,String(t)),r.set(`agg`,B.value),z.value&&r.set(`run_id`,z.value);let i=await S({base:`/api/workshop/daq/query?${r.toString()}`,retries:0});U.value=i.series??[],W.value=new Set([...W.value].filter(e=>P.value.some(t=>t.nodeId===e)))}catch(e){H.value=x(e)}finally{V.value=!1}}async function Jt(e){if(z.value)try{await S({base:`/api/workshop/eda/golden`,init:{method:`POST`,body:JSON.stringify({run_id:z.value,node_id:e})}}),X.value=C(`studio.goldenMade`,{node:P.value.find(t=>t.nodeId===e)?.name??e})}catch(e){H.value=x(e)}}async function Yt(e){if(W.value.has(e)){W.value.delete(e),W.value=new Set(W.value);return}try{let t=((await S({base:`/api/workshop/eda/runs?limit=50`})).runs??[]).find(e=>e.id===z.value)?.recipeId;if(!t){H.value=C(`studio.noRecipe`);return}let n=await S({base:`/api/workshop/eda/golden/single?recipe_id=${encodeURIComponent(t)}&node_id=${encodeURIComponent(e)}`});G.value.set(e,n.golden.profile),W.value.add(e),W.value=new Set(W.value)}catch(e){H.value=x(e)}}async function Xt(e){if(z.value)try{K.value=await S({base:`/api/workshop/eda/golden/deviation?run_id=${encodeURIComponent(z.value)}&node_id=${encodeURIComponent(e)}`})}catch(e){H.value=x(e)}}function Zt(){return{title:q.value.trim(),viz_type:L.value,datasource:{lineId:j.value||null,nodeIds:P.value.map(e=>e.nodeId),runId:z.value||null,preset:R.value,agg:B.value},encoding:{y:P.value,refLines:F.value,golden:[...W.value]},options:{},line_id:j.value||null,visibility:J.value}}async function Qt(){X.value=``;try{let e=Zt();if(Y.value){let t=await S({base:`/api/workshop/eda/charts/${Y.value}`,init:{method:`PATCH`,body:JSON.stringify(e)}});X.value=C(`studio.savedV`,{v:t.chart.version})}else{let t=await S({base:`/api/workshop/eda/charts`,init:{method:`POST`,body:JSON.stringify(e)}});Y.value=t.chart.id,X.value=C(`studio.savedV`,{v:t.chart.version})}await $()}catch(e){H.value=x(e)}}function $t(e){Y.value=e.id,q.value=e.title,L.value=e.vizType;let t=e.datasource;j.value=t.lineId??``,z.value=t.runId??``,R.value=t.preset??`60`,B.value=t.agg??`avg`,J.value=e.visibility??`private`;let n=e.encoding;P.value=n.y??[],F.value=n.refLines??[],W.value=new Set(n.golden??[]),Q().then(qt)}async function en(e){try{await S({base:`/api/workshop/eda/charts/${e}`,init:{method:`DELETE`}}),Y.value===e&&(Y.value=``),await $()}catch(e){H.value=x(e)}}async function Q(){let e=await S({base:`/api/workshop/daq`,retries:1});A.value=(e.nodes??[]).filter(e=>!j.value||e.lineId===j.value)}async function $(){let e=await S({base:`/api/workshop/eda/charts?mine=1`,retries:1});M.value=e.charts??[]}return r(async()=>{try{let e=typeof w.query.line==`string`?w.query.line:``,[t,n]=await Promise.all([S({base:`/api/workshop/dcw/lines`,retries:1}),S({base:`/api/workshop/eda/runs?limit=20`,retries:1})]);k.value=t.lines??[],N.value=n.runs??[],e&&k.value.some(t=>t.id===e)?j.value=e:k.value.length&&(j.value=k.value[0].id),await Q(),await $()}catch(e){H.value=x(e)}}),l(j,e=>{Lt.replace({query:{...w.query,line:e||void 0}})}),(n,r)=>{let i=re,c=oe,l=ae;return a(),d(`div`,ce,[u(`aside`,le,[u(`div`,ue,[u(`h3`,de,t(n.$t(`studio.sources`)),1),h(u(`select`,{"onUpdate:modelValue":r[0]||=e=>j.value=e,class:`input w`,"data-test":`studio-line`,onChange:Q},[u(`option`,fe,t(n.$t(`data.line.any`)),1),(a(!0),d(f,null,o(k.value,e=>(a(),d(`option`,{key:e.id,value:e.id},t(e.name),9,pe))),128))],544),[[_,j.value]]),u(`div`,me,[(a(!0),d(f,null,o(A.value,e=>(a(),d(`button`,{key:e.id,class:`nodeRow`,title:n.$t(`studio.dblClickAdd`),onDblclick:t=>Bt(e)},[u(`span`,ge,t(e.name),1),e.unit?(a(),d(`span`,_e,t(e.unit),1)):p(``,!0),Z(e.id)?p(``,!0):(a(),d(`button`,{key:1,class:`miniAdd`,onClick:v(t=>Bt(e),[`stop`])},` +Y `,8,ve))],40,he))),128)),A.value.length?p(``,!0):(a(),d(`p`,ye,t(n.$t(`studio.pickLine`)),1))])]),u(`div`,be,[u(`h3`,xe,t(n.$t(`studio.myCharts`)),1),(a(!0),d(f,null,o(M.value,e=>(a(),d(`button`,{key:e.id,class:`chartRow`,"data-test":`studio-chart-row`,onClick:t=>$t(e)},[u(`span`,Ce,t(e.title),1),u(`span`,we,t(e.vizType)+` v`+t(e.version),1),u(`button`,{class:`miniAdd`,onClick:v(t=>en(e.id),[`stop`])},` ✕ `,8,Te)],8,Se))),128)),M.value.length?p(``,!0):(a(),d(`p`,Ee,t(n.$t(`studio.noCharts`)),1))])]),u(`main`,De,[u(`div`,Oe,[u(`div`,ke,[u(`div`,Ae,[(a(),d(f,null,o(b,n=>u(`button`,{key:n,class:e([`vizBtn`,{on:L.value===n,dim:!zt(n)}]),title:O.value[n],onClick:e=>L.value=n},t(O.value[n]),11,je)),64))])]),u(`div`,Me,[u(`label`,Ne,t(n.$t(`data.mirror.window`)),1),h(u(`select`,{"onUpdate:modelValue":r[1]||=e=>R.value=e,class:`input sel`},[u(`option`,Pe,t(n.$t(`data.mirror.last15`)),1),u(`option`,Fe,t(n.$t(`data.mirror.last60`)),1),u(`option`,Ie,t(n.$t(`data.mirror.last240`)),1)],512),[[_,R.value]]),u(`label`,Le,t(n.$t(`studio.runFilter`)),1),h(u(`select`,{"onUpdate:modelValue":r[2]||=e=>z.value=e,class:`input sel`,"data-test":`studio-run`},[u(`option`,Re,t(n.$t(`studio.noRun`)),1),(a(!0),d(f,null,o(N.value,e=>(a(),d(`option`,{key:e.id,value:e.id},t(e.id)+` · `+t(e.outcome),9,ze))),128))],512),[[_,z.value]]),u(`label`,Be,t(n.$t(`data.mirror.agg`)),1),h(u(`select`,{"onUpdate:modelValue":r[3]||=e=>B.value=e,class:`input sel`},[u(`option`,Ve,t(n.$t(`data.mirror.aggAvg`)),1),u(`option`,He,t(n.$t(`data.mirror.aggMin`)),1),u(`option`,Ue,t(n.$t(`data.mirror.aggMax`)),1)],512),[[_,B.value]]),u(`button`,{class:`pill-btn primary`,"data-test":`studio-query`,disabled:!P.value.length||V.value,onClick:qt},t(V.value?n.$t(`data.mirror.querying`):n.$t(`data.mirror.query`)),9,We),s(i,{to:`/studio/board`,class:`pill-btn boardLink`,"data-test":`studio-board-link`},{default:m(()=>[g(t(n.$t(`studio.boardLink`)),1)]),_:1}),u(`button`,{class:`pill-btn`,"data-test":`studio-agent-prompt`,disabled:!U.value.length,onClick:r[4]||=e=>T.value=!0},t(n.$t(`studio.agentPrompt`)),9,Ge)]),H.value?(a(),d(`p`,Ke,t(H.value),1)):p(``,!0)]),u(`div`,qe,[s(l,null,{default:m(()=>[Kt.value&&L.value!==`table`&&L.value!==`kpi`?(a(),ee(c,{key:0,option:Kt.value,style:{height:`100%`,width:`100%`}},null,8,[`option`])):p(``,!0)]),_:1}),L.value===`kpi`&&U.value.length?(a(),d(`div`,Je,[(a(!0),d(f,null,o(U.value,e=>(a(),d(`div`,{key:e.nodeId,class:`kpi`},[u(`span`,Ye,t(e.name),1),u(`span`,Xe,[g(t(Wt(e)),1),u(`i`,Ze,t(e.unit),1)])]))),128))])):p(``,!0),L.value===`table`&&U.value.length?(a(),d(`div`,Qe,[u(`table`,$e,[u(`thead`,null,[u(`tr`,null,[u(`th`,null,t(n.$t(`data.mirror.time`)),1),(a(!0),d(f,null,o(U.value,e=>(a(),d(`th`,{key:e.nodeId},t(e.name),1))),128))])]),u(`tbody`,null,[(a(!0),d(f,null,o(Gt.value,e=>(a(),d(`tr`,{key:e.at},[u(`td`,et,t(e.time),1),(a(!0),d(f,null,o(U.value,n=>(a(),d(`td`,{key:n.nodeId,class:`mono`},t(e.cells[n.nodeId]??``),1))),128))]))),128))])])])):p(``,!0),!U.value.length&&!V.value?(a(),d(`p`,tt,t(n.$t(`studio.canvasEmpty`)),1)):p(``,!0)])]),u(`aside`,nt,[u(`div`,rt,[u(`h3`,it,t(n.$t(`studio.yWell`)),1),u(`div`,at,[(a(!0),d(f,null,o(P.value,e=>(a(),d(`span`,{key:e.nodeId,class:`chip`},[u(`b`,ot,t(e.axis),1),g(` `+t(e.name)+` `,1),u(`button`,{class:`axisBtn`,title:n.$t(`studio.toggleAxis`),onClick:t=>Ht(e.nodeId)},`⇄`,8,st),u(`button`,{class:`axisBtn`,onClick:t=>Vt(e.nodeId)},`✕`,8,ct)]))),128)),P.value.length?p(``,!0):(a(),d(`span`,lt,t(n.$t(`studio.yEmpty`)),1))]),u(`h3`,ut,t(n.$t(`studio.refWell`)),1),u(`div`,dt,[(a(!0),d(f,null,o(F.value,(e,n)=>(a(),d(`span`,{key:n,class:`chip`},[g(t(e.label)+` `+t(e.value)+` `,1),u(`button`,{class:`axisBtn`,onClick:e=>F.value.splice(n,1)},`✕`,8,ft)]))),128)),F.value.length?p(``,!0):(a(),d(`span`,pt,t(n.$t(`studio.refEmpty`)),1))]),u(`div`,mt,[h(u(`input`,{"onUpdate:modelValue":r[5]||=e=>I.value=e,type:`number`,class:`input numIn`,placeholder:n.$t(`studio.refValue`)},null,8,ht),[[y,I.value]]),u(`button`,{class:`pill-btn`,onClick:Ut},t(n.$t(`studio.refFromTemplate`)),1)])]),u(`div`,gt,[u(`h3`,_t,t(n.$t(`studio.golden`)),1),u(`p`,vt,t(n.$t(`studio.goldenHint`)),1),(a(!0),d(f,null,o(P.value,e=>(a(),d(`div`,{key:e.nodeId,class:`row goldenRow`},[u(`span`,yt,t(e.name),1),u(`button`,{class:`pill-btn`,disabled:!z.value,onClick:t=>Jt(e.nodeId)},t(n.$t(`studio.goldenMake`)),9,bt),u(`button`,{class:`pill-btn`,onClick:t=>Yt(e.nodeId)},t(W.value.has(e.nodeId)?n.$t(`studio.goldenHide`):n.$t(`studio.goldenShow`)),9,xt),u(`button`,{class:`pill-btn`,disabled:!z.value,onClick:t=>Xt(e.nodeId)},t(n.$t(`studio.goldenScore`)),9,St)]))),128)),K.value?(a(),d(`p`,Ct,t(n.$t(`studio.deviationScore`,{score:K.value.score})),1)):p(``,!0)]),u(`div`,wt,[u(`h3`,Tt,t(n.$t(`studio.saveSection`)),1),h(u(`input`,{"onUpdate:modelValue":r[6]||=e=>q.value=e,class:`input w`,placeholder:n.$t(`studio.chartTitle`),"data-test":`studio-title`},null,8,Et),[[y,q.value]]),u(`div`,Dt,[h(u(`select`,{"onUpdate:modelValue":r[7]||=e=>J.value=e,class:`input sel`},[u(`option`,Ot,t(n.$t(`studio.visPrivate`)),1),u(`option`,kt,t(n.$t(`studio.visLine`)),1)],512),[[_,J.value]]),u(`button`,{class:`pill-btn primary`,"data-test":`studio-save`,disabled:!q.value.trim()||!U.value.length,onClick:Qt},t(Y.value?n.$t(`studio.update`):n.$t(`studio.save`)),9,At)]),X.value?(a(),d(`p`,jt,t(X.value),1)):p(``,!0)]),T.value?(a(),d(`div`,{key:0,class:`modalMask`,onClick:r[9]||=v(e=>T.value=!1,[`self`])},[u(`div`,Mt,[u(`h3`,Nt,t(n.$t(`studio.promptTitle`)),1),u(`textarea`,{readonly:``,value:D.value,class:`promptBox`,"data-test":`studio-prompt-text`},null,8,Pt),u(`div`,Ft,[u(`button`,{class:`pill-btn`,"data-test":`studio-prompt-copy`,onClick:Rt},t(n.$t(`studio.copy`)),1),u(`button`,{class:`pill-btn`,onClick:r[8]||=e=>T.value=!1},t(n.$t(`data.mirror.cancel`)),1)]),E.value?(a(),d(`p`,It,t(E.value),1)):p(``,!0)])])):p(``,!0)])])}}}),[[`__scopeId`,`data-v-455d5f47`]]);export{C as default};
|
|
1
|
+
import{dt as e,mt as t,v as n}from"./CavpkQb0.js";import{R as r,S as i,V as a,W as o,b as s,d as c,f as l,h as u,i as d,it as f,m as p,p as ee,rt as m,tt as h,y as g}from"./C6lssmvl.js";import{c as _,f as v,l as y}from"./ri9UF8rk.js";import{m as te,p as ne}from"./CDYLasP8.js";import{t as re}from"./DPPC9Teq.js";import{n as ie}from"./D1MkndMZ.js";import{t as ae}from"./Bmvt9ydE.js";import{t as b}from"./BDNMzG2s.js";import{t as x}from"./R5Pz7BqB.js";import{n as S}from"./B6C4WofF.js";import{t as oe}from"./DrlnrdvY2.js";import{t as se}from"./DPvZxAt02.js";var ce={class:`studio`},le={class:`col left`},ue={class:`card grow`},de={class:`sec`},fe={value:``},pe=[`value`],me={class:`nodeList`,"data-test":`studio-nodes`},he=[`title`,`onDblclick`],ge={class:`nName`},_e={key:0,class:`unit`},ve=[`onClick`],ye={key:0,class:`empty`},be={class:`card`},xe={class:`sec`},Se=[`onClick`],Ce={class:`nName`},we={class:`unit`},Te=[`onClick`],Ee={key:0,class:`empty`},De={class:`col mid`},Oe={class:`card`},ke={class:`row`},Ae={class:`gallery`,"data-test":`studio-gallery`},je=[`title`,`onClick`],Me={class:`row`},Ne={class:`lbl`},Pe={value:`15`},Fe={value:`60`},Ie={value:`240`},Le={class:`lbl`},Re={value:``},ze=[`value`],Be={class:`lbl`},Ve={value:`avg`},He={value:`min`},Ue={value:`max`},We=[`disabled`],Ge=[`disabled`],Ke={key:0,class:`err`},qe={class:`card grow canvasCard`},Je={key:0,class:`kpiRow`},Ye={class:`kName`},Xe={class:`kVal`},Ze={class:`unit`},Qe={key:1,class:`tblWrap`},$e={class:`tbl`},et={class:`mono`},tt={key:2,class:`empty big`},nt={class:`col right`},rt={class:`card`},it={class:`sec`},at={class:`well`,"data-test":`studio-y-well`},ot={class:`axis`},st=[`title`,`onClick`],ct=[`onClick`],lt={key:0,class:`empty`},ut={class:`sec`},dt={class:`well`},ft=[`onClick`],pt={key:0,class:`empty`},mt={class:`row`},ht=[`placeholder`],gt={class:`card`},_t={class:`sec`},vt={class:`hint`},yt={class:`nName`},bt=[`disabled`,`onClick`],xt=[`onClick`],St=[`disabled`,`onClick`],Ct={key:0,class:`hint`,"data-test":`studio-deviation`},wt={class:`card`},Tt={class:`sec`},Et=[`placeholder`],Dt={class:`row`},Ot={value:`private`},kt={value:`line`},At=[`disabled`],jt={key:0,class:`hint`},Mt={class:`modal`},Nt={class:`sec`},Pt=[`value`],Ft={class:`row end`},It={key:0,class:`hint`},C=b(i({__name:`index`,setup(i){let b=[`trend`,`bar`,`scatter`,`kpi`,`table`,`histogram`],{t:C}=ie(),w=ne(),Lt=te(),T=n(!1),E=n(``),D=c(()=>{let e=P.value.map(e=>`${e.name}(${e.nodeId})`).join(`、`),t=z.value?`、批次 ${z.value}`:``,n=U.value.at(-1),r=n?`。最新读数 ${n.points.at(-1)?.v??`-`}${n.unit}(时间窗 ${new Date(n.points[0]?.at??0).toISOString().slice(0,16)} 起)`:``;return`请用 daq_query 分析:产线 ${j.value||`(未选)`} 的 ${e}${t},窗口 ${R.value} 分钟、聚合 ${B.value}。请结合历史窗口给出趋势判读与建议${r}`});function Rt(){navigator.clipboard?.writeText(D.value).then(()=>{E.value=C(`studio.copied`)}).catch(()=>{E.value=``})}let O=c(()=>({trend:C(`studio.viz.trend`),bar:C(`studio.viz.bar`),scatter:C(`studio.viz.scatter`),kpi:C(`studio.viz.kpi`),table:C(`studio.viz.table`),histogram:C(`studio.viz.histogram`)})),k=n([]),A=n([]),j=n(``),M=n([]),N=n([]),P=n([]),F=n([]),I=n(``),L=n(`trend`),R=n(`60`),z=n(``),B=n(`avg`),V=n(!1),H=n(``),U=n([]),W=n(new Set),G=n(new Map),K=n(null),q=n(``),J=n(`private`),Y=n(``),X=n(``),Z=e=>P.value.some(t=>t.nodeId===e),zt=e=>e===`kpi`||e===`table`?U.value.length>0:P.value.length>0;function Bt(e){if(!Z(e.id)){if(P.value.length>=8){H.value=C(`studio.yMax`);return}P.value.push({nodeId:e.id,name:e.name,unit:e.unit,axis:P.value.length===0?`L`:`R`}),W.value.delete(e.id)}}function Vt(e){P.value=P.value.filter(t=>t.nodeId!==e)}function Ht(e){let t=P.value.find(t=>t.nodeId===e);t&&(t.axis=t.axis===`L`?`R`:`L`)}function Ut(){let e=Number(I.value);if(Number.isFinite(e)&&e!==0){F.value.push({value:e,label:`ref`}),I.value=``;return}let t=A.value.find(e=>Z(e.id));t?.max!=null&&F.value.push({value:Number(t.max),label:C(`studio.maxRef`)})}function Wt(e){let t=e.points.at(-1)?.v;return t==null?`-`:String(Number(t.toFixed(3)))}let Gt=c(()=>{let e=new Set;for(let t of U.value)for(let n of t.points)e.add(n.at);return[...e].sort((e,t)=>t-e).slice(0,200).map(e=>{let t={};for(let n of U.value){let r=n.points.find(t=>t.at===e);t[n.nodeId]=r?String(r.v):``}return{at:e,time:new Date(e).toISOString().slice(5,19).replace(`T`,` `),cells:t}})}),Kt=c(()=>{if(!U.value.length)return null;if(L.value===`trend`)return se({series:U.value,refLines:F.value,golden:{cache:G.value,on:W.value}});let e=[];for(let t of U.value)t.unit&&!e.includes(t.unit)&&e.push(t.unit);let t=t=>Math.min(e.indexOf(t),1),n=[0,1].slice(0,Math.max(1,Math.min(e.length,2))).map(t=>({type:`value`,name:e[t]??``,scale:!0})),r=[];if(L.value===`bar`)r.push(...U.value.map(e=>({name:e.name,type:`bar`,yAxisIndex:t(e.unit),data:e.points.map(e=>[e.at,e.v]),barMaxWidth:24})));else if(L.value===`scatter`)r.push(...U.value.map(e=>({name:e.name,type:`scatter`,yAxisIndex:t(e.unit),symbolSize:5,data:e.points.map(e=>[e.at,e.v])})));else if(L.value===`histogram`)for(let e of U.value){let t=e.points.map(e=>e.v);if(!t.length)continue;let n=Math.min(...t),i=(Math.max(...t)-n)/20||1,a=Array.from({length:20},()=>0);for(let e of t)a[Math.min(19,Math.floor((e-n)/i))]+=1;r.push({name:e.name,type:`bar`,yAxisIndex:0,barCategoryGap:`0%`,data:a.map((e,t)=>[Number((n+t*i).toFixed(3)),e]),tooltip:{formatter:e=>`[${(n+e.dataIndex*i).toFixed(2)}, ${(n+(e.dataIndex+1)*i).toFixed(2)}) : ${a[e.dataIndex]}`}})}return{tooltip:{trigger:`axis`},legend:{type:`scroll`},grid:{left:56,right:e.length>1?56:24,top:32,bottom:64},xAxis:[{type:`time`,axisLabel:{hideOverlap:!0}}],yAxis:n,dataZoom:[{type:`inside`},{type:`slider`,height:16,bottom:10}],toolbox:{right:8,top:0,feature:{saveAsImage:{title:`PNG`}}},series:r}});async function qt(){V.value=!0,H.value=``;try{let e=N.value.find(e=>e.id===z.value),t=e?.endedAt?Date.parse(e.endedAt):Date.now(),n=e?Date.parse(e.startedAt):t-(Number(R.value)||60)*6e4,r=new URLSearchParams;j.value&&r.set(`line_id`,j.value),r.set(`node_ids`,P.value.map(e=>e.nodeId).join(`,`)),r.set(`from`,String(n)),r.set(`to`,String(t)),r.set(`agg`,B.value),z.value&&r.set(`run_id`,z.value);let i=await S({base:`/api/workshop/daq/query?${r.toString()}`,retries:0});U.value=i.series??[],W.value=new Set([...W.value].filter(e=>P.value.some(t=>t.nodeId===e)))}catch(e){H.value=x(e)}finally{V.value=!1}}async function Jt(e){if(z.value)try{await S({base:`/api/workshop/eda/golden`,init:{method:`POST`,body:JSON.stringify({run_id:z.value,node_id:e})}}),X.value=C(`studio.goldenMade`,{node:P.value.find(t=>t.nodeId===e)?.name??e})}catch(e){H.value=x(e)}}async function Yt(e){if(W.value.has(e)){W.value.delete(e),W.value=new Set(W.value);return}try{let t=((await S({base:`/api/workshop/eda/runs?limit=50`})).runs??[]).find(e=>e.id===z.value)?.recipeId;if(!t){H.value=C(`studio.noRecipe`);return}let n=await S({base:`/api/workshop/eda/golden/single?recipe_id=${encodeURIComponent(t)}&node_id=${encodeURIComponent(e)}`});G.value.set(e,n.golden.profile),W.value.add(e),W.value=new Set(W.value)}catch(e){H.value=x(e)}}async function Xt(e){if(z.value)try{K.value=await S({base:`/api/workshop/eda/golden/deviation?run_id=${encodeURIComponent(z.value)}&node_id=${encodeURIComponent(e)}`})}catch(e){H.value=x(e)}}function Zt(){return{title:q.value.trim(),viz_type:L.value,datasource:{lineId:j.value||null,nodeIds:P.value.map(e=>e.nodeId),runId:z.value||null,preset:R.value,agg:B.value},encoding:{y:P.value,refLines:F.value,golden:[...W.value]},options:{},line_id:j.value||null,visibility:J.value}}async function Qt(){X.value=``;try{let e=Zt();if(Y.value){let t=await S({base:`/api/workshop/eda/charts/${Y.value}`,init:{method:`PATCH`,body:JSON.stringify(e)}});X.value=C(`studio.savedV`,{v:t.chart.version})}else{let t=await S({base:`/api/workshop/eda/charts`,init:{method:`POST`,body:JSON.stringify(e)}});Y.value=t.chart.id,X.value=C(`studio.savedV`,{v:t.chart.version})}await $()}catch(e){H.value=x(e)}}function $t(e){Y.value=e.id,q.value=e.title,L.value=e.vizType;let t=e.datasource;j.value=t.lineId??``,z.value=t.runId??``,R.value=t.preset??`60`,B.value=t.agg??`avg`,J.value=e.visibility??`private`;let n=e.encoding;P.value=n.y??[],F.value=n.refLines??[],W.value=new Set(n.golden??[]),Q().then(qt)}async function en(e){try{await S({base:`/api/workshop/eda/charts/${e}`,init:{method:`DELETE`}}),Y.value===e&&(Y.value=``),await $()}catch(e){H.value=x(e)}}async function Q(){let e=await S({base:`/api/workshop/daq`,retries:1});A.value=(e.nodes??[]).filter(e=>!j.value||e.lineId===j.value)}async function $(){let e=await S({base:`/api/workshop/eda/charts?mine=1`,retries:1});M.value=e.charts??[]}return r(async()=>{try{let e=typeof w.query.line==`string`?w.query.line:``,[t,n]=await Promise.all([S({base:`/api/workshop/dcw/lines`,retries:1}),S({base:`/api/workshop/eda/runs?limit=20`,retries:1})]);k.value=t.lines??[],N.value=n.runs??[],e&&k.value.some(t=>t.id===e)?j.value=e:k.value.length&&(j.value=k.value[0].id),await Q(),await $()}catch(e){H.value=x(e)}}),h(j,e=>{Lt.replace({query:{...w.query,line:e||void 0}})}),(n,r)=>{let i=re,c=oe,h=ae;return a(),u(`div`,ce,[l(`aside`,le,[l(`div`,ue,[l(`h3`,de,t(n.$t(`studio.sources`)),1),f(l(`select`,{"onUpdate:modelValue":r[0]||=e=>j.value=e,class:`input w`,"data-test":`studio-line`,onChange:Q},[l(`option`,fe,t(n.$t(`data.line.any`)),1),(a(!0),u(d,null,o(k.value,e=>(a(),u(`option`,{key:e.id,value:e.id},t(e.name),9,pe))),128))],544),[[_,j.value]]),l(`div`,me,[(a(!0),u(d,null,o(A.value,e=>(a(),u(`button`,{key:e.id,class:`nodeRow`,title:n.$t(`studio.dblClickAdd`),onDblclick:t=>Bt(e)},[l(`span`,ge,t(e.name),1),e.unit?(a(),u(`span`,_e,t(e.unit),1)):p(``,!0),Z(e.id)?p(``,!0):(a(),u(`button`,{key:1,class:`miniAdd`,onClick:v(t=>Bt(e),[`stop`])},` +Y `,8,ve))],40,he))),128)),A.value.length?p(``,!0):(a(),u(`p`,ye,t(n.$t(`studio.pickLine`)),1))])]),l(`div`,be,[l(`h3`,xe,t(n.$t(`studio.myCharts`)),1),(a(!0),u(d,null,o(M.value,e=>(a(),u(`button`,{key:e.id,class:`chartRow`,"data-test":`studio-chart-row`,onClick:t=>$t(e)},[l(`span`,Ce,t(e.title),1),l(`span`,we,t(e.vizType)+` v`+t(e.version),1),l(`button`,{class:`miniAdd`,onClick:v(t=>en(e.id),[`stop`])},` ✕ `,8,Te)],8,Se))),128)),M.value.length?p(``,!0):(a(),u(`p`,Ee,t(n.$t(`studio.noCharts`)),1))])]),l(`main`,De,[l(`div`,Oe,[l(`div`,ke,[l(`div`,Ae,[(a(),u(d,null,o(b,n=>l(`button`,{key:n,class:e([`vizBtn`,{on:L.value===n,dim:!zt(n)}]),title:O.value[n],onClick:e=>L.value=n},t(O.value[n]),11,je)),64))])]),l(`div`,Me,[l(`label`,Ne,t(n.$t(`data.mirror.window`)),1),f(l(`select`,{"onUpdate:modelValue":r[1]||=e=>R.value=e,class:`input sel`},[l(`option`,Pe,t(n.$t(`data.mirror.last15`)),1),l(`option`,Fe,t(n.$t(`data.mirror.last60`)),1),l(`option`,Ie,t(n.$t(`data.mirror.last240`)),1)],512),[[_,R.value]]),l(`label`,Le,t(n.$t(`studio.runFilter`)),1),f(l(`select`,{"onUpdate:modelValue":r[2]||=e=>z.value=e,class:`input sel`,"data-test":`studio-run`},[l(`option`,Re,t(n.$t(`studio.noRun`)),1),(a(!0),u(d,null,o(N.value,e=>(a(),u(`option`,{key:e.id,value:e.id},t(e.id)+` · `+t(e.outcome),9,ze))),128))],512),[[_,z.value]]),l(`label`,Be,t(n.$t(`data.mirror.agg`)),1),f(l(`select`,{"onUpdate:modelValue":r[3]||=e=>B.value=e,class:`input sel`},[l(`option`,Ve,t(n.$t(`data.mirror.aggAvg`)),1),l(`option`,He,t(n.$t(`data.mirror.aggMin`)),1),l(`option`,Ue,t(n.$t(`data.mirror.aggMax`)),1)],512),[[_,B.value]]),l(`button`,{class:`pill-btn primary`,"data-test":`studio-query`,disabled:!P.value.length||V.value,onClick:qt},t(V.value?n.$t(`data.mirror.querying`):n.$t(`data.mirror.query`)),9,We),s(i,{to:`/studio/board`,class:`pill-btn boardLink`,"data-test":`studio-board-link`},{default:m(()=>[g(t(n.$t(`studio.boardLink`)),1)]),_:1}),l(`button`,{class:`pill-btn`,"data-test":`studio-agent-prompt`,disabled:!U.value.length,onClick:r[4]||=e=>T.value=!0},t(n.$t(`studio.agentPrompt`)),9,Ge)]),H.value?(a(),u(`p`,Ke,t(H.value),1)):p(``,!0)]),l(`div`,qe,[s(h,null,{default:m(()=>[Kt.value&&L.value!==`table`&&L.value!==`kpi`?(a(),ee(c,{key:0,option:Kt.value,style:{height:`100%`,width:`100%`}},null,8,[`option`])):p(``,!0)]),_:1}),L.value===`kpi`&&U.value.length?(a(),u(`div`,Je,[(a(!0),u(d,null,o(U.value,e=>(a(),u(`div`,{key:e.nodeId,class:`kpi`},[l(`span`,Ye,t(e.name),1),l(`span`,Xe,[g(t(Wt(e)),1),l(`i`,Ze,t(e.unit),1)])]))),128))])):p(``,!0),L.value===`table`&&U.value.length?(a(),u(`div`,Qe,[l(`table`,$e,[l(`thead`,null,[l(`tr`,null,[l(`th`,null,t(n.$t(`data.mirror.time`)),1),(a(!0),u(d,null,o(U.value,e=>(a(),u(`th`,{key:e.nodeId},t(e.name),1))),128))])]),l(`tbody`,null,[(a(!0),u(d,null,o(Gt.value,e=>(a(),u(`tr`,{key:e.at},[l(`td`,et,t(e.time),1),(a(!0),u(d,null,o(U.value,n=>(a(),u(`td`,{key:n.nodeId,class:`mono`},t(e.cells[n.nodeId]??``),1))),128))]))),128))])])])):p(``,!0),!U.value.length&&!V.value?(a(),u(`p`,tt,t(n.$t(`studio.canvasEmpty`)),1)):p(``,!0)])]),l(`aside`,nt,[l(`div`,rt,[l(`h3`,it,t(n.$t(`studio.yWell`)),1),l(`div`,at,[(a(!0),u(d,null,o(P.value,e=>(a(),u(`span`,{key:e.nodeId,class:`chip`},[l(`b`,ot,t(e.axis),1),g(` `+t(e.name)+` `,1),l(`button`,{class:`axisBtn`,title:n.$t(`studio.toggleAxis`),onClick:t=>Ht(e.nodeId)},`⇄`,8,st),l(`button`,{class:`axisBtn`,onClick:t=>Vt(e.nodeId)},`✕`,8,ct)]))),128)),P.value.length?p(``,!0):(a(),u(`span`,lt,t(n.$t(`studio.yEmpty`)),1))]),l(`h3`,ut,t(n.$t(`studio.refWell`)),1),l(`div`,dt,[(a(!0),u(d,null,o(F.value,(e,n)=>(a(),u(`span`,{key:n,class:`chip`},[g(t(e.label)+` `+t(e.value)+` `,1),l(`button`,{class:`axisBtn`,onClick:e=>F.value.splice(n,1)},`✕`,8,ft)]))),128)),F.value.length?p(``,!0):(a(),u(`span`,pt,t(n.$t(`studio.refEmpty`)),1))]),l(`div`,mt,[f(l(`input`,{"onUpdate:modelValue":r[5]||=e=>I.value=e,type:`number`,class:`input numIn`,placeholder:n.$t(`studio.refValue`)},null,8,ht),[[y,I.value]]),l(`button`,{class:`pill-btn`,onClick:Ut},t(n.$t(`studio.refFromTemplate`)),1)])]),l(`div`,gt,[l(`h3`,_t,t(n.$t(`studio.golden`)),1),l(`p`,vt,t(n.$t(`studio.goldenHint`)),1),(a(!0),u(d,null,o(P.value,e=>(a(),u(`div`,{key:e.nodeId,class:`row goldenRow`},[l(`span`,yt,t(e.name),1),l(`button`,{class:`pill-btn`,disabled:!z.value,onClick:t=>Jt(e.nodeId)},t(n.$t(`studio.goldenMake`)),9,bt),l(`button`,{class:`pill-btn`,onClick:t=>Yt(e.nodeId)},t(W.value.has(e.nodeId)?n.$t(`studio.goldenHide`):n.$t(`studio.goldenShow`)),9,xt),l(`button`,{class:`pill-btn`,disabled:!z.value,onClick:t=>Xt(e.nodeId)},t(n.$t(`studio.goldenScore`)),9,St)]))),128)),K.value?(a(),u(`p`,Ct,t(n.$t(`studio.deviationScore`,{score:K.value.score})),1)):p(``,!0)]),l(`div`,wt,[l(`h3`,Tt,t(n.$t(`studio.saveSection`)),1),f(l(`input`,{"onUpdate:modelValue":r[6]||=e=>q.value=e,class:`input w`,placeholder:n.$t(`studio.chartTitle`),"data-test":`studio-title`},null,8,Et),[[y,q.value]]),l(`div`,Dt,[f(l(`select`,{"onUpdate:modelValue":r[7]||=e=>J.value=e,class:`input sel`},[l(`option`,Ot,t(n.$t(`studio.visPrivate`)),1),l(`option`,kt,t(n.$t(`studio.visLine`)),1)],512),[[_,J.value]]),l(`button`,{class:`pill-btn primary`,"data-test":`studio-save`,disabled:!q.value.trim()||!U.value.length,onClick:Qt},t(Y.value?n.$t(`studio.update`):n.$t(`studio.save`)),9,At)]),X.value?(a(),u(`p`,jt,t(X.value),1)):p(``,!0)]),T.value?(a(),u(`div`,{key:0,class:`modalMask`,onClick:r[9]||=v(e=>T.value=!1,[`self`])},[l(`div`,Mt,[l(`h3`,Nt,t(n.$t(`studio.promptTitle`)),1),l(`textarea`,{readonly:``,value:D.value,class:`promptBox`,"data-test":`studio-prompt-text`},null,8,Pt),l(`div`,Ft,[l(`button`,{class:`pill-btn`,"data-test":`studio-prompt-copy`,onClick:Rt},t(n.$t(`studio.copy`)),1),l(`button`,{class:`pill-btn`,onClick:r[8]||=e=>T.value=!1},t(n.$t(`data.mirror.cancel`)),1)]),E.value?(a(),u(`p`,It,t(E.value),1)):p(``,!0)])])):p(``,!0)])])}}}),[[`__scopeId`,`data-v-455d5f47`]]);export{C as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./BqFaZ4kS.js";function t(){let{$http:t}=e();return t}export{t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.page[data-v-6556153b]{padding:4px}h1[data-v-6556153b]{letter-spacing:-.022em;margin:2px 0 4px;font-size:28px;font-weight:600}.sub[data-v-6556153b]{color:var(--ink-faint);margin:0;font-size:13px}.mono[data-v-6556153b]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-6556153b]{opacity:.55}.err[data-v-6556153b]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.pad[data-v-6556153b]{padding:10px 12px}.badges[data-v-6556153b]{gap:8px;display:flex}.badge[data-v-6556153b]{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-6556153b]{color:var(--tone-danger-dot);border-color:color-mix(in srgb, var(--tone-danger-dot) 45%, transparent)}.infra-banner[data-v-6556153b]{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-6556153b]:first-child{flex:none;margin-top:2px}.infra-banner .txt[data-v-6556153b]{flex:auto;font-size:12.5px;line-height:1.5}.ov-card[data-v-6556153b]{margin-bottom:14px;padding:10px 18px}.ov-row[data-v-6556153b]{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:12px;display:flex}.ov-item[data-v-6556153b]{align-items:center;gap:5px;display:inline-flex}.ov-item b[data-v-6556153b]{color:var(--ink);font-weight:700}.ov-item.ok[data-v-6556153b]{color:var(--tone-success-dot)}.ov-item.bad[data-v-6556153b]{color:var(--tone-danger-dot)}.ov-item.accent b[data-v-6556153b]{color:var(--accent)}.ov-row .sep[data-v-6556153b]{opacity:.4}.ov-row .reload[data-v-6556153b]{margin-left:auto}.zone[data-v-6556153b]{margin-bottom:14px;padding:12px 18px 14px}.zone-head[data-v-6556153b]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;margin-bottom:10px;display:flex}.zone-head h2[data-v-6556153b]{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-6556153b]{color:var(--ink-faint);font-size:11.5px;font-weight:400}.zone-actions[data-v-6556153b]{align-items:center;gap:8px;display:flex}.env-grid[data-v-6556153b]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.env-card[data-v-6556153b]{background:var(--surface-sunken,color-mix(in srgb, var(--ink) 3%, transparent));border:1px solid var(--line);border-radius:var(--radius-control);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.env-card.ok[data-v-6556153b]{border-color:color-mix(in srgb, var(--tone-success-dot) 35%, transparent)}.env-card.bad[data-v-6556153b]{border-color:color-mix(in srgb, var(--tone-warning-dot) 40%, transparent)}.env-card .ec-head[data-v-6556153b]{align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.env-card .ec-head .ec-state[data-v-6556153b]{color:var(--ink-faint);margin-left:auto;font-size:11.5px}.env-card.ok .ec-head>span[data-v-6556153b]:first-child{color:var(--tone-success-dot)}.env-card.bad .ec-head>span[data-v-6556153b]:first-child{color:var(--tone-warning-dot)}.env-card .ec-detail[data-v-6556153b]{color:var(--ink-soft);overflow-wrap:break-word;margin:0;font-size:12px;line-height:1.55}.env-card .ec-detail.mono[data-v-6556153b]{letter-spacing:-.01em;font-size:11.5px}.env-card .ec-detail.dim[data-v-6556153b]{color:var(--ink-faint)}.env-card .ec-actions[data-v-6556153b]{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px;display:flex}.env-card .ec-issues[data-v-6556153b]{max-height:96px;margin:0;padding:0;font-size:11.5px;list-style:none;overflow-y:auto}.env-card .ec-issues li[data-v-6556153b]{color:var(--ink-soft);align-items:center;gap:6px;padding:1px 0;display:flex}.env-card .ec-issues .tag[data-v-6556153b]{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-6556153b]{border-top:1px solid var(--divider-hair);margin-top:10px;padding-top:10px}.env-task .et-head[data-v-6556153b]{align-items:center;gap:8px;font-size:12px;display:flex}.env-task .et-head .dim[data-v-6556153b]{color:var(--ink-faint);font-weight:400}.env-task .et-log[data-v-6556153b]{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-6556153b]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}@keyframes amlSpin-6556153b{to{transform:rotate(1turn)}}.spin[data-v-6556153b]{animation:1s linear infinite amlSpin-6556153b;display:inline-block}@media (prefers-reduced-motion:reduce){.spin[data-v-6556153b]{animation:none}}.note-edit[data-v-6556153b]{align-items:center;gap:6px;display:flex}.note-edit input[data-v-6556153b]{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-6556153b]{align-items:center;gap:6px;display:inline-flex}.note-text .edit-i[data-v-6556153b]{cursor:pointer;opacity:.5}.note-text .edit-i[data-v-6556153b]:hover{opacity:1}.live-dot[data-v-6556153b]{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-6556153b]{animation:1.8s ease-in-out infinite amlPulse-6556153b}}@keyframes amlPulse-6556153b{50%{opacity:.4}}.tbl[data-v-6556153b]{border-collapse:collapse;width:100%;font-size:12.5px}.tbl td[data-v-6556153b],.tbl th[data-v-6556153b]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:8px 10px}.tbl th[data-v-6556153b]{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-6556153b],.tbl .right[data-v-6556153b]{text-align:right}.tbl .acts[data-v-6556153b]{white-space:nowrap}.tbl .acts .mini-btn+.mini-btn[data-v-6556153b]{margin-left:6px}.row-main[data-v-6556153b]{cursor:pointer}@media (prefers-reduced-motion:no-preference){.row-main[data-v-6556153b]:hover{background:var(--hover-tint)}}.row-main.open td[data-v-6556153b]{border-bottom-color:#0000}.note-cell[data-v-6556153b]{max-width:260px}.label-cell[data-v-6556153b]{max-width:220px}.label-cell .label-text[data-v-6556153b]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.label-cell .desc-text[data-v-6556153b]{color:var(--ink-faint,#8b98a5);text-overflow:ellipsis;white-space:nowrap;max-width:320px;margin-top:2px;font-size:11px;display:block;overflow:hidden}.note[data-v-6556153b]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.kind[data-v-6556153b]{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-6556153b]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 40%, transparent)}.detail-row td[data-v-6556153b]{background:var(--frost-bg);padding:0 12px 12px}.det-grid[data-v-6556153b]{grid-template-columns:minmax(340px,3fr) minmax(280px,2fr);gap:10px 22px;display:grid}@media (width<=1100px){.det-grid[data-v-6556153b]{grid-template-columns:1fr}}.det-title[data-v-6556153b]{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-6556153b]:first-child{margin-top:10px}.sub-tbl[data-v-6556153b]{border-collapse:collapse;width:100%;font-size:12px}.sub-tbl td[data-v-6556153b],.sub-tbl th[data-v-6556153b]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:5px 8px}.sub-tbl th[data-v-6556153b]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-size:11.5px}.sub-tbl .num[data-v-6556153b]{text-align:right}.role-chip[data-v-6556153b]{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-6556153b]{overflow-wrap:anywhere;margin:4px 0;font-size:11.5px}.run-line b[data-v-6556153b]{color:var(--ink)}.drop-line[data-v-6556153b]{color:var(--tone-danger-dot);overflow-wrap:anywhere;margin:2px 0;font-size:11.5px}.st-pill[data-v-6556153b]{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-6556153b],.st-pill.queued[data-v-6556153b]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.evaluating[data-v-6556153b],.st-pill.running[data-v-6556153b],.st-pill.training[data-v-6556153b]{color:var(--tone-info-dot);background:color-mix(in srgb, var(--tone-info-dot) 12%, transparent)}.st-pill.done[data-v-6556153b],.st-pill.gates_passed[data-v-6556153b]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.failed[data-v-6556153b],.st-pill.gates_failed[data-v-6556153b],.st-pill.timeout[data-v-6556153b]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.cancelled[data-v-6556153b],.st-pill.interrupted[data-v-6556153b]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.prog-th[data-v-6556153b]{min-width:140px}.prog-cell[data-v-6556153b]{white-space:nowrap}.prog[data-v-6556153b]{vertical-align:middle;background:var(--paper-deep);border-radius:3px;width:96px;height:6px;display:inline-block;overflow:hidden}.prog i[data-v-6556153b]{background:var(--tone-info-dot);border-radius:3px;height:100%;transition:width .4s;display:block}.prog i.done[data-v-6556153b]{background:var(--tone-success-dot)}.prog i.bad[data-v-6556153b]{background:var(--tone-danger-dot)}.prog-num[data-v-6556153b]{color:var(--ink-soft);margin-left:7px;font-size:11.5px}.gate-id[data-v-6556153b]{font-weight:700}.gate-detail[data-v-6556153b]{margin-top:3px;font-size:11px;display:block}.verdict[data-v-6556153b]{border-radius:99px;padding:1px 7px;font-size:11.5px}.verdict.pass[data-v-6556153b]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.verdict.fail[data-v-6556153b]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.live-hint[data-v-6556153b]{letter-spacing:0;color:var(--tone-info-dot);text-transform:none;margin-left:8px;font-size:11.5px;font-weight:400}.logs[data-v-6556153b]{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-6556153b]{background:color-mix(in srgb, var(--accent) 9%, transparent)}tr.best td[data-v-6556153b]:first-child{box-shadow:inset 3px 0 0 var(--accent)}.best-tag[data-v-6556153b]{color:var(--on-accent);background:var(--accent);border-radius:99px;margin-right:6px;padding:1px 7px;font-size:11.5px}.stage-pill[data-v-6556153b]{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-6556153b]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 45%, transparent)}.stage-pill.production[data-v-6556153b]{color:var(--tone-success-dot);background:var(--tone-success-bg);border-color:#0000}.stage-pill.retired[data-v-6556153b]{opacity:.55;border-style:dashed}.inp-sel[data-v-6556153b]{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-6556153b]{margin-top:4px}.io-grid[data-v-6556153b]{color:var(--ink-soft);flex-wrap:wrap;gap:6px 14px;margin-bottom:10px;font-size:11.5px;display:flex}.io-item b[data-v-6556153b]{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.pc-form[data-v-6556153b]{grid-template-columns:minmax(300px,3fr) minmax(220px,2fr);gap:12px 18px;display:grid}@media (width<=1100px){.pc-form[data-v-6556153b]{grid-template-columns:1fr}}.pc-field[data-v-6556153b]{color:var(--ink-soft);flex-direction:column;gap:5px;margin-top:8px;font-size:12px;display:flex}.pc-side[data-v-6556153b]{flex-direction:column;align-items:stretch;gap:8px;display:flex}.pc-side .ghost-btn[data-v-6556153b]{align-self:flex-start;margin-top:8px}.pc-side .pill-btn[data-v-6556153b]{margin-top:auto}.inp[data-v-6556153b]{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-6556153b]{resize:vertical;line-height:1.5}.inp[data-v-6556153b]:focus{border-color:var(--accent);outline:none}.hint[data-v-6556153b]{margin:8px 0 0;font-size:11.5px;line-height:1.6}.modal-mask[data-v-6556153b]{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-6556153b]{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-6556153b]{margin:0 0 12px;font-size:16px;font-weight:600}.f-grid[data-v-6556153b]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin-bottom:10px;display:grid}@media (width<=720px){.f-grid[data-v-6556153b]{grid-template-columns:1fr}}.f[data-v-6556153b]{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:12px;display:flex}.f.wide[data-v-6556153b]{grid-column:1/-1}.f em[data-v-6556153b]{color:var(--tone-danger-dot);margin-left:2px;font-style:normal}.sec-label[data-v-6556153b]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:12px 0 8px;font-size:11px;font-weight:600}.node-rows[data-v-6556153b]{flex-direction:column;gap:7px;margin-bottom:12px;display:flex}.node-row[data-v-6556153b]{align-items:center;gap:8px;display:flex}.node-row .grow[data-v-6556153b]{flex:auto}.node-row .sel[data-v-6556153b]{flex:0 0 220px}.m-err[data-v-6556153b]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.m-actions[data-v-6556153b]{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.empty[data-v-6556153b]{color:var(--ink-faint);text-align:center;margin:6px 0;padding:18px 0;font-size:12.5px}.tbl-scroll[data-v-6556153b]{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}@media (width<=900px){.tbl-scroll[data-v-6556153b]{scrollbar-width:thin;overflow-x:auto}.tbl-datasets[data-v-6556153b]{min-width:720px}.tbl-jobs[data-v-6556153b]{min-width:860px}.tbl-exp[data-v-6556153b]{min-width:700px}.tbl-models[data-v-6556153b]{min-width:780px}.tbl td[data-v-6556153b],.tbl th[data-v-6556153b]{white-space:nowrap}.tbl tbody>tr>td[data-v-6556153b]:first-child,.tbl thead>tr>th[data-v-6556153b]: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-6556153b]:first-child{z-index:3}.detail-row>td[data-v-6556153b]:first-child{box-shadow:none;background:var(--frost-bg);position:static}.inp[data-v-6556153b],.inp-sel[data-v-6556153b],.mini-btn[data-v-6556153b],.note-edit input[data-v-6556153b],.pill-btn[data-v-6556153b]{min-height:40px}.tbl .acts .mini-btn+.mini-btn[data-v-6556153b]{margin-left:8px}.note-cell[data-v-6556153b]{max-width:200px}.note-edit[data-v-6556153b]{flex-wrap:wrap}.zone[data-v-6556153b]{padding:12px 12px 14px}.f-grid[data-v-6556153b],.det-grid[data-v-6556153b]{grid-template-columns:1fr}.m-actions[data-v-6556153b],.mx-actions[data-v-6556153b]{flex-wrap:wrap}.modal[data-v-6556153b]{padding:16px}.node-row[data-v-6556153b]{flex-wrap:wrap}.node-row .sel[data-v-6556153b]{flex:100%}.modal-mask[data-v-6556153b]{padding:4vh 10px 12px}}@media (width<=640px){.zone-head[data-v-6556153b]{gap:8px}.zone-head h2[data-v-6556153b]{font-size:14px}.zone-actions[data-v-6556153b]{flex-wrap:wrap}.ov-card[data-v-6556153b]{padding:10px 12px}}.page[data-v-b2590880]{padding:4px}h1[data-v-b2590880]{letter-spacing:-.022em;margin:2px 0 4px;font-size:28px;font-weight:600}.sub[data-v-b2590880]{color:var(--ink-faint);margin:0;font-size:13px}.mono[data-v-b2590880]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-b2590880]{opacity:.55}.err[data-v-b2590880]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.pad[data-v-b2590880]{padding:10px 12px}.badges[data-v-b2590880]{gap:8px;display:flex}.badge[data-v-b2590880]{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-b2590880]{color:var(--tone-danger-dot);border-color:color-mix(in srgb, var(--tone-danger-dot) 45%, transparent)}.infra-banner[data-v-b2590880]{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-b2590880]:first-child{flex:none;margin-top:2px}.infra-banner .txt[data-v-b2590880]{flex:auto;font-size:12.5px;line-height:1.5}.ov-card[data-v-b2590880]{margin-bottom:14px;padding:10px 18px}.ov-row[data-v-b2590880]{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:12px;display:flex}.ov-item[data-v-b2590880]{align-items:center;gap:5px;display:inline-flex}.ov-item b[data-v-b2590880]{color:var(--ink);font-weight:700}.ov-item.ok[data-v-b2590880]{color:var(--tone-success-dot)}.ov-item.bad[data-v-b2590880]{color:var(--tone-danger-dot)}.ov-item.accent b[data-v-b2590880]{color:var(--accent)}.ov-row .sep[data-v-b2590880]{opacity:.4}.ov-row .reload[data-v-b2590880]{margin-left:auto}.zone[data-v-b2590880]{margin-bottom:14px;padding:12px 18px 14px}.zone-head[data-v-b2590880]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;margin-bottom:10px;display:flex}.zone-head h2[data-v-b2590880]{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-b2590880]{color:var(--ink-faint);font-size:11.5px;font-weight:400}.zone-actions[data-v-b2590880]{align-items:center;gap:8px;display:flex}.env-grid[data-v-b2590880]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.env-card[data-v-b2590880]{background:var(--surface-sunken,color-mix(in srgb, var(--ink) 3%, transparent));border:1px solid var(--line);border-radius:var(--radius-control);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.env-card.ok[data-v-b2590880]{border-color:color-mix(in srgb, var(--tone-success-dot) 35%, transparent)}.env-card.bad[data-v-b2590880]{border-color:color-mix(in srgb, var(--tone-warning-dot) 40%, transparent)}.env-card .ec-head[data-v-b2590880]{align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.env-card .ec-head .ec-state[data-v-b2590880]{color:var(--ink-faint);margin-left:auto;font-size:11.5px}.env-card.ok .ec-head>span[data-v-b2590880]:first-child{color:var(--tone-success-dot)}.env-card.bad .ec-head>span[data-v-b2590880]:first-child{color:var(--tone-warning-dot)}.env-card .ec-detail[data-v-b2590880]{color:var(--ink-soft);overflow-wrap:break-word;margin:0;font-size:12px;line-height:1.55}.env-card .ec-detail.mono[data-v-b2590880]{letter-spacing:-.01em;font-size:11.5px}.env-card .ec-detail.dim[data-v-b2590880]{color:var(--ink-faint)}.env-card .ec-actions[data-v-b2590880]{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px;display:flex}.env-card .ec-issues[data-v-b2590880]{max-height:96px;margin:0;padding:0;font-size:11.5px;list-style:none;overflow-y:auto}.env-card .ec-issues li[data-v-b2590880]{color:var(--ink-soft);align-items:center;gap:6px;padding:1px 0;display:flex}.env-card .ec-issues .tag[data-v-b2590880]{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-b2590880]{border-top:1px solid var(--divider-hair);margin-top:10px;padding-top:10px}.env-task .et-head[data-v-b2590880]{align-items:center;gap:8px;font-size:12px;display:flex}.env-task .et-head .dim[data-v-b2590880]{color:var(--ink-faint);font-weight:400}.env-task .et-log[data-v-b2590880]{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-b2590880]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}@keyframes amlSpin-b2590880{to{transform:rotate(1turn)}}.spin[data-v-b2590880]{animation:1s linear infinite amlSpin-b2590880;display:inline-block}@media (prefers-reduced-motion:reduce){.spin[data-v-b2590880]{animation:none}}.note-edit[data-v-b2590880]{align-items:center;gap:6px;display:flex}.note-edit input[data-v-b2590880]{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-b2590880]{align-items:center;gap:6px;display:inline-flex}.note-text .edit-i[data-v-b2590880]{cursor:pointer;opacity:.5}.note-text .edit-i[data-v-b2590880]:hover{opacity:1}.live-dot[data-v-b2590880]{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-b2590880]{animation:1.8s ease-in-out infinite amlPulse-b2590880}}@keyframes amlPulse-b2590880{50%{opacity:.4}}.tbl[data-v-b2590880]{border-collapse:collapse;width:100%;font-size:12.5px}.tbl td[data-v-b2590880],.tbl th[data-v-b2590880]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:8px 10px}.tbl th[data-v-b2590880]{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-b2590880],.tbl .right[data-v-b2590880]{text-align:right}.tbl .acts[data-v-b2590880]{white-space:nowrap}.tbl .acts .mini-btn+.mini-btn[data-v-b2590880]{margin-left:6px}.row-main[data-v-b2590880]{cursor:pointer}@media (prefers-reduced-motion:no-preference){.row-main[data-v-b2590880]:hover{background:var(--hover-tint)}}.row-main.open td[data-v-b2590880]{border-bottom-color:#0000}.note-cell[data-v-b2590880]{max-width:260px}.label-cell[data-v-b2590880]{max-width:220px}.label-cell .label-text[data-v-b2590880]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.label-cell .desc-text[data-v-b2590880]{color:var(--ink-faint,#8b98a5);text-overflow:ellipsis;white-space:nowrap;max-width:320px;margin-top:2px;font-size:11px;display:block;overflow:hidden}.note[data-v-b2590880]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.kind[data-v-b2590880]{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-b2590880]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 40%, transparent)}.detail-row td[data-v-b2590880]{background:var(--frost-bg);padding:0 12px 12px}.det-grid[data-v-b2590880]{grid-template-columns:minmax(340px,3fr) minmax(280px,2fr);gap:10px 22px;display:grid}@media (width<=1100px){.det-grid[data-v-b2590880]{grid-template-columns:1fr}}.det-title[data-v-b2590880]{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-b2590880]:first-child{margin-top:10px}.sub-tbl[data-v-b2590880]{border-collapse:collapse;width:100%;font-size:12px}.sub-tbl td[data-v-b2590880],.sub-tbl th[data-v-b2590880]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:5px 8px}.sub-tbl th[data-v-b2590880]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-size:11.5px}.sub-tbl .num[data-v-b2590880]{text-align:right}.role-chip[data-v-b2590880]{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-b2590880]{overflow-wrap:anywhere;margin:4px 0;font-size:11.5px}.run-line b[data-v-b2590880]{color:var(--ink)}.drop-line[data-v-b2590880]{color:var(--tone-danger-dot);overflow-wrap:anywhere;margin:2px 0;font-size:11.5px}.st-pill[data-v-b2590880]{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-b2590880],.st-pill.queued[data-v-b2590880]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.evaluating[data-v-b2590880],.st-pill.running[data-v-b2590880],.st-pill.training[data-v-b2590880]{color:var(--tone-info-dot);background:color-mix(in srgb, var(--tone-info-dot) 12%, transparent)}.st-pill.done[data-v-b2590880],.st-pill.gates_passed[data-v-b2590880]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.failed[data-v-b2590880],.st-pill.gates_failed[data-v-b2590880],.st-pill.timeout[data-v-b2590880]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.cancelled[data-v-b2590880],.st-pill.interrupted[data-v-b2590880]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.prog-th[data-v-b2590880]{min-width:140px}.prog-cell[data-v-b2590880]{white-space:nowrap}.prog[data-v-b2590880]{vertical-align:middle;background:var(--paper-deep);border-radius:3px;width:96px;height:6px;display:inline-block;overflow:hidden}.prog i[data-v-b2590880]{background:var(--tone-info-dot);border-radius:3px;height:100%;transition:width .4s;display:block}.prog i.done[data-v-b2590880]{background:var(--tone-success-dot)}.prog i.bad[data-v-b2590880]{background:var(--tone-danger-dot)}.prog-num[data-v-b2590880]{color:var(--ink-soft);margin-left:7px;font-size:11.5px}.gate-id[data-v-b2590880]{font-weight:700}.gate-detail[data-v-b2590880]{margin-top:3px;font-size:11px;display:block}.verdict[data-v-b2590880]{border-radius:99px;padding:1px 7px;font-size:11.5px}.verdict.pass[data-v-b2590880]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.verdict.fail[data-v-b2590880]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.live-hint[data-v-b2590880]{letter-spacing:0;color:var(--tone-info-dot);text-transform:none;margin-left:8px;font-size:11.5px;font-weight:400}.logs[data-v-b2590880]{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-b2590880]{background:color-mix(in srgb, var(--accent) 9%, transparent)}tr.best td[data-v-b2590880]:first-child{box-shadow:inset 3px 0 0 var(--accent)}.best-tag[data-v-b2590880]{color:var(--on-accent);background:var(--accent);border-radius:99px;margin-right:6px;padding:1px 7px;font-size:11.5px}.stage-pill[data-v-b2590880]{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-b2590880]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 45%, transparent)}.stage-pill.production[data-v-b2590880]{color:var(--tone-success-dot);background:var(--tone-success-bg);border-color:#0000}.stage-pill.retired[data-v-b2590880]{opacity:.55;border-style:dashed}.inp-sel[data-v-b2590880]{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-b2590880]{margin-top:4px}.io-grid[data-v-b2590880]{color:var(--ink-soft);flex-wrap:wrap;gap:6px 14px;margin-bottom:10px;font-size:11.5px;display:flex}.io-item b[data-v-b2590880]{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.pc-form[data-v-b2590880]{grid-template-columns:minmax(300px,3fr) minmax(220px,2fr);gap:12px 18px;display:grid}@media (width<=1100px){.pc-form[data-v-b2590880]{grid-template-columns:1fr}}.pc-field[data-v-b2590880]{color:var(--ink-soft);flex-direction:column;gap:5px;margin-top:8px;font-size:12px;display:flex}.pc-side[data-v-b2590880]{flex-direction:column;align-items:stretch;gap:8px;display:flex}.pc-side .ghost-btn[data-v-b2590880]{align-self:flex-start;margin-top:8px}.pc-side .pill-btn[data-v-b2590880]{margin-top:auto}.inp[data-v-b2590880]{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-b2590880]{resize:vertical;line-height:1.5}.inp[data-v-b2590880]:focus{border-color:var(--accent);outline:none}.hint[data-v-b2590880]{margin:8px 0 0;font-size:11.5px;line-height:1.6}.modal-mask[data-v-b2590880]{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-b2590880]{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-b2590880]{margin:0 0 12px;font-size:16px;font-weight:600}.f-grid[data-v-b2590880]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin-bottom:10px;display:grid}@media (width<=720px){.f-grid[data-v-b2590880]{grid-template-columns:1fr}}.f[data-v-b2590880]{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:12px;display:flex}.f.wide[data-v-b2590880]{grid-column:1/-1}.f em[data-v-b2590880]{color:var(--tone-danger-dot);margin-left:2px;font-style:normal}.sec-label[data-v-b2590880]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:12px 0 8px;font-size:11px;font-weight:600}.node-rows[data-v-b2590880]{flex-direction:column;gap:7px;margin-bottom:12px;display:flex}.node-row[data-v-b2590880]{align-items:center;gap:8px;display:flex}.node-row .grow[data-v-b2590880]{flex:auto}.node-row .sel[data-v-b2590880]{flex:0 0 220px}.m-err[data-v-b2590880]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.m-actions[data-v-b2590880]{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.empty[data-v-b2590880]{color:var(--ink-faint);text-align:center;margin:6px 0;padding:18px 0;font-size:12.5px}.tbl-scroll[data-v-b2590880]{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}@media (width<=900px){.tbl-scroll[data-v-b2590880]{scrollbar-width:thin;overflow-x:auto}.tbl-datasets[data-v-b2590880]{min-width:720px}.tbl-jobs[data-v-b2590880]{min-width:860px}.tbl-exp[data-v-b2590880]{min-width:700px}.tbl-models[data-v-b2590880]{min-width:780px}.tbl td[data-v-b2590880],.tbl th[data-v-b2590880]{white-space:nowrap}.tbl tbody>tr>td[data-v-b2590880]:first-child,.tbl thead>tr>th[data-v-b2590880]: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-b2590880]:first-child{z-index:3}.detail-row>td[data-v-b2590880]:first-child{box-shadow:none;background:var(--frost-bg);position:static}.inp[data-v-b2590880],.inp-sel[data-v-b2590880],.mini-btn[data-v-b2590880],.note-edit input[data-v-b2590880],.pill-btn[data-v-b2590880]{min-height:40px}.tbl .acts .mini-btn+.mini-btn[data-v-b2590880]{margin-left:8px}.note-cell[data-v-b2590880]{max-width:200px}.note-edit[data-v-b2590880]{flex-wrap:wrap}.zone[data-v-b2590880]{padding:12px 12px 14px}.f-grid[data-v-b2590880],.det-grid[data-v-b2590880]{grid-template-columns:1fr}.m-actions[data-v-b2590880],.mx-actions[data-v-b2590880]{flex-wrap:wrap}.modal[data-v-b2590880]{padding:16px}.node-row[data-v-b2590880]{flex-wrap:wrap}.node-row .sel[data-v-b2590880]{flex:100%}.modal-mask[data-v-b2590880]{padding:4vh 10px 12px}}@media (width<=640px){.zone-head[data-v-b2590880]{gap:8px}.zone-head h2[data-v-b2590880]{font-size:14px}.zone-actions[data-v-b2590880]{flex-wrap:wrap}.ov-card[data-v-b2590880]{padding:10px 12px}}.page[data-v-77db0a40]{padding:4px}h1[data-v-77db0a40]{letter-spacing:-.022em;margin:2px 0 4px;font-size:28px;font-weight:600}.sub[data-v-77db0a40]{color:var(--ink-faint);margin:0;font-size:13px}.mono[data-v-77db0a40]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-77db0a40]{opacity:.55}.err[data-v-77db0a40]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.pad[data-v-77db0a40]{padding:10px 12px}.badges[data-v-77db0a40]{gap:8px;display:flex}.badge[data-v-77db0a40]{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-77db0a40]{color:var(--tone-danger-dot);border-color:color-mix(in srgb, var(--tone-danger-dot) 45%, transparent)}.infra-banner[data-v-77db0a40]{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-77db0a40]:first-child{flex:none;margin-top:2px}.infra-banner .txt[data-v-77db0a40]{flex:auto;font-size:12.5px;line-height:1.5}.ov-card[data-v-77db0a40]{margin-bottom:14px;padding:10px 18px}.ov-row[data-v-77db0a40]{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:12px;display:flex}.ov-item[data-v-77db0a40]{align-items:center;gap:5px;display:inline-flex}.ov-item b[data-v-77db0a40]{color:var(--ink);font-weight:700}.ov-item.ok[data-v-77db0a40]{color:var(--tone-success-dot)}.ov-item.bad[data-v-77db0a40]{color:var(--tone-danger-dot)}.ov-item.accent b[data-v-77db0a40]{color:var(--accent)}.ov-row .sep[data-v-77db0a40]{opacity:.4}.ov-row .reload[data-v-77db0a40]{margin-left:auto}.zone[data-v-77db0a40]{margin-bottom:14px;padding:12px 18px 14px}.zone-head[data-v-77db0a40]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;margin-bottom:10px;display:flex}.zone-head h2[data-v-77db0a40]{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-77db0a40]{color:var(--ink-faint);font-size:11.5px;font-weight:400}.zone-actions[data-v-77db0a40]{align-items:center;gap:8px;display:flex}.env-grid[data-v-77db0a40]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.env-card[data-v-77db0a40]{background:var(--surface-sunken,color-mix(in srgb, var(--ink) 3%, transparent));border:1px solid var(--line);border-radius:var(--radius-control);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.env-card.ok[data-v-77db0a40]{border-color:color-mix(in srgb, var(--tone-success-dot) 35%, transparent)}.env-card.bad[data-v-77db0a40]{border-color:color-mix(in srgb, var(--tone-warning-dot) 40%, transparent)}.env-card .ec-head[data-v-77db0a40]{align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.env-card .ec-head .ec-state[data-v-77db0a40]{color:var(--ink-faint);margin-left:auto;font-size:11.5px}.env-card.ok .ec-head>span[data-v-77db0a40]:first-child{color:var(--tone-success-dot)}.env-card.bad .ec-head>span[data-v-77db0a40]:first-child{color:var(--tone-warning-dot)}.env-card .ec-detail[data-v-77db0a40]{color:var(--ink-soft);overflow-wrap:break-word;margin:0;font-size:12px;line-height:1.55}.env-card .ec-detail.mono[data-v-77db0a40]{letter-spacing:-.01em;font-size:11.5px}.env-card .ec-detail.dim[data-v-77db0a40]{color:var(--ink-faint)}.env-card .ec-actions[data-v-77db0a40]{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px;display:flex}.env-card .ec-issues[data-v-77db0a40]{max-height:96px;margin:0;padding:0;font-size:11.5px;list-style:none;overflow-y:auto}.env-card .ec-issues li[data-v-77db0a40]{color:var(--ink-soft);align-items:center;gap:6px;padding:1px 0;display:flex}.env-card .ec-issues .tag[data-v-77db0a40]{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-77db0a40]{border-top:1px solid var(--divider-hair);margin-top:10px;padding-top:10px}.env-task .et-head[data-v-77db0a40]{align-items:center;gap:8px;font-size:12px;display:flex}.env-task .et-head .dim[data-v-77db0a40]{color:var(--ink-faint);font-weight:400}.env-task .et-log[data-v-77db0a40]{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-77db0a40]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}@keyframes amlSpin-77db0a40{to{transform:rotate(1turn)}}.spin[data-v-77db0a40]{animation:1s linear infinite amlSpin-77db0a40;display:inline-block}@media (prefers-reduced-motion:reduce){.spin[data-v-77db0a40]{animation:none}}.note-edit[data-v-77db0a40]{align-items:center;gap:6px;display:flex}.note-edit input[data-v-77db0a40]{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-77db0a40]{align-items:center;gap:6px;display:inline-flex}.note-text .edit-i[data-v-77db0a40]{cursor:pointer;opacity:.5}.note-text .edit-i[data-v-77db0a40]:hover{opacity:1}.live-dot[data-v-77db0a40]{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-77db0a40]{animation:1.8s ease-in-out infinite amlPulse-77db0a40}}@keyframes amlPulse-77db0a40{50%{opacity:.4}}.tbl[data-v-77db0a40]{border-collapse:collapse;width:100%;font-size:12.5px}.tbl td[data-v-77db0a40],.tbl th[data-v-77db0a40]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:8px 10px}.tbl th[data-v-77db0a40]{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-77db0a40],.tbl .right[data-v-77db0a40]{text-align:right}.tbl .acts[data-v-77db0a40]{white-space:nowrap}.tbl .acts .mini-btn+.mini-btn[data-v-77db0a40]{margin-left:6px}.row-main[data-v-77db0a40]{cursor:pointer}@media (prefers-reduced-motion:no-preference){.row-main[data-v-77db0a40]:hover{background:var(--hover-tint)}}.row-main.open td[data-v-77db0a40]{border-bottom-color:#0000}.note-cell[data-v-77db0a40]{max-width:260px}.label-cell[data-v-77db0a40]{max-width:220px}.label-cell .label-text[data-v-77db0a40]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.label-cell .desc-text[data-v-77db0a40]{color:var(--ink-faint,#8b98a5);text-overflow:ellipsis;white-space:nowrap;max-width:320px;margin-top:2px;font-size:11px;display:block;overflow:hidden}.note[data-v-77db0a40]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.kind[data-v-77db0a40]{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-77db0a40]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 40%, transparent)}.detail-row td[data-v-77db0a40]{background:var(--frost-bg);padding:0 12px 12px}.det-grid[data-v-77db0a40]{grid-template-columns:minmax(340px,3fr) minmax(280px,2fr);gap:10px 22px;display:grid}@media (width<=1100px){.det-grid[data-v-77db0a40]{grid-template-columns:1fr}}.det-title[data-v-77db0a40]{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-77db0a40]:first-child{margin-top:10px}.sub-tbl[data-v-77db0a40]{border-collapse:collapse;width:100%;font-size:12px}.sub-tbl td[data-v-77db0a40],.sub-tbl th[data-v-77db0a40]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:5px 8px}.sub-tbl th[data-v-77db0a40]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-size:11.5px}.sub-tbl .num[data-v-77db0a40]{text-align:right}.role-chip[data-v-77db0a40]{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-77db0a40]{overflow-wrap:anywhere;margin:4px 0;font-size:11.5px}.run-line b[data-v-77db0a40]{color:var(--ink)}.drop-line[data-v-77db0a40]{color:var(--tone-danger-dot);overflow-wrap:anywhere;margin:2px 0;font-size:11.5px}.st-pill[data-v-77db0a40]{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-77db0a40],.st-pill.queued[data-v-77db0a40]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.evaluating[data-v-77db0a40],.st-pill.running[data-v-77db0a40],.st-pill.training[data-v-77db0a40]{color:var(--tone-info-dot);background:color-mix(in srgb, var(--tone-info-dot) 12%, transparent)}.st-pill.done[data-v-77db0a40],.st-pill.gates_passed[data-v-77db0a40]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.failed[data-v-77db0a40],.st-pill.gates_failed[data-v-77db0a40],.st-pill.timeout[data-v-77db0a40]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.cancelled[data-v-77db0a40],.st-pill.interrupted[data-v-77db0a40]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.prog-th[data-v-77db0a40]{min-width:140px}.prog-cell[data-v-77db0a40]{white-space:nowrap}.prog[data-v-77db0a40]{vertical-align:middle;background:var(--paper-deep);border-radius:3px;width:96px;height:6px;display:inline-block;overflow:hidden}.prog i[data-v-77db0a40]{background:var(--tone-info-dot);border-radius:3px;height:100%;transition:width .4s;display:block}.prog i.done[data-v-77db0a40]{background:var(--tone-success-dot)}.prog i.bad[data-v-77db0a40]{background:var(--tone-danger-dot)}.prog-num[data-v-77db0a40]{color:var(--ink-soft);margin-left:7px;font-size:11.5px}.gate-id[data-v-77db0a40]{font-weight:700}.gate-detail[data-v-77db0a40]{margin-top:3px;font-size:11px;display:block}.verdict[data-v-77db0a40]{border-radius:99px;padding:1px 7px;font-size:11.5px}.verdict.pass[data-v-77db0a40]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.verdict.fail[data-v-77db0a40]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.live-hint[data-v-77db0a40]{letter-spacing:0;color:var(--tone-info-dot);text-transform:none;margin-left:8px;font-size:11.5px;font-weight:400}.logs[data-v-77db0a40]{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-77db0a40]{background:color-mix(in srgb, var(--accent) 9%, transparent)}tr.best td[data-v-77db0a40]:first-child{box-shadow:inset 3px 0 0 var(--accent)}.best-tag[data-v-77db0a40]{color:var(--on-accent);background:var(--accent);border-radius:99px;margin-right:6px;padding:1px 7px;font-size:11.5px}.stage-pill[data-v-77db0a40]{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-77db0a40]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 45%, transparent)}.stage-pill.production[data-v-77db0a40]{color:var(--tone-success-dot);background:var(--tone-success-bg);border-color:#0000}.stage-pill.retired[data-v-77db0a40]{opacity:.55;border-style:dashed}.inp-sel[data-v-77db0a40]{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-77db0a40]{margin-top:4px}.io-grid[data-v-77db0a40]{color:var(--ink-soft);flex-wrap:wrap;gap:6px 14px;margin-bottom:10px;font-size:11.5px;display:flex}.io-item b[data-v-77db0a40]{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.pc-form[data-v-77db0a40]{grid-template-columns:minmax(300px,3fr) minmax(220px,2fr);gap:12px 18px;display:grid}@media (width<=1100px){.pc-form[data-v-77db0a40]{grid-template-columns:1fr}}.pc-field[data-v-77db0a40]{color:var(--ink-soft);flex-direction:column;gap:5px;margin-top:8px;font-size:12px;display:flex}.pc-side[data-v-77db0a40]{flex-direction:column;align-items:stretch;gap:8px;display:flex}.pc-side .ghost-btn[data-v-77db0a40]{align-self:flex-start;margin-top:8px}.pc-side .pill-btn[data-v-77db0a40]{margin-top:auto}.inp[data-v-77db0a40]{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-77db0a40]{resize:vertical;line-height:1.5}.inp[data-v-77db0a40]:focus{border-color:var(--accent);outline:none}.hint[data-v-77db0a40]{margin:8px 0 0;font-size:11.5px;line-height:1.6}.modal-mask[data-v-77db0a40]{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-77db0a40]{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-77db0a40]{margin:0 0 12px;font-size:16px;font-weight:600}.f-grid[data-v-77db0a40]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin-bottom:10px;display:grid}@media (width<=720px){.f-grid[data-v-77db0a40]{grid-template-columns:1fr}}.f[data-v-77db0a40]{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:12px;display:flex}.f.wide[data-v-77db0a40]{grid-column:1/-1}.f em[data-v-77db0a40]{color:var(--tone-danger-dot);margin-left:2px;font-style:normal}.sec-label[data-v-77db0a40]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:12px 0 8px;font-size:11px;font-weight:600}.node-rows[data-v-77db0a40]{flex-direction:column;gap:7px;margin-bottom:12px;display:flex}.node-row[data-v-77db0a40]{align-items:center;gap:8px;display:flex}.node-row .grow[data-v-77db0a40]{flex:auto}.node-row .sel[data-v-77db0a40]{flex:0 0 220px}.m-err[data-v-77db0a40]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.m-actions[data-v-77db0a40]{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.empty[data-v-77db0a40]{color:var(--ink-faint);text-align:center;margin:6px 0;padding:18px 0;font-size:12.5px}.tbl-scroll[data-v-77db0a40]{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}@media (width<=900px){.tbl-scroll[data-v-77db0a40]{scrollbar-width:thin;overflow-x:auto}.tbl-datasets[data-v-77db0a40]{min-width:720px}.tbl-jobs[data-v-77db0a40]{min-width:860px}.tbl-exp[data-v-77db0a40]{min-width:700px}.tbl-models[data-v-77db0a40]{min-width:780px}.tbl td[data-v-77db0a40],.tbl th[data-v-77db0a40]{white-space:nowrap}.tbl tbody>tr>td[data-v-77db0a40]:first-child,.tbl thead>tr>th[data-v-77db0a40]: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-77db0a40]:first-child{z-index:3}.detail-row>td[data-v-77db0a40]:first-child{box-shadow:none;background:var(--frost-bg);position:static}.inp[data-v-77db0a40],.inp-sel[data-v-77db0a40],.mini-btn[data-v-77db0a40],.note-edit input[data-v-77db0a40],.pill-btn[data-v-77db0a40]{min-height:40px}.tbl .acts .mini-btn+.mini-btn[data-v-77db0a40]{margin-left:8px}.note-cell[data-v-77db0a40]{max-width:200px}.note-edit[data-v-77db0a40]{flex-wrap:wrap}.zone[data-v-77db0a40]{padding:12px 12px 14px}.f-grid[data-v-77db0a40],.det-grid[data-v-77db0a40]{grid-template-columns:1fr}.m-actions[data-v-77db0a40],.mx-actions[data-v-77db0a40]{flex-wrap:wrap}.modal[data-v-77db0a40]{padding:16px}.node-row[data-v-77db0a40]{flex-wrap:wrap}.node-row .sel[data-v-77db0a40]{flex:100%}.modal-mask[data-v-77db0a40]{padding:4vh 10px 12px}}@media (width<=640px){.zone-head[data-v-77db0a40]{gap:8px}.zone-head h2[data-v-77db0a40]{font-size:14px}.zone-actions[data-v-77db0a40]{flex-wrap:wrap}.ov-card[data-v-77db0a40]{padding:10px 12px}}.page[data-v-f2c92c1d]{padding:4px}h1[data-v-f2c92c1d]{letter-spacing:-.022em;margin:2px 0 4px;font-size:28px;font-weight:600}.sub[data-v-f2c92c1d]{color:var(--ink-faint);margin:0;font-size:13px}.mono[data-v-f2c92c1d]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-f2c92c1d]{opacity:.55}.err[data-v-f2c92c1d]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.pad[data-v-f2c92c1d]{padding:10px 12px}.badges[data-v-f2c92c1d]{gap:8px;display:flex}.badge[data-v-f2c92c1d]{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-f2c92c1d]{color:var(--tone-danger-dot);border-color:color-mix(in srgb, var(--tone-danger-dot) 45%, transparent)}.infra-banner[data-v-f2c92c1d]{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-f2c92c1d]:first-child{flex:none;margin-top:2px}.infra-banner .txt[data-v-f2c92c1d]{flex:auto;font-size:12.5px;line-height:1.5}.ov-card[data-v-f2c92c1d]{margin-bottom:14px;padding:10px 18px}.ov-row[data-v-f2c92c1d]{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:12px;display:flex}.ov-item[data-v-f2c92c1d]{align-items:center;gap:5px;display:inline-flex}.ov-item b[data-v-f2c92c1d]{color:var(--ink);font-weight:700}.ov-item.ok[data-v-f2c92c1d]{color:var(--tone-success-dot)}.ov-item.bad[data-v-f2c92c1d]{color:var(--tone-danger-dot)}.ov-item.accent b[data-v-f2c92c1d]{color:var(--accent)}.ov-row .sep[data-v-f2c92c1d]{opacity:.4}.ov-row .reload[data-v-f2c92c1d]{margin-left:auto}.zone[data-v-f2c92c1d]{margin-bottom:14px;padding:12px 18px 14px}.zone-head[data-v-f2c92c1d]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;margin-bottom:10px;display:flex}.zone-head h2[data-v-f2c92c1d]{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-f2c92c1d]{color:var(--ink-faint);font-size:11.5px;font-weight:400}.zone-actions[data-v-f2c92c1d]{align-items:center;gap:8px;display:flex}.env-grid[data-v-f2c92c1d]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.env-card[data-v-f2c92c1d]{background:var(--surface-sunken,color-mix(in srgb, var(--ink) 3%, transparent));border:1px solid var(--line);border-radius:var(--radius-control);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.env-card.ok[data-v-f2c92c1d]{border-color:color-mix(in srgb, var(--tone-success-dot) 35%, transparent)}.env-card.bad[data-v-f2c92c1d]{border-color:color-mix(in srgb, var(--tone-warning-dot) 40%, transparent)}.env-card .ec-head[data-v-f2c92c1d]{align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.env-card .ec-head .ec-state[data-v-f2c92c1d]{color:var(--ink-faint);margin-left:auto;font-size:11.5px}.env-card.ok .ec-head>span[data-v-f2c92c1d]:first-child{color:var(--tone-success-dot)}.env-card.bad .ec-head>span[data-v-f2c92c1d]:first-child{color:var(--tone-warning-dot)}.env-card .ec-detail[data-v-f2c92c1d]{color:var(--ink-soft);overflow-wrap:break-word;margin:0;font-size:12px;line-height:1.55}.env-card .ec-detail.mono[data-v-f2c92c1d]{letter-spacing:-.01em;font-size:11.5px}.env-card .ec-detail.dim[data-v-f2c92c1d]{color:var(--ink-faint)}.env-card .ec-actions[data-v-f2c92c1d]{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px;display:flex}.env-card .ec-issues[data-v-f2c92c1d]{max-height:96px;margin:0;padding:0;font-size:11.5px;list-style:none;overflow-y:auto}.env-card .ec-issues li[data-v-f2c92c1d]{color:var(--ink-soft);align-items:center;gap:6px;padding:1px 0;display:flex}.env-card .ec-issues .tag[data-v-f2c92c1d]{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-f2c92c1d]{border-top:1px solid var(--divider-hair);margin-top:10px;padding-top:10px}.env-task .et-head[data-v-f2c92c1d]{align-items:center;gap:8px;font-size:12px;display:flex}.env-task .et-head .dim[data-v-f2c92c1d]{color:var(--ink-faint);font-weight:400}.env-task .et-log[data-v-f2c92c1d]{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-f2c92c1d]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}@keyframes amlSpin-f2c92c1d{to{transform:rotate(1turn)}}.spin[data-v-f2c92c1d]{animation:1s linear infinite amlSpin-f2c92c1d;display:inline-block}@media (prefers-reduced-motion:reduce){.spin[data-v-f2c92c1d]{animation:none}}.note-edit[data-v-f2c92c1d]{align-items:center;gap:6px;display:flex}.note-edit input[data-v-f2c92c1d]{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-f2c92c1d]{align-items:center;gap:6px;display:inline-flex}.note-text .edit-i[data-v-f2c92c1d]{cursor:pointer;opacity:.5}.note-text .edit-i[data-v-f2c92c1d]:hover{opacity:1}.live-dot[data-v-f2c92c1d]{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-f2c92c1d]{animation:1.8s ease-in-out infinite amlPulse-f2c92c1d}}@keyframes amlPulse-f2c92c1d{50%{opacity:.4}}.tbl[data-v-f2c92c1d]{border-collapse:collapse;width:100%;font-size:12.5px}.tbl td[data-v-f2c92c1d],.tbl th[data-v-f2c92c1d]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:8px 10px}.tbl th[data-v-f2c92c1d]{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-f2c92c1d],.tbl .right[data-v-f2c92c1d]{text-align:right}.tbl .acts[data-v-f2c92c1d]{white-space:nowrap}.tbl .acts .mini-btn+.mini-btn[data-v-f2c92c1d]{margin-left:6px}.row-main[data-v-f2c92c1d]{cursor:pointer}@media (prefers-reduced-motion:no-preference){.row-main[data-v-f2c92c1d]:hover{background:var(--hover-tint)}}.row-main.open td[data-v-f2c92c1d]{border-bottom-color:#0000}.note-cell[data-v-f2c92c1d]{max-width:260px}.label-cell[data-v-f2c92c1d]{max-width:220px}.label-cell .label-text[data-v-f2c92c1d]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.label-cell .desc-text[data-v-f2c92c1d]{color:var(--ink-faint,#8b98a5);text-overflow:ellipsis;white-space:nowrap;max-width:320px;margin-top:2px;font-size:11px;display:block;overflow:hidden}.note[data-v-f2c92c1d]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.kind[data-v-f2c92c1d]{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-f2c92c1d]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 40%, transparent)}.detail-row td[data-v-f2c92c1d]{background:var(--frost-bg);padding:0 12px 12px}.det-grid[data-v-f2c92c1d]{grid-template-columns:minmax(340px,3fr) minmax(280px,2fr);gap:10px 22px;display:grid}@media (width<=1100px){.det-grid[data-v-f2c92c1d]{grid-template-columns:1fr}}.det-title[data-v-f2c92c1d]{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-f2c92c1d]:first-child{margin-top:10px}.sub-tbl[data-v-f2c92c1d]{border-collapse:collapse;width:100%;font-size:12px}.sub-tbl td[data-v-f2c92c1d],.sub-tbl th[data-v-f2c92c1d]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:5px 8px}.sub-tbl th[data-v-f2c92c1d]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-size:11.5px}.sub-tbl .num[data-v-f2c92c1d]{text-align:right}.role-chip[data-v-f2c92c1d]{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-f2c92c1d]{overflow-wrap:anywhere;margin:4px 0;font-size:11.5px}.run-line b[data-v-f2c92c1d]{color:var(--ink)}.drop-line[data-v-f2c92c1d]{color:var(--tone-danger-dot);overflow-wrap:anywhere;margin:2px 0;font-size:11.5px}.st-pill[data-v-f2c92c1d]{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-f2c92c1d],.st-pill.queued[data-v-f2c92c1d]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.evaluating[data-v-f2c92c1d],.st-pill.running[data-v-f2c92c1d],.st-pill.training[data-v-f2c92c1d]{color:var(--tone-info-dot);background:color-mix(in srgb, var(--tone-info-dot) 12%, transparent)}.st-pill.done[data-v-f2c92c1d],.st-pill.gates_passed[data-v-f2c92c1d]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.failed[data-v-f2c92c1d],.st-pill.gates_failed[data-v-f2c92c1d],.st-pill.timeout[data-v-f2c92c1d]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.cancelled[data-v-f2c92c1d],.st-pill.interrupted[data-v-f2c92c1d]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.prog-th[data-v-f2c92c1d]{min-width:140px}.prog-cell[data-v-f2c92c1d]{white-space:nowrap}.prog[data-v-f2c92c1d]{vertical-align:middle;background:var(--paper-deep);border-radius:3px;width:96px;height:6px;display:inline-block;overflow:hidden}.prog i[data-v-f2c92c1d]{background:var(--tone-info-dot);border-radius:3px;height:100%;transition:width .4s;display:block}.prog i.done[data-v-f2c92c1d]{background:var(--tone-success-dot)}.prog i.bad[data-v-f2c92c1d]{background:var(--tone-danger-dot)}.prog-num[data-v-f2c92c1d]{color:var(--ink-soft);margin-left:7px;font-size:11.5px}.gate-id[data-v-f2c92c1d]{font-weight:700}.gate-detail[data-v-f2c92c1d]{margin-top:3px;font-size:11px;display:block}.verdict[data-v-f2c92c1d]{border-radius:99px;padding:1px 7px;font-size:11.5px}.verdict.pass[data-v-f2c92c1d]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.verdict.fail[data-v-f2c92c1d]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.live-hint[data-v-f2c92c1d]{letter-spacing:0;color:var(--tone-info-dot);text-transform:none;margin-left:8px;font-size:11.5px;font-weight:400}.logs[data-v-f2c92c1d]{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-f2c92c1d]{background:color-mix(in srgb, var(--accent) 9%, transparent)}tr.best td[data-v-f2c92c1d]:first-child{box-shadow:inset 3px 0 0 var(--accent)}.best-tag[data-v-f2c92c1d]{color:var(--on-accent);background:var(--accent);border-radius:99px;margin-right:6px;padding:1px 7px;font-size:11.5px}.stage-pill[data-v-f2c92c1d]{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-f2c92c1d]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 45%, transparent)}.stage-pill.production[data-v-f2c92c1d]{color:var(--tone-success-dot);background:var(--tone-success-bg);border-color:#0000}.stage-pill.retired[data-v-f2c92c1d]{opacity:.55;border-style:dashed}.inp-sel[data-v-f2c92c1d]{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-f2c92c1d]{margin-top:4px}.io-grid[data-v-f2c92c1d]{color:var(--ink-soft);flex-wrap:wrap;gap:6px 14px;margin-bottom:10px;font-size:11.5px;display:flex}.io-item b[data-v-f2c92c1d]{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.pc-form[data-v-f2c92c1d]{grid-template-columns:minmax(300px,3fr) minmax(220px,2fr);gap:12px 18px;display:grid}@media (width<=1100px){.pc-form[data-v-f2c92c1d]{grid-template-columns:1fr}}.pc-field[data-v-f2c92c1d]{color:var(--ink-soft);flex-direction:column;gap:5px;margin-top:8px;font-size:12px;display:flex}.pc-side[data-v-f2c92c1d]{flex-direction:column;align-items:stretch;gap:8px;display:flex}.pc-side .ghost-btn[data-v-f2c92c1d]{align-self:flex-start;margin-top:8px}.pc-side .pill-btn[data-v-f2c92c1d]{margin-top:auto}.inp[data-v-f2c92c1d]{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-f2c92c1d]{resize:vertical;line-height:1.5}.inp[data-v-f2c92c1d]:focus{border-color:var(--accent);outline:none}.hint[data-v-f2c92c1d]{margin:8px 0 0;font-size:11.5px;line-height:1.6}.modal-mask[data-v-f2c92c1d]{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-f2c92c1d]{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-f2c92c1d]{margin:0 0 12px;font-size:16px;font-weight:600}.f-grid[data-v-f2c92c1d]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin-bottom:10px;display:grid}@media (width<=720px){.f-grid[data-v-f2c92c1d]{grid-template-columns:1fr}}.f[data-v-f2c92c1d]{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:12px;display:flex}.f.wide[data-v-f2c92c1d]{grid-column:1/-1}.f em[data-v-f2c92c1d]{color:var(--tone-danger-dot);margin-left:2px;font-style:normal}.sec-label[data-v-f2c92c1d]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:12px 0 8px;font-size:11px;font-weight:600}.node-rows[data-v-f2c92c1d]{flex-direction:column;gap:7px;margin-bottom:12px;display:flex}.node-row[data-v-f2c92c1d]{align-items:center;gap:8px;display:flex}.node-row .grow[data-v-f2c92c1d]{flex:auto}.node-row .sel[data-v-f2c92c1d]{flex:0 0 220px}.m-err[data-v-f2c92c1d]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.m-actions[data-v-f2c92c1d]{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.empty[data-v-f2c92c1d]{color:var(--ink-faint);text-align:center;margin:6px 0;padding:18px 0;font-size:12.5px}.tbl-scroll[data-v-f2c92c1d]{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}@media (width<=900px){.tbl-scroll[data-v-f2c92c1d]{scrollbar-width:thin;overflow-x:auto}.tbl-datasets[data-v-f2c92c1d]{min-width:720px}.tbl-jobs[data-v-f2c92c1d]{min-width:860px}.tbl-exp[data-v-f2c92c1d]{min-width:700px}.tbl-models[data-v-f2c92c1d]{min-width:780px}.tbl td[data-v-f2c92c1d],.tbl th[data-v-f2c92c1d]{white-space:nowrap}.tbl tbody>tr>td[data-v-f2c92c1d]:first-child,.tbl thead>tr>th[data-v-f2c92c1d]: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-f2c92c1d]:first-child{z-index:3}.detail-row>td[data-v-f2c92c1d]:first-child{box-shadow:none;background:var(--frost-bg);position:static}.inp[data-v-f2c92c1d],.inp-sel[data-v-f2c92c1d],.mini-btn[data-v-f2c92c1d],.note-edit input[data-v-f2c92c1d],.pill-btn[data-v-f2c92c1d]{min-height:40px}.tbl .acts .mini-btn+.mini-btn[data-v-f2c92c1d]{margin-left:8px}.note-cell[data-v-f2c92c1d]{max-width:200px}.note-edit[data-v-f2c92c1d]{flex-wrap:wrap}.zone[data-v-f2c92c1d]{padding:12px 12px 14px}.f-grid[data-v-f2c92c1d],.det-grid[data-v-f2c92c1d]{grid-template-columns:1fr}.m-actions[data-v-f2c92c1d],.mx-actions[data-v-f2c92c1d]{flex-wrap:wrap}.modal[data-v-f2c92c1d]{padding:16px}.node-row[data-v-f2c92c1d]{flex-wrap:wrap}.node-row .sel[data-v-f2c92c1d]{flex:100%}.modal-mask[data-v-f2c92c1d]{padding:4vh 10px 12px}}@media (width<=640px){.zone-head[data-v-f2c92c1d]{gap:8px}.zone-head h2[data-v-f2c92c1d]{font-size:14px}.zone-actions[data-v-f2c92c1d]{flex-wrap:wrap}.ov-card[data-v-f2c92c1d]{padding:10px 12px}}.page[data-v-ff727fc7]{padding:4px}h1[data-v-ff727fc7]{letter-spacing:-.022em;margin:2px 0 4px;font-size:28px;font-weight:600}.sub[data-v-ff727fc7]{color:var(--ink-faint);margin:0;font-size:13px}.mono[data-v-ff727fc7]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-ff727fc7]{opacity:.55}.err[data-v-ff727fc7]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.pad[data-v-ff727fc7]{padding:10px 12px}.badges[data-v-ff727fc7]{gap:8px;display:flex}.badge[data-v-ff727fc7]{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-ff727fc7]{color:var(--tone-danger-dot);border-color:color-mix(in srgb, var(--tone-danger-dot) 45%, transparent)}.infra-banner[data-v-ff727fc7]{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-ff727fc7]:first-child{flex:none;margin-top:2px}.infra-banner .txt[data-v-ff727fc7]{flex:auto;font-size:12.5px;line-height:1.5}.ov-card[data-v-ff727fc7]{margin-bottom:14px;padding:10px 18px}.ov-row[data-v-ff727fc7]{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:12px;display:flex}.ov-item[data-v-ff727fc7]{align-items:center;gap:5px;display:inline-flex}.ov-item b[data-v-ff727fc7]{color:var(--ink);font-weight:700}.ov-item.ok[data-v-ff727fc7]{color:var(--tone-success-dot)}.ov-item.bad[data-v-ff727fc7]{color:var(--tone-danger-dot)}.ov-item.accent b[data-v-ff727fc7]{color:var(--accent)}.ov-row .sep[data-v-ff727fc7]{opacity:.4}.ov-row .reload[data-v-ff727fc7]{margin-left:auto}.zone[data-v-ff727fc7]{margin-bottom:14px;padding:12px 18px 14px}.zone-head[data-v-ff727fc7]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;margin-bottom:10px;display:flex}.zone-head h2[data-v-ff727fc7]{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-ff727fc7]{color:var(--ink-faint);font-size:11.5px;font-weight:400}.zone-actions[data-v-ff727fc7]{align-items:center;gap:8px;display:flex}.env-grid[data-v-ff727fc7]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.env-card[data-v-ff727fc7]{background:var(--surface-sunken,color-mix(in srgb, var(--ink) 3%, transparent));border:1px solid var(--line);border-radius:var(--radius-control);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.env-card.ok[data-v-ff727fc7]{border-color:color-mix(in srgb, var(--tone-success-dot) 35%, transparent)}.env-card.bad[data-v-ff727fc7]{border-color:color-mix(in srgb, var(--tone-warning-dot) 40%, transparent)}.env-card .ec-head[data-v-ff727fc7]{align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.env-card .ec-head .ec-state[data-v-ff727fc7]{color:var(--ink-faint);margin-left:auto;font-size:11.5px}.env-card.ok .ec-head>span[data-v-ff727fc7]:first-child{color:var(--tone-success-dot)}.env-card.bad .ec-head>span[data-v-ff727fc7]:first-child{color:var(--tone-warning-dot)}.env-card .ec-detail[data-v-ff727fc7]{color:var(--ink-soft);overflow-wrap:break-word;margin:0;font-size:12px;line-height:1.55}.env-card .ec-detail.mono[data-v-ff727fc7]{letter-spacing:-.01em;font-size:11.5px}.env-card .ec-detail.dim[data-v-ff727fc7]{color:var(--ink-faint)}.env-card .ec-actions[data-v-ff727fc7]{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px;display:flex}.env-card .ec-issues[data-v-ff727fc7]{max-height:96px;margin:0;padding:0;font-size:11.5px;list-style:none;overflow-y:auto}.env-card .ec-issues li[data-v-ff727fc7]{color:var(--ink-soft);align-items:center;gap:6px;padding:1px 0;display:flex}.env-card .ec-issues .tag[data-v-ff727fc7]{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-ff727fc7]{border-top:1px solid var(--divider-hair);margin-top:10px;padding-top:10px}.env-task .et-head[data-v-ff727fc7]{align-items:center;gap:8px;font-size:12px;display:flex}.env-task .et-head .dim[data-v-ff727fc7]{color:var(--ink-faint);font-weight:400}.env-task .et-log[data-v-ff727fc7]{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-ff727fc7]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}@keyframes amlSpin-ff727fc7{to{transform:rotate(1turn)}}.spin[data-v-ff727fc7]{animation:1s linear infinite amlSpin-ff727fc7;display:inline-block}@media (prefers-reduced-motion:reduce){.spin[data-v-ff727fc7]{animation:none}}.note-edit[data-v-ff727fc7]{align-items:center;gap:6px;display:flex}.note-edit input[data-v-ff727fc7]{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-ff727fc7]{align-items:center;gap:6px;display:inline-flex}.note-text .edit-i[data-v-ff727fc7]{cursor:pointer;opacity:.5}.note-text .edit-i[data-v-ff727fc7]:hover{opacity:1}.live-dot[data-v-ff727fc7]{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-ff727fc7]{animation:1.8s ease-in-out infinite amlPulse-ff727fc7}}@keyframes amlPulse-ff727fc7{50%{opacity:.4}}.tbl[data-v-ff727fc7]{border-collapse:collapse;width:100%;font-size:12.5px}.tbl td[data-v-ff727fc7],.tbl th[data-v-ff727fc7]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:8px 10px}.tbl th[data-v-ff727fc7]{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-ff727fc7],.tbl .right[data-v-ff727fc7]{text-align:right}.tbl .acts[data-v-ff727fc7]{white-space:nowrap}.tbl .acts .mini-btn+.mini-btn[data-v-ff727fc7]{margin-left:6px}.row-main[data-v-ff727fc7]{cursor:pointer}@media (prefers-reduced-motion:no-preference){.row-main[data-v-ff727fc7]:hover{background:var(--hover-tint)}}.row-main.open td[data-v-ff727fc7]{border-bottom-color:#0000}.note-cell[data-v-ff727fc7]{max-width:260px}.label-cell[data-v-ff727fc7]{max-width:220px}.label-cell .label-text[data-v-ff727fc7]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.label-cell .desc-text[data-v-ff727fc7]{color:var(--ink-faint,#8b98a5);text-overflow:ellipsis;white-space:nowrap;max-width:320px;margin-top:2px;font-size:11px;display:block;overflow:hidden}.note[data-v-ff727fc7]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.kind[data-v-ff727fc7]{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-ff727fc7]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 40%, transparent)}.detail-row td[data-v-ff727fc7]{background:var(--frost-bg);padding:0 12px 12px}.det-grid[data-v-ff727fc7]{grid-template-columns:minmax(340px,3fr) minmax(280px,2fr);gap:10px 22px;display:grid}@media (width<=1100px){.det-grid[data-v-ff727fc7]{grid-template-columns:1fr}}.det-title[data-v-ff727fc7]{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-ff727fc7]:first-child{margin-top:10px}.sub-tbl[data-v-ff727fc7]{border-collapse:collapse;width:100%;font-size:12px}.sub-tbl td[data-v-ff727fc7],.sub-tbl th[data-v-ff727fc7]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:5px 8px}.sub-tbl th[data-v-ff727fc7]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-size:11.5px}.sub-tbl .num[data-v-ff727fc7]{text-align:right}.role-chip[data-v-ff727fc7]{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-ff727fc7]{overflow-wrap:anywhere;margin:4px 0;font-size:11.5px}.run-line b[data-v-ff727fc7]{color:var(--ink)}.drop-line[data-v-ff727fc7]{color:var(--tone-danger-dot);overflow-wrap:anywhere;margin:2px 0;font-size:11.5px}.st-pill[data-v-ff727fc7]{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-ff727fc7],.st-pill.queued[data-v-ff727fc7]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.evaluating[data-v-ff727fc7],.st-pill.running[data-v-ff727fc7],.st-pill.training[data-v-ff727fc7]{color:var(--tone-info-dot);background:color-mix(in srgb, var(--tone-info-dot) 12%, transparent)}.st-pill.done[data-v-ff727fc7],.st-pill.gates_passed[data-v-ff727fc7]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.failed[data-v-ff727fc7],.st-pill.gates_failed[data-v-ff727fc7],.st-pill.timeout[data-v-ff727fc7]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.cancelled[data-v-ff727fc7],.st-pill.interrupted[data-v-ff727fc7]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.prog-th[data-v-ff727fc7]{min-width:140px}.prog-cell[data-v-ff727fc7]{white-space:nowrap}.prog[data-v-ff727fc7]{vertical-align:middle;background:var(--paper-deep);border-radius:3px;width:96px;height:6px;display:inline-block;overflow:hidden}.prog i[data-v-ff727fc7]{background:var(--tone-info-dot);border-radius:3px;height:100%;transition:width .4s;display:block}.prog i.done[data-v-ff727fc7]{background:var(--tone-success-dot)}.prog i.bad[data-v-ff727fc7]{background:var(--tone-danger-dot)}.prog-num[data-v-ff727fc7]{color:var(--ink-soft);margin-left:7px;font-size:11.5px}.gate-id[data-v-ff727fc7]{font-weight:700}.gate-detail[data-v-ff727fc7]{margin-top:3px;font-size:11px;display:block}.verdict[data-v-ff727fc7]{border-radius:99px;padding:1px 7px;font-size:11.5px}.verdict.pass[data-v-ff727fc7]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.verdict.fail[data-v-ff727fc7]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.live-hint[data-v-ff727fc7]{letter-spacing:0;color:var(--tone-info-dot);text-transform:none;margin-left:8px;font-size:11.5px;font-weight:400}.logs[data-v-ff727fc7]{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-ff727fc7]{background:color-mix(in srgb, var(--accent) 9%, transparent)}tr.best td[data-v-ff727fc7]:first-child{box-shadow:inset 3px 0 0 var(--accent)}.best-tag[data-v-ff727fc7]{color:var(--on-accent);background:var(--accent);border-radius:99px;margin-right:6px;padding:1px 7px;font-size:11.5px}.stage-pill[data-v-ff727fc7]{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-ff727fc7]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 45%, transparent)}.stage-pill.production[data-v-ff727fc7]{color:var(--tone-success-dot);background:var(--tone-success-bg);border-color:#0000}.stage-pill.retired[data-v-ff727fc7]{opacity:.55;border-style:dashed}.inp-sel[data-v-ff727fc7]{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-ff727fc7]{margin-top:4px}.io-grid[data-v-ff727fc7]{color:var(--ink-soft);flex-wrap:wrap;gap:6px 14px;margin-bottom:10px;font-size:11.5px;display:flex}.io-item b[data-v-ff727fc7]{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.pc-form[data-v-ff727fc7]{grid-template-columns:minmax(300px,3fr) minmax(220px,2fr);gap:12px 18px;display:grid}@media (width<=1100px){.pc-form[data-v-ff727fc7]{grid-template-columns:1fr}}.pc-field[data-v-ff727fc7]{color:var(--ink-soft);flex-direction:column;gap:5px;margin-top:8px;font-size:12px;display:flex}.pc-side[data-v-ff727fc7]{flex-direction:column;align-items:stretch;gap:8px;display:flex}.pc-side .ghost-btn[data-v-ff727fc7]{align-self:flex-start;margin-top:8px}.pc-side .pill-btn[data-v-ff727fc7]{margin-top:auto}.inp[data-v-ff727fc7]{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-ff727fc7]{resize:vertical;line-height:1.5}.inp[data-v-ff727fc7]:focus{border-color:var(--accent);outline:none}.hint[data-v-ff727fc7]{margin:8px 0 0;font-size:11.5px;line-height:1.6}.modal-mask[data-v-ff727fc7]{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-ff727fc7]{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-ff727fc7]{margin:0 0 12px;font-size:16px;font-weight:600}.f-grid[data-v-ff727fc7]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin-bottom:10px;display:grid}@media (width<=720px){.f-grid[data-v-ff727fc7]{grid-template-columns:1fr}}.f[data-v-ff727fc7]{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:12px;display:flex}.f.wide[data-v-ff727fc7]{grid-column:1/-1}.f em[data-v-ff727fc7]{color:var(--tone-danger-dot);margin-left:2px;font-style:normal}.sec-label[data-v-ff727fc7]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:12px 0 8px;font-size:11px;font-weight:600}.node-rows[data-v-ff727fc7]{flex-direction:column;gap:7px;margin-bottom:12px;display:flex}.node-row[data-v-ff727fc7]{align-items:center;gap:8px;display:flex}.node-row .grow[data-v-ff727fc7]{flex:auto}.node-row .sel[data-v-ff727fc7]{flex:0 0 220px}.m-err[data-v-ff727fc7]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.m-actions[data-v-ff727fc7]{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.empty[data-v-ff727fc7]{color:var(--ink-faint);text-align:center;margin:6px 0;padding:18px 0;font-size:12.5px}.tbl-scroll[data-v-ff727fc7]{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}@media (width<=900px){.tbl-scroll[data-v-ff727fc7]{scrollbar-width:thin;overflow-x:auto}.tbl-datasets[data-v-ff727fc7]{min-width:720px}.tbl-jobs[data-v-ff727fc7]{min-width:860px}.tbl-exp[data-v-ff727fc7]{min-width:700px}.tbl-models[data-v-ff727fc7]{min-width:780px}.tbl td[data-v-ff727fc7],.tbl th[data-v-ff727fc7]{white-space:nowrap}.tbl tbody>tr>td[data-v-ff727fc7]:first-child,.tbl thead>tr>th[data-v-ff727fc7]: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-ff727fc7]:first-child{z-index:3}.detail-row>td[data-v-ff727fc7]:first-child{box-shadow:none;background:var(--frost-bg);position:static}.inp[data-v-ff727fc7],.inp-sel[data-v-ff727fc7],.mini-btn[data-v-ff727fc7],.note-edit input[data-v-ff727fc7],.pill-btn[data-v-ff727fc7]{min-height:40px}.tbl .acts .mini-btn+.mini-btn[data-v-ff727fc7]{margin-left:8px}.note-cell[data-v-ff727fc7]{max-width:200px}.note-edit[data-v-ff727fc7]{flex-wrap:wrap}.zone[data-v-ff727fc7]{padding:12px 12px 14px}.f-grid[data-v-ff727fc7],.det-grid[data-v-ff727fc7]{grid-template-columns:1fr}.m-actions[data-v-ff727fc7],.mx-actions[data-v-ff727fc7]{flex-wrap:wrap}.modal[data-v-ff727fc7]{padding:16px}.node-row[data-v-ff727fc7]{flex-wrap:wrap}.node-row .sel[data-v-ff727fc7]{flex:100%}.modal-mask[data-v-ff727fc7]{padding:4vh 10px 12px}}@media (width<=640px){.zone-head[data-v-ff727fc7]{gap:8px}.zone-head h2[data-v-ff727fc7]{font-size:14px}.zone-actions[data-v-ff727fc7]{flex-wrap:wrap}.ov-card[data-v-ff727fc7]{padding:10px 12px}}.page[data-v-89544017]{padding:4px}h1[data-v-89544017]{letter-spacing:-.022em;margin:2px 0 4px;font-size:28px;font-weight:600}.sub[data-v-89544017]{color:var(--ink-faint);margin:0;font-size:13px}.mono[data-v-89544017]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-89544017]{opacity:.55}.err[data-v-89544017]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.pad[data-v-89544017]{padding:10px 12px}.badges[data-v-89544017]{gap:8px;display:flex}.badge[data-v-89544017]{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-89544017]{color:var(--tone-danger-dot);border-color:color-mix(in srgb, var(--tone-danger-dot) 45%, transparent)}.infra-banner[data-v-89544017]{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-89544017]:first-child{flex:none;margin-top:2px}.infra-banner .txt[data-v-89544017]{flex:auto;font-size:12.5px;line-height:1.5}.ov-card[data-v-89544017]{margin-bottom:14px;padding:10px 18px}.ov-row[data-v-89544017]{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:12px;display:flex}.ov-item[data-v-89544017]{align-items:center;gap:5px;display:inline-flex}.ov-item b[data-v-89544017]{color:var(--ink);font-weight:700}.ov-item.ok[data-v-89544017]{color:var(--tone-success-dot)}.ov-item.bad[data-v-89544017]{color:var(--tone-danger-dot)}.ov-item.accent b[data-v-89544017]{color:var(--accent)}.ov-row .sep[data-v-89544017]{opacity:.4}.ov-row .reload[data-v-89544017]{margin-left:auto}.zone[data-v-89544017]{margin-bottom:14px;padding:12px 18px 14px}.zone-head[data-v-89544017]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;margin-bottom:10px;display:flex}.zone-head h2[data-v-89544017]{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-89544017]{color:var(--ink-faint);font-size:11.5px;font-weight:400}.zone-actions[data-v-89544017]{align-items:center;gap:8px;display:flex}.env-grid[data-v-89544017]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.env-card[data-v-89544017]{background:var(--surface-sunken,color-mix(in srgb, var(--ink) 3%, transparent));border:1px solid var(--line);border-radius:var(--radius-control);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.env-card.ok[data-v-89544017]{border-color:color-mix(in srgb, var(--tone-success-dot) 35%, transparent)}.env-card.bad[data-v-89544017]{border-color:color-mix(in srgb, var(--tone-warning-dot) 40%, transparent)}.env-card .ec-head[data-v-89544017]{align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.env-card .ec-head .ec-state[data-v-89544017]{color:var(--ink-faint);margin-left:auto;font-size:11.5px}.env-card.ok .ec-head>span[data-v-89544017]:first-child{color:var(--tone-success-dot)}.env-card.bad .ec-head>span[data-v-89544017]:first-child{color:var(--tone-warning-dot)}.env-card .ec-detail[data-v-89544017]{color:var(--ink-soft);overflow-wrap:break-word;margin:0;font-size:12px;line-height:1.55}.env-card .ec-detail.mono[data-v-89544017]{letter-spacing:-.01em;font-size:11.5px}.env-card .ec-detail.dim[data-v-89544017]{color:var(--ink-faint)}.env-card .ec-actions[data-v-89544017]{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px;display:flex}.env-card .ec-issues[data-v-89544017]{max-height:96px;margin:0;padding:0;font-size:11.5px;list-style:none;overflow-y:auto}.env-card .ec-issues li[data-v-89544017]{color:var(--ink-soft);align-items:center;gap:6px;padding:1px 0;display:flex}.env-card .ec-issues .tag[data-v-89544017]{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-89544017]{border-top:1px solid var(--divider-hair);margin-top:10px;padding-top:10px}.env-task .et-head[data-v-89544017]{align-items:center;gap:8px;font-size:12px;display:flex}.env-task .et-head .dim[data-v-89544017]{color:var(--ink-faint);font-weight:400}.env-task .et-log[data-v-89544017]{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-89544017]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}@keyframes amlSpin-89544017{to{transform:rotate(1turn)}}.spin[data-v-89544017]{animation:1s linear infinite amlSpin-89544017;display:inline-block}@media (prefers-reduced-motion:reduce){.spin[data-v-89544017]{animation:none}}.note-edit[data-v-89544017]{align-items:center;gap:6px;display:flex}.note-edit input[data-v-89544017]{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-89544017]{align-items:center;gap:6px;display:inline-flex}.note-text .edit-i[data-v-89544017]{cursor:pointer;opacity:.5}.note-text .edit-i[data-v-89544017]:hover{opacity:1}.live-dot[data-v-89544017]{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-89544017]{animation:1.8s ease-in-out infinite amlPulse-89544017}}@keyframes amlPulse-89544017{50%{opacity:.4}}.tbl[data-v-89544017]{border-collapse:collapse;width:100%;font-size:12.5px}.tbl td[data-v-89544017],.tbl th[data-v-89544017]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:8px 10px}.tbl th[data-v-89544017]{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-89544017],.tbl .right[data-v-89544017]{text-align:right}.tbl .acts[data-v-89544017]{white-space:nowrap}.tbl .acts .mini-btn+.mini-btn[data-v-89544017]{margin-left:6px}.row-main[data-v-89544017]{cursor:pointer}@media (prefers-reduced-motion:no-preference){.row-main[data-v-89544017]:hover{background:var(--hover-tint)}}.row-main.open td[data-v-89544017]{border-bottom-color:#0000}.note-cell[data-v-89544017]{max-width:260px}.label-cell[data-v-89544017]{max-width:220px}.label-cell .label-text[data-v-89544017]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.label-cell .desc-text[data-v-89544017]{color:var(--ink-faint,#8b98a5);text-overflow:ellipsis;white-space:nowrap;max-width:320px;margin-top:2px;font-size:11px;display:block;overflow:hidden}.note[data-v-89544017]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.kind[data-v-89544017]{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-89544017]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 40%, transparent)}.detail-row td[data-v-89544017]{background:var(--frost-bg);padding:0 12px 12px}.det-grid[data-v-89544017]{grid-template-columns:minmax(340px,3fr) minmax(280px,2fr);gap:10px 22px;display:grid}@media (width<=1100px){.det-grid[data-v-89544017]{grid-template-columns:1fr}}.det-title[data-v-89544017]{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-89544017]:first-child{margin-top:10px}.sub-tbl[data-v-89544017]{border-collapse:collapse;width:100%;font-size:12px}.sub-tbl td[data-v-89544017],.sub-tbl th[data-v-89544017]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:5px 8px}.sub-tbl th[data-v-89544017]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-size:11.5px}.sub-tbl .num[data-v-89544017]{text-align:right}.role-chip[data-v-89544017]{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-89544017]{overflow-wrap:anywhere;margin:4px 0;font-size:11.5px}.run-line b[data-v-89544017]{color:var(--ink)}.drop-line[data-v-89544017]{color:var(--tone-danger-dot);overflow-wrap:anywhere;margin:2px 0;font-size:11.5px}.st-pill[data-v-89544017]{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-89544017],.st-pill.queued[data-v-89544017]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.evaluating[data-v-89544017],.st-pill.running[data-v-89544017],.st-pill.training[data-v-89544017]{color:var(--tone-info-dot);background:color-mix(in srgb, var(--tone-info-dot) 12%, transparent)}.st-pill.done[data-v-89544017],.st-pill.gates_passed[data-v-89544017]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.failed[data-v-89544017],.st-pill.gates_failed[data-v-89544017],.st-pill.timeout[data-v-89544017]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.cancelled[data-v-89544017],.st-pill.interrupted[data-v-89544017]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.prog-th[data-v-89544017]{min-width:140px}.prog-cell[data-v-89544017]{white-space:nowrap}.prog[data-v-89544017]{vertical-align:middle;background:var(--paper-deep);border-radius:3px;width:96px;height:6px;display:inline-block;overflow:hidden}.prog i[data-v-89544017]{background:var(--tone-info-dot);border-radius:3px;height:100%;transition:width .4s;display:block}.prog i.done[data-v-89544017]{background:var(--tone-success-dot)}.prog i.bad[data-v-89544017]{background:var(--tone-danger-dot)}.prog-num[data-v-89544017]{color:var(--ink-soft);margin-left:7px;font-size:11.5px}.gate-id[data-v-89544017]{font-weight:700}.gate-detail[data-v-89544017]{margin-top:3px;font-size:11px;display:block}.verdict[data-v-89544017]{border-radius:99px;padding:1px 7px;font-size:11.5px}.verdict.pass[data-v-89544017]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.verdict.fail[data-v-89544017]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.live-hint[data-v-89544017]{letter-spacing:0;color:var(--tone-info-dot);text-transform:none;margin-left:8px;font-size:11.5px;font-weight:400}.logs[data-v-89544017]{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-89544017]{background:color-mix(in srgb, var(--accent) 9%, transparent)}tr.best td[data-v-89544017]:first-child{box-shadow:inset 3px 0 0 var(--accent)}.best-tag[data-v-89544017]{color:var(--on-accent);background:var(--accent);border-radius:99px;margin-right:6px;padding:1px 7px;font-size:11.5px}.stage-pill[data-v-89544017]{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-89544017]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 45%, transparent)}.stage-pill.production[data-v-89544017]{color:var(--tone-success-dot);background:var(--tone-success-bg);border-color:#0000}.stage-pill.retired[data-v-89544017]{opacity:.55;border-style:dashed}.inp-sel[data-v-89544017]{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-89544017]{margin-top:4px}.io-grid[data-v-89544017]{color:var(--ink-soft);flex-wrap:wrap;gap:6px 14px;margin-bottom:10px;font-size:11.5px;display:flex}.io-item b[data-v-89544017]{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.pc-form[data-v-89544017]{grid-template-columns:minmax(300px,3fr) minmax(220px,2fr);gap:12px 18px;display:grid}@media (width<=1100px){.pc-form[data-v-89544017]{grid-template-columns:1fr}}.pc-field[data-v-89544017]{color:var(--ink-soft);flex-direction:column;gap:5px;margin-top:8px;font-size:12px;display:flex}.pc-side[data-v-89544017]{flex-direction:column;align-items:stretch;gap:8px;display:flex}.pc-side .ghost-btn[data-v-89544017]{align-self:flex-start;margin-top:8px}.pc-side .pill-btn[data-v-89544017]{margin-top:auto}.inp[data-v-89544017]{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-89544017]{resize:vertical;line-height:1.5}.inp[data-v-89544017]:focus{border-color:var(--accent);outline:none}.hint[data-v-89544017]{margin:8px 0 0;font-size:11.5px;line-height:1.6}.modal-mask[data-v-89544017]{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-89544017]{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-89544017]{margin:0 0 12px;font-size:16px;font-weight:600}.f-grid[data-v-89544017]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin-bottom:10px;display:grid}@media (width<=720px){.f-grid[data-v-89544017]{grid-template-columns:1fr}}.f[data-v-89544017]{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:12px;display:flex}.f.wide[data-v-89544017]{grid-column:1/-1}.f em[data-v-89544017]{color:var(--tone-danger-dot);margin-left:2px;font-style:normal}.sec-label[data-v-89544017]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:12px 0 8px;font-size:11px;font-weight:600}.node-rows[data-v-89544017]{flex-direction:column;gap:7px;margin-bottom:12px;display:flex}.node-row[data-v-89544017]{align-items:center;gap:8px;display:flex}.node-row .grow[data-v-89544017]{flex:auto}.node-row .sel[data-v-89544017]{flex:0 0 220px}.m-err[data-v-89544017]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.m-actions[data-v-89544017]{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.empty[data-v-89544017]{color:var(--ink-faint);text-align:center;margin:6px 0;padding:18px 0;font-size:12.5px}.tbl-scroll[data-v-89544017]{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}@media (width<=900px){.tbl-scroll[data-v-89544017]{scrollbar-width:thin;overflow-x:auto}.tbl-datasets[data-v-89544017]{min-width:720px}.tbl-jobs[data-v-89544017]{min-width:860px}.tbl-exp[data-v-89544017]{min-width:700px}.tbl-models[data-v-89544017]{min-width:780px}.tbl td[data-v-89544017],.tbl th[data-v-89544017]{white-space:nowrap}.tbl tbody>tr>td[data-v-89544017]:first-child,.tbl thead>tr>th[data-v-89544017]: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-89544017]:first-child{z-index:3}.detail-row>td[data-v-89544017]:first-child{box-shadow:none;background:var(--frost-bg);position:static}.inp[data-v-89544017],.inp-sel[data-v-89544017],.mini-btn[data-v-89544017],.note-edit input[data-v-89544017],.pill-btn[data-v-89544017]{min-height:40px}.tbl .acts .mini-btn+.mini-btn[data-v-89544017]{margin-left:8px}.note-cell[data-v-89544017]{max-width:200px}.note-edit[data-v-89544017]{flex-wrap:wrap}.zone[data-v-89544017]{padding:12px 12px 14px}.f-grid[data-v-89544017],.det-grid[data-v-89544017]{grid-template-columns:1fr}.m-actions[data-v-89544017],.mx-actions[data-v-89544017]{flex-wrap:wrap}.modal[data-v-89544017]{padding:16px}.node-row[data-v-89544017]{flex-wrap:wrap}.node-row .sel[data-v-89544017]{flex:100%}.modal-mask[data-v-89544017]{padding:4vh 10px 12px}}@media (width<=640px){.zone-head[data-v-89544017]{gap:8px}.zone-head h2[data-v-89544017]{font-size:14px}.zone-actions[data-v-89544017]{flex-wrap:wrap}.ov-card[data-v-89544017]{padding:10px 12px}}.page[data-v-5b7fda0b]{padding:4px}h1[data-v-5b7fda0b]{letter-spacing:-.022em;margin:2px 0 4px;font-size:28px;font-weight:600}.sub[data-v-5b7fda0b]{color:var(--ink-faint);margin:0;font-size:13px}.mono[data-v-5b7fda0b]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-5b7fda0b]{opacity:.55}.err[data-v-5b7fda0b]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.pad[data-v-5b7fda0b]{padding:10px 12px}.badges[data-v-5b7fda0b]{gap:8px;display:flex}.badge[data-v-5b7fda0b]{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-5b7fda0b]{color:var(--tone-danger-dot);border-color:color-mix(in srgb, var(--tone-danger-dot) 45%, transparent)}.infra-banner[data-v-5b7fda0b]{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-5b7fda0b]:first-child{flex:none;margin-top:2px}.infra-banner .txt[data-v-5b7fda0b]{flex:auto;font-size:12.5px;line-height:1.5}.ov-card[data-v-5b7fda0b]{margin-bottom:14px;padding:10px 18px}.ov-row[data-v-5b7fda0b]{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:12px;display:flex}.ov-item[data-v-5b7fda0b]{align-items:center;gap:5px;display:inline-flex}.ov-item b[data-v-5b7fda0b]{color:var(--ink);font-weight:700}.ov-item.ok[data-v-5b7fda0b]{color:var(--tone-success-dot)}.ov-item.bad[data-v-5b7fda0b]{color:var(--tone-danger-dot)}.ov-item.accent b[data-v-5b7fda0b]{color:var(--accent)}.ov-row .sep[data-v-5b7fda0b]{opacity:.4}.ov-row .reload[data-v-5b7fda0b]{margin-left:auto}.zone[data-v-5b7fda0b]{margin-bottom:14px;padding:12px 18px 14px}.zone-head[data-v-5b7fda0b]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;margin-bottom:10px;display:flex}.zone-head h2[data-v-5b7fda0b]{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-5b7fda0b]{color:var(--ink-faint);font-size:11.5px;font-weight:400}.zone-actions[data-v-5b7fda0b]{align-items:center;gap:8px;display:flex}.env-grid[data-v-5b7fda0b]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.env-card[data-v-5b7fda0b]{background:var(--surface-sunken,color-mix(in srgb, var(--ink) 3%, transparent));border:1px solid var(--line);border-radius:var(--radius-control);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.env-card.ok[data-v-5b7fda0b]{border-color:color-mix(in srgb, var(--tone-success-dot) 35%, transparent)}.env-card.bad[data-v-5b7fda0b]{border-color:color-mix(in srgb, var(--tone-warning-dot) 40%, transparent)}.env-card .ec-head[data-v-5b7fda0b]{align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.env-card .ec-head .ec-state[data-v-5b7fda0b]{color:var(--ink-faint);margin-left:auto;font-size:11.5px}.env-card.ok .ec-head>span[data-v-5b7fda0b]:first-child{color:var(--tone-success-dot)}.env-card.bad .ec-head>span[data-v-5b7fda0b]:first-child{color:var(--tone-warning-dot)}.env-card .ec-detail[data-v-5b7fda0b]{color:var(--ink-soft);overflow-wrap:break-word;margin:0;font-size:12px;line-height:1.55}.env-card .ec-detail.mono[data-v-5b7fda0b]{letter-spacing:-.01em;font-size:11.5px}.env-card .ec-detail.dim[data-v-5b7fda0b]{color:var(--ink-faint)}.env-card .ec-actions[data-v-5b7fda0b]{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px;display:flex}.env-card .ec-issues[data-v-5b7fda0b]{max-height:96px;margin:0;padding:0;font-size:11.5px;list-style:none;overflow-y:auto}.env-card .ec-issues li[data-v-5b7fda0b]{color:var(--ink-soft);align-items:center;gap:6px;padding:1px 0;display:flex}.env-card .ec-issues .tag[data-v-5b7fda0b]{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-5b7fda0b]{border-top:1px solid var(--divider-hair);margin-top:10px;padding-top:10px}.env-task .et-head[data-v-5b7fda0b]{align-items:center;gap:8px;font-size:12px;display:flex}.env-task .et-head .dim[data-v-5b7fda0b]{color:var(--ink-faint);font-weight:400}.env-task .et-log[data-v-5b7fda0b]{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-5b7fda0b]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}@keyframes amlSpin-5b7fda0b{to{transform:rotate(1turn)}}.spin[data-v-5b7fda0b]{animation:1s linear infinite amlSpin-5b7fda0b;display:inline-block}@media (prefers-reduced-motion:reduce){.spin[data-v-5b7fda0b]{animation:none}}.note-edit[data-v-5b7fda0b]{align-items:center;gap:6px;display:flex}.note-edit input[data-v-5b7fda0b]{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-5b7fda0b]{align-items:center;gap:6px;display:inline-flex}.note-text .edit-i[data-v-5b7fda0b]{cursor:pointer;opacity:.5}.note-text .edit-i[data-v-5b7fda0b]:hover{opacity:1}.live-dot[data-v-5b7fda0b]{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-5b7fda0b]{animation:1.8s ease-in-out infinite amlPulse-5b7fda0b}}@keyframes amlPulse-5b7fda0b{50%{opacity:.4}}.tbl[data-v-5b7fda0b]{border-collapse:collapse;width:100%;font-size:12.5px}.tbl td[data-v-5b7fda0b],.tbl th[data-v-5b7fda0b]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:8px 10px}.tbl th[data-v-5b7fda0b]{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-5b7fda0b],.tbl .right[data-v-5b7fda0b]{text-align:right}.tbl .acts[data-v-5b7fda0b]{white-space:nowrap}.tbl .acts .mini-btn+.mini-btn[data-v-5b7fda0b]{margin-left:6px}.row-main[data-v-5b7fda0b]{cursor:pointer}@media (prefers-reduced-motion:no-preference){.row-main[data-v-5b7fda0b]:hover{background:var(--hover-tint)}}.row-main.open td[data-v-5b7fda0b]{border-bottom-color:#0000}.note-cell[data-v-5b7fda0b]{max-width:260px}.label-cell[data-v-5b7fda0b]{max-width:220px}.label-cell .label-text[data-v-5b7fda0b]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.label-cell .desc-text[data-v-5b7fda0b]{color:var(--ink-faint,#8b98a5);text-overflow:ellipsis;white-space:nowrap;max-width:320px;margin-top:2px;font-size:11px;display:block;overflow:hidden}.note[data-v-5b7fda0b]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.kind[data-v-5b7fda0b]{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-5b7fda0b]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 40%, transparent)}.detail-row td[data-v-5b7fda0b]{background:var(--frost-bg);padding:0 12px 12px}.det-grid[data-v-5b7fda0b]{grid-template-columns:minmax(340px,3fr) minmax(280px,2fr);gap:10px 22px;display:grid}@media (width<=1100px){.det-grid[data-v-5b7fda0b]{grid-template-columns:1fr}}.det-title[data-v-5b7fda0b]{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-5b7fda0b]:first-child{margin-top:10px}.sub-tbl[data-v-5b7fda0b]{border-collapse:collapse;width:100%;font-size:12px}.sub-tbl td[data-v-5b7fda0b],.sub-tbl th[data-v-5b7fda0b]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:5px 8px}.sub-tbl th[data-v-5b7fda0b]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-size:11.5px}.sub-tbl .num[data-v-5b7fda0b]{text-align:right}.role-chip[data-v-5b7fda0b]{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-5b7fda0b]{overflow-wrap:anywhere;margin:4px 0;font-size:11.5px}.run-line b[data-v-5b7fda0b]{color:var(--ink)}.drop-line[data-v-5b7fda0b]{color:var(--tone-danger-dot);overflow-wrap:anywhere;margin:2px 0;font-size:11.5px}.st-pill[data-v-5b7fda0b]{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-5b7fda0b],.st-pill.queued[data-v-5b7fda0b]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.evaluating[data-v-5b7fda0b],.st-pill.running[data-v-5b7fda0b],.st-pill.training[data-v-5b7fda0b]{color:var(--tone-info-dot);background:color-mix(in srgb, var(--tone-info-dot) 12%, transparent)}.st-pill.done[data-v-5b7fda0b],.st-pill.gates_passed[data-v-5b7fda0b]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.failed[data-v-5b7fda0b],.st-pill.gates_failed[data-v-5b7fda0b],.st-pill.timeout[data-v-5b7fda0b]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.cancelled[data-v-5b7fda0b],.st-pill.interrupted[data-v-5b7fda0b]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.prog-th[data-v-5b7fda0b]{min-width:140px}.prog-cell[data-v-5b7fda0b]{white-space:nowrap}.prog[data-v-5b7fda0b]{vertical-align:middle;background:var(--paper-deep);border-radius:3px;width:96px;height:6px;display:inline-block;overflow:hidden}.prog i[data-v-5b7fda0b]{background:var(--tone-info-dot);border-radius:3px;height:100%;transition:width .4s;display:block}.prog i.done[data-v-5b7fda0b]{background:var(--tone-success-dot)}.prog i.bad[data-v-5b7fda0b]{background:var(--tone-danger-dot)}.prog-num[data-v-5b7fda0b]{color:var(--ink-soft);margin-left:7px;font-size:11.5px}.gate-id[data-v-5b7fda0b]{font-weight:700}.gate-detail[data-v-5b7fda0b]{margin-top:3px;font-size:11px;display:block}.verdict[data-v-5b7fda0b]{border-radius:99px;padding:1px 7px;font-size:11.5px}.verdict.pass[data-v-5b7fda0b]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.verdict.fail[data-v-5b7fda0b]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.live-hint[data-v-5b7fda0b]{letter-spacing:0;color:var(--tone-info-dot);text-transform:none;margin-left:8px;font-size:11.5px;font-weight:400}.logs[data-v-5b7fda0b]{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-5b7fda0b]{background:color-mix(in srgb, var(--accent) 9%, transparent)}tr.best td[data-v-5b7fda0b]:first-child{box-shadow:inset 3px 0 0 var(--accent)}.best-tag[data-v-5b7fda0b]{color:var(--on-accent);background:var(--accent);border-radius:99px;margin-right:6px;padding:1px 7px;font-size:11.5px}.stage-pill[data-v-5b7fda0b]{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-5b7fda0b]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 45%, transparent)}.stage-pill.production[data-v-5b7fda0b]{color:var(--tone-success-dot);background:var(--tone-success-bg);border-color:#0000}.stage-pill.retired[data-v-5b7fda0b]{opacity:.55;border-style:dashed}.inp-sel[data-v-5b7fda0b]{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-5b7fda0b]{margin-top:4px}.io-grid[data-v-5b7fda0b]{color:var(--ink-soft);flex-wrap:wrap;gap:6px 14px;margin-bottom:10px;font-size:11.5px;display:flex}.io-item b[data-v-5b7fda0b]{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.pc-form[data-v-5b7fda0b]{grid-template-columns:minmax(300px,3fr) minmax(220px,2fr);gap:12px 18px;display:grid}@media (width<=1100px){.pc-form[data-v-5b7fda0b]{grid-template-columns:1fr}}.pc-field[data-v-5b7fda0b]{color:var(--ink-soft);flex-direction:column;gap:5px;margin-top:8px;font-size:12px;display:flex}.pc-side[data-v-5b7fda0b]{flex-direction:column;align-items:stretch;gap:8px;display:flex}.pc-side .ghost-btn[data-v-5b7fda0b]{align-self:flex-start;margin-top:8px}.pc-side .pill-btn[data-v-5b7fda0b]{margin-top:auto}.inp[data-v-5b7fda0b]{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-5b7fda0b]{resize:vertical;line-height:1.5}.inp[data-v-5b7fda0b]:focus{border-color:var(--accent);outline:none}.hint[data-v-5b7fda0b]{margin:8px 0 0;font-size:11.5px;line-height:1.6}.modal-mask[data-v-5b7fda0b]{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-5b7fda0b]{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-5b7fda0b]{margin:0 0 12px;font-size:16px;font-weight:600}.f-grid[data-v-5b7fda0b]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin-bottom:10px;display:grid}@media (width<=720px){.f-grid[data-v-5b7fda0b]{grid-template-columns:1fr}}.f[data-v-5b7fda0b]{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:12px;display:flex}.f.wide[data-v-5b7fda0b]{grid-column:1/-1}.f em[data-v-5b7fda0b]{color:var(--tone-danger-dot);margin-left:2px;font-style:normal}.sec-label[data-v-5b7fda0b]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:12px 0 8px;font-size:11px;font-weight:600}.node-rows[data-v-5b7fda0b]{flex-direction:column;gap:7px;margin-bottom:12px;display:flex}.node-row[data-v-5b7fda0b]{align-items:center;gap:8px;display:flex}.node-row .grow[data-v-5b7fda0b]{flex:auto}.node-row .sel[data-v-5b7fda0b]{flex:0 0 220px}.m-err[data-v-5b7fda0b]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.m-actions[data-v-5b7fda0b]{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.empty[data-v-5b7fda0b]{color:var(--ink-faint);text-align:center;margin:6px 0;padding:18px 0;font-size:12.5px}.tbl-scroll[data-v-5b7fda0b]{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}@media (width<=900px){.tbl-scroll[data-v-5b7fda0b]{scrollbar-width:thin;overflow-x:auto}.tbl-datasets[data-v-5b7fda0b]{min-width:720px}.tbl-jobs[data-v-5b7fda0b]{min-width:860px}.tbl-exp[data-v-5b7fda0b]{min-width:700px}.tbl-models[data-v-5b7fda0b]{min-width:780px}.tbl td[data-v-5b7fda0b],.tbl th[data-v-5b7fda0b]{white-space:nowrap}.tbl tbody>tr>td[data-v-5b7fda0b]:first-child,.tbl thead>tr>th[data-v-5b7fda0b]: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-5b7fda0b]:first-child{z-index:3}.detail-row>td[data-v-5b7fda0b]:first-child{box-shadow:none;background:var(--frost-bg);position:static}.inp[data-v-5b7fda0b],.inp-sel[data-v-5b7fda0b],.mini-btn[data-v-5b7fda0b],.note-edit input[data-v-5b7fda0b],.pill-btn[data-v-5b7fda0b]{min-height:40px}.tbl .acts .mini-btn+.mini-btn[data-v-5b7fda0b]{margin-left:8px}.note-cell[data-v-5b7fda0b]{max-width:200px}.note-edit[data-v-5b7fda0b]{flex-wrap:wrap}.zone[data-v-5b7fda0b]{padding:12px 12px 14px}.f-grid[data-v-5b7fda0b],.det-grid[data-v-5b7fda0b]{grid-template-columns:1fr}.m-actions[data-v-5b7fda0b],.mx-actions[data-v-5b7fda0b]{flex-wrap:wrap}.modal[data-v-5b7fda0b]{padding:16px}.node-row[data-v-5b7fda0b]{flex-wrap:wrap}.node-row .sel[data-v-5b7fda0b]{flex:100%}.modal-mask[data-v-5b7fda0b]{padding:4vh 10px 12px}}@media (width<=640px){.zone-head[data-v-5b7fda0b]{gap:8px}.zone-head h2[data-v-5b7fda0b]{font-size:14px}.zone-actions[data-v-5b7fda0b]{flex-wrap:wrap}.ov-card[data-v-5b7fda0b]{padding:10px 12px}}.page[data-v-cdf91f1d]{padding:4px}h1[data-v-cdf91f1d]{letter-spacing:-.022em;margin:2px 0 4px;font-size:28px;font-weight:600}.sub[data-v-cdf91f1d]{color:var(--ink-faint);margin:0;font-size:13px}.mono[data-v-cdf91f1d]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-cdf91f1d]{opacity:.55}.err[data-v-cdf91f1d]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.pad[data-v-cdf91f1d]{padding:10px 12px}.badges[data-v-cdf91f1d]{gap:8px;display:flex}.badge[data-v-cdf91f1d]{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-cdf91f1d]{color:var(--tone-danger-dot);border-color:color-mix(in srgb, var(--tone-danger-dot) 45%, transparent)}.infra-banner[data-v-cdf91f1d]{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-cdf91f1d]:first-child{flex:none;margin-top:2px}.infra-banner .txt[data-v-cdf91f1d]{flex:auto;font-size:12.5px;line-height:1.5}.ov-card[data-v-cdf91f1d]{margin-bottom:14px;padding:10px 18px}.ov-row[data-v-cdf91f1d]{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:12px;display:flex}.ov-item[data-v-cdf91f1d]{align-items:center;gap:5px;display:inline-flex}.ov-item b[data-v-cdf91f1d]{color:var(--ink);font-weight:700}.ov-item.ok[data-v-cdf91f1d]{color:var(--tone-success-dot)}.ov-item.bad[data-v-cdf91f1d]{color:var(--tone-danger-dot)}.ov-item.accent b[data-v-cdf91f1d]{color:var(--accent)}.ov-row .sep[data-v-cdf91f1d]{opacity:.4}.ov-row .reload[data-v-cdf91f1d]{margin-left:auto}.zone[data-v-cdf91f1d]{margin-bottom:14px;padding:12px 18px 14px}.zone-head[data-v-cdf91f1d]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;margin-bottom:10px;display:flex}.zone-head h2[data-v-cdf91f1d]{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-cdf91f1d]{color:var(--ink-faint);font-size:11.5px;font-weight:400}.zone-actions[data-v-cdf91f1d]{align-items:center;gap:8px;display:flex}.env-grid[data-v-cdf91f1d]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.env-card[data-v-cdf91f1d]{background:var(--surface-sunken,color-mix(in srgb, var(--ink) 3%, transparent));border:1px solid var(--line);border-radius:var(--radius-control);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.env-card.ok[data-v-cdf91f1d]{border-color:color-mix(in srgb, var(--tone-success-dot) 35%, transparent)}.env-card.bad[data-v-cdf91f1d]{border-color:color-mix(in srgb, var(--tone-warning-dot) 40%, transparent)}.env-card .ec-head[data-v-cdf91f1d]{align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.env-card .ec-head .ec-state[data-v-cdf91f1d]{color:var(--ink-faint);margin-left:auto;font-size:11.5px}.env-card.ok .ec-head>span[data-v-cdf91f1d]:first-child{color:var(--tone-success-dot)}.env-card.bad .ec-head>span[data-v-cdf91f1d]:first-child{color:var(--tone-warning-dot)}.env-card .ec-detail[data-v-cdf91f1d]{color:var(--ink-soft);overflow-wrap:break-word;margin:0;font-size:12px;line-height:1.55}.env-card .ec-detail.mono[data-v-cdf91f1d]{letter-spacing:-.01em;font-size:11.5px}.env-card .ec-detail.dim[data-v-cdf91f1d]{color:var(--ink-faint)}.env-card .ec-actions[data-v-cdf91f1d]{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px;display:flex}.env-card .ec-issues[data-v-cdf91f1d]{max-height:96px;margin:0;padding:0;font-size:11.5px;list-style:none;overflow-y:auto}.env-card .ec-issues li[data-v-cdf91f1d]{color:var(--ink-soft);align-items:center;gap:6px;padding:1px 0;display:flex}.env-card .ec-issues .tag[data-v-cdf91f1d]{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-cdf91f1d]{border-top:1px solid var(--divider-hair);margin-top:10px;padding-top:10px}.env-task .et-head[data-v-cdf91f1d]{align-items:center;gap:8px;font-size:12px;display:flex}.env-task .et-head .dim[data-v-cdf91f1d]{color:var(--ink-faint);font-weight:400}.env-task .et-log[data-v-cdf91f1d]{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-cdf91f1d]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}@keyframes amlSpin-cdf91f1d{to{transform:rotate(1turn)}}.spin[data-v-cdf91f1d]{animation:1s linear infinite amlSpin-cdf91f1d;display:inline-block}@media (prefers-reduced-motion:reduce){.spin[data-v-cdf91f1d]{animation:none}}.note-edit[data-v-cdf91f1d]{align-items:center;gap:6px;display:flex}.note-edit input[data-v-cdf91f1d]{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-cdf91f1d]{align-items:center;gap:6px;display:inline-flex}.note-text .edit-i[data-v-cdf91f1d]{cursor:pointer;opacity:.5}.note-text .edit-i[data-v-cdf91f1d]:hover{opacity:1}.live-dot[data-v-cdf91f1d]{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-cdf91f1d]{animation:1.8s ease-in-out infinite amlPulse-cdf91f1d}}@keyframes amlPulse-cdf91f1d{50%{opacity:.4}}.tbl[data-v-cdf91f1d]{border-collapse:collapse;width:100%;font-size:12.5px}.tbl td[data-v-cdf91f1d],.tbl th[data-v-cdf91f1d]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:8px 10px}.tbl th[data-v-cdf91f1d]{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-cdf91f1d],.tbl .right[data-v-cdf91f1d]{text-align:right}.tbl .acts[data-v-cdf91f1d]{white-space:nowrap}.tbl .acts .mini-btn+.mini-btn[data-v-cdf91f1d]{margin-left:6px}.row-main[data-v-cdf91f1d]{cursor:pointer}@media (prefers-reduced-motion:no-preference){.row-main[data-v-cdf91f1d]:hover{background:var(--hover-tint)}}.row-main.open td[data-v-cdf91f1d]{border-bottom-color:#0000}.note-cell[data-v-cdf91f1d]{max-width:260px}.label-cell[data-v-cdf91f1d]{max-width:220px}.label-cell .label-text[data-v-cdf91f1d]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.label-cell .desc-text[data-v-cdf91f1d]{color:var(--ink-faint,#8b98a5);text-overflow:ellipsis;white-space:nowrap;max-width:320px;margin-top:2px;font-size:11px;display:block;overflow:hidden}.note[data-v-cdf91f1d]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.kind[data-v-cdf91f1d]{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-cdf91f1d]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 40%, transparent)}.detail-row td[data-v-cdf91f1d]{background:var(--frost-bg);padding:0 12px 12px}.det-grid[data-v-cdf91f1d]{grid-template-columns:minmax(340px,3fr) minmax(280px,2fr);gap:10px 22px;display:grid}@media (width<=1100px){.det-grid[data-v-cdf91f1d]{grid-template-columns:1fr}}.det-title[data-v-cdf91f1d]{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-cdf91f1d]:first-child{margin-top:10px}.sub-tbl[data-v-cdf91f1d]{border-collapse:collapse;width:100%;font-size:12px}.sub-tbl td[data-v-cdf91f1d],.sub-tbl th[data-v-cdf91f1d]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:5px 8px}.sub-tbl th[data-v-cdf91f1d]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-size:11.5px}.sub-tbl .num[data-v-cdf91f1d]{text-align:right}.role-chip[data-v-cdf91f1d]{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-cdf91f1d]{overflow-wrap:anywhere;margin:4px 0;font-size:11.5px}.run-line b[data-v-cdf91f1d]{color:var(--ink)}.drop-line[data-v-cdf91f1d]{color:var(--tone-danger-dot);overflow-wrap:anywhere;margin:2px 0;font-size:11.5px}.st-pill[data-v-cdf91f1d]{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-cdf91f1d],.st-pill.queued[data-v-cdf91f1d]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.evaluating[data-v-cdf91f1d],.st-pill.running[data-v-cdf91f1d],.st-pill.training[data-v-cdf91f1d]{color:var(--tone-info-dot);background:color-mix(in srgb, var(--tone-info-dot) 12%, transparent)}.st-pill.done[data-v-cdf91f1d],.st-pill.gates_passed[data-v-cdf91f1d]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.failed[data-v-cdf91f1d],.st-pill.gates_failed[data-v-cdf91f1d],.st-pill.timeout[data-v-cdf91f1d]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.cancelled[data-v-cdf91f1d],.st-pill.interrupted[data-v-cdf91f1d]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.prog-th[data-v-cdf91f1d]{min-width:140px}.prog-cell[data-v-cdf91f1d]{white-space:nowrap}.prog[data-v-cdf91f1d]{vertical-align:middle;background:var(--paper-deep);border-radius:3px;width:96px;height:6px;display:inline-block;overflow:hidden}.prog i[data-v-cdf91f1d]{background:var(--tone-info-dot);border-radius:3px;height:100%;transition:width .4s;display:block}.prog i.done[data-v-cdf91f1d]{background:var(--tone-success-dot)}.prog i.bad[data-v-cdf91f1d]{background:var(--tone-danger-dot)}.prog-num[data-v-cdf91f1d]{color:var(--ink-soft);margin-left:7px;font-size:11.5px}.gate-id[data-v-cdf91f1d]{font-weight:700}.gate-detail[data-v-cdf91f1d]{margin-top:3px;font-size:11px;display:block}.verdict[data-v-cdf91f1d]{border-radius:99px;padding:1px 7px;font-size:11.5px}.verdict.pass[data-v-cdf91f1d]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.verdict.fail[data-v-cdf91f1d]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.live-hint[data-v-cdf91f1d]{letter-spacing:0;color:var(--tone-info-dot);text-transform:none;margin-left:8px;font-size:11.5px;font-weight:400}.logs[data-v-cdf91f1d]{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-cdf91f1d]{background:color-mix(in srgb, var(--accent) 9%, transparent)}tr.best td[data-v-cdf91f1d]:first-child{box-shadow:inset 3px 0 0 var(--accent)}.best-tag[data-v-cdf91f1d]{color:var(--on-accent);background:var(--accent);border-radius:99px;margin-right:6px;padding:1px 7px;font-size:11.5px}.stage-pill[data-v-cdf91f1d]{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-cdf91f1d]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 45%, transparent)}.stage-pill.production[data-v-cdf91f1d]{color:var(--tone-success-dot);background:var(--tone-success-bg);border-color:#0000}.stage-pill.retired[data-v-cdf91f1d]{opacity:.55;border-style:dashed}.inp-sel[data-v-cdf91f1d]{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-cdf91f1d]{margin-top:4px}.io-grid[data-v-cdf91f1d]{color:var(--ink-soft);flex-wrap:wrap;gap:6px 14px;margin-bottom:10px;font-size:11.5px;display:flex}.io-item b[data-v-cdf91f1d]{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.pc-form[data-v-cdf91f1d]{grid-template-columns:minmax(300px,3fr) minmax(220px,2fr);gap:12px 18px;display:grid}@media (width<=1100px){.pc-form[data-v-cdf91f1d]{grid-template-columns:1fr}}.pc-field[data-v-cdf91f1d]{color:var(--ink-soft);flex-direction:column;gap:5px;margin-top:8px;font-size:12px;display:flex}.pc-side[data-v-cdf91f1d]{flex-direction:column;align-items:stretch;gap:8px;display:flex}.pc-side .ghost-btn[data-v-cdf91f1d]{align-self:flex-start;margin-top:8px}.pc-side .pill-btn[data-v-cdf91f1d]{margin-top:auto}.inp[data-v-cdf91f1d]{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-cdf91f1d]{resize:vertical;line-height:1.5}.inp[data-v-cdf91f1d]:focus{border-color:var(--accent);outline:none}.hint[data-v-cdf91f1d]{margin:8px 0 0;font-size:11.5px;line-height:1.6}.modal-mask[data-v-cdf91f1d]{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-cdf91f1d]{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-cdf91f1d]{margin:0 0 12px;font-size:16px;font-weight:600}.f-grid[data-v-cdf91f1d]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin-bottom:10px;display:grid}@media (width<=720px){.f-grid[data-v-cdf91f1d]{grid-template-columns:1fr}}.f[data-v-cdf91f1d]{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:12px;display:flex}.f.wide[data-v-cdf91f1d]{grid-column:1/-1}.f em[data-v-cdf91f1d]{color:var(--tone-danger-dot);margin-left:2px;font-style:normal}.sec-label[data-v-cdf91f1d]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:12px 0 8px;font-size:11px;font-weight:600}.node-rows[data-v-cdf91f1d]{flex-direction:column;gap:7px;margin-bottom:12px;display:flex}.node-row[data-v-cdf91f1d]{align-items:center;gap:8px;display:flex}.node-row .grow[data-v-cdf91f1d]{flex:auto}.node-row .sel[data-v-cdf91f1d]{flex:0 0 220px}.m-err[data-v-cdf91f1d]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.m-actions[data-v-cdf91f1d]{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.empty[data-v-cdf91f1d]{color:var(--ink-faint);text-align:center;margin:6px 0;padding:18px 0;font-size:12.5px}.tbl-scroll[data-v-cdf91f1d]{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}@media (width<=900px){.tbl-scroll[data-v-cdf91f1d]{scrollbar-width:thin;overflow-x:auto}.tbl-datasets[data-v-cdf91f1d]{min-width:720px}.tbl-jobs[data-v-cdf91f1d]{min-width:860px}.tbl-exp[data-v-cdf91f1d]{min-width:700px}.tbl-models[data-v-cdf91f1d]{min-width:780px}.tbl td[data-v-cdf91f1d],.tbl th[data-v-cdf91f1d]{white-space:nowrap}.tbl tbody>tr>td[data-v-cdf91f1d]:first-child,.tbl thead>tr>th[data-v-cdf91f1d]: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-cdf91f1d]:first-child{z-index:3}.detail-row>td[data-v-cdf91f1d]:first-child{box-shadow:none;background:var(--frost-bg);position:static}.inp[data-v-cdf91f1d],.inp-sel[data-v-cdf91f1d],.mini-btn[data-v-cdf91f1d],.note-edit input[data-v-cdf91f1d],.pill-btn[data-v-cdf91f1d]{min-height:40px}.tbl .acts .mini-btn+.mini-btn[data-v-cdf91f1d]{margin-left:8px}.note-cell[data-v-cdf91f1d]{max-width:200px}.note-edit[data-v-cdf91f1d]{flex-wrap:wrap}.zone[data-v-cdf91f1d]{padding:12px 12px 14px}.f-grid[data-v-cdf91f1d],.det-grid[data-v-cdf91f1d]{grid-template-columns:1fr}.m-actions[data-v-cdf91f1d],.mx-actions[data-v-cdf91f1d]{flex-wrap:wrap}.modal[data-v-cdf91f1d]{padding:16px}.node-row[data-v-cdf91f1d]{flex-wrap:wrap}.node-row .sel[data-v-cdf91f1d]{flex:100%}.modal-mask[data-v-cdf91f1d]{padding:4vh 10px 12px}}@media (width<=640px){.zone-head[data-v-cdf91f1d]{gap:8px}.zone-head h2[data-v-cdf91f1d]{font-size:14px}.zone-actions[data-v-cdf91f1d]{flex-wrap:wrap}.ov-card[data-v-cdf91f1d]{padding:10px 12px}}.page[data-v-57c9a30a]{padding:4px}h1[data-v-57c9a30a]{letter-spacing:-.022em;margin:2px 0 4px;font-size:28px;font-weight:600}.sub[data-v-57c9a30a]{color:var(--ink-faint);margin:0;font-size:13px}.mono[data-v-57c9a30a]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-57c9a30a]{opacity:.55}.err[data-v-57c9a30a]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.pad[data-v-57c9a30a]{padding:10px 12px}.badges[data-v-57c9a30a]{gap:8px;display:flex}.badge[data-v-57c9a30a]{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-57c9a30a]{color:var(--tone-danger-dot);border-color:color-mix(in srgb, var(--tone-danger-dot) 45%, transparent)}.infra-banner[data-v-57c9a30a]{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-57c9a30a]:first-child{flex:none;margin-top:2px}.infra-banner .txt[data-v-57c9a30a]{flex:auto;font-size:12.5px;line-height:1.5}.ov-card[data-v-57c9a30a]{margin-bottom:14px;padding:10px 18px}.ov-row[data-v-57c9a30a]{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:12px;display:flex}.ov-item[data-v-57c9a30a]{align-items:center;gap:5px;display:inline-flex}.ov-item b[data-v-57c9a30a]{color:var(--ink);font-weight:700}.ov-item.ok[data-v-57c9a30a]{color:var(--tone-success-dot)}.ov-item.bad[data-v-57c9a30a]{color:var(--tone-danger-dot)}.ov-item.accent b[data-v-57c9a30a]{color:var(--accent)}.ov-row .sep[data-v-57c9a30a]{opacity:.4}.ov-row .reload[data-v-57c9a30a]{margin-left:auto}.zone[data-v-57c9a30a]{margin-bottom:14px;padding:12px 18px 14px}.zone-head[data-v-57c9a30a]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;margin-bottom:10px;display:flex}.zone-head h2[data-v-57c9a30a]{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-57c9a30a]{color:var(--ink-faint);font-size:11.5px;font-weight:400}.zone-actions[data-v-57c9a30a]{align-items:center;gap:8px;display:flex}.env-grid[data-v-57c9a30a]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.env-card[data-v-57c9a30a]{background:var(--surface-sunken,color-mix(in srgb, var(--ink) 3%, transparent));border:1px solid var(--line);border-radius:var(--radius-control);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.env-card.ok[data-v-57c9a30a]{border-color:color-mix(in srgb, var(--tone-success-dot) 35%, transparent)}.env-card.bad[data-v-57c9a30a]{border-color:color-mix(in srgb, var(--tone-warning-dot) 40%, transparent)}.env-card .ec-head[data-v-57c9a30a]{align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.env-card .ec-head .ec-state[data-v-57c9a30a]{color:var(--ink-faint);margin-left:auto;font-size:11.5px}.env-card.ok .ec-head>span[data-v-57c9a30a]:first-child{color:var(--tone-success-dot)}.env-card.bad .ec-head>span[data-v-57c9a30a]:first-child{color:var(--tone-warning-dot)}.env-card .ec-detail[data-v-57c9a30a]{color:var(--ink-soft);overflow-wrap:break-word;margin:0;font-size:12px;line-height:1.55}.env-card .ec-detail.mono[data-v-57c9a30a]{letter-spacing:-.01em;font-size:11.5px}.env-card .ec-detail.dim[data-v-57c9a30a]{color:var(--ink-faint)}.env-card .ec-actions[data-v-57c9a30a]{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px;display:flex}.env-card .ec-issues[data-v-57c9a30a]{max-height:96px;margin:0;padding:0;font-size:11.5px;list-style:none;overflow-y:auto}.env-card .ec-issues li[data-v-57c9a30a]{color:var(--ink-soft);align-items:center;gap:6px;padding:1px 0;display:flex}.env-card .ec-issues .tag[data-v-57c9a30a]{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-57c9a30a]{border-top:1px solid var(--divider-hair);margin-top:10px;padding-top:10px}.env-task .et-head[data-v-57c9a30a]{align-items:center;gap:8px;font-size:12px;display:flex}.env-task .et-head .dim[data-v-57c9a30a]{color:var(--ink-faint);font-weight:400}.env-task .et-log[data-v-57c9a30a]{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-57c9a30a]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}@keyframes amlSpin-57c9a30a{to{transform:rotate(1turn)}}.spin[data-v-57c9a30a]{animation:1s linear infinite amlSpin-57c9a30a;display:inline-block}@media (prefers-reduced-motion:reduce){.spin[data-v-57c9a30a]{animation:none}}.note-edit[data-v-57c9a30a]{align-items:center;gap:6px;display:flex}.note-edit input[data-v-57c9a30a]{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-57c9a30a]{align-items:center;gap:6px;display:inline-flex}.note-text .edit-i[data-v-57c9a30a]{cursor:pointer;opacity:.5}.note-text .edit-i[data-v-57c9a30a]:hover{opacity:1}.live-dot[data-v-57c9a30a]{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-57c9a30a]{animation:1.8s ease-in-out infinite amlPulse-57c9a30a}}@keyframes amlPulse-57c9a30a{50%{opacity:.4}}.tbl[data-v-57c9a30a]{border-collapse:collapse;width:100%;font-size:12.5px}.tbl td[data-v-57c9a30a],.tbl th[data-v-57c9a30a]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:8px 10px}.tbl th[data-v-57c9a30a]{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-57c9a30a],.tbl .right[data-v-57c9a30a]{text-align:right}.tbl .acts[data-v-57c9a30a]{white-space:nowrap}.tbl .acts .mini-btn+.mini-btn[data-v-57c9a30a]{margin-left:6px}.row-main[data-v-57c9a30a]{cursor:pointer}@media (prefers-reduced-motion:no-preference){.row-main[data-v-57c9a30a]:hover{background:var(--hover-tint)}}.row-main.open td[data-v-57c9a30a]{border-bottom-color:#0000}.note-cell[data-v-57c9a30a]{max-width:260px}.label-cell[data-v-57c9a30a]{max-width:220px}.label-cell .label-text[data-v-57c9a30a]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.label-cell .desc-text[data-v-57c9a30a]{color:var(--ink-faint,#8b98a5);text-overflow:ellipsis;white-space:nowrap;max-width:320px;margin-top:2px;font-size:11px;display:block;overflow:hidden}.note[data-v-57c9a30a]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.kind[data-v-57c9a30a]{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-57c9a30a]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 40%, transparent)}.detail-row td[data-v-57c9a30a]{background:var(--frost-bg);padding:0 12px 12px}.det-grid[data-v-57c9a30a]{grid-template-columns:minmax(340px,3fr) minmax(280px,2fr);gap:10px 22px;display:grid}@media (width<=1100px){.det-grid[data-v-57c9a30a]{grid-template-columns:1fr}}.det-title[data-v-57c9a30a]{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-57c9a30a]:first-child{margin-top:10px}.sub-tbl[data-v-57c9a30a]{border-collapse:collapse;width:100%;font-size:12px}.sub-tbl td[data-v-57c9a30a],.sub-tbl th[data-v-57c9a30a]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:5px 8px}.sub-tbl th[data-v-57c9a30a]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-size:11.5px}.sub-tbl .num[data-v-57c9a30a]{text-align:right}.role-chip[data-v-57c9a30a]{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-57c9a30a]{overflow-wrap:anywhere;margin:4px 0;font-size:11.5px}.run-line b[data-v-57c9a30a]{color:var(--ink)}.drop-line[data-v-57c9a30a]{color:var(--tone-danger-dot);overflow-wrap:anywhere;margin:2px 0;font-size:11.5px}.st-pill[data-v-57c9a30a]{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-57c9a30a],.st-pill.queued[data-v-57c9a30a]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.evaluating[data-v-57c9a30a],.st-pill.running[data-v-57c9a30a],.st-pill.training[data-v-57c9a30a]{color:var(--tone-info-dot);background:color-mix(in srgb, var(--tone-info-dot) 12%, transparent)}.st-pill.done[data-v-57c9a30a],.st-pill.gates_passed[data-v-57c9a30a]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.failed[data-v-57c9a30a],.st-pill.gates_failed[data-v-57c9a30a],.st-pill.timeout[data-v-57c9a30a]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.cancelled[data-v-57c9a30a],.st-pill.interrupted[data-v-57c9a30a]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.prog-th[data-v-57c9a30a]{min-width:140px}.prog-cell[data-v-57c9a30a]{white-space:nowrap}.prog[data-v-57c9a30a]{vertical-align:middle;background:var(--paper-deep);border-radius:3px;width:96px;height:6px;display:inline-block;overflow:hidden}.prog i[data-v-57c9a30a]{background:var(--tone-info-dot);border-radius:3px;height:100%;transition:width .4s;display:block}.prog i.done[data-v-57c9a30a]{background:var(--tone-success-dot)}.prog i.bad[data-v-57c9a30a]{background:var(--tone-danger-dot)}.prog-num[data-v-57c9a30a]{color:var(--ink-soft);margin-left:7px;font-size:11.5px}.gate-id[data-v-57c9a30a]{font-weight:700}.gate-detail[data-v-57c9a30a]{margin-top:3px;font-size:11px;display:block}.verdict[data-v-57c9a30a]{border-radius:99px;padding:1px 7px;font-size:11.5px}.verdict.pass[data-v-57c9a30a]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.verdict.fail[data-v-57c9a30a]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.live-hint[data-v-57c9a30a]{letter-spacing:0;color:var(--tone-info-dot);text-transform:none;margin-left:8px;font-size:11.5px;font-weight:400}.logs[data-v-57c9a30a]{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-57c9a30a]{background:color-mix(in srgb, var(--accent) 9%, transparent)}tr.best td[data-v-57c9a30a]:first-child{box-shadow:inset 3px 0 0 var(--accent)}.best-tag[data-v-57c9a30a]{color:var(--on-accent);background:var(--accent);border-radius:99px;margin-right:6px;padding:1px 7px;font-size:11.5px}.stage-pill[data-v-57c9a30a]{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-57c9a30a]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 45%, transparent)}.stage-pill.production[data-v-57c9a30a]{color:var(--tone-success-dot);background:var(--tone-success-bg);border-color:#0000}.stage-pill.retired[data-v-57c9a30a]{opacity:.55;border-style:dashed}.inp-sel[data-v-57c9a30a]{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-57c9a30a]{margin-top:4px}.io-grid[data-v-57c9a30a]{color:var(--ink-soft);flex-wrap:wrap;gap:6px 14px;margin-bottom:10px;font-size:11.5px;display:flex}.io-item b[data-v-57c9a30a]{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.pc-form[data-v-57c9a30a]{grid-template-columns:minmax(300px,3fr) minmax(220px,2fr);gap:12px 18px;display:grid}@media (width<=1100px){.pc-form[data-v-57c9a30a]{grid-template-columns:1fr}}.pc-field[data-v-57c9a30a]{color:var(--ink-soft);flex-direction:column;gap:5px;margin-top:8px;font-size:12px;display:flex}.pc-side[data-v-57c9a30a]{flex-direction:column;align-items:stretch;gap:8px;display:flex}.pc-side .ghost-btn[data-v-57c9a30a]{align-self:flex-start;margin-top:8px}.pc-side .pill-btn[data-v-57c9a30a]{margin-top:auto}.inp[data-v-57c9a30a]{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-57c9a30a]{resize:vertical;line-height:1.5}.inp[data-v-57c9a30a]:focus{border-color:var(--accent);outline:none}.hint[data-v-57c9a30a]{margin:8px 0 0;font-size:11.5px;line-height:1.6}.modal-mask[data-v-57c9a30a]{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-57c9a30a]{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-57c9a30a]{margin:0 0 12px;font-size:16px;font-weight:600}.f-grid[data-v-57c9a30a]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin-bottom:10px;display:grid}@media (width<=720px){.f-grid[data-v-57c9a30a]{grid-template-columns:1fr}}.f[data-v-57c9a30a]{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:12px;display:flex}.f.wide[data-v-57c9a30a]{grid-column:1/-1}.f em[data-v-57c9a30a]{color:var(--tone-danger-dot);margin-left:2px;font-style:normal}.sec-label[data-v-57c9a30a]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:12px 0 8px;font-size:11px;font-weight:600}.node-rows[data-v-57c9a30a]{flex-direction:column;gap:7px;margin-bottom:12px;display:flex}.node-row[data-v-57c9a30a]{align-items:center;gap:8px;display:flex}.node-row .grow[data-v-57c9a30a]{flex:auto}.node-row .sel[data-v-57c9a30a]{flex:0 0 220px}.m-err[data-v-57c9a30a]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.m-actions[data-v-57c9a30a]{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.empty[data-v-57c9a30a]{color:var(--ink-faint);text-align:center;margin:6px 0;padding:18px 0;font-size:12.5px}.tbl-scroll[data-v-57c9a30a]{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}@media (width<=900px){.tbl-scroll[data-v-57c9a30a]{scrollbar-width:thin;overflow-x:auto}.tbl-datasets[data-v-57c9a30a]{min-width:720px}.tbl-jobs[data-v-57c9a30a]{min-width:860px}.tbl-exp[data-v-57c9a30a]{min-width:700px}.tbl-models[data-v-57c9a30a]{min-width:780px}.tbl td[data-v-57c9a30a],.tbl th[data-v-57c9a30a]{white-space:nowrap}.tbl tbody>tr>td[data-v-57c9a30a]:first-child,.tbl thead>tr>th[data-v-57c9a30a]: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-57c9a30a]:first-child{z-index:3}.detail-row>td[data-v-57c9a30a]:first-child{box-shadow:none;background:var(--frost-bg);position:static}.inp[data-v-57c9a30a],.inp-sel[data-v-57c9a30a],.mini-btn[data-v-57c9a30a],.note-edit input[data-v-57c9a30a],.pill-btn[data-v-57c9a30a]{min-height:40px}.tbl .acts .mini-btn+.mini-btn[data-v-57c9a30a]{margin-left:8px}.note-cell[data-v-57c9a30a]{max-width:200px}.note-edit[data-v-57c9a30a]{flex-wrap:wrap}.zone[data-v-57c9a30a]{padding:12px 12px 14px}.f-grid[data-v-57c9a30a],.det-grid[data-v-57c9a30a]{grid-template-columns:1fr}.m-actions[data-v-57c9a30a],.mx-actions[data-v-57c9a30a]{flex-wrap:wrap}.modal[data-v-57c9a30a]{padding:16px}.node-row[data-v-57c9a30a]{flex-wrap:wrap}.node-row .sel[data-v-57c9a30a]{flex:100%}.modal-mask[data-v-57c9a30a]{padding:4vh 10px 12px}}@media (width<=640px){.zone-head[data-v-57c9a30a]{gap:8px}.zone-head h2[data-v-57c9a30a]{font-size:14px}.zone-actions[data-v-57c9a30a]{flex-wrap:wrap}.ov-card[data-v-57c9a30a]{padding:10px 12px}}.page[data-v-5ac31f7e]{padding:4px}h1[data-v-5ac31f7e]{letter-spacing:-.022em;margin:2px 0 4px;font-size:28px;font-weight:600}.sub[data-v-5ac31f7e]{color:var(--ink-faint);margin:0;font-size:13px}.mono[data-v-5ac31f7e]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-5ac31f7e]{opacity:.55}.err[data-v-5ac31f7e]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.pad[data-v-5ac31f7e]{padding:10px 12px}.badges[data-v-5ac31f7e]{gap:8px;display:flex}.badge[data-v-5ac31f7e]{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-5ac31f7e]{color:var(--tone-danger-dot);border-color:color-mix(in srgb, var(--tone-danger-dot) 45%, transparent)}.infra-banner[data-v-5ac31f7e]{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-5ac31f7e]:first-child{flex:none;margin-top:2px}.infra-banner .txt[data-v-5ac31f7e]{flex:auto;font-size:12.5px;line-height:1.5}.ov-card[data-v-5ac31f7e]{margin-bottom:14px;padding:10px 18px}.ov-row[data-v-5ac31f7e]{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:12px;display:flex}.ov-item[data-v-5ac31f7e]{align-items:center;gap:5px;display:inline-flex}.ov-item b[data-v-5ac31f7e]{color:var(--ink);font-weight:700}.ov-item.ok[data-v-5ac31f7e]{color:var(--tone-success-dot)}.ov-item.bad[data-v-5ac31f7e]{color:var(--tone-danger-dot)}.ov-item.accent b[data-v-5ac31f7e]{color:var(--accent)}.ov-row .sep[data-v-5ac31f7e]{opacity:.4}.ov-row .reload[data-v-5ac31f7e]{margin-left:auto}.zone[data-v-5ac31f7e]{margin-bottom:14px;padding:12px 18px 14px}.zone-head[data-v-5ac31f7e]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;margin-bottom:10px;display:flex}.zone-head h2[data-v-5ac31f7e]{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-5ac31f7e]{color:var(--ink-faint);font-size:11.5px;font-weight:400}.zone-actions[data-v-5ac31f7e]{align-items:center;gap:8px;display:flex}.env-grid[data-v-5ac31f7e]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.env-card[data-v-5ac31f7e]{background:var(--surface-sunken,color-mix(in srgb, var(--ink) 3%, transparent));border:1px solid var(--line);border-radius:var(--radius-control);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.env-card.ok[data-v-5ac31f7e]{border-color:color-mix(in srgb, var(--tone-success-dot) 35%, transparent)}.env-card.bad[data-v-5ac31f7e]{border-color:color-mix(in srgb, var(--tone-warning-dot) 40%, transparent)}.env-card .ec-head[data-v-5ac31f7e]{align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.env-card .ec-head .ec-state[data-v-5ac31f7e]{color:var(--ink-faint);margin-left:auto;font-size:11.5px}.env-card.ok .ec-head>span[data-v-5ac31f7e]:first-child{color:var(--tone-success-dot)}.env-card.bad .ec-head>span[data-v-5ac31f7e]:first-child{color:var(--tone-warning-dot)}.env-card .ec-detail[data-v-5ac31f7e]{color:var(--ink-soft);overflow-wrap:break-word;margin:0;font-size:12px;line-height:1.55}.env-card .ec-detail.mono[data-v-5ac31f7e]{letter-spacing:-.01em;font-size:11.5px}.env-card .ec-detail.dim[data-v-5ac31f7e]{color:var(--ink-faint)}.env-card .ec-actions[data-v-5ac31f7e]{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px;display:flex}.env-card .ec-issues[data-v-5ac31f7e]{max-height:96px;margin:0;padding:0;font-size:11.5px;list-style:none;overflow-y:auto}.env-card .ec-issues li[data-v-5ac31f7e]{color:var(--ink-soft);align-items:center;gap:6px;padding:1px 0;display:flex}.env-card .ec-issues .tag[data-v-5ac31f7e]{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-5ac31f7e]{border-top:1px solid var(--divider-hair);margin-top:10px;padding-top:10px}.env-task .et-head[data-v-5ac31f7e]{align-items:center;gap:8px;font-size:12px;display:flex}.env-task .et-head .dim[data-v-5ac31f7e]{color:var(--ink-faint);font-weight:400}.env-task .et-log[data-v-5ac31f7e]{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-5ac31f7e]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}@keyframes amlSpin-5ac31f7e{to{transform:rotate(1turn)}}.spin[data-v-5ac31f7e]{animation:1s linear infinite amlSpin-5ac31f7e;display:inline-block}@media (prefers-reduced-motion:reduce){.spin[data-v-5ac31f7e]{animation:none}}.note-edit[data-v-5ac31f7e]{align-items:center;gap:6px;display:flex}.note-edit input[data-v-5ac31f7e]{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-5ac31f7e]{align-items:center;gap:6px;display:inline-flex}.note-text .edit-i[data-v-5ac31f7e]{cursor:pointer;opacity:.5}.note-text .edit-i[data-v-5ac31f7e]:hover{opacity:1}.live-dot[data-v-5ac31f7e]{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-5ac31f7e]{animation:1.8s ease-in-out infinite amlPulse-5ac31f7e}}@keyframes amlPulse-5ac31f7e{50%{opacity:.4}}.tbl[data-v-5ac31f7e]{border-collapse:collapse;width:100%;font-size:12.5px}.tbl td[data-v-5ac31f7e],.tbl th[data-v-5ac31f7e]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:8px 10px}.tbl th[data-v-5ac31f7e]{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-5ac31f7e],.tbl .right[data-v-5ac31f7e]{text-align:right}.tbl .acts[data-v-5ac31f7e]{white-space:nowrap}.tbl .acts .mini-btn+.mini-btn[data-v-5ac31f7e]{margin-left:6px}.row-main[data-v-5ac31f7e]{cursor:pointer}@media (prefers-reduced-motion:no-preference){.row-main[data-v-5ac31f7e]:hover{background:var(--hover-tint)}}.row-main.open td[data-v-5ac31f7e]{border-bottom-color:#0000}.note-cell[data-v-5ac31f7e]{max-width:260px}.label-cell[data-v-5ac31f7e]{max-width:220px}.label-cell .label-text[data-v-5ac31f7e]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.label-cell .desc-text[data-v-5ac31f7e]{color:var(--ink-faint,#8b98a5);text-overflow:ellipsis;white-space:nowrap;max-width:320px;margin-top:2px;font-size:11px;display:block;overflow:hidden}.note[data-v-5ac31f7e]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.kind[data-v-5ac31f7e]{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-5ac31f7e]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 40%, transparent)}.detail-row td[data-v-5ac31f7e]{background:var(--frost-bg);padding:0 12px 12px}.det-grid[data-v-5ac31f7e]{grid-template-columns:minmax(340px,3fr) minmax(280px,2fr);gap:10px 22px;display:grid}@media (width<=1100px){.det-grid[data-v-5ac31f7e]{grid-template-columns:1fr}}.det-title[data-v-5ac31f7e]{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-5ac31f7e]:first-child{margin-top:10px}.sub-tbl[data-v-5ac31f7e]{border-collapse:collapse;width:100%;font-size:12px}.sub-tbl td[data-v-5ac31f7e],.sub-tbl th[data-v-5ac31f7e]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:5px 8px}.sub-tbl th[data-v-5ac31f7e]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-size:11.5px}.sub-tbl .num[data-v-5ac31f7e]{text-align:right}.role-chip[data-v-5ac31f7e]{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-5ac31f7e]{overflow-wrap:anywhere;margin:4px 0;font-size:11.5px}.run-line b[data-v-5ac31f7e]{color:var(--ink)}.drop-line[data-v-5ac31f7e]{color:var(--tone-danger-dot);overflow-wrap:anywhere;margin:2px 0;font-size:11.5px}.st-pill[data-v-5ac31f7e]{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-5ac31f7e],.st-pill.queued[data-v-5ac31f7e]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.evaluating[data-v-5ac31f7e],.st-pill.running[data-v-5ac31f7e],.st-pill.training[data-v-5ac31f7e]{color:var(--tone-info-dot);background:color-mix(in srgb, var(--tone-info-dot) 12%, transparent)}.st-pill.done[data-v-5ac31f7e],.st-pill.gates_passed[data-v-5ac31f7e]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.failed[data-v-5ac31f7e],.st-pill.gates_failed[data-v-5ac31f7e],.st-pill.timeout[data-v-5ac31f7e]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.cancelled[data-v-5ac31f7e],.st-pill.interrupted[data-v-5ac31f7e]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.prog-th[data-v-5ac31f7e]{min-width:140px}.prog-cell[data-v-5ac31f7e]{white-space:nowrap}.prog[data-v-5ac31f7e]{vertical-align:middle;background:var(--paper-deep);border-radius:3px;width:96px;height:6px;display:inline-block;overflow:hidden}.prog i[data-v-5ac31f7e]{background:var(--tone-info-dot);border-radius:3px;height:100%;transition:width .4s;display:block}.prog i.done[data-v-5ac31f7e]{background:var(--tone-success-dot)}.prog i.bad[data-v-5ac31f7e]{background:var(--tone-danger-dot)}.prog-num[data-v-5ac31f7e]{color:var(--ink-soft);margin-left:7px;font-size:11.5px}.gate-id[data-v-5ac31f7e]{font-weight:700}.gate-detail[data-v-5ac31f7e]{margin-top:3px;font-size:11px;display:block}.verdict[data-v-5ac31f7e]{border-radius:99px;padding:1px 7px;font-size:11.5px}.verdict.pass[data-v-5ac31f7e]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.verdict.fail[data-v-5ac31f7e]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.live-hint[data-v-5ac31f7e]{letter-spacing:0;color:var(--tone-info-dot);text-transform:none;margin-left:8px;font-size:11.5px;font-weight:400}.logs[data-v-5ac31f7e]{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-5ac31f7e]{background:color-mix(in srgb, var(--accent) 9%, transparent)}tr.best td[data-v-5ac31f7e]:first-child{box-shadow:inset 3px 0 0 var(--accent)}.best-tag[data-v-5ac31f7e]{color:var(--on-accent);background:var(--accent);border-radius:99px;margin-right:6px;padding:1px 7px;font-size:11.5px}.stage-pill[data-v-5ac31f7e]{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-5ac31f7e]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 45%, transparent)}.stage-pill.production[data-v-5ac31f7e]{color:var(--tone-success-dot);background:var(--tone-success-bg);border-color:#0000}.stage-pill.retired[data-v-5ac31f7e]{opacity:.55;border-style:dashed}.inp-sel[data-v-5ac31f7e]{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-5ac31f7e]{margin-top:4px}.io-grid[data-v-5ac31f7e]{color:var(--ink-soft);flex-wrap:wrap;gap:6px 14px;margin-bottom:10px;font-size:11.5px;display:flex}.io-item b[data-v-5ac31f7e]{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.pc-form[data-v-5ac31f7e]{grid-template-columns:minmax(300px,3fr) minmax(220px,2fr);gap:12px 18px;display:grid}@media (width<=1100px){.pc-form[data-v-5ac31f7e]{grid-template-columns:1fr}}.pc-field[data-v-5ac31f7e]{color:var(--ink-soft);flex-direction:column;gap:5px;margin-top:8px;font-size:12px;display:flex}.pc-side[data-v-5ac31f7e]{flex-direction:column;align-items:stretch;gap:8px;display:flex}.pc-side .ghost-btn[data-v-5ac31f7e]{align-self:flex-start;margin-top:8px}.pc-side .pill-btn[data-v-5ac31f7e]{margin-top:auto}.inp[data-v-5ac31f7e]{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-5ac31f7e]{resize:vertical;line-height:1.5}.inp[data-v-5ac31f7e]:focus{border-color:var(--accent);outline:none}.hint[data-v-5ac31f7e]{margin:8px 0 0;font-size:11.5px;line-height:1.6}.modal-mask[data-v-5ac31f7e]{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-5ac31f7e]{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-5ac31f7e]{margin:0 0 12px;font-size:16px;font-weight:600}.f-grid[data-v-5ac31f7e]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin-bottom:10px;display:grid}@media (width<=720px){.f-grid[data-v-5ac31f7e]{grid-template-columns:1fr}}.f[data-v-5ac31f7e]{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:12px;display:flex}.f.wide[data-v-5ac31f7e]{grid-column:1/-1}.f em[data-v-5ac31f7e]{color:var(--tone-danger-dot);margin-left:2px;font-style:normal}.sec-label[data-v-5ac31f7e]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:12px 0 8px;font-size:11px;font-weight:600}.node-rows[data-v-5ac31f7e]{flex-direction:column;gap:7px;margin-bottom:12px;display:flex}.node-row[data-v-5ac31f7e]{align-items:center;gap:8px;display:flex}.node-row .grow[data-v-5ac31f7e]{flex:auto}.node-row .sel[data-v-5ac31f7e]{flex:0 0 220px}.m-err[data-v-5ac31f7e]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.m-actions[data-v-5ac31f7e]{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.empty[data-v-5ac31f7e]{color:var(--ink-faint);text-align:center;margin:6px 0;padding:18px 0;font-size:12.5px}.tbl-scroll[data-v-5ac31f7e]{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}@media (width<=900px){.tbl-scroll[data-v-5ac31f7e]{scrollbar-width:thin;overflow-x:auto}.tbl-datasets[data-v-5ac31f7e]{min-width:720px}.tbl-jobs[data-v-5ac31f7e]{min-width:860px}.tbl-exp[data-v-5ac31f7e]{min-width:700px}.tbl-models[data-v-5ac31f7e]{min-width:780px}.tbl td[data-v-5ac31f7e],.tbl th[data-v-5ac31f7e]{white-space:nowrap}.tbl tbody>tr>td[data-v-5ac31f7e]:first-child,.tbl thead>tr>th[data-v-5ac31f7e]: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-5ac31f7e]:first-child{z-index:3}.detail-row>td[data-v-5ac31f7e]:first-child{box-shadow:none;background:var(--frost-bg);position:static}.inp[data-v-5ac31f7e],.inp-sel[data-v-5ac31f7e],.mini-btn[data-v-5ac31f7e],.note-edit input[data-v-5ac31f7e],.pill-btn[data-v-5ac31f7e]{min-height:40px}.tbl .acts .mini-btn+.mini-btn[data-v-5ac31f7e]{margin-left:8px}.note-cell[data-v-5ac31f7e]{max-width:200px}.note-edit[data-v-5ac31f7e]{flex-wrap:wrap}.zone[data-v-5ac31f7e]{padding:12px 12px 14px}.f-grid[data-v-5ac31f7e],.det-grid[data-v-5ac31f7e]{grid-template-columns:1fr}.m-actions[data-v-5ac31f7e],.mx-actions[data-v-5ac31f7e]{flex-wrap:wrap}.modal[data-v-5ac31f7e]{padding:16px}.node-row[data-v-5ac31f7e]{flex-wrap:wrap}.node-row .sel[data-v-5ac31f7e]{flex:100%}.modal-mask[data-v-5ac31f7e]{padding:4vh 10px 12px}}@media (width<=640px){.zone-head[data-v-5ac31f7e]{gap:8px}.zone-head h2[data-v-5ac31f7e]{font-size:14px}.zone-actions[data-v-5ac31f7e]{flex-wrap:wrap}.ov-card[data-v-5ac31f7e]{padding:10px 12px}}.page[data-v-68be5b34]{padding:4px}h1[data-v-68be5b34]{letter-spacing:-.022em;margin:2px 0 4px;font-size:28px;font-weight:600}.sub[data-v-68be5b34]{color:var(--ink-faint);margin:0;font-size:13px}.mono[data-v-68be5b34]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dim[data-v-68be5b34]{opacity:.55}.err[data-v-68be5b34]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.pad[data-v-68be5b34]{padding:10px 12px}.badges[data-v-68be5b34]{gap:8px;display:flex}.badge[data-v-68be5b34]{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-68be5b34]{color:var(--tone-danger-dot);border-color:color-mix(in srgb, var(--tone-danger-dot) 45%, transparent)}.infra-banner[data-v-68be5b34]{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-68be5b34]:first-child{flex:none;margin-top:2px}.infra-banner .txt[data-v-68be5b34]{flex:auto;font-size:12.5px;line-height:1.5}.ov-card[data-v-68be5b34]{margin-bottom:14px;padding:10px 18px}.ov-row[data-v-68be5b34]{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:12px;display:flex}.ov-item[data-v-68be5b34]{align-items:center;gap:5px;display:inline-flex}.ov-item b[data-v-68be5b34]{color:var(--ink);font-weight:700}.ov-item.ok[data-v-68be5b34]{color:var(--tone-success-dot)}.ov-item.bad[data-v-68be5b34]{color:var(--tone-danger-dot)}.ov-item.accent b[data-v-68be5b34]{color:var(--accent)}.ov-row .sep[data-v-68be5b34]{opacity:.4}.ov-row .reload[data-v-68be5b34]{margin-left:auto}.zone[data-v-68be5b34]{margin-bottom:14px;padding:12px 18px 14px}.zone-head[data-v-68be5b34]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 12px;margin-bottom:10px;display:flex}.zone-head h2[data-v-68be5b34]{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-68be5b34]{color:var(--ink-faint);font-size:11.5px;font-weight:400}.zone-actions[data-v-68be5b34]{align-items:center;gap:8px;display:flex}.env-grid[data-v-68be5b34]{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;display:grid}.env-card[data-v-68be5b34]{background:var(--surface-sunken,color-mix(in srgb, var(--ink) 3%, transparent));border:1px solid var(--line);border-radius:var(--radius-control);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.env-card.ok[data-v-68be5b34]{border-color:color-mix(in srgb, var(--tone-success-dot) 35%, transparent)}.env-card.bad[data-v-68be5b34]{border-color:color-mix(in srgb, var(--tone-warning-dot) 40%, transparent)}.env-card .ec-head[data-v-68be5b34]{align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.env-card .ec-head .ec-state[data-v-68be5b34]{color:var(--ink-faint);margin-left:auto;font-size:11.5px}.env-card.ok .ec-head>span[data-v-68be5b34]:first-child{color:var(--tone-success-dot)}.env-card.bad .ec-head>span[data-v-68be5b34]:first-child{color:var(--tone-warning-dot)}.env-card .ec-detail[data-v-68be5b34]{color:var(--ink-soft);overflow-wrap:break-word;margin:0;font-size:12px;line-height:1.55}.env-card .ec-detail.mono[data-v-68be5b34]{letter-spacing:-.01em;font-size:11.5px}.env-card .ec-detail.dim[data-v-68be5b34]{color:var(--ink-faint)}.env-card .ec-actions[data-v-68be5b34]{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px;display:flex}.env-card .ec-issues[data-v-68be5b34]{max-height:96px;margin:0;padding:0;font-size:11.5px;list-style:none;overflow-y:auto}.env-card .ec-issues li[data-v-68be5b34]{color:var(--ink-soft);align-items:center;gap:6px;padding:1px 0;display:flex}.env-card .ec-issues .tag[data-v-68be5b34]{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-68be5b34]{border-top:1px solid var(--divider-hair);margin-top:10px;padding-top:10px}.env-task .et-head[data-v-68be5b34]{align-items:center;gap:8px;font-size:12px;display:flex}.env-task .et-head .dim[data-v-68be5b34]{color:var(--ink-faint);font-weight:400}.env-task .et-log[data-v-68be5b34]{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-68be5b34]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}@keyframes amlSpin-68be5b34{to{transform:rotate(1turn)}}.spin[data-v-68be5b34]{animation:1s linear infinite amlSpin-68be5b34;display:inline-block}@media (prefers-reduced-motion:reduce){.spin[data-v-68be5b34]{animation:none}}.note-edit[data-v-68be5b34]{align-items:center;gap:6px;display:flex}.note-edit input[data-v-68be5b34]{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-68be5b34]{align-items:center;gap:6px;display:inline-flex}.note-text .edit-i[data-v-68be5b34]{cursor:pointer;opacity:.5}.note-text .edit-i[data-v-68be5b34]:hover{opacity:1}.live-dot[data-v-68be5b34]{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-68be5b34]{animation:1.8s ease-in-out infinite amlPulse-68be5b34}}@keyframes amlPulse-68be5b34{50%{opacity:.4}}.tbl[data-v-68be5b34]{border-collapse:collapse;width:100%;font-size:12.5px}.tbl td[data-v-68be5b34],.tbl th[data-v-68be5b34]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:8px 10px}.tbl th[data-v-68be5b34]{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-68be5b34],.tbl .right[data-v-68be5b34]{text-align:right}.tbl .acts[data-v-68be5b34]{white-space:nowrap}.tbl .acts .mini-btn+.mini-btn[data-v-68be5b34]{margin-left:6px}.row-main[data-v-68be5b34]{cursor:pointer}@media (prefers-reduced-motion:no-preference){.row-main[data-v-68be5b34]:hover{background:var(--hover-tint)}}.row-main.open td[data-v-68be5b34]{border-bottom-color:#0000}.note-cell[data-v-68be5b34]{max-width:260px}.label-cell[data-v-68be5b34]{max-width:220px}.label-cell .label-text[data-v-68be5b34]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.label-cell .desc-text[data-v-68be5b34]{color:var(--ink-faint,#8b98a5);text-overflow:ellipsis;white-space:nowrap;max-width:320px;margin-top:2px;font-size:11px;display:block;overflow:hidden}.note[data-v-68be5b34]{text-overflow:ellipsis;white-space:nowrap;width:100%;display:inline-block;overflow:hidden}.kind[data-v-68be5b34]{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-68be5b34]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 40%, transparent)}.detail-row td[data-v-68be5b34]{background:var(--frost-bg);padding:0 12px 12px}.det-grid[data-v-68be5b34]{grid-template-columns:minmax(340px,3fr) minmax(280px,2fr);gap:10px 22px;display:grid}@media (width<=1100px){.det-grid[data-v-68be5b34]{grid-template-columns:1fr}}.det-title[data-v-68be5b34]{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-68be5b34]:first-child{margin-top:10px}.sub-tbl[data-v-68be5b34]{border-collapse:collapse;width:100%;font-size:12px}.sub-tbl td[data-v-68be5b34],.sub-tbl th[data-v-68be5b34]{text-align:left;border-bottom:1px solid var(--divider-hair);padding:5px 8px}.sub-tbl th[data-v-68be5b34]{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);font-size:11.5px}.sub-tbl .num[data-v-68be5b34]{text-align:right}.role-chip[data-v-68be5b34]{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-68be5b34]{overflow-wrap:anywhere;margin:4px 0;font-size:11.5px}.run-line b[data-v-68be5b34]{color:var(--ink)}.drop-line[data-v-68be5b34]{color:var(--tone-danger-dot);overflow-wrap:anywhere;margin:2px 0;font-size:11.5px}.st-pill[data-v-68be5b34]{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-68be5b34],.st-pill.queued[data-v-68be5b34]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.st-pill.evaluating[data-v-68be5b34],.st-pill.running[data-v-68be5b34],.st-pill.training[data-v-68be5b34]{color:var(--tone-info-dot);background:color-mix(in srgb, var(--tone-info-dot) 12%, transparent)}.st-pill.done[data-v-68be5b34],.st-pill.gates_passed[data-v-68be5b34]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.st-pill.failed[data-v-68be5b34],.st-pill.gates_failed[data-v-68be5b34],.st-pill.timeout[data-v-68be5b34]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.st-pill.cancelled[data-v-68be5b34],.st-pill.interrupted[data-v-68be5b34]{color:var(--tone-neutral-dot);background:var(--tone-neutral-bg)}.prog-th[data-v-68be5b34]{min-width:140px}.prog-cell[data-v-68be5b34]{white-space:nowrap}.prog[data-v-68be5b34]{vertical-align:middle;background:var(--paper-deep);border-radius:3px;width:96px;height:6px;display:inline-block;overflow:hidden}.prog i[data-v-68be5b34]{background:var(--tone-info-dot);border-radius:3px;height:100%;transition:width .4s;display:block}.prog i.done[data-v-68be5b34]{background:var(--tone-success-dot)}.prog i.bad[data-v-68be5b34]{background:var(--tone-danger-dot)}.prog-num[data-v-68be5b34]{color:var(--ink-soft);margin-left:7px;font-size:11.5px}.gate-id[data-v-68be5b34]{font-weight:700}.gate-detail[data-v-68be5b34]{margin-top:3px;font-size:11px;display:block}.verdict[data-v-68be5b34]{border-radius:99px;padding:1px 7px;font-size:11.5px}.verdict.pass[data-v-68be5b34]{color:var(--tone-success-dot);background:var(--tone-success-bg)}.verdict.fail[data-v-68be5b34]{color:var(--tone-danger-dot);background:var(--tone-danger-bg)}.live-hint[data-v-68be5b34]{letter-spacing:0;color:var(--tone-info-dot);text-transform:none;margin-left:8px;font-size:11.5px;font-weight:400}.logs[data-v-68be5b34]{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-68be5b34]{background:color-mix(in srgb, var(--accent) 9%, transparent)}tr.best td[data-v-68be5b34]:first-child{box-shadow:inset 3px 0 0 var(--accent)}.best-tag[data-v-68be5b34]{color:var(--on-accent);background:var(--accent);border-radius:99px;margin-right:6px;padding:1px 7px;font-size:11.5px}.stage-pill[data-v-68be5b34]{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-68be5b34]{color:var(--tone-info-dot);border-color:color-mix(in srgb, var(--tone-info-dot) 45%, transparent)}.stage-pill.production[data-v-68be5b34]{color:var(--tone-success-dot);background:var(--tone-success-bg);border-color:#0000}.stage-pill.retired[data-v-68be5b34]{opacity:.55;border-style:dashed}.inp-sel[data-v-68be5b34]{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-68be5b34]{margin-top:4px}.io-grid[data-v-68be5b34]{color:var(--ink-soft);flex-wrap:wrap;gap:6px 14px;margin-bottom:10px;font-size:11.5px;display:flex}.io-item b[data-v-68be5b34]{color:var(--ink);overflow-wrap:anywhere;font-weight:600}.pc-form[data-v-68be5b34]{grid-template-columns:minmax(300px,3fr) minmax(220px,2fr);gap:12px 18px;display:grid}@media (width<=1100px){.pc-form[data-v-68be5b34]{grid-template-columns:1fr}}.pc-field[data-v-68be5b34]{color:var(--ink-soft);flex-direction:column;gap:5px;margin-top:8px;font-size:12px;display:flex}.pc-side[data-v-68be5b34]{flex-direction:column;align-items:stretch;gap:8px;display:flex}.pc-side .ghost-btn[data-v-68be5b34]{align-self:flex-start;margin-top:8px}.pc-side .pill-btn[data-v-68be5b34]{margin-top:auto}.inp[data-v-68be5b34]{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-68be5b34]{resize:vertical;line-height:1.5}.inp[data-v-68be5b34]:focus{border-color:var(--accent);outline:none}.hint[data-v-68be5b34]{margin:8px 0 0;font-size:11.5px;line-height:1.6}.modal-mask[data-v-68be5b34]{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-68be5b34]{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-68be5b34]{margin:0 0 12px;font-size:16px;font-weight:600}.f-grid[data-v-68be5b34]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin-bottom:10px;display:grid}@media (width<=720px){.f-grid[data-v-68be5b34]{grid-template-columns:1fr}}.f[data-v-68be5b34]{color:var(--ink-soft);flex-direction:column;gap:4px;font-size:12px;display:flex}.f.wide[data-v-68be5b34]{grid-column:1/-1}.f em[data-v-68be5b34]{color:var(--tone-danger-dot);margin-left:2px;font-style:normal}.sec-label[data-v-68be5b34]{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:12px 0 8px;font-size:11px;font-weight:600}.node-rows[data-v-68be5b34]{flex-direction:column;gap:7px;margin-bottom:12px;display:flex}.node-row[data-v-68be5b34]{align-items:center;gap:8px;display:flex}.node-row .grow[data-v-68be5b34]{flex:auto}.node-row .sel[data-v-68be5b34]{flex:0 0 220px}.m-err[data-v-68be5b34]{color:var(--tone-danger-dot);margin:6px 0;font-size:12.5px}.m-actions[data-v-68be5b34]{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.empty[data-v-68be5b34]{color:var(--ink-faint);text-align:center;margin:6px 0;padding:18px 0;font-size:12.5px}.tbl-scroll[data-v-68be5b34]{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}@media (width<=900px){.tbl-scroll[data-v-68be5b34]{scrollbar-width:thin;overflow-x:auto}.tbl-datasets[data-v-68be5b34]{min-width:720px}.tbl-jobs[data-v-68be5b34]{min-width:860px}.tbl-exp[data-v-68be5b34]{min-width:700px}.tbl-models[data-v-68be5b34]{min-width:780px}.tbl td[data-v-68be5b34],.tbl th[data-v-68be5b34]{white-space:nowrap}.tbl tbody>tr>td[data-v-68be5b34]:first-child,.tbl thead>tr>th[data-v-68be5b34]: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-68be5b34]:first-child{z-index:3}.detail-row>td[data-v-68be5b34]:first-child{box-shadow:none;background:var(--frost-bg);position:static}.inp[data-v-68be5b34],.inp-sel[data-v-68be5b34],.mini-btn[data-v-68be5b34],.note-edit input[data-v-68be5b34],.pill-btn[data-v-68be5b34]{min-height:40px}.tbl .acts .mini-btn+.mini-btn[data-v-68be5b34]{margin-left:8px}.note-cell[data-v-68be5b34]{max-width:200px}.note-edit[data-v-68be5b34]{flex-wrap:wrap}.zone[data-v-68be5b34]{padding:12px 12px 14px}.f-grid[data-v-68be5b34],.det-grid[data-v-68be5b34]{grid-template-columns:1fr}.m-actions[data-v-68be5b34],.mx-actions[data-v-68be5b34]{flex-wrap:wrap}.modal[data-v-68be5b34]{padding:16px}.node-row[data-v-68be5b34]{flex-wrap:wrap}.node-row .sel[data-v-68be5b34]{flex:100%}.modal-mask[data-v-68be5b34]{padding:4vh 10px 12px}}@media (width<=640px){.zone-head[data-v-68be5b34]{gap:8px}.zone-head h2[data-v-68be5b34]{font-size:14px}.zone-actions[data-v-68be5b34]{flex-wrap:wrap}.ov-card[data-v-68be5b34]{padding:10px 12px}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./DK3Fl9T5.js";import{v as t}from"./CavpkQb0.js";import{t as n}from"./
|
|
1
|
+
import{t as e}from"./DK3Fl9T5.js";import{v as t}from"./CavpkQb0.js";import{t as n}from"./R5Pz7BqB.js";import{t as r}from"./BVGzwAxr2.js";var i=e({useDcwLineMutations:()=>a});function a(){let e=r(),i=t(!1),a=t(!1),o=t(``);function s(){o.value=``,i.value=!0}async function c(t){a.value=!0,o.value=``;try{await e.createLine(t),i.value=!1}catch(e){o.value=n(e)}finally{a.value=!1}}let l=t(!1),u=t(!1),d=t(``),f=t(null);function p(e){f.value=e,d.value=``,l.value=!0}async function m(t,r){u.value=!0,d.value=``;try{await e.updateLine(t,r),l.value=!1}catch(e){d.value=n(e)}finally{u.value=!1}}let h=t(!1),g=t(!1),_=t(``),v=t(!0),y=t(null);function b(e){y.value=e,v.value=!0,_.value=``,h.value=!0}async function x(){if(y.value){g.value=!0,_.value=``;try{await e.removeLine(y.value.line.id,v.value),h.value=!1}catch(e){_.value=n(e)}finally{g.value=!1}}}return{createOpen:i,createSaving:a,createError:o,openCreate:s,doCreateLine:c,editOpen:l,editSaving:u,editError:d,editTarget:f,openEdit:p,doEditLine:m,delOpen:h,delBusy:g,delErr:_,delPurge:v,delCard:y,openDelete:b,doDeleteLine:x}}export{i as n,a as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"
|
|
1
|
+
{"id":"fa0af8b5-3929-428d-a6de-3b5cc6b8248f","timestamp":1792928356565}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"fa0af8b5-3929-428d-a6de-3b5cc6b8248f","timestamp":1792928356565,"prerendered":[]}
|