plum-e2e 2.9.14 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (709) hide show
  1. package/CLAUDE.md +1 -1
  2. package/README.md +23 -20
  3. package/backend/_scaffold/utils/browser.ts +1 -13
  4. package/backend/_scaffold/utils/hooks.ts +1 -13
  5. package/backend/constants/socketEvents.js +8 -14
  6. package/backend/lib/serverBootstrap.js +4 -4
  7. package/backend/mcp/server.js +3 -3
  8. package/backend/prisma/migrations/20260829000000_add_run_queue/migration.sql +29 -0
  9. package/backend/prisma/schema.prisma +33 -13
  10. package/backend/routes/active-runs.routes.js +10 -6
  11. package/backend/routes/node.routes.js +7 -0
  12. package/backend/routes/trigger.routes.js +8 -5
  13. package/backend/server.js +5 -1
  14. package/backend/services/cronService.js +15 -443
  15. package/backend/services/nodeExecutionService.js +13 -1
  16. package/backend/services/runExecutorService.js +423 -0
  17. package/backend/services/runQueueService.js +276 -0
  18. package/backend/services/runnerService.js +22 -4
  19. package/backend/services/triggerService.js +13 -231
  20. package/backend/websockets/socketHandler.js +32 -590
  21. package/frontend/.svelte-kit/adapter-node/.vite/manifest.json +35 -35
  22. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/BackLink.DRrgBGDC.css +6 -0
  23. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_layout.HkPnpRl9.css +6 -0
  24. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.B9H_IpSU.css +6 -0
  25. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Be5c3USL.css +6 -0
  26. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.COwSGmmy.css +6 -0
  27. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.ClS4XkkN.css +6 -0
  28. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Dp6vaGRc.css +6 -0
  29. package/frontend/.svelte-kit/adapter-node/chunks/BackLink.js +1 -1
  30. package/frontend/.svelte-kit/adapter-node/chunks/Badge.js +1 -1
  31. package/frontend/.svelte-kit/adapter-node/chunks/ConfirmModal.js +1 -1
  32. package/frontend/.svelte-kit/adapter-node/chunks/EmptyState.js +1 -1
  33. package/frontend/.svelte-kit/adapter-node/chunks/Modal.js +1 -1
  34. package/frontend/.svelte-kit/adapter-node/chunks/Toast.js +1 -1
  35. package/frontend/.svelte-kit/adapter-node/chunks/constants.js +6 -4
  36. package/frontend/.svelte-kit/adapter-node/chunks/format.js +3 -3
  37. package/frontend/.svelte-kit/adapter-node/chunks/index.js +4 -4
  38. package/frontend/.svelte-kit/adapter-node/chunks/internal.js +1 -1
  39. package/frontend/.svelte-kit/adapter-node/chunks/reports.js +1 -1
  40. package/frontend/.svelte-kit/adapter-node/chunks/reports2.js +38 -40
  41. package/frontend/.svelte-kit/adapter-node/chunks/repository.js +8 -0
  42. package/frontend/.svelte-kit/adapter-node/chunks/runner.js +10 -20
  43. package/frontend/.svelte-kit/adapter-node/entries/pages/live/_id_/_page.svelte.js +254 -0
  44. package/frontend/.svelte-kit/adapter-node/entries/pages/login/_page.svelte.js +1 -1
  45. package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_id_/_page.svelte.js +29 -24
  46. package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_page.svelte.js +23 -19
  47. package/frontend/.svelte-kit/adapter-node/entries/pages/scheduled-tests/_page.svelte.js +3 -3
  48. package/frontend/.svelte-kit/adapter-node/entries/pages/settings/_page.svelte.js +173 -51
  49. package/frontend/.svelte-kit/adapter-node/entries/pages/setup/_page.svelte.js +1 -1
  50. package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/runs/_id_/_page.svelte.js +1 -1
  51. package/frontend/.svelte-kit/adapter-node/entries/pages/test-repository/suites/_id_/_page.svelte.js +63 -11
  52. package/frontend/.svelte-kit/adapter-node/manifest-full.js +10 -10
  53. package/frontend/.svelte-kit/adapter-node/manifest.js +10 -10
  54. package/frontend/.svelte-kit/adapter-node/nodes/0.js +2 -2
  55. package/frontend/.svelte-kit/adapter-node/nodes/1.js +1 -1
  56. package/frontend/.svelte-kit/adapter-node/nodes/10.js +1 -1
  57. package/frontend/.svelte-kit/adapter-node/nodes/11.js +1 -1
  58. package/frontend/.svelte-kit/adapter-node/nodes/12.js +2 -2
  59. package/frontend/.svelte-kit/adapter-node/nodes/2.js +1 -1
  60. package/frontend/.svelte-kit/adapter-node/nodes/3.js +3 -3
  61. package/frontend/.svelte-kit/adapter-node/nodes/4.js +3 -3
  62. package/frontend/.svelte-kit/adapter-node/nodes/5.js +3 -3
  63. package/frontend/.svelte-kit/adapter-node/nodes/6.js +3 -3
  64. package/frontend/.svelte-kit/adapter-node/nodes/7.js +1 -1
  65. package/frontend/.svelte-kit/adapter-node/nodes/8.js +2 -2
  66. package/frontend/.svelte-kit/adapter-node/nodes/9.js +1 -1
  67. package/frontend/.svelte-kit/ambient.d.ts +28 -28
  68. package/frontend/.svelte-kit/generated/client/app.js +4 -4
  69. package/frontend/.svelte-kit/generated/client/nodes/13.js +6 -0
  70. package/frontend/.svelte-kit/generated/client/nodes/3.js +1 -1
  71. package/frontend/.svelte-kit/generated/client/nodes/4.js +1 -1
  72. package/frontend/.svelte-kit/generated/client/nodes/5.js +1 -1
  73. package/frontend/.svelte-kit/generated/client/nodes/6.js +1 -1
  74. package/frontend/.svelte-kit/generated/client-optimized/app.js +4 -4
  75. package/frontend/.svelte-kit/generated/client-optimized/nodes/3.js +1 -1
  76. package/frontend/.svelte-kit/generated/client-optimized/nodes/4.js +1 -1
  77. package/frontend/.svelte-kit/generated/client-optimized/nodes/5.js +1 -1
  78. package/frontend/.svelte-kit/generated/client-optimized/nodes/6.js +1 -1
  79. package/frontend/.svelte-kit/generated/server/internal.js +1 -1
  80. package/frontend/.svelte-kit/output/client/.vite/manifest.json +413 -401
  81. package/frontend/.svelte-kit/output/client/_app/immutable/assets/0.CmJTG5mP.css +6 -0
  82. package/frontend/.svelte-kit/output/client/_app/immutable/assets/12.B9H_IpSU.css +6 -0
  83. package/frontend/.svelte-kit/output/client/_app/immutable/assets/3.Be5c3USL.css +6 -0
  84. package/frontend/.svelte-kit/output/client/_app/immutable/assets/5.ClS4XkkN.css +6 -0
  85. package/frontend/.svelte-kit/output/client/_app/immutable/assets/6.BN5XbLUX.css +6 -0
  86. package/frontend/.svelte-kit/output/client/_app/immutable/assets/8.COwSGmmy.css +6 -0
  87. package/frontend/.svelte-kit/output/client/_app/immutable/assets/BackLink.DRrgBGDC.css +6 -0
  88. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_layout.HkPnpRl9.css +6 -0
  89. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.B9H_IpSU.css +6 -0
  90. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Be5c3USL.css +6 -0
  91. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.COwSGmmy.css +6 -0
  92. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.ClS4XkkN.css +6 -0
  93. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Dp6vaGRc.css +6 -0
  94. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/2-KCkWZO.js +6 -0
  95. package/frontend/{build/client/_app/immutable/chunks/CNdcuGR0.js → .svelte-kit/output/client/_app/immutable/chunks/B00vxw57.js} +1 -1
  96. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/B0_HKFXV.js +6 -0
  97. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{t-La0hgu.js → BAvTKHxT.js} +1 -1
  98. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BJ_ypKl3.js +6 -0
  99. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BbYY_TzB.js +6 -0
  100. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Beula-TH.js +11 -0
  101. package/frontend/{build/client/_app/immutable/chunks/CKDtmZUQ.js → .svelte-kit/output/client/_app/immutable/chunks/C00jnSU2.js} +1 -1
  102. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C2_rQ4aY.js +175 -0
  103. package/frontend/{build/client/_app/immutable/chunks/DCgHuuvs.js → .svelte-kit/output/client/_app/immutable/chunks/C7uEQ-LH.js} +1 -1
  104. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C8S7qQjQ.js +6 -0
  105. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{CzlPaHY9.js → CZWchtW8.js} +1 -1
  106. package/frontend/{build/client/_app/immutable/chunks/2zMvi6fR.js → .svelte-kit/output/client/_app/immutable/chunks/CboYYxrf.js} +1 -1
  107. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CeH-RgMb.js +6 -0
  108. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{CgnwuKKO.js → CegSvdD-.js} +1 -1
  109. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CfkUW1vA.js +6 -0
  110. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Cfmt4_tJ.js +6 -0
  111. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Cgw8TOOy.js +6 -0
  112. package/frontend/{build/client/_app/immutable/chunks/C1Vid6wz.js → .svelte-kit/output/client/_app/immutable/chunks/Ck6C3Fl0.js} +1 -1
  113. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CoTEzvLa.js +6 -0
  114. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DMZwI8Cj.js → DAmOMhaf.js} +1 -1
  115. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DB3YXVFP.js +6 -0
  116. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{w0D4Uzlq.js → DWzEJYIF.js} +1 -1
  117. package/frontend/{build/client/_app/immutable/chunks/CMEtqUfQ.js → .svelte-kit/output/client/_app/immutable/chunks/DgQy0SB2.js} +1 -1
  118. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{kkA1mrsH.js → DiVmSEJa.js} +2 -2
  119. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Dl-F6VCo.js +6 -0
  120. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DuAVKaL3.js +6 -0
  121. package/frontend/{build/client/_app/immutable/chunks/BmZ9upwL.js → .svelte-kit/output/client/_app/immutable/chunks/GDjpV3r7.js} +1 -1
  122. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/K1h4wprj.js +6 -0
  123. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/{DDZw0L0T.js → d2K3c8Kx.js} +1 -1
  124. package/frontend/.svelte-kit/output/client/_app/immutable/entry/app.DRjRA71t.js +7 -0
  125. package/frontend/{build/client/_app/immutable/entry/start.4qxHHAcl.js → .svelte-kit/output/client/_app/immutable/entry/start.BXOLyf9R.js} +1 -1
  126. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.CRb8Nyce.js +6 -0
  127. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{1.Df9sLw8b.js → 1.BI97il3r.js} +1 -1
  128. package/frontend/{build/client/_app/immutable/nodes/10.DEbnxfND.js → .svelte-kit/output/client/_app/immutable/nodes/10.kyazROhw.js} +1 -1
  129. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{11.BViaDK2m.js → 11.B3vMgT2v.js} +1 -1
  130. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/12.DkPcIrgW.js +6 -0
  131. package/frontend/{build/client/_app/immutable/nodes/2.BCPSg7H4.js → .svelte-kit/output/client/_app/immutable/nodes/2.Dr6yugXz.js} +1 -1
  132. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/3.DUiL7fb5.js +6 -0
  133. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{3.8BFAJoHT.js → 4.DDADylfF.js} +1 -1
  134. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/5.N4CeDeoD.js +6 -0
  135. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/6.DWd93Bv5.js +10 -0
  136. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/7.c8d1cQQM.js +6 -0
  137. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/8.Cvd3MauU.js +9 -0
  138. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/{9.CvfGx3Hu.js → 9.BOK0GNF_.js} +1 -1
  139. package/frontend/.svelte-kit/output/client/_app/version.json +1 -1
  140. package/frontend/.svelte-kit/output/server/.vite/manifest.json +35 -35
  141. package/frontend/.svelte-kit/output/server/_app/immutable/assets/BackLink.DRrgBGDC.css +6 -0
  142. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_layout.HkPnpRl9.css +6 -0
  143. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.B9H_IpSU.css +6 -0
  144. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Be5c3USL.css +6 -0
  145. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.COwSGmmy.css +6 -0
  146. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.ClS4XkkN.css +6 -0
  147. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Dp6vaGRc.css +6 -0
  148. package/frontend/.svelte-kit/output/server/chunks/BackLink.js +1 -1
  149. package/frontend/.svelte-kit/output/server/chunks/Badge.js +1 -1
  150. package/frontend/.svelte-kit/output/server/chunks/ConfirmModal.js +1 -1
  151. package/frontend/.svelte-kit/output/server/chunks/EmptyState.js +1 -1
  152. package/frontend/.svelte-kit/output/server/chunks/Modal.js +1 -1
  153. package/frontend/.svelte-kit/output/server/chunks/Toast.js +1 -1
  154. package/frontend/.svelte-kit/output/server/chunks/constants.js +6 -4
  155. package/frontend/.svelte-kit/output/server/chunks/format.js +3 -3
  156. package/frontend/.svelte-kit/output/server/chunks/index.js +4 -4
  157. package/frontend/.svelte-kit/output/server/chunks/internal.js +1 -1
  158. package/frontend/.svelte-kit/output/server/chunks/reports.js +1 -1
  159. package/frontend/.svelte-kit/output/server/chunks/reports2.js +38 -40
  160. package/frontend/.svelte-kit/output/server/chunks/repository.js +8 -0
  161. package/frontend/.svelte-kit/output/server/chunks/runner.js +10 -20
  162. package/frontend/.svelte-kit/output/server/entries/pages/live/_id_/_page.svelte.js +254 -0
  163. package/frontend/.svelte-kit/output/server/entries/pages/login/_page.svelte.js +1 -1
  164. package/frontend/.svelte-kit/output/server/entries/pages/reports/_id_/_page.svelte.js +29 -24
  165. package/frontend/.svelte-kit/output/server/entries/pages/reports/_page.svelte.js +23 -19
  166. package/frontend/.svelte-kit/output/server/entries/pages/scheduled-tests/_page.svelte.js +3 -3
  167. package/frontend/.svelte-kit/output/server/entries/pages/settings/_page.svelte.js +173 -51
  168. package/frontend/.svelte-kit/output/server/entries/pages/setup/_page.svelte.js +1 -1
  169. package/frontend/.svelte-kit/output/server/entries/pages/test-repository/runs/_id_/_page.svelte.js +1 -1
  170. package/frontend/.svelte-kit/output/server/entries/pages/test-repository/suites/_id_/_page.svelte.js +63 -11
  171. package/frontend/.svelte-kit/output/server/manifest-full.js +10 -10
  172. package/frontend/.svelte-kit/output/server/manifest.js +10 -10
  173. package/frontend/.svelte-kit/output/server/nodes/0.js +2 -2
  174. package/frontend/.svelte-kit/output/server/nodes/1.js +1 -1
  175. package/frontend/.svelte-kit/output/server/nodes/10.js +1 -1
  176. package/frontend/.svelte-kit/output/server/nodes/11.js +1 -1
  177. package/frontend/.svelte-kit/output/server/nodes/12.js +2 -2
  178. package/frontend/.svelte-kit/output/server/nodes/2.js +1 -1
  179. package/frontend/.svelte-kit/output/server/nodes/3.js +3 -3
  180. package/frontend/.svelte-kit/output/server/nodes/4.js +3 -3
  181. package/frontend/.svelte-kit/output/server/nodes/5.js +3 -3
  182. package/frontend/.svelte-kit/output/server/nodes/6.js +3 -3
  183. package/frontend/.svelte-kit/output/server/nodes/7.js +1 -1
  184. package/frontend/.svelte-kit/output/server/nodes/8.js +2 -2
  185. package/frontend/.svelte-kit/output/server/nodes/9.js +1 -1
  186. package/frontend/build/client/_app/immutable/assets/0.CmJTG5mP.css +6 -0
  187. package/frontend/build/client/_app/immutable/assets/0.CmJTG5mP.css.br +0 -0
  188. package/frontend/build/client/_app/immutable/assets/0.CmJTG5mP.css.gz +0 -0
  189. package/frontend/build/client/_app/immutable/assets/12.B9H_IpSU.css +6 -0
  190. package/frontend/build/client/_app/immutable/assets/12.B9H_IpSU.css.br +0 -0
  191. package/frontend/build/client/_app/immutable/assets/12.B9H_IpSU.css.gz +0 -0
  192. package/frontend/build/client/_app/immutable/assets/3.Be5c3USL.css +6 -0
  193. package/frontend/build/client/_app/immutable/assets/3.Be5c3USL.css.br +0 -0
  194. package/frontend/build/client/_app/immutable/assets/3.Be5c3USL.css.gz +0 -0
  195. package/frontend/build/client/_app/immutable/assets/5.ClS4XkkN.css +6 -0
  196. package/frontend/build/client/_app/immutable/assets/5.ClS4XkkN.css.br +0 -0
  197. package/frontend/build/client/_app/immutable/assets/5.ClS4XkkN.css.gz +0 -0
  198. package/frontend/build/client/_app/immutable/assets/6.BN5XbLUX.css +6 -0
  199. package/frontend/build/client/_app/immutable/assets/6.BN5XbLUX.css.br +0 -0
  200. package/frontend/build/client/_app/immutable/assets/6.BN5XbLUX.css.gz +0 -0
  201. package/frontend/build/client/_app/immutable/assets/8.COwSGmmy.css +6 -0
  202. package/frontend/build/client/_app/immutable/assets/8.COwSGmmy.css.br +0 -0
  203. package/frontend/build/client/_app/immutable/assets/8.COwSGmmy.css.gz +0 -0
  204. package/frontend/build/client/_app/immutable/assets/BackLink.DRrgBGDC.css +6 -0
  205. package/frontend/build/client/_app/immutable/assets/BackLink.DRrgBGDC.css.br +0 -0
  206. package/frontend/build/client/_app/immutable/assets/BackLink.DRrgBGDC.css.gz +0 -0
  207. package/frontend/build/client/_app/immutable/assets/_layout.HkPnpRl9.css +6 -0
  208. package/frontend/build/client/_app/immutable/assets/_layout.HkPnpRl9.css.br +0 -0
  209. package/frontend/build/client/_app/immutable/assets/_layout.HkPnpRl9.css.gz +0 -0
  210. package/frontend/build/client/_app/immutable/assets/_page.B9H_IpSU.css +6 -0
  211. package/frontend/build/client/_app/immutable/assets/_page.B9H_IpSU.css.br +0 -0
  212. package/frontend/build/client/_app/immutable/assets/_page.B9H_IpSU.css.gz +0 -0
  213. package/frontend/build/client/_app/immutable/assets/_page.Be5c3USL.css +6 -0
  214. package/frontend/build/client/_app/immutable/assets/_page.Be5c3USL.css.br +0 -0
  215. package/frontend/build/client/_app/immutable/assets/_page.Be5c3USL.css.gz +0 -0
  216. package/frontend/build/client/_app/immutable/assets/_page.COwSGmmy.css +6 -0
  217. package/frontend/build/client/_app/immutable/assets/_page.COwSGmmy.css.br +0 -0
  218. package/frontend/build/client/_app/immutable/assets/_page.COwSGmmy.css.gz +0 -0
  219. package/frontend/build/client/_app/immutable/assets/_page.ClS4XkkN.css +6 -0
  220. package/frontend/build/client/_app/immutable/assets/_page.ClS4XkkN.css.br +0 -0
  221. package/frontend/build/client/_app/immutable/assets/_page.ClS4XkkN.css.gz +0 -0
  222. package/frontend/build/client/_app/immutable/assets/_page.Dp6vaGRc.css +6 -0
  223. package/frontend/build/client/_app/immutable/assets/_page.Dp6vaGRc.css.br +0 -0
  224. package/frontend/build/client/_app/immutable/assets/_page.Dp6vaGRc.css.gz +0 -0
  225. package/frontend/build/client/_app/immutable/chunks/2-KCkWZO.js +6 -0
  226. package/frontend/build/client/_app/immutable/chunks/2-KCkWZO.js.br +0 -0
  227. package/frontend/build/client/_app/immutable/chunks/2-KCkWZO.js.gz +0 -0
  228. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/CNdcuGR0.js → build/client/_app/immutable/chunks/B00vxw57.js} +1 -1
  229. package/frontend/build/client/_app/immutable/chunks/B00vxw57.js.br +0 -0
  230. package/frontend/build/client/_app/immutable/chunks/B00vxw57.js.gz +0 -0
  231. package/frontend/build/client/_app/immutable/chunks/B0_HKFXV.js +6 -0
  232. package/frontend/build/client/_app/immutable/chunks/B0_HKFXV.js.br +0 -0
  233. package/frontend/build/client/_app/immutable/chunks/B0_HKFXV.js.gz +0 -0
  234. package/frontend/build/client/_app/immutable/chunks/{t-La0hgu.js → BAvTKHxT.js} +1 -1
  235. package/frontend/build/client/_app/immutable/chunks/BAvTKHxT.js.br +0 -0
  236. package/frontend/build/client/_app/immutable/chunks/BAvTKHxT.js.gz +0 -0
  237. package/frontend/build/client/_app/immutable/chunks/BJ_ypKl3.js +6 -0
  238. package/frontend/build/client/_app/immutable/chunks/BJ_ypKl3.js.br +0 -0
  239. package/frontend/build/client/_app/immutable/chunks/BJ_ypKl3.js.gz +0 -0
  240. package/frontend/build/client/_app/immutable/chunks/BbYY_TzB.js +6 -0
  241. package/frontend/build/client/_app/immutable/chunks/BbYY_TzB.js.br +0 -0
  242. package/frontend/build/client/_app/immutable/chunks/BbYY_TzB.js.gz +0 -0
  243. package/frontend/build/client/_app/immutable/chunks/Beula-TH.js +11 -0
  244. package/frontend/build/client/_app/immutable/chunks/Beula-TH.js.br +0 -0
  245. package/frontend/build/client/_app/immutable/chunks/Beula-TH.js.gz +0 -0
  246. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/CKDtmZUQ.js → build/client/_app/immutable/chunks/C00jnSU2.js} +1 -1
  247. package/frontend/build/client/_app/immutable/chunks/C00jnSU2.js.br +0 -0
  248. package/frontend/build/client/_app/immutable/chunks/C00jnSU2.js.gz +0 -0
  249. package/frontend/build/client/_app/immutable/chunks/C2_rQ4aY.js +175 -0
  250. package/frontend/build/client/_app/immutable/chunks/C2_rQ4aY.js.br +0 -0
  251. package/frontend/build/client/_app/immutable/chunks/C2_rQ4aY.js.gz +0 -0
  252. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/DCgHuuvs.js → build/client/_app/immutable/chunks/C7uEQ-LH.js} +1 -1
  253. package/frontend/build/client/_app/immutable/chunks/C7uEQ-LH.js.br +0 -0
  254. package/frontend/build/client/_app/immutable/chunks/C7uEQ-LH.js.gz +0 -0
  255. package/frontend/build/client/_app/immutable/chunks/C8S7qQjQ.js +6 -0
  256. package/frontend/build/client/_app/immutable/chunks/C8S7qQjQ.js.br +0 -0
  257. package/frontend/build/client/_app/immutable/chunks/C8S7qQjQ.js.gz +0 -0
  258. package/frontend/build/client/_app/immutable/chunks/{CzlPaHY9.js → CZWchtW8.js} +1 -1
  259. package/frontend/build/client/_app/immutable/chunks/CZWchtW8.js.br +0 -0
  260. package/frontend/build/client/_app/immutable/chunks/CZWchtW8.js.gz +0 -0
  261. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/2zMvi6fR.js → build/client/_app/immutable/chunks/CboYYxrf.js} +1 -1
  262. package/frontend/build/client/_app/immutable/chunks/CboYYxrf.js.br +6 -0
  263. package/frontend/build/client/_app/immutable/chunks/CboYYxrf.js.gz +0 -0
  264. package/frontend/build/client/_app/immutable/chunks/CeH-RgMb.js +6 -0
  265. package/frontend/build/client/_app/immutable/chunks/CeH-RgMb.js.br +0 -0
  266. package/frontend/build/client/_app/immutable/chunks/CeH-RgMb.js.gz +0 -0
  267. package/frontend/build/client/_app/immutable/chunks/{CgnwuKKO.js → CegSvdD-.js} +1 -1
  268. package/frontend/build/client/_app/immutable/chunks/CegSvdD-.js.br +0 -0
  269. package/frontend/build/client/_app/immutable/chunks/CegSvdD-.js.gz +0 -0
  270. package/frontend/build/client/_app/immutable/chunks/CfkUW1vA.js +6 -0
  271. package/frontend/build/client/_app/immutable/chunks/CfkUW1vA.js.br +0 -0
  272. package/frontend/build/client/_app/immutable/chunks/CfkUW1vA.js.gz +0 -0
  273. package/frontend/build/client/_app/immutable/chunks/Cfmt4_tJ.js +6 -0
  274. package/frontend/build/client/_app/immutable/chunks/Cfmt4_tJ.js.br +0 -0
  275. package/frontend/build/client/_app/immutable/chunks/Cfmt4_tJ.js.gz +0 -0
  276. package/frontend/build/client/_app/immutable/chunks/Cgw8TOOy.js +6 -0
  277. package/frontend/build/client/_app/immutable/chunks/Cgw8TOOy.js.br +0 -0
  278. package/frontend/build/client/_app/immutable/chunks/Cgw8TOOy.js.gz +0 -0
  279. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/C1Vid6wz.js → build/client/_app/immutable/chunks/Ck6C3Fl0.js} +1 -1
  280. package/frontend/build/client/_app/immutable/chunks/Ck6C3Fl0.js.br +0 -0
  281. package/frontend/build/client/_app/immutable/chunks/Ck6C3Fl0.js.gz +0 -0
  282. package/frontend/build/client/_app/immutable/chunks/CoTEzvLa.js +6 -0
  283. package/frontend/build/client/_app/immutable/chunks/CoTEzvLa.js.br +0 -0
  284. package/frontend/build/client/_app/immutable/chunks/CoTEzvLa.js.gz +0 -0
  285. package/frontend/build/client/_app/immutable/chunks/{DMZwI8Cj.js → DAmOMhaf.js} +1 -1
  286. package/frontend/build/client/_app/immutable/chunks/DAmOMhaf.js.br +0 -0
  287. package/frontend/build/client/_app/immutable/chunks/DAmOMhaf.js.gz +0 -0
  288. package/frontend/build/client/_app/immutable/chunks/DB3YXVFP.js +6 -0
  289. package/frontend/build/client/_app/immutable/chunks/DB3YXVFP.js.br +0 -0
  290. package/frontend/build/client/_app/immutable/chunks/DB3YXVFP.js.gz +0 -0
  291. package/frontend/build/client/_app/immutable/chunks/{w0D4Uzlq.js → DWzEJYIF.js} +1 -1
  292. package/frontend/build/client/_app/immutable/chunks/DWzEJYIF.js.br +7 -0
  293. package/frontend/build/client/_app/immutable/chunks/DWzEJYIF.js.gz +0 -0
  294. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/CMEtqUfQ.js → build/client/_app/immutable/chunks/DgQy0SB2.js} +1 -1
  295. package/frontend/build/client/_app/immutable/chunks/DgQy0SB2.js.br +0 -0
  296. package/frontend/build/client/_app/immutable/chunks/DgQy0SB2.js.gz +0 -0
  297. package/frontend/build/client/_app/immutable/chunks/{kkA1mrsH.js → DiVmSEJa.js} +2 -2
  298. package/frontend/build/client/_app/immutable/chunks/DiVmSEJa.js.br +0 -0
  299. package/frontend/build/client/_app/immutable/chunks/DiVmSEJa.js.gz +0 -0
  300. package/frontend/build/client/_app/immutable/chunks/Dl-F6VCo.js +6 -0
  301. package/frontend/build/client/_app/immutable/chunks/Dl-F6VCo.js.br +0 -0
  302. package/frontend/build/client/_app/immutable/chunks/Dl-F6VCo.js.gz +0 -0
  303. package/frontend/build/client/_app/immutable/chunks/DuAVKaL3.js +6 -0
  304. package/frontend/build/client/_app/immutable/chunks/DuAVKaL3.js.br +0 -0
  305. package/frontend/build/client/_app/immutable/chunks/DuAVKaL3.js.gz +0 -0
  306. package/frontend/{.svelte-kit/output/client/_app/immutable/chunks/BmZ9upwL.js → build/client/_app/immutable/chunks/GDjpV3r7.js} +1 -1
  307. package/frontend/build/client/_app/immutable/chunks/GDjpV3r7.js.br +0 -0
  308. package/frontend/build/client/_app/immutable/chunks/GDjpV3r7.js.gz +0 -0
  309. package/frontend/build/client/_app/immutable/chunks/K1h4wprj.js +6 -0
  310. package/frontend/build/client/_app/immutable/chunks/K1h4wprj.js.br +0 -0
  311. package/frontend/build/client/_app/immutable/chunks/K1h4wprj.js.gz +0 -0
  312. package/frontend/build/client/_app/immutable/chunks/{DDZw0L0T.js → d2K3c8Kx.js} +1 -1
  313. package/frontend/build/client/_app/immutable/chunks/d2K3c8Kx.js.br +0 -0
  314. package/frontend/build/client/_app/immutable/chunks/d2K3c8Kx.js.gz +0 -0
  315. package/frontend/build/client/_app/immutable/entry/app.DRjRA71t.js +7 -0
  316. package/frontend/build/client/_app/immutable/entry/app.DRjRA71t.js.br +0 -0
  317. package/frontend/build/client/_app/immutable/entry/app.DRjRA71t.js.gz +0 -0
  318. package/frontend/{.svelte-kit/output/client/_app/immutable/entry/start.4qxHHAcl.js → build/client/_app/immutable/entry/start.BXOLyf9R.js} +1 -1
  319. package/frontend/build/client/_app/immutable/entry/{start.4qxHHAcl.js.br → start.BXOLyf9R.js.br} +1 -1
  320. package/frontend/build/client/_app/immutable/entry/{start.4qxHHAcl.js.gz → start.BXOLyf9R.js.gz} +0 -0
  321. package/frontend/build/client/_app/immutable/nodes/0.CRb8Nyce.js +6 -0
  322. package/frontend/build/client/_app/immutable/nodes/0.CRb8Nyce.js.br +0 -0
  323. package/frontend/build/client/_app/immutable/nodes/0.CRb8Nyce.js.gz +0 -0
  324. package/frontend/build/client/_app/immutable/nodes/{1.Df9sLw8b.js → 1.BI97il3r.js} +1 -1
  325. package/frontend/build/client/_app/immutable/nodes/1.BI97il3r.js.br +0 -0
  326. package/frontend/build/client/_app/immutable/nodes/1.BI97il3r.js.gz +0 -0
  327. package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/10.DEbnxfND.js → build/client/_app/immutable/nodes/10.kyazROhw.js} +1 -1
  328. package/frontend/build/client/_app/immutable/nodes/10.kyazROhw.js.br +0 -0
  329. package/frontend/build/client/_app/immutable/nodes/10.kyazROhw.js.gz +0 -0
  330. package/frontend/build/client/_app/immutable/nodes/{11.BViaDK2m.js → 11.B3vMgT2v.js} +1 -1
  331. package/frontend/build/client/_app/immutable/nodes/11.B3vMgT2v.js.br +0 -0
  332. package/frontend/build/client/_app/immutable/nodes/11.B3vMgT2v.js.gz +0 -0
  333. package/frontend/build/client/_app/immutable/nodes/12.DkPcIrgW.js +6 -0
  334. package/frontend/build/client/_app/immutable/nodes/12.DkPcIrgW.js.br +0 -0
  335. package/frontend/build/client/_app/immutable/nodes/12.DkPcIrgW.js.gz +0 -0
  336. package/frontend/{.svelte-kit/output/client/_app/immutable/nodes/2.BCPSg7H4.js → build/client/_app/immutable/nodes/2.Dr6yugXz.js} +1 -1
  337. package/frontend/build/client/_app/immutable/nodes/2.Dr6yugXz.js.br +0 -0
  338. package/frontend/build/client/_app/immutable/nodes/2.Dr6yugXz.js.gz +0 -0
  339. package/frontend/build/client/_app/immutable/nodes/3.DUiL7fb5.js +6 -0
  340. package/frontend/build/client/_app/immutable/nodes/3.DUiL7fb5.js.br +0 -0
  341. package/frontend/build/client/_app/immutable/nodes/3.DUiL7fb5.js.gz +0 -0
  342. package/frontend/build/client/_app/immutable/nodes/{3.8BFAJoHT.js → 4.DDADylfF.js} +1 -1
  343. package/frontend/build/client/_app/immutable/nodes/4.DDADylfF.js.br +0 -0
  344. package/frontend/build/client/_app/immutable/nodes/4.DDADylfF.js.gz +0 -0
  345. package/frontend/build/client/_app/immutable/nodes/5.N4CeDeoD.js +6 -0
  346. package/frontend/build/client/_app/immutable/nodes/5.N4CeDeoD.js.br +0 -0
  347. package/frontend/build/client/_app/immutable/nodes/5.N4CeDeoD.js.gz +0 -0
  348. package/frontend/build/client/_app/immutable/nodes/6.DWd93Bv5.js +10 -0
  349. package/frontend/build/client/_app/immutable/nodes/6.DWd93Bv5.js.br +0 -0
  350. package/frontend/build/client/_app/immutable/nodes/6.DWd93Bv5.js.gz +0 -0
  351. package/frontend/build/client/_app/immutable/nodes/7.c8d1cQQM.js +6 -0
  352. package/frontend/build/client/_app/immutable/nodes/7.c8d1cQQM.js.br +0 -0
  353. package/frontend/build/client/_app/immutable/nodes/7.c8d1cQQM.js.gz +0 -0
  354. package/frontend/build/client/_app/immutable/nodes/8.Cvd3MauU.js +9 -0
  355. package/frontend/build/client/_app/immutable/nodes/8.Cvd3MauU.js.br +0 -0
  356. package/frontend/build/client/_app/immutable/nodes/8.Cvd3MauU.js.gz +0 -0
  357. package/frontend/build/client/_app/immutable/nodes/{9.CvfGx3Hu.js → 9.BOK0GNF_.js} +1 -1
  358. package/frontend/build/client/_app/immutable/nodes/9.BOK0GNF_.js.br +0 -0
  359. package/frontend/build/client/_app/immutable/nodes/9.BOK0GNF_.js.gz +0 -0
  360. package/frontend/build/client/_app/version.json +1 -1
  361. package/frontend/build/client/_app/version.json.br +0 -0
  362. package/frontend/build/client/_app/version.json.gz +0 -0
  363. package/frontend/build/server/chunks/0-_rljpEay.js +22 -0
  364. package/frontend/build/server/chunks/0-_rljpEay.js.map +5 -0
  365. package/frontend/build/server/chunks/{1-Kxn9d30Z.js → 1-B3HpigzL.js} +3 -3
  366. package/frontend/build/server/chunks/{1-Kxn9d30Z.js.map → 1-B3HpigzL.js.map} +1 -1
  367. package/frontend/build/server/chunks/10-BQBBYpxV.js +14 -0
  368. package/frontend/build/server/chunks/10-BQBBYpxV.js.map +5 -0
  369. package/frontend/build/server/chunks/11-10xw0TIP.js +14 -0
  370. package/frontend/build/server/chunks/11-10xw0TIP.js.map +5 -0
  371. package/frontend/build/server/chunks/12-CZ3_Uw3c.js +14 -0
  372. package/frontend/build/server/chunks/{12-De6Ol6pu.js.map → 12-CZ3_Uw3c.js.map} +1 -1
  373. package/frontend/build/server/chunks/2-DioMbKbC.js +14 -0
  374. package/frontend/build/server/chunks/{2-Dc_rKWoK.js.map → 2-DioMbKbC.js.map} +1 -1
  375. package/frontend/build/server/chunks/3-CgiZg_9v.js +14 -0
  376. package/frontend/build/server/chunks/3-CgiZg_9v.js.map +5 -0
  377. package/frontend/build/server/chunks/4-BM-49dbE.js +14 -0
  378. package/frontend/build/server/chunks/4-BM-49dbE.js.map +5 -0
  379. package/frontend/build/server/chunks/5-Brx_KOzy.js +14 -0
  380. package/frontend/build/server/chunks/5-Brx_KOzy.js.map +5 -0
  381. package/frontend/build/server/chunks/6-C5swINND.js +14 -0
  382. package/frontend/build/server/chunks/6-C5swINND.js.map +5 -0
  383. package/frontend/build/server/chunks/7-B8e4y3CB.js +14 -0
  384. package/frontend/build/server/chunks/{7-DiQJZEF_.js.map → 7-B8e4y3CB.js.map} +1 -1
  385. package/frontend/build/server/chunks/8-BZtkZMIZ.js +14 -0
  386. package/frontend/build/server/chunks/8-BZtkZMIZ.js.map +5 -0
  387. package/frontend/build/server/chunks/9-BMAKiAem.js +14 -0
  388. package/frontend/build/server/chunks/{9-DirZG_Lu.js.map → 9-BMAKiAem.js.map} +1 -1
  389. package/frontend/build/server/chunks/{BackLink-BJ8NaemM.js → BackLink-CMpNTYqE.js} +2 -2
  390. package/frontend/build/server/chunks/BackLink-CMpNTYqE.js.map +5 -0
  391. package/frontend/build/server/chunks/{Badge-44ZTDx0V.js → Badge-BTWnF9pA.js} +2 -2
  392. package/frontend/build/server/chunks/Badge-BTWnF9pA.js.map +5 -0
  393. package/frontend/build/server/chunks/{ConfirmModal-C0EAXcq_.js → ConfirmModal-CtGWHl0v.js} +3 -3
  394. package/frontend/build/server/chunks/ConfirmModal-CtGWHl0v.js.map +5 -0
  395. package/frontend/build/server/chunks/{EmptyState-BA_eXaeR.js → EmptyState-Zpm9tJe1.js} +2 -2
  396. package/frontend/build/server/chunks/EmptyState-Zpm9tJe1.js.map +5 -0
  397. package/frontend/build/server/chunks/{Modal-DChG187n.js → Modal-BJJMnfIg.js} +2 -2
  398. package/frontend/build/server/chunks/Modal-BJJMnfIg.js.map +5 -0
  399. package/frontend/build/server/chunks/{Toast-v-q4ZnYq.js → Toast-CHB87F8k.js} +2 -2
  400. package/frontend/build/server/chunks/Toast-CHB87F8k.js.map +5 -0
  401. package/frontend/build/server/chunks/{_layout.svelte-CHVI3Prt.js → _layout.svelte-C_6nsIpT.js} +7 -7
  402. package/frontend/build/server/chunks/{_layout.svelte-CHVI3Prt.js.map → _layout.svelte-C_6nsIpT.js.map} +1 -1
  403. package/frontend/build/server/chunks/{_page.svelte-1jo8MapI.js → _page.svelte-BNwU9zza.js} +11 -10
  404. package/frontend/build/server/chunks/_page.svelte-BNwU9zza.js.map +5 -0
  405. package/frontend/build/server/chunks/{_page.svelte-04WxjOuH.js → _page.svelte-Bamoq11m.js} +8 -8
  406. package/frontend/build/server/chunks/{_page.svelte-04WxjOuH.js.map → _page.svelte-Bamoq11m.js.map} +1 -1
  407. package/frontend/build/server/chunks/{_page.svelte-Kg69DDaM.js → _page.svelte-BrYksycU.js} +5 -5
  408. package/frontend/build/server/chunks/_page.svelte-BrYksycU.js.map +5 -0
  409. package/frontend/build/server/chunks/{_page.svelte-BuFusRK1.js → _page.svelte-CAlhaCzS.js} +12 -12
  410. package/frontend/build/server/chunks/_page.svelte-CAlhaCzS.js.map +5 -0
  411. package/frontend/build/server/chunks/_page.svelte-CTebwzwy.js +62 -0
  412. package/frontend/build/server/chunks/_page.svelte-CTebwzwy.js.map +5 -0
  413. package/frontend/build/server/chunks/{_page.svelte-1as75nPc.js → _page.svelte-CbTrCeeX.js} +32 -28
  414. package/frontend/build/server/chunks/_page.svelte-CbTrCeeX.js.map +5 -0
  415. package/frontend/build/server/chunks/{_page.svelte-D3E6Eojd.js → _page.svelte-Cf6bI1Y2.js} +5 -5
  416. package/frontend/build/server/chunks/_page.svelte-Cf6bI1Y2.js.map +5 -0
  417. package/frontend/build/server/chunks/{_page.svelte-CWWeZuid.js → _page.svelte-CmJKt3-H.js} +71 -19
  418. package/frontend/build/server/chunks/_page.svelte-CmJKt3-H.js.map +5 -0
  419. package/frontend/build/server/chunks/{_page.svelte-CB8-QBNg.js → _page.svelte-DHZhNTPg.js} +11 -10
  420. package/frontend/build/server/chunks/{_page.svelte-CB8-QBNg.js.map → _page.svelte-DHZhNTPg.js.map} +1 -1
  421. package/frontend/build/server/chunks/_page.svelte-DObTHQe2.js +257 -0
  422. package/frontend/build/server/chunks/_page.svelte-DObTHQe2.js.map +5 -0
  423. package/frontend/build/server/chunks/{_page.svelte-8gELc_B1.js → _page.svelte-ywHy9KCh.js} +182 -59
  424. package/frontend/build/server/chunks/_page.svelte-ywHy9KCh.js.map +5 -0
  425. package/frontend/build/server/chunks/{auth-Chw-wBpI.js → auth-DDPlushv.js} +2 -2
  426. package/frontend/build/server/chunks/{auth-Chw-wBpI.js.map → auth-DDPlushv.js.map} +1 -1
  427. package/frontend/build/server/chunks/{client-DEmxR_a-.js → client-CsTiGNZy.js} +2 -2
  428. package/frontend/build/server/chunks/{client-DEmxR_a-.js.map → client-CsTiGNZy.js.map} +1 -1
  429. package/frontend/build/server/chunks/{constants-CXTaQaB6.js → constants-BYVkTZ-O.js} +3 -2
  430. package/frontend/build/server/chunks/constants-BYVkTZ-O.js.map +5 -0
  431. package/frontend/build/server/chunks/{error.svelte-BD3xNemk.js → error.svelte-BXr4lXlB.js} +3 -3
  432. package/frontend/build/server/chunks/{error.svelte-BD3xNemk.js.map → error.svelte-BXr4lXlB.js.map} +1 -1
  433. package/frontend/build/server/chunks/{format-CiNRMfHu.js → format-2pqy61MU.js} +2 -2
  434. package/frontend/build/server/chunks/{format-CiNRMfHu.js.map → format-2pqy61MU.js.map} +1 -1
  435. package/frontend/build/server/chunks/{index-server-B3M9vyh2.js → index-server-53nOZg5X.js} +2 -2
  436. package/frontend/build/server/chunks/{index-server-B3M9vyh2.js.map → index-server-53nOZg5X.js.map} +1 -1
  437. package/frontend/build/server/chunks/{index2-5R1tbrep.js → index2-DGcbugKe.js} +2 -2
  438. package/frontend/build/server/chunks/{index2-5R1tbrep.js.map → index2-DGcbugKe.js.map} +1 -1
  439. package/frontend/build/server/chunks/{reports-D_ApeeNh.js → reports-WuXG6tj3.js} +2 -2
  440. package/frontend/build/server/chunks/{reports-D_ApeeNh.js.map → reports-WuXG6tj3.js.map} +1 -1
  441. package/frontend/build/server/chunks/{reports2-BtElN_53.js → reports2-CCpI0xkQ.js} +7 -8
  442. package/frontend/build/server/chunks/reports2-CCpI0xkQ.js.map +5 -0
  443. package/frontend/build/server/chunks/{repository-FYYV_vKE.js → repository-TYWcFuWP.js} +6 -2
  444. package/frontend/build/server/chunks/repository-TYWcFuWP.js.map +5 -0
  445. package/frontend/build/server/chunks/runner-D5yCWOsy.js +27 -0
  446. package/frontend/build/server/chunks/runner-D5yCWOsy.js.map +5 -0
  447. package/frontend/build/server/chunks/{stores-BLenR3c1.js → stores-C4ZkywTG.js} +3 -3
  448. package/frontend/build/server/chunks/{stores-BLenR3c1.js.map → stores-C4ZkywTG.js.map} +1 -1
  449. package/frontend/build/server/chunks/{theme-nAx-GvX_.js → theme-C81wSe5T.js} +2 -2
  450. package/frontend/build/server/chunks/{theme-nAx-GvX_.js.map → theme-C81wSe5T.js.map} +1 -1
  451. package/frontend/build/server/index.js +2 -2
  452. package/frontend/build/server/index.js.map +1 -1
  453. package/frontend/build/server/manifest.js +23 -23
  454. package/frontend/build/server/manifest.js.map +1 -1
  455. package/frontend/src/lib/components/layout/RunnerPanel.svelte +186 -266
  456. package/frontend/src/lib/copy/reports.js +9 -0
  457. package/frontend/src/lib/copy/runners.js +9 -6
  458. package/frontend/src/lib/socketEvents.js +3 -15
  459. package/frontend/src/lib/stores/runner.js +62 -46
  460. package/frontend/src/routes/{reports/live → live/[id]}/+page.svelte +112 -183
  461. package/frontend/src/routes/scheduled-tests/+page.svelte +2 -2
  462. package/package.json +1 -1
  463. package/backend/services/activeRunsService.js +0 -55
  464. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -6
  465. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_layout.BuhMvMUj.css +0 -6
  466. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.0Eln51hV.css +0 -6
  467. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BZfe6nWe.css +0 -6
  468. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.Bj_a_5lv.css +0 -6
  469. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BwgOqeMo.css +0 -6
  470. package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CFnbmY-D.css +0 -6
  471. package/frontend/.svelte-kit/adapter-node/entries/pages/reports/live/_page.svelte.js +0 -247
  472. package/frontend/.svelte-kit/output/client/_app/immutable/assets/0.BhSG-jZH.css +0 -6
  473. package/frontend/.svelte-kit/output/client/_app/immutable/assets/12.Bj_a_5lv.css +0 -6
  474. package/frontend/.svelte-kit/output/client/_app/immutable/assets/4.0Eln51hV.css +0 -6
  475. package/frontend/.svelte-kit/output/client/_app/immutable/assets/5.DFV9OgAu.css +0 -6
  476. package/frontend/.svelte-kit/output/client/_app/immutable/assets/6.CFnbmY-D.css +0 -6
  477. package/frontend/.svelte-kit/output/client/_app/immutable/assets/8.BwgOqeMo.css +0 -6
  478. package/frontend/.svelte-kit/output/client/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -6
  479. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_layout.BuhMvMUj.css +0 -6
  480. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.0Eln51hV.css +0 -6
  481. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BZfe6nWe.css +0 -6
  482. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.Bj_a_5lv.css +0 -6
  483. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BwgOqeMo.css +0 -6
  484. package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CFnbmY-D.css +0 -6
  485. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/3InFPLvE.js +0 -6
  486. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BAACMRH5.js +0 -6
  487. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BAMUGSh7.js +0 -6
  488. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BKuh57WU.js +0 -6
  489. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BUwxRmHf.js +0 -6
  490. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/C8OURRSs.js +0 -6
  491. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CGeZlCaI.js +0 -6
  492. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CMBQQ9RZ.js +0 -6
  493. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CUC98kMZ.js +0 -6
  494. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Co3xKhEp.js +0 -6
  495. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CuqnZUex.js +0 -6
  496. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DHM6H-es.js +0 -7
  497. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DSLBMEpr.js +0 -6
  498. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DbgD7JLa.js +0 -6
  499. package/frontend/.svelte-kit/output/client/_app/immutable/chunks/TOCyHP97.js +0 -11
  500. package/frontend/.svelte-kit/output/client/_app/immutable/entry/app.KrtMZ3my.js +0 -7
  501. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.C8DodwXs.js +0 -11
  502. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/12.BMSCSd88.js +0 -6
  503. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/4.D-YT_JJe.js +0 -6
  504. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/5.DVeH2eQP.js +0 -6
  505. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/6.DI7-IJhN.js +0 -6
  506. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/7.C-pKvVZy.js +0 -6
  507. package/frontend/.svelte-kit/output/client/_app/immutable/nodes/8.93Mb3ofT.js +0 -9
  508. package/frontend/.svelte-kit/output/server/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -6
  509. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_layout.BuhMvMUj.css +0 -6
  510. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.0Eln51hV.css +0 -6
  511. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BZfe6nWe.css +0 -6
  512. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.Bj_a_5lv.css +0 -6
  513. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BwgOqeMo.css +0 -6
  514. package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CFnbmY-D.css +0 -6
  515. package/frontend/.svelte-kit/output/server/entries/pages/reports/live/_page.svelte.js +0 -247
  516. package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css +0 -6
  517. package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css.br +0 -0
  518. package/frontend/build/client/_app/immutable/assets/0.BhSG-jZH.css.gz +0 -0
  519. package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css +0 -6
  520. package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css.br +0 -0
  521. package/frontend/build/client/_app/immutable/assets/12.Bj_a_5lv.css.gz +0 -0
  522. package/frontend/build/client/_app/immutable/assets/4.0Eln51hV.css +0 -6
  523. package/frontend/build/client/_app/immutable/assets/4.0Eln51hV.css.br +0 -0
  524. package/frontend/build/client/_app/immutable/assets/4.0Eln51hV.css.gz +0 -0
  525. package/frontend/build/client/_app/immutable/assets/5.DFV9OgAu.css +0 -6
  526. package/frontend/build/client/_app/immutable/assets/5.DFV9OgAu.css.br +0 -0
  527. package/frontend/build/client/_app/immutable/assets/5.DFV9OgAu.css.gz +0 -0
  528. package/frontend/build/client/_app/immutable/assets/6.CFnbmY-D.css +0 -6
  529. package/frontend/build/client/_app/immutable/assets/6.CFnbmY-D.css.br +0 -0
  530. package/frontend/build/client/_app/immutable/assets/6.CFnbmY-D.css.gz +0 -0
  531. package/frontend/build/client/_app/immutable/assets/8.BwgOqeMo.css +0 -6
  532. package/frontend/build/client/_app/immutable/assets/8.BwgOqeMo.css.br +0 -0
  533. package/frontend/build/client/_app/immutable/assets/8.BwgOqeMo.css.gz +0 -0
  534. package/frontend/build/client/_app/immutable/assets/BackLink.CvWWuO3h.css +0 -6
  535. package/frontend/build/client/_app/immutable/assets/BackLink.CvWWuO3h.css.br +0 -0
  536. package/frontend/build/client/_app/immutable/assets/BackLink.CvWWuO3h.css.gz +0 -0
  537. package/frontend/build/client/_app/immutable/assets/_layout.BuhMvMUj.css +0 -6
  538. package/frontend/build/client/_app/immutable/assets/_layout.BuhMvMUj.css.br +0 -0
  539. package/frontend/build/client/_app/immutable/assets/_layout.BuhMvMUj.css.gz +0 -0
  540. package/frontend/build/client/_app/immutable/assets/_page.0Eln51hV.css +0 -6
  541. package/frontend/build/client/_app/immutable/assets/_page.0Eln51hV.css.br +0 -0
  542. package/frontend/build/client/_app/immutable/assets/_page.0Eln51hV.css.gz +0 -0
  543. package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css +0 -6
  544. package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css.br +0 -0
  545. package/frontend/build/client/_app/immutable/assets/_page.BZfe6nWe.css.gz +0 -0
  546. package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css +0 -6
  547. package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css.br +0 -0
  548. package/frontend/build/client/_app/immutable/assets/_page.Bj_a_5lv.css.gz +0 -0
  549. package/frontend/build/client/_app/immutable/assets/_page.BwgOqeMo.css +0 -6
  550. package/frontend/build/client/_app/immutable/assets/_page.BwgOqeMo.css.br +0 -0
  551. package/frontend/build/client/_app/immutable/assets/_page.BwgOqeMo.css.gz +0 -0
  552. package/frontend/build/client/_app/immutable/assets/_page.CFnbmY-D.css +0 -6
  553. package/frontend/build/client/_app/immutable/assets/_page.CFnbmY-D.css.br +0 -0
  554. package/frontend/build/client/_app/immutable/assets/_page.CFnbmY-D.css.gz +0 -0
  555. package/frontend/build/client/_app/immutable/chunks/2zMvi6fR.js.br +0 -0
  556. package/frontend/build/client/_app/immutable/chunks/2zMvi6fR.js.gz +0 -0
  557. package/frontend/build/client/_app/immutable/chunks/3InFPLvE.js +0 -6
  558. package/frontend/build/client/_app/immutable/chunks/3InFPLvE.js.br +0 -0
  559. package/frontend/build/client/_app/immutable/chunks/3InFPLvE.js.gz +0 -0
  560. package/frontend/build/client/_app/immutable/chunks/BAACMRH5.js +0 -6
  561. package/frontend/build/client/_app/immutable/chunks/BAACMRH5.js.br +0 -0
  562. package/frontend/build/client/_app/immutable/chunks/BAACMRH5.js.gz +0 -0
  563. package/frontend/build/client/_app/immutable/chunks/BAMUGSh7.js +0 -6
  564. package/frontend/build/client/_app/immutable/chunks/BAMUGSh7.js.br +0 -0
  565. package/frontend/build/client/_app/immutable/chunks/BAMUGSh7.js.gz +0 -0
  566. package/frontend/build/client/_app/immutable/chunks/BKuh57WU.js +0 -6
  567. package/frontend/build/client/_app/immutable/chunks/BKuh57WU.js.br +0 -0
  568. package/frontend/build/client/_app/immutable/chunks/BKuh57WU.js.gz +0 -0
  569. package/frontend/build/client/_app/immutable/chunks/BUwxRmHf.js +0 -6
  570. package/frontend/build/client/_app/immutable/chunks/BUwxRmHf.js.br +0 -0
  571. package/frontend/build/client/_app/immutable/chunks/BUwxRmHf.js.gz +0 -0
  572. package/frontend/build/client/_app/immutable/chunks/BmZ9upwL.js.br +0 -0
  573. package/frontend/build/client/_app/immutable/chunks/BmZ9upwL.js.gz +0 -0
  574. package/frontend/build/client/_app/immutable/chunks/C1Vid6wz.js.br +0 -0
  575. package/frontend/build/client/_app/immutable/chunks/C1Vid6wz.js.gz +0 -0
  576. package/frontend/build/client/_app/immutable/chunks/C8OURRSs.js +0 -6
  577. package/frontend/build/client/_app/immutable/chunks/C8OURRSs.js.br +0 -0
  578. package/frontend/build/client/_app/immutable/chunks/C8OURRSs.js.gz +0 -0
  579. package/frontend/build/client/_app/immutable/chunks/CGeZlCaI.js +0 -6
  580. package/frontend/build/client/_app/immutable/chunks/CGeZlCaI.js.br +0 -0
  581. package/frontend/build/client/_app/immutable/chunks/CGeZlCaI.js.gz +0 -0
  582. package/frontend/build/client/_app/immutable/chunks/CKDtmZUQ.js.br +0 -0
  583. package/frontend/build/client/_app/immutable/chunks/CKDtmZUQ.js.gz +0 -0
  584. package/frontend/build/client/_app/immutable/chunks/CMBQQ9RZ.js +0 -6
  585. package/frontend/build/client/_app/immutable/chunks/CMBQQ9RZ.js.br +0 -0
  586. package/frontend/build/client/_app/immutable/chunks/CMBQQ9RZ.js.gz +0 -0
  587. package/frontend/build/client/_app/immutable/chunks/CMEtqUfQ.js.br +0 -0
  588. package/frontend/build/client/_app/immutable/chunks/CMEtqUfQ.js.gz +0 -0
  589. package/frontend/build/client/_app/immutable/chunks/CNdcuGR0.js.br +0 -0
  590. package/frontend/build/client/_app/immutable/chunks/CNdcuGR0.js.gz +0 -0
  591. package/frontend/build/client/_app/immutable/chunks/CUC98kMZ.js +0 -6
  592. package/frontend/build/client/_app/immutable/chunks/CUC98kMZ.js.br +0 -0
  593. package/frontend/build/client/_app/immutable/chunks/CUC98kMZ.js.gz +0 -0
  594. package/frontend/build/client/_app/immutable/chunks/CgnwuKKO.js.br +0 -0
  595. package/frontend/build/client/_app/immutable/chunks/CgnwuKKO.js.gz +0 -0
  596. package/frontend/build/client/_app/immutable/chunks/Co3xKhEp.js +0 -6
  597. package/frontend/build/client/_app/immutable/chunks/Co3xKhEp.js.br +0 -0
  598. package/frontend/build/client/_app/immutable/chunks/Co3xKhEp.js.gz +0 -0
  599. package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js +0 -6
  600. package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js.br +0 -5
  601. package/frontend/build/client/_app/immutable/chunks/CuqnZUex.js.gz +0 -0
  602. package/frontend/build/client/_app/immutable/chunks/CzlPaHY9.js.br +0 -0
  603. package/frontend/build/client/_app/immutable/chunks/CzlPaHY9.js.gz +0 -0
  604. package/frontend/build/client/_app/immutable/chunks/DCgHuuvs.js.br +0 -0
  605. package/frontend/build/client/_app/immutable/chunks/DCgHuuvs.js.gz +0 -0
  606. package/frontend/build/client/_app/immutable/chunks/DDZw0L0T.js.br +0 -0
  607. package/frontend/build/client/_app/immutable/chunks/DDZw0L0T.js.gz +0 -0
  608. package/frontend/build/client/_app/immutable/chunks/DHM6H-es.js +0 -7
  609. package/frontend/build/client/_app/immutable/chunks/DHM6H-es.js.br +0 -0
  610. package/frontend/build/client/_app/immutable/chunks/DHM6H-es.js.gz +0 -0
  611. package/frontend/build/client/_app/immutable/chunks/DMZwI8Cj.js.br +0 -0
  612. package/frontend/build/client/_app/immutable/chunks/DMZwI8Cj.js.gz +0 -0
  613. package/frontend/build/client/_app/immutable/chunks/DSLBMEpr.js +0 -6
  614. package/frontend/build/client/_app/immutable/chunks/DSLBMEpr.js.br +0 -0
  615. package/frontend/build/client/_app/immutable/chunks/DSLBMEpr.js.gz +0 -0
  616. package/frontend/build/client/_app/immutable/chunks/DbgD7JLa.js +0 -6
  617. package/frontend/build/client/_app/immutable/chunks/DbgD7JLa.js.br +0 -0
  618. package/frontend/build/client/_app/immutable/chunks/DbgD7JLa.js.gz +0 -0
  619. package/frontend/build/client/_app/immutable/chunks/TOCyHP97.js +0 -11
  620. package/frontend/build/client/_app/immutable/chunks/TOCyHP97.js.br +0 -0
  621. package/frontend/build/client/_app/immutable/chunks/TOCyHP97.js.gz +0 -0
  622. package/frontend/build/client/_app/immutable/chunks/kkA1mrsH.js.br +0 -0
  623. package/frontend/build/client/_app/immutable/chunks/kkA1mrsH.js.gz +0 -0
  624. package/frontend/build/client/_app/immutable/chunks/t-La0hgu.js.br +0 -0
  625. package/frontend/build/client/_app/immutable/chunks/t-La0hgu.js.gz +0 -0
  626. package/frontend/build/client/_app/immutable/chunks/w0D4Uzlq.js.br +0 -0
  627. package/frontend/build/client/_app/immutable/chunks/w0D4Uzlq.js.gz +0 -0
  628. package/frontend/build/client/_app/immutable/entry/app.KrtMZ3my.js +0 -7
  629. package/frontend/build/client/_app/immutable/entry/app.KrtMZ3my.js.br +0 -0
  630. package/frontend/build/client/_app/immutable/entry/app.KrtMZ3my.js.gz +0 -0
  631. package/frontend/build/client/_app/immutable/nodes/0.C8DodwXs.js +0 -11
  632. package/frontend/build/client/_app/immutable/nodes/0.C8DodwXs.js.br +0 -0
  633. package/frontend/build/client/_app/immutable/nodes/0.C8DodwXs.js.gz +0 -0
  634. package/frontend/build/client/_app/immutable/nodes/1.Df9sLw8b.js.br +0 -0
  635. package/frontend/build/client/_app/immutable/nodes/1.Df9sLw8b.js.gz +0 -0
  636. package/frontend/build/client/_app/immutable/nodes/10.DEbnxfND.js.br +0 -0
  637. package/frontend/build/client/_app/immutable/nodes/10.DEbnxfND.js.gz +0 -0
  638. package/frontend/build/client/_app/immutable/nodes/11.BViaDK2m.js.br +0 -0
  639. package/frontend/build/client/_app/immutable/nodes/11.BViaDK2m.js.gz +0 -0
  640. package/frontend/build/client/_app/immutable/nodes/12.BMSCSd88.js +0 -6
  641. package/frontend/build/client/_app/immutable/nodes/12.BMSCSd88.js.br +0 -0
  642. package/frontend/build/client/_app/immutable/nodes/12.BMSCSd88.js.gz +0 -0
  643. package/frontend/build/client/_app/immutable/nodes/2.BCPSg7H4.js.br +0 -0
  644. package/frontend/build/client/_app/immutable/nodes/2.BCPSg7H4.js.gz +0 -0
  645. package/frontend/build/client/_app/immutable/nodes/3.8BFAJoHT.js.br +0 -0
  646. package/frontend/build/client/_app/immutable/nodes/3.8BFAJoHT.js.gz +0 -0
  647. package/frontend/build/client/_app/immutable/nodes/4.D-YT_JJe.js +0 -6
  648. package/frontend/build/client/_app/immutable/nodes/4.D-YT_JJe.js.br +0 -0
  649. package/frontend/build/client/_app/immutable/nodes/4.D-YT_JJe.js.gz +0 -0
  650. package/frontend/build/client/_app/immutable/nodes/5.DVeH2eQP.js +0 -6
  651. package/frontend/build/client/_app/immutable/nodes/5.DVeH2eQP.js.br +0 -0
  652. package/frontend/build/client/_app/immutable/nodes/5.DVeH2eQP.js.gz +0 -0
  653. package/frontend/build/client/_app/immutable/nodes/6.DI7-IJhN.js +0 -6
  654. package/frontend/build/client/_app/immutable/nodes/6.DI7-IJhN.js.br +0 -0
  655. package/frontend/build/client/_app/immutable/nodes/6.DI7-IJhN.js.gz +0 -0
  656. package/frontend/build/client/_app/immutable/nodes/7.C-pKvVZy.js +0 -6
  657. package/frontend/build/client/_app/immutable/nodes/7.C-pKvVZy.js.br +0 -0
  658. package/frontend/build/client/_app/immutable/nodes/7.C-pKvVZy.js.gz +0 -0
  659. package/frontend/build/client/_app/immutable/nodes/8.93Mb3ofT.js +0 -9
  660. package/frontend/build/client/_app/immutable/nodes/8.93Mb3ofT.js.br +0 -0
  661. package/frontend/build/client/_app/immutable/nodes/8.93Mb3ofT.js.gz +0 -0
  662. package/frontend/build/client/_app/immutable/nodes/9.CvfGx3Hu.js.br +0 -0
  663. package/frontend/build/client/_app/immutable/nodes/9.CvfGx3Hu.js.gz +0 -0
  664. package/frontend/build/server/chunks/0-D5YWFygh.js +0 -22
  665. package/frontend/build/server/chunks/0-D5YWFygh.js.map +0 -5
  666. package/frontend/build/server/chunks/10-l6_ikL_D.js +0 -14
  667. package/frontend/build/server/chunks/10-l6_ikL_D.js.map +0 -5
  668. package/frontend/build/server/chunks/11-CNLerze_.js +0 -14
  669. package/frontend/build/server/chunks/11-CNLerze_.js.map +0 -5
  670. package/frontend/build/server/chunks/12-De6Ol6pu.js +0 -14
  671. package/frontend/build/server/chunks/2-Dc_rKWoK.js +0 -14
  672. package/frontend/build/server/chunks/3-DrRqVrcX.js +0 -14
  673. package/frontend/build/server/chunks/3-DrRqVrcX.js.map +0 -5
  674. package/frontend/build/server/chunks/4-Bo04DC5Z.js +0 -14
  675. package/frontend/build/server/chunks/4-Bo04DC5Z.js.map +0 -5
  676. package/frontend/build/server/chunks/5-CFeE5dPZ.js +0 -14
  677. package/frontend/build/server/chunks/5-CFeE5dPZ.js.map +0 -5
  678. package/frontend/build/server/chunks/6-DZk37MZH.js +0 -14
  679. package/frontend/build/server/chunks/6-DZk37MZH.js.map +0 -5
  680. package/frontend/build/server/chunks/7-DiQJZEF_.js +0 -14
  681. package/frontend/build/server/chunks/8-CKPVFOqJ.js +0 -14
  682. package/frontend/build/server/chunks/8-CKPVFOqJ.js.map +0 -5
  683. package/frontend/build/server/chunks/9-DirZG_Lu.js +0 -14
  684. package/frontend/build/server/chunks/BackLink-BJ8NaemM.js.map +0 -5
  685. package/frontend/build/server/chunks/Badge-44ZTDx0V.js.map +0 -5
  686. package/frontend/build/server/chunks/ConfirmModal-C0EAXcq_.js.map +0 -5
  687. package/frontend/build/server/chunks/EmptyState-BA_eXaeR.js.map +0 -5
  688. package/frontend/build/server/chunks/Modal-DChG187n.js.map +0 -5
  689. package/frontend/build/server/chunks/Toast-v-q4ZnYq.js.map +0 -5
  690. package/frontend/build/server/chunks/_page.svelte-1as75nPc.js.map +0 -5
  691. package/frontend/build/server/chunks/_page.svelte-1jo8MapI.js.map +0 -5
  692. package/frontend/build/server/chunks/_page.svelte-8gELc_B1.js.map +0 -5
  693. package/frontend/build/server/chunks/_page.svelte-BuFusRK1.js.map +0 -5
  694. package/frontend/build/server/chunks/_page.svelte-CAVyp70V.js +0 -250
  695. package/frontend/build/server/chunks/_page.svelte-CAVyp70V.js.map +0 -5
  696. package/frontend/build/server/chunks/_page.svelte-CWWeZuid.js.map +0 -5
  697. package/frontend/build/server/chunks/_page.svelte-D3E6Eojd.js.map +0 -5
  698. package/frontend/build/server/chunks/_page.svelte-Kg69DDaM.js.map +0 -5
  699. package/frontend/build/server/chunks/_page.svelte-L9fuiN_q.js +0 -57
  700. package/frontend/build/server/chunks/_page.svelte-L9fuiN_q.js.map +0 -5
  701. package/frontend/build/server/chunks/constants-CXTaQaB6.js.map +0 -5
  702. package/frontend/build/server/chunks/reports2-BtElN_53.js.map +0 -5
  703. package/frontend/build/server/chunks/repository-FYYV_vKE.js.map +0 -5
  704. package/frontend/build/server/chunks/runner-DC7hXbnY.js +0 -37
  705. package/frontend/build/server/chunks/runner-DC7hXbnY.js.map +0 -5
  706. /package/frontend/.svelte-kit/output/client/_app/immutable/assets/{3.BR3wgXcZ.css → 4.BR3wgXcZ.css} +0 -0
  707. /package/frontend/build/client/_app/immutable/assets/{3.BR3wgXcZ.css → 4.BR3wgXcZ.css} +0 -0
  708. /package/frontend/build/client/_app/immutable/assets/{3.BR3wgXcZ.css.br → 4.BR3wgXcZ.css.br} +0 -0
  709. /package/frontend/build/client/_app/immutable/assets/{3.BR3wgXcZ.css.gz → 4.BR3wgXcZ.css.gz} +0 -0
@@ -0,0 +1,6 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ .legacy-notice.svelte-1xtj9lg{display:flex;align-items:flex-start;gap:.75rem;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:var(--radius-sm);padding:.75rem .875rem;margin-bottom:1.5rem}.legacy-notice.svelte-1xtj9lg p:where(.svelte-1xtj9lg){flex:1;margin:0;font-size:.85rem;line-height:1.5;color:var(--text)}.legacy-notice-dismiss.svelte-1xtj9lg{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.125rem;border-radius:var(--radius-sm);transition:color var(--duration-fast)}.legacy-notice-dismiss.svelte-1xtj9lg:hover{color:var(--text)}.page-header.svelte-1xtj9lg{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.header-top.svelte-1xtj9lg{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}h1.svelte-1xtj9lg{font-size:2.5rem;margin-bottom:.25rem}.subtitle.svelte-1xtj9lg{color:var(--text-muted);font-size:.875rem}.rate-display.svelte-1xtj9lg{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.rate-number.svelte-1xtj9lg{font-family:var(--font-display);font-size:2.75rem;line-height:1;font-weight:400}.rate-number.pass.svelte-1xtj9lg{color:var(--pass)}.rate-number.warn.svelte-1xtj9lg{color:var(--warn)}.rate-number.fail.svelte-1xtj9lg{color:var(--fail)}.rate-label.svelte-1xtj9lg{font-size:.75rem;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.stats-bar.svelte-1xtj9lg{margin-bottom:1rem}.pass-bar-track.svelte-1xtj9lg{height:3px;background:var(--fail-soft);border-radius:var(--radius-pill);overflow:hidden;margin-bottom:.5rem}.pass-bar-fill.svelte-1xtj9lg{height:100%;background:var(--pass);border-radius:var(--radius-pill);transition:width .9s var(--ease-out) .1s}.bar-legend.svelte-1xtj9lg{display:flex;gap:1rem}.legend-pass.svelte-1xtj9lg{font-size:.75rem;color:var(--pass);font-weight:500}.legend-fail.svelte-1xtj9lg{font-size:.75rem;color:var(--fail);font-weight:500}.trend-row.svelte-1xtj9lg{display:flex;align-items:center;gap:.75rem}.trend-label.svelte-1xtj9lg{font-size:.7rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0}.trend-dots.svelte-1xtj9lg{display:flex;align-items:center;gap:5px}.trend-dot.svelte-1xtj9lg{width:9px;height:9px;border-radius:50%;transition:transform var(--duration-fast);animation:fadeUp .3s var(--ease-out) both}.trend-dot.svelte-1xtj9lg:hover{transform:scale(1.4)}.trend-dot.pass.svelte-1xtj9lg{background:var(--pass)}.trend-dot.fail.svelte-1xtj9lg{background:var(--fail)}.trend-hint.svelte-1xtj9lg{font-size:.68rem;color:var(--text-muted);opacity:.6}.list-header.svelte-1xtj9lg{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem .375rem}.select-all-wrap.svelte-1xtj9lg{display:flex;align-items:center;cursor:pointer;padding:.25rem}.btn-delete-selected.svelte-1xtj9lg{height:30px;padding:0 .75rem;font-size:.78rem;font-family:inherit;font-weight:500;color:var(--fail);background:var(--fail-soft, rgba(239, 68, 68, .08));border:1px solid var(--fail);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast),opacity var(--duration-fast)}.btn-delete-selected.svelte-1xtj9lg:hover{background:var(--fail);color:var(--white)}.report-list.svelte-1xtj9lg{display:flex;flex-direction:column;gap:.5rem}.report-row.svelte-1xtj9lg{display:flex;align-items:center;gap:.5rem;animation:fadeUp .32s var(--ease-out) both}.row-check-wrap.svelte-1xtj9lg{flex-shrink:0;display:flex;align-items:center;cursor:pointer;padding:.25rem}.checkbox.svelte-1xtj9lg{width:15px;height:15px;accent-color:var(--accent, #7c3aed);cursor:pointer}.report-item.svelte-1xtj9lg{flex:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);text-decoration:none;color:inherit;border-left-width:3px;transition:background var(--duration-fast),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast);min-width:0}.report-item.svelte-1xtj9lg:hover{background:var(--bg-subtle);transform:translate(2px);box-shadow:0 2px 12px #0000000a}.report-item.is-pass.svelte-1xtj9lg{border-left-color:var(--pass)}.report-item.is-fail.svelte-1xtj9lg{border-left-color:var(--fail)}.report-row.is-selected.svelte-1xtj9lg .report-item:where(.svelte-1xtj9lg){background:var(--bg-subtle);border-color:var(--accent, #7c3aed)}.item-left.svelte-1xtj9lg{display:flex;align-items:center;gap:.875rem;min-width:0}.status-mark.svelte-1xtj9lg{font-size:.875rem;font-weight:600;flex-shrink:0;width:20px;text-align:center}.status-mark.pass.svelte-1xtj9lg{color:var(--pass)}.status-mark.fail.svelte-1xtj9lg{color:var(--fail)}.item-meta.svelte-1xtj9lg{display:flex;align-items:center;gap:.625rem;min-width:0}.item-tags.svelte-1xtj9lg{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.item-badges.svelte-1xtj9lg{flex-shrink:0}.item-right.svelte-1xtj9lg{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.item-date.svelte-1xtj9lg{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.item-arrow.svelte-1xtj9lg{color:var(--text-muted);transition:transform var(--duration-fast) var(--ease-out),color var(--duration-fast)}.report-item.svelte-1xtj9lg:hover .item-arrow:where(.svelte-1xtj9lg){transform:translate(3px);color:var(--text)}.row-delete-btn.svelte-1xtj9lg{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity var(--duration-fast),color var(--duration-fast),background var(--duration-fast)}.report-row.svelte-1xtj9lg:hover .row-delete-btn:where(.svelte-1xtj9lg){opacity:1}.row-delete-btn.svelte-1xtj9lg:hover{color:var(--fail);background:var(--fail-soft, rgba(239, 68, 68, .08))}.pagination-wrap.svelte-1xtj9lg{margin-top:1.25rem}
@@ -0,0 +1,6 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ .status-dot.svelte-eg9xrn{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.pass.svelte-eg9xrn{background:var(--pass)}.fail.svelte-eg9xrn{background:var(--fail)}.skip.svelte-eg9xrn{background:var(--text-muted)}.tag-chip.svelte-foe7v9{font-size:.65rem;font-family:JetBrains Mono,monospace;background:var(--accent-soft);color:var(--accent);padding:.1rem .4rem;border-radius:var(--radius-pill);white-space:nowrap}.kw.svelte-3mvi7i{font-size:.72rem;font-weight:500;letter-spacing:.04em;flex-shrink:0;padding:.05rem .4rem;border-radius:3px;font-family:JetBrains Mono,monospace}.kw-given.svelte-3mvi7i{background:var(--accent-soft);color:var(--accent)}.kw-when.svelte-3mvi7i{background:var(--warn-soft);color:var(--warn)}.kw-then.svelte-3mvi7i{background:var(--pass-soft);color:var(--pass)}.kw-and.svelte-3mvi7i{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border)}.step-status-icon.svelte-9zpq1y{font-size:.75rem;font-weight:600;width:14px;flex-shrink:0;text-align:center}.icon-pass.svelte-9zpq1y{color:var(--pass)}.icon-fail.svelte-9zpq1y{color:var(--fail)}.icon-skip.svelte-9zpq1y{color:var(--text-muted)}.steps-rail.svelte-q7af2t{flex-shrink:0;width:240px;display:flex;flex-direction:column;background:var(--bg-elevated);overflow-y:auto}.steps-rail-header.svelte-q7af2t{flex-shrink:0;padding:.7rem .9rem .5rem;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.steps-list.svelte-q7af2t{list-style:none;margin:0;padding:0 .5rem .5rem;display:flex;flex-direction:column;gap:.1rem}.rail-step.svelte-q7af2t{width:100%;display:flex;align-items:flex-start;gap:.5rem;padding:.4rem .5rem;background:none;border:none;border-radius:var(--radius-sm);font:inherit;font-size:.78rem;line-height:1.35;text-align:left;color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.rail-step.svelte-q7af2t:hover:not(:disabled){background:var(--bg-subtle)}.rail-step.svelte-q7af2t:disabled{cursor:default}.rail-step-text.svelte-q7af2t{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;min-width:0;word-break:break-word}.rail-step-active.svelte-q7af2t{background:var(--accent-soft);color:var(--text);font-weight:500}.combined-timeline.svelte-5daecg{position:absolute;left:0;right:0;bottom:38px;width:80%;margin:0 auto;display:flex;align-items:center}.combined-timeline-time.svelte-5daecg{flex-shrink:0;display:inline-block;width:100px;text-align:center;color:#11103e}.combined-timeline-track.svelte-5daecg{position:relative;flex:1;height:12px;background:#eee;border-radius:3px;cursor:pointer;box-sizing:border-box;border-top:solid 4px #fff;border-bottom:solid 4px #fff}.combined-timeline-fill.svelte-5daecg{position:absolute;left:0;top:0;height:100%;background:#e0e1fe}.combined-timeline-tick.svelte-5daecg{position:absolute;top:2px;width:10px;height:5px;transform:translate(-50%,-50%);background:#4950f6;pointer-events:none}.combined-timeline-handle.svelte-5daecg{position:absolute;top:2px;width:20px;height:20px;border-radius:10px;transform:translate(-50%,-50%);background:#4950f6;pointer-events:none}.code-viewer.svelte-mer6ic{margin:0;padding:.75rem 1rem;background:var(--terminal-bg);color:var(--terminal-text);font-family:JetBrains Mono,monospace;font-size:.78rem;line-height:1.5;border-radius:var(--radius-md);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.code-viewer .tok-tag{color:var(--code-tag)}.code-viewer .tok-attr{color:var(--code-attr)}.code-viewer .tok-value{color:var(--code-string)}.code-viewer .tok-comment{color:var(--code-comment);font-style:italic}.inspector-panel.svelte-mmh4st{flex-shrink:0;width:280px;display:flex;flex-direction:column;gap:.65rem;padding:.75rem .9rem .9rem;background:var(--bg-elevated);overflow-y:auto}.inspector-panel.svelte-mmh4st>:where(.svelte-mmh4st){flex-shrink:0}.inspector-panel.svelte-mmh4st .code-viewer{flex-shrink:0}.inspector-header.svelte-mmh4st{display:flex;align-items:center;gap:.4rem;padding-bottom:.5rem;margin-bottom:.1rem;border-bottom:1px solid var(--border);font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.inspector-empty.svelte-mmh4st{color:var(--text-muted);font-size:.8rem;padding:1rem .1rem;line-height:1.5}.inspector-section.svelte-mmh4st{display:flex;align-items:baseline;gap:.5rem}.inspector-section-label.svelte-mmh4st{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.inspector-size.svelte-mmh4st{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text)}.inspector-attrs.svelte-mmh4st{margin:0;display:flex;flex-direction:column}.inspector-attr-row.svelte-mmh4st{display:flex;flex-direction:column;gap:.1rem;padding:.35rem 0;border-top:1px solid var(--border)}.inspector-attr-row.svelte-mmh4st dt:where(.svelte-mmh4st){font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--accent)}.inspector-attr-row.svelte-mmh4st dd:where(.svelte-mmh4st){margin:0;font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--text-muted);word-break:break-all}.recording-player.svelte-jcqbbs{flex:1;min-height:0;display:flex;gap:1px;background:var(--border);overflow:hidden}.player-stage.svelte-jcqbbs{position:relative;flex:1;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated)}.player-column.svelte-jcqbbs{position:relative;display:inline-flex}.player-mount.svelte-jcqbbs{display:flex}.player-mount.svelte-jcqbbs .rr-player{border-radius:0!important;box-shadow:none!important}.player-mount.svelte-jcqbbs .rr-controller{border-radius:0!important}.player-mount.svelte-jcqbbs iframe{pointer-events:auto!important}.player-mount.svelte-jcqbbs .switch{display:none!important}.player-mount.svelte-jcqbbs .rr-controller__btns{gap:.5rem}.player-mount-multi.svelte-jcqbbs .rr-timeline{visibility:hidden!important;pointer-events:none!important}.player-status.svelte-jcqbbs{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.85rem}.loading-dots.svelte-jcqbbs{display:flex;gap:.3rem}.loading-dots.svelte-jcqbbs span:where(.svelte-jcqbbs){width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:dotPulse 1.1s ease-in-out infinite}.loading-dots.svelte-jcqbbs span:where(.svelte-jcqbbs):nth-child(2){animation-delay:.15s}.loading-dots.svelte-jcqbbs span:where(.svelte-jcqbbs):nth-child(3){animation-delay:.3s}.active-tab-badge.svelte-jcqbbs{position:absolute;top:.75rem;left:.75rem;padding:.3rem .6rem;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:var(--radius-pill);color:#fff;font-family:JetBrains Mono,monospace;font-size:.7rem}.inspect-highlight.svelte-jcqbbs{position:absolute;pointer-events:none;background:color-mix(in srgb,var(--accent) 18%,transparent);border:1.5px solid var(--accent);border-radius:2px;z-index:10000}.restart-overlay-btn.svelte-jcqbbs{position:absolute;display:flex;align-items:center;justify-content:center;background:#fff;border:none;border-radius:50%;color:#11103e;cursor:pointer;z-index:10001}.restart-overlay-btn.svelte-jcqbbs:hover{background:#f0f0f5}.inspect-fab.svelte-jcqbbs{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:none;border-radius:50%;color:#fff;cursor:pointer;opacity:.7;transition:opacity var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.inspect-fab.svelte-jcqbbs:hover:not(:disabled){opacity:1}.inspect-fab.svelte-jcqbbs:disabled{opacity:.3;cursor:default}.inspect-fab-active.svelte-jcqbbs{background:var(--accent);opacity:1}.report-header.svelte-ggy6pw{border-radius:var(--radius-lg);border:1px solid var(--border);border-top-width:3px;padding:1.5rem;margin-bottom:2rem;background:var(--bg-elevated);animation:fadeUp .35s var(--ease-out) both}.report-header.pass.svelte-ggy6pw{border-top-color:var(--pass)}.report-header.fail.svelte-ggy6pw{border-top-color:var(--fail)}.header-main.svelte-ggy6pw{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.header-status.svelte-ggy6pw{display:flex;align-items:center;gap:1rem}.status-icon-wrap.svelte-ggy6pw{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.status-icon-wrap.pass-bg.svelte-ggy6pw{background:var(--pass-soft);color:var(--pass)}.status-icon-wrap.fail-bg.svelte-ggy6pw{background:var(--fail-soft);color:var(--fail)}.h1-row.svelte-ggy6pw{display:flex;align-items:center;gap:.75rem;margin-bottom:.2rem}.run-name-badge.svelte-ggy6pw{display:inline-flex;align-items:center;font-size:.75rem;font-weight:500;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:var(--radius-pill);padding:.25rem .7rem;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis;margin-top:3px}h1.svelte-ggy6pw{font-size:2rem;margin-bottom:0}.header-meta.svelte-ggy6pw{font-size:.8125rem;color:var(--text-muted);display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.meta-sep.svelte-ggy6pw{opacity:.4}.mono.svelte-ggy6pw{font-family:JetBrains Mono,monospace;font-size:.78rem}.browser-pill.svelte-ggy6pw{display:inline-flex;align-items:center;gap:.3rem;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:500;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.1rem .45rem}.header-stats.svelte-ggy6pw{display:flex;gap:1.5rem;align-items:flex-start;flex-shrink:0}.stat.svelte-ggy6pw{display:flex;flex-direction:column;align-items:center;gap:.15rem}.stat-num.svelte-ggy6pw{font-family:var(--font-display);font-size:1.75rem;line-height:1;font-weight:400;color:var(--text)}.stat-label.svelte-ggy6pw{display:inline-flex;align-items:center;gap:.25rem;font-size:.68rem;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.pass-color.svelte-ggy6pw{color:var(--pass)}.fail-color.svelte-ggy6pw{color:var(--fail)}.muted-color.svelte-ggy6pw{color:var(--text-muted)}.group-header.svelte-ggy6pw{display:flex;align-items:center;gap:.4rem;padding-bottom:.4rem;margin-top:1.75rem;margin-bottom:.75rem;font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.group-header.svelte-ggy6pw:first-child{margin-top:0}.group-icon.svelte-ggy6pw{flex-shrink:0;opacity:.7}.runner-group-header.svelte-ggy6pw{font-size:.78rem;font-weight:600;color:var(--text)}.worker-group-header.svelte-ggy6pw{font-size:.7rem;font-weight:500;color:var(--text-muted)}.feature.svelte-ggy6pw{margin-bottom:1.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-top-width:3px;border-radius:var(--radius-lg);overflow:hidden;animation:fadeUp .35s var(--ease-out) both}.feature-pass.svelte-ggy6pw{border-top-color:var(--pass)}.feature-fail.svelte-ggy6pw{border-top-color:var(--fail)}.feature-header.svelte-ggy6pw{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.feature-icon.svelte-ggy6pw{flex-shrink:0;color:var(--text-muted);opacity:.7}.feature-name.svelte-ggy6pw{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-family:var(--font-display);font-weight:400;flex:1;min-width:0}.feature-right.svelte-ggy6pw{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.feature-file.svelte-ggy6pw{font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--text-muted)}.suite-tag.svelte-ggy6pw{font-size:.65rem;font-family:JetBrains Mono,monospace;background:var(--accent-soft);color:var(--accent);padding:.1rem .4rem;border-radius:var(--radius-pill);font-weight:500}.scenarios.svelte-ggy6pw{display:flex;flex-direction:column;padding:.5rem;gap:.25rem}.scenario.svelte-ggy6pw{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);overflow:hidden;animation:fadeUp .3s var(--ease-out) both}.scenario.scenario-fail.svelte-ggy6pw{border-left-width:3px;border-left-color:var(--fail)}.scenario-row.svelte-ggy6pw{display:flex;align-items:stretch}.scenario-header.svelte-ggy6pw{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;flex:1;min-width:0;background:transparent;border:none;cursor:pointer;text-align:left;font-family:var(--font-body);transition:background var(--duration-fast)}.scenario-header.svelte-ggy6pw:hover{background:var(--bg-subtle)}.replay-btn.svelte-ggy6pw{display:inline-flex;align-items:center;gap:.3rem;padding:0 .875rem;font-family:var(--font-body);font-size:.72rem;font-weight:500;color:var(--accent);background:transparent;border:none;border-left:1px solid var(--border);cursor:pointer;flex-shrink:0;transition:background var(--duration-fast);white-space:nowrap}.replay-btn.svelte-ggy6pw:hover{background:var(--accent-soft)}.replay-btn-sm.svelte-ggy6pw{margin-left:auto;padding:.15rem .5rem;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:var(--radius-sm);font-size:.68rem}.scenario-name.svelte-ggy6pw{flex:1;font-size:.875rem;color:var(--text);font-weight:400;text-align:left;display:inline-flex;align-items:center;gap:.4rem;min-width:0}.scenario-count.svelte-ggy6pw{font-size:.65rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.05rem .4rem;white-space:nowrap}.scenario-tags.svelte-ggy6pw{display:flex;gap:.25rem;flex-shrink:0}.scenario-duration.svelte-ggy6pw{font-size:.75rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;flex-shrink:0}.chevron.svelte-ggy6pw{color:var(--text-muted);flex-shrink:0;transition:transform var(--duration-fast) var(--ease-out)}.chevron.rotated.svelte-ggy6pw{transform:rotate(90deg)}.steps.svelte-ggy6pw{border-top:1px solid var(--border);background:var(--bg-subtle);padding:.5rem 0}.example-header.svelte-ggy6pw{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem .25rem 1.25rem;color:var(--text-muted);font-size:.72rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.example-header.svelte-ggy6pw:not(:first-child){margin-top:.375rem;border-top:1px dashed var(--border)}.example-header.svelte-ggy6pw .scenario-duration:where(.svelte-ggy6pw){margin-left:auto}.step.svelte-ggy6pw{padding:.375rem 1rem .375rem 1.25rem}.step-fail.svelte-ggy6pw{background:color-mix(in srgb,var(--fail-soft) 40%,transparent)}.step-skip.svelte-ggy6pw{opacity:.5}.step-row.svelte-ggy6pw{display:flex;align-items:baseline;gap:.5rem}.step-name.svelte-ggy6pw{flex:1;font-size:.8125rem;color:var(--text);font-family:JetBrains Mono,monospace}.step-duration.svelte-ggy6pw{font-size:.7rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;flex-shrink:0}.step-error.svelte-ggy6pw{margin:.375rem 0 .25rem 1.75rem;padding:.625rem .875rem;background:var(--fail-soft);color:var(--fail);border-radius:var(--radius-sm);font-family:JetBrains Mono,monospace;font-size:.75rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;border-left:2px solid var(--fail)}.step-datatable.svelte-ggy6pw{margin:.375rem 0 .25rem 1.75rem;border-collapse:collapse;font-family:JetBrains Mono,monospace;font-size:.75rem}.step-datatable.svelte-ggy6pw td:where(.svelte-ggy6pw){padding:.35rem .7rem;border:1px solid var(--border);color:var(--text)}.step-datatable-header.svelte-ggy6pw td:where(.svelte-ggy6pw){background:var(--bg-subtle);color:var(--text-muted);font-weight:600}.loading-state.svelte-ggy6pw{display:flex;justify-content:center;padding:4rem 0}.loading-dots.svelte-ggy6pw{display:flex;gap:6px;align-items:center}.loading-dots.svelte-ggy6pw span:where(.svelte-ggy6pw){width:8px;height:8px;border-radius:50%;background:var(--accent);animation:svelte-ggy6pw-dotBeat 1.2s ease-in-out infinite}.loading-dots.svelte-ggy6pw span:where(.svelte-ggy6pw):nth-child(2){animation-delay:.2s}.loading-dots.svelte-ggy6pw span:where(.svelte-ggy6pw):nth-child(3){animation-delay:.4s}@keyframes svelte-ggy6pw-dotBeat{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}.error-state.svelte-ggy6pw{padding:3rem 0;color:var(--fail);text-align:center;font-size:.9375rem}.logs-section.svelte-ggy6pw{margin-bottom:1.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;animation:fadeUp .35s var(--ease-out) both}.logs-summary.svelte-ggy6pw{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.25rem;font-size:.875rem;font-weight:500;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.logs-summary.svelte-ggy6pw::-webkit-details-marker{display:none}.logs-summary.svelte-ggy6pw:hover{background:var(--bg-subtle)}.log-runner-count.svelte-ggy6pw{margin-left:auto;font-size:.7rem;font-weight:500;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.1rem .5rem}.log-tabs.svelte-ggy6pw{display:flex;gap:0;border-bottom:1px solid var(--border);background:var(--bg-subtle);overflow-x:auto}.log-tab.svelte-ggy6pw{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.78rem;font-weight:500;font-family:var(--font-body);color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color var(--duration-fast)}.log-tab.svelte-ggy6pw:hover{color:var(--text)}.log-tab-active.svelte-ggy6pw{color:var(--text);border-bottom-color:var(--accent)}.logs-body.svelte-ggy6pw{font-family:JetBrains Mono,Fira Code,Cascadia Code,Courier New,monospace;font-size:.775rem;line-height:1.7;background:var(--terminal-bg);color:var(--terminal-text);padding:1rem 1.25rem;max-height:480px;overflow-y:auto;white-space:pre-wrap;word-break:break-word;margin:0;border-top:1px solid var(--border)}.logs-body.svelte-ggy6pw::-webkit-scrollbar{width:4px}.logs-body.svelte-ggy6pw::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.replay-overlay.svelte-ggy6pw{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-elevated);display:flex;z-index:500}.replay-modal.svelte-ggy6pw{background:var(--bg-elevated);width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden auto;box-shadow:0 24px 64px #00000080}.replay-modal-header.svelte-ggy6pw{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;border-bottom:1px solid var(--border);gap:1rem;flex-shrink:0}.replay-modal-title.svelte-ggy6pw{font-size:.875rem;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-close.svelte-ggy6pw{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;border-radius:var(--radius-sm);flex-shrink:0;transition:color var(--duration-fast)}.replay-close.svelte-ggy6pw:hover{color:var(--text)}.replay-body.svelte-ggy6pw{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}
@@ -0,0 +1,6 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ .page-header.svelte-1b139ls{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.page-header.svelte-1b139ls h1:where(.svelte-1b139ls){font-size:2.5rem}.settings-layout.svelte-1b139ls{display:grid;grid-template-columns:200px 1fr;gap:3rem;align-items:start}.settings-sidebar.svelte-1b139ls{position:sticky;top:72px}.settings-sidebar.svelte-1b139ls nav:where(.svelte-1b139ls){display:flex;flex-direction:column;gap:.125rem}.sidebar-item.svelte-1b139ls{display:block;width:100%;text-align:left;padding:.45rem .75rem;font-family:var(--font-body);font-size:.875rem;font-weight:400;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.sidebar-item.svelte-1b139ls:hover{background:var(--bg-subtle);color:var(--text)}.sidebar-item.active.svelte-1b139ls{background:var(--accent-soft);color:var(--accent);font-weight:500}.settings-content.svelte-1b139ls{min-width:0}.content-section.svelte-1b139ls{display:flex;flex-direction:column;gap:1.25rem}.content-header.svelte-1b139ls{margin-bottom:.25rem}.content-header.svelte-1b139ls h2:where(.svelte-1b139ls){font-size:1.1rem;font-weight:500;font-family:var(--font-body);color:var(--text);margin-bottom:.25rem}.content-desc.svelte-1b139ls{font-size:.875rem;color:var(--text-muted);line-height:1.5}.settings-card.svelte-1b139ls{display:flex;flex-direction:column;gap:1.25rem}.field-label.svelte-1b139ls{display:flex;align-items:baseline;gap:.5rem;font-size:.8125rem;font-weight:500;color:var(--text)}.field-hint.svelte-1b139ls{font-size:.75rem;font-weight:400;color:var(--text-muted)}.logo-preview.svelte-1b139ls{display:flex;flex-direction:column;gap:.5rem}.preview-label.svelte-1b139ls{font-size:.75rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.logo-img.svelte-1b139ls{max-height:56px;max-width:200px;object-fit:contain;border-radius:var(--radius-sm)}.card-footer.svelte-1b139ls{padding-top:.125rem}.toggle-row.svelte-1b139ls{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.875rem 1rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm)}.toggle-info.svelte-1b139ls{display:flex;flex-direction:column;gap:.2rem}.toggle-label.svelte-1b139ls{font-size:.875rem;font-weight:500;color:var(--text)}.toggle-desc.svelte-1b139ls{font-size:.78rem;color:var(--text-muted);line-height:1.4}.toggle-switch.svelte-1b139ls{flex-shrink:0;width:40px;height:22px;border-radius:var(--radius-pill);border:none;background:var(--border);cursor:pointer;position:relative;transition:background .2s var(--ease-out)}.toggle-switch.on.svelte-1b139ls{background:var(--accent)}.toggle-thumb.svelte-1b139ls{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s var(--ease-out);box-shadow:0 1px 3px #0003}.toggle-switch.on.svelte-1b139ls .toggle-thumb:where(.svelte-1b139ls){transform:translate(18px)}.runner-cards.svelte-1b139ls{display:flex;flex-direction:column;gap:.625rem}.runner-card.svelte-1b139ls{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.375rem;transition:border-color var(--duration-fast)}.runner-card.svelte-1b139ls:hover{border-color:color-mix(in srgb,var(--text-muted) 40%,var(--border))}.runner-card.editing.svelte-1b139ls{border-color:var(--accent);background:var(--accent-soft);gap:.875rem;padding:1rem}.runner-card-header.svelte-1b139ls{display:flex;align-items:center;gap:.5rem}.runner-card-icon.svelte-1b139ls{color:var(--node);flex-shrink:0}.runner-card-name.svelte-1b139ls{font-size:.875rem;font-weight:500;color:var(--text);flex:1}.runner-browser-pill.svelte-1b139ls{font-size:.65rem;font-family:JetBrains Mono,monospace;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.1rem .45rem;flex-shrink:0}.runner-card-url.svelte-1b139ls{font-size:.75rem;font-family:JetBrains Mono,monospace;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:calc(13px + .5rem)}.runner-card-actions.svelte-1b139ls{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;padding-left:calc(13px + .5rem);margin-top:.125rem}.ping-badge.svelte-1b139ls{font-size:.7rem;font-weight:500;padding:.15rem .5rem;border-radius:var(--radius-pill);flex-shrink:0}.ping-badge.ok.svelte-1b139ls{background:var(--pass-soft);color:var(--pass)}.ping-badge.fail.svelte-1b139ls{background:var(--fail-soft);color:var(--fail)}.ping-badge.pinging.svelte-1b139ls{color:var(--text-muted)}.runner-form.svelte-1b139ls{border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;display:flex;flex-direction:column;gap:.875rem;background:var(--bg-subtle)}.runner-form-title.svelte-1b139ls{font-size:.8125rem;font-weight:500;color:var(--text)}.runner-form-fields.svelte-1b139ls{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.runner-form-actions.svelte-1b139ls{display:flex;gap:.5rem}.card-disabled.svelte-1b139ls{opacity:.5;pointer-events:none}.backup-row.svelte-1b139ls{display:flex;gap:2rem}.backup-block.svelte-1b139ls{flex:1;display:flex;flex-direction:column;gap:.875rem}.backup-divider.svelte-1b139ls{width:1px;background:var(--border);flex-shrink:0}.backup-block-title.svelte-1b139ls{font-size:.875rem;font-weight:500;color:var(--text)}.backup-block-desc.svelte-1b139ls{font-size:.8125rem;color:var(--text-muted);line-height:1.6}.backup-block-desc.svelte-1b139ls code:where(.svelte-1b139ls){font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);padding:.1em .3em;border-radius:3px}.include-reports-row.svelte-1b139ls{display:flex;align-items:center;gap:1.25rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.include-reports-row.svelte-1b139ls .backup-toggle-label:where(.svelte-1b139ls){flex:1}.include-reports-row.svelte-1b139ls .field-label:where(.svelte-1b139ls)>span:where(.svelte-1b139ls){display:flex;flex-direction:column;gap:.15rem}.backup-disclaimer.svelte-1b139ls{margin-top:1rem;padding:.625rem .875rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--text-muted);line-height:1.5}.backup-actions.svelte-1b139ls{display:flex;gap:.625rem;margin-top:.25rem;flex-wrap:wrap}.s3-test-result.svelte-1b139ls{margin-top:.625rem;font-size:.8125rem;font-weight:500}.s3-test-success.svelte-1b139ls{color:var(--pass)}.s3-test-error.svelte-1b139ls{color:var(--fail)}.card-title-row.svelte-1b139ls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.card-title-row.svelte-1b139ls .card-title:where(.svelte-1b139ls){margin-bottom:0}.s3-backup-list.svelte-1b139ls{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.s3-backup-row.svelte-1b139ls{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.625rem .875rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm)}.s3-backup-info.svelte-1b139ls{display:flex;flex-direction:column;gap:.2rem;min-width:0}.s3-backup-key.svelte-1b139ls{font-family:JetBrains Mono,monospace;font-size:.8125rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s3-backup-meta.svelte-1b139ls{font-size:.75rem;color:var(--text-muted)}.backup-last-run.svelte-1b139ls{font-size:.8125rem;color:var(--text-muted);margin-top:.25rem}.status-success.svelte-1b139ls{color:var(--pass)}.status-error.svelte-1b139ls{color:var(--fail)}.backup-toggle-label.svelte-1b139ls{display:flex;align-items:center;justify-content:space-between;cursor:default}.toggle-btn.svelte-1b139ls{flex-shrink:0;width:40px;height:22px;border-radius:var(--radius-pill);border:none;background:var(--border);cursor:pointer;position:relative;transition:background .2s var(--ease-out)}.toggle-btn.active.svelte-1b139ls{background:var(--accent)}.toggle-btn.svelte-1b139ls .toggle-thumb:where(.svelte-1b139ls){position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s var(--ease-out);box-shadow:0 1px 3px #0003}.toggle-btn.active.svelte-1b139ls .toggle-thumb:where(.svelte-1b139ls){transform:translate(18px)}.field-input-mono.svelte-1b139ls{font-family:JetBrains Mono,monospace;font-size:.8125rem}.import-row.svelte-1b139ls{display:flex;align-items:center;gap:.625rem}.file-label.svelte-1b139ls{cursor:pointer}.file-input-hidden.svelte-1b139ls{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-btn.svelte-1b139ls{display:inline-flex;align-items:center;height:34px;padding:0 .875rem;font-size:.8125rem;font-family:inherit;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis;transition:background var(--duration-fast),border-color var(--duration-fast)}.file-label.svelte-1b139ls:hover .file-btn:where(.svelte-1b139ls){border-color:var(--text-muted);background:var(--bg-subtle)}.field-row.svelte-1b139ls{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.mono.svelte-1b139ls{font-family:JetBrains Mono,monospace!important;font-size:.8125rem!important}.code-sample.svelte-1b139ls{font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);padding:.1em .3em;border-radius:3px}.link-btn.svelte-1b139ls{font:inherit;color:var(--accent);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline}.account-info.svelte-1b139ls{display:flex;flex-direction:column;gap:.2rem}.account-name.svelte-1b139ls{font-size:.9375rem;font-weight:500;color:var(--text)}.account-email.svelte-1b139ls{font-size:.8125rem;color:var(--text-muted)}.form-error.svelte-1b139ls{font-size:.8125rem;color:var(--fail)}@media (max-width: 640px){.settings-layout.svelte-1b139ls{grid-template-columns:1fr;gap:1.5rem}.settings-sidebar.svelte-1b139ls{position:static}.settings-sidebar.svelte-1b139ls nav:where(.svelte-1b139ls){flex-direction:row;flex-wrap:wrap}.backup-row.svelte-1b139ls{flex-direction:column}.backup-divider.svelte-1b139ls{width:100%;height:1px}.runner-form-fields.svelte-1b139ls,.field-row.svelte-1b139ls{grid-template-columns:1fr}}.users-table.svelte-1b139ls{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.user-row.svelte-1b139ls{display:flex;align-items:center;gap:.75rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem 1rem}.user-info.svelte-1b139ls{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.user-name.svelte-1b139ls{font-size:.9rem;font-weight:500;color:var(--text)}.user-email.svelte-1b139ls{font-size:.8rem;color:var(--text-muted)}.role-chip.svelte-1b139ls{font-size:.7rem;font-weight:500;border-radius:var(--radius-pill);padding:.15rem .55rem;flex-shrink:0}.role-chip.admin.svelte-1b139ls{background:var(--accent-soft);color:var(--accent)}.role-chip.user.svelte-1b139ls{background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border)}.you-chip.svelte-1b139ls{font-size:.7rem;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.15rem .55rem;flex-shrink:0}.mcp-key-row.svelte-1b139ls{display:flex;align-items:center;gap:.375rem}.mcp-key-input.svelte-1b139ls{flex:1;font-family:JetBrains Mono,monospace;font-size:.8125rem;min-width:0}.mcp-regen-note.svelte-1b139ls{font-size:.78rem;color:var(--text-muted)}.mcp-snippet.svelte-1b139ls{font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.875rem 1rem;white-space:pre;overflow-x:auto;color:var(--text);line-height:1.6;margin:0}.icon-btn.svelte-1b139ls{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;color:var(--text-muted);transition:background var(--duration-fast),color var(--duration-fast);flex-shrink:0}.icon-btn.danger.svelte-1b139ls:hover{background:var(--fail-soft);color:var(--fail)}
@@ -0,0 +1,6 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ .switch.svelte-a6h7w7.svelte-a6h7w7.svelte-a6h7w7{height:1em;display:flex;align-items:center}.switch.disabled.svelte-a6h7w7.svelte-a6h7w7.svelte-a6h7w7{opacity:.5}.label.svelte-a6h7w7.svelte-a6h7w7.svelte-a6h7w7{margin:0 8px}.switch.svelte-a6h7w7 input[type=checkbox].svelte-a6h7w7.svelte-a6h7w7{position:absolute;opacity:0}.switch.svelte-a6h7w7 label.svelte-a6h7w7.svelte-a6h7w7{width:2em;height:1em;position:relative;cursor:pointer;display:block}.switch.disabled.svelte-a6h7w7 label.svelte-a6h7w7.svelte-a6h7w7{cursor:not-allowed}.switch.svelte-a6h7w7 label.svelte-a6h7w7.svelte-a6h7w7:before{content:"";position:absolute;width:2em;height:1em;left:.1em;transition:background .1s ease;background:#4950f680;border-radius:50px}.switch.svelte-a6h7w7 label.svelte-a6h7w7.svelte-a6h7w7:after{content:"";position:absolute;width:1em;height:1em;border-radius:50px;left:0;transition:all .2s ease;box-shadow:0 2px 5px #0000004d;background:#fcfff4;animation:switch-off .2s ease-out;z-index:2}.switch.svelte-a6h7w7 input[type=checkbox].svelte-a6h7w7:checked+label.svelte-a6h7w7:before{background:#4950f6}.switch.svelte-a6h7w7 input[type=checkbox].svelte-a6h7w7:checked+label.svelte-a6h7w7:after{animation:switch-on .2s ease-out;left:1.1em}.rr-controller.svelte-189zk2r.svelte-189zk2r{width:100%;height:80px;background:#fff;display:flex;flex-direction:column;justify-content:space-around;align-items:center;border-radius:0 0 5px 5px}.rr-timeline.svelte-189zk2r.svelte-189zk2r{width:80%;display:flex;align-items:center}.rr-timeline__time.svelte-189zk2r.svelte-189zk2r{display:inline-block;width:100px;text-align:center;color:#11103e}.rr-progress.svelte-189zk2r.svelte-189zk2r{flex:1;height:12px;background:#eee;position:relative;border-radius:3px;cursor:pointer;box-sizing:border-box;border-top:solid 4px #fff;border-bottom:solid 4px #fff}.rr-progress.disabled.svelte-189zk2r.svelte-189zk2r{cursor:not-allowed}.rr-progress__step.svelte-189zk2r.svelte-189zk2r{height:100%;position:absolute;left:0;top:0;background:#e0e1fe}.rr-progress__handler.svelte-189zk2r.svelte-189zk2r{width:20px;height:20px;border-radius:10px;position:absolute;top:2px;transform:translate(-50%,-50%);background:#4950f6}.rr-controller__btns.svelte-189zk2r.svelte-189zk2r{display:flex;align-items:center;justify-content:center;font-size:13px}.rr-controller__btns.svelte-189zk2r button.svelte-189zk2r{width:32px;height:32px;display:flex;padding:0;align-items:center;justify-content:center;background:none;border:none;border-radius:50%;cursor:pointer}.rr-controller__btns.svelte-189zk2r button.svelte-189zk2r:active{background:#e0e1fe}.rr-controller__btns.svelte-189zk2r button.active.svelte-189zk2r{color:#fff;background:#4950f6}.rr-controller__btns.svelte-189zk2r button.svelte-189zk2r:disabled{cursor:not-allowed}.replayer-wrapper{position:relative}.replayer-mouse{position:absolute;width:20px;height:20px;transition:left .05s linear,top .05s linear;background-size:contain;background-position:center center;background-repeat:no-repeat;background-image:url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9JzMwMHB4JyB3aWR0aD0nMzAwcHgnICBmaWxsPSIjMDAwMDAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGRhdGEtbmFtZT0iTGF5ZXIgMSIgdmlld0JveD0iMCAwIDUwIDUwIiB4PSIwcHgiIHk9IjBweCI+PHRpdGxlPkRlc2lnbl90bnA8L3RpdGxlPjxwYXRoIGQ9Ik00OC43MSw0Mi45MUwzNC4wOCwyOC4yOSw0NC4zMywxOEExLDEsMCwwLDAsNDQsMTYuMzlMMi4zNSwxLjA2QTEsMSwwLDAsMCwxLjA2LDIuMzVMMTYuMzksNDRhMSwxLDAsMCwwLDEuNjUuMzZMMjguMjksMzQuMDgsNDIuOTEsNDguNzFhMSwxLDAsMCwwLDEuNDEsMGw0LjM4LTQuMzhBMSwxLDAsMCwwLDQ4LjcxLDQyLjkxWm0tNS4wOSwzLjY3TDI5LDMyYTEsMSwwLDAsMC0xLjQxLDBsLTkuODUsOS44NUwzLjY5LDMuNjlsMzguMTIsMTRMMzIsMjcuNThBMSwxLDAsMCwwLDMyLDI5TDQ2LjU5LDQzLjYyWiI+PC9wYXRoPjwvc3ZnPg==);border-color:transparent}.replayer-mouse:after{content:"";display:inline-block;width:20px;height:20px;background:#4950f6;border-radius:100%;transform:translate(-50%,-50%);opacity:.3}.replayer-mouse.active:after{animation:click .2s ease-in-out 1}.replayer-mouse.touch-device{background-image:none;width:70px;height:70px;border-width:4px;border-style:solid;border-radius:100%;margin-left:-37px;margin-top:-37px;border-color:#4950f600;transition:left 0s linear,top 0s linear,border-color .2s ease-in-out}.replayer-mouse.touch-device.touch-active{border-color:#4950f6;transition:left .25s linear,top .25s linear,border-color .2s ease-in-out}.replayer-mouse.touch-device:after{opacity:0}.replayer-mouse.touch-device.active:after{animation:touch-click .2s ease-in-out 1}.replayer-mouse-tail{position:absolute;pointer-events:none}@keyframes click{0%{opacity:.3;width:20px;height:20px}50%{opacity:.5;width:10px;height:10px}}@keyframes touch-click{0%{opacity:0;width:20px;height:20px}50%{opacity:.5;width:10px;height:10px}}.rr-player{position:relative;background:#fff;float:left;border-radius:5px;box-shadow:0 24px 48px #11103e1f}.rr-player__frame{overflow:hidden}.replayer-wrapper{float:left;clear:both;transform-origin:top left;left:50%;top:50%}.replayer-wrapper>iframe{border:none}.back-row.svelte-1qfuc04{margin-bottom:1.5rem}.back-link.svelte-1qfuc04{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;color:var(--text-muted);text-decoration:none;transition:color var(--duration-fast)}.back-link.svelte-1qfuc04:hover{color:var(--text)}
@@ -0,0 +1,6 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ :root{--bg: #fdfcfb;--bg-subtle: #f7f6f4;--bg-elevated: #ffffff;--border: #e9e5df;--text: #18160f;--text-muted: #9c9185;--accent: #5c1b87;--accent-soft: #f3eaff;--pass: #16a34a;--pass-soft: #dcfce7;--fail: #dc2626;--fail-soft: #fee2e2;--warn: #d97706;--warn-soft: #fef3c7;--node: #0284c7;--node-soft: #e0f2fe;--external: #0d9488;--external-soft: #ccfbf1;--terminal-bg: #0d0c08;--terminal-text: #d6d0c8;--code-tag: #7dd3fc;--code-attr: #fbbf24;--code-string: #86efac;--code-comment: #9ca3af;--font-display: "Playfair Display", Georgia, serif;--font-body: "DM Sans", system-ui, -apple-system, sans-serif;--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .14s;--duration-base: .24s;--duration-slow: .4s;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-pill: 100px;--white: #ffffff;--bottom-bar-height: 55px}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes dotPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.65)}}[data-theme=dark]{--bg: #101009;--bg-subtle: #1a1910;--bg-elevated: #201f14;--border: #2e2c1e;--text: #f0ede6;--text-muted: #706a5e;--accent: #d0a5f5;--accent-soft: #1b0d30;--pass: #22c55e;--pass-soft: #0d2118;--fail: #f87171;--fail-soft: #2d1010;--warn: #fbbf24;--warn-soft: #2a1f06;--node: #38bdf8;--node-soft: #082032;--external: #2dd4bf;--external-soft: #0f2e2b;--terminal-bg: #080807;--terminal-text: #cbc5bd}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:300;font-size:1rem;line-height:1.65;background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.07'/%3E%3C/svg%3E");background-size:200px 200px;color:var(--text);-webkit-font-smoothing:antialiased;transition:background-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}h1{font-family:var(--font-display);font-weight:400;line-height:1.1;letter-spacing:-.015em;color:var(--text)}h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.2;color:var(--text)}a{color:inherit;text-decoration:none}button{font-family:var(--font-body)}.field{display:flex;flex-direction:column;gap:.375rem}.field-label{display:flex;justify-content:space-between;font-size:.8125rem;font-weight:400;color:var(--text-muted)}.field-hint{font-size:.75rem;color:var(--text-muted)}.field-input{width:100%;padding:.6rem .875rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);color:var(--text);font-family:var(--font-body);font-size:.875rem;font-weight:300;outline:none;appearance:none;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.field-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-input:disabled{opacity:.5;cursor:not-allowed}.field-input::placeholder{color:var(--text-muted)}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{text-align:left;padding:.5rem 1rem;font-family:var(--font-body);font-weight:500;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border)}.data-table td{padding:.875rem 1rem;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;transition:background var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.card-title{font-family:var(--font-display);font-size:1.25rem;font-weight:400;color:var(--text);margin-bottom:.25rem}.card-subtitle{font-size:.8125rem;color:var(--text-muted);margin-bottom:1.25rem}.alert{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:400}.alert-success{background:var(--pass-soft);color:var(--pass)}.alert-error{background:var(--fail-soft);color:var(--fail)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.nav.svelte-10t98u4{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--border);transition:background var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.inner.svelte-10t98u4{max-width:1200px;margin:0 auto;padding:0 1.5rem;height:56px;display:flex;align-items:center;gap:2rem}.brand.svelte-10t98u4{font-size:1.2rem;letter-spacing:-.02em;flex-shrink:0;text-decoration:none}.brand-serif.svelte-10t98u4{font-family:var(--font-display);font-weight:400;color:var(--accent)}.brand-sans.svelte-10t98u4{font-family:var(--font-body);font-weight:400;color:var(--text)}.project-card.svelte-10t98u4{display:flex;align-items:center;gap:.4rem;padding:.25rem .6rem .25rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);flex-shrink:0}.project-logo.svelte-10t98u4{width:16px;height:16px;object-fit:contain;border-radius:2px;flex-shrink:0}.project-name.svelte-10t98u4{font-size:.78rem;font-weight:500;color:var(--text);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.links.svelte-10t98u4{display:flex;gap:.125rem;flex:1}.link.svelte-10t98u4{font-size:.875rem;font-weight:400;color:var(--text-muted);text-decoration:none;padding:.35rem .75rem;border-radius:var(--radius-sm);transition:color var(--duration-fast),background var(--duration-fast)}.link.svelte-10t98u4:hover{color:var(--text);background:var(--bg-subtle)}.link.active.svelte-10t98u4{color:var(--accent);background:var(--accent-soft)}.nav-sep.svelte-10t98u4{display:block;width:1px;height:18px;background:var(--border);margin:0 .375rem;flex-shrink:0;align-self:center}.link.repo.svelte-10t98u4{border:1px solid var(--border);padding:.3rem .75rem}.link.repo.svelte-10t98u4:hover{border-color:var(--text-muted)}.link.repo.active.svelte-10t98u4{border-color:var(--accent)}.actions.svelte-10t98u4{display:flex;align-items:center;gap:.5rem;margin-left:auto}.nav-user.svelte-10t98u4{font-size:.8125rem;color:var(--text-muted);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 640px){.nav-user.svelte-10t98u4{display:none}}.settings-btn.svelte-10t98u4{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-muted);text-decoration:none;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast)}.settings-btn.svelte-10t98u4:hover{background:var(--bg-subtle);color:var(--text);border-color:var(--text-muted)}.settings-btn.active.svelte-10t98u4{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.hamburger.svelte-10t98u4{display:none;flex-direction:column;justify-content:center;gap:4px;width:34px;height:34px;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:0 8px}.hamburger.svelte-10t98u4 span:where(.svelte-10t98u4){display:block;width:100%;height:1.5px;background:var(--text-muted);border-radius:2px;transform-origin:center;transition:transform var(--duration-base) var(--ease-out),opacity var(--duration-fast)}.hamburger.svelte-10t98u4 span.rotated:where(.svelte-10t98u4){transform:translateY(5.5px) rotate(45deg)}.hamburger.svelte-10t98u4 span.hidden:where(.svelte-10t98u4){opacity:0}.hamburger.svelte-10t98u4 span.rotated-reverse:where(.svelte-10t98u4){transform:translateY(-5.5px) rotate(-45deg)}.mobile-menu.svelte-10t98u4{border-top:1px solid var(--border);padding:.75rem 1.5rem 1rem;display:flex;flex-direction:column;gap:.125rem}.mobile-link.svelte-10t98u4{color:var(--text-muted);text-decoration:none;font-size:.9375rem;font-weight:400;padding:.5rem .75rem;border-radius:var(--radius-sm);transition:background var(--duration-fast),color var(--duration-fast)}.mobile-link.svelte-10t98u4:hover,.mobile-link.active.svelte-10t98u4{background:var(--bg-subtle);color:var(--text)}.mobile-link.active.svelte-10t98u4{color:var(--accent);background:var(--accent-soft)}.mobile-sep.svelte-10t98u4{border:none;border-top:1px solid var(--border);margin:.375rem .75rem}@media (max-width: 640px){.links.svelte-10t98u4{display:none}.hamburger.svelte-10t98u4{display:flex}}.shell.svelte-28zx1m{max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem 5rem}.panel.svelte-1pcdei1{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--bg-elevated);border-top:1px solid var(--border);box-shadow:0 -4px 32px #00000012}.scan-line.svelte-1pcdei1{height:2px;background:var(--border);transition:background .5s ease;overflow:hidden;position:relative}.scan-line.scanning.svelte-1pcdei1{background:color-mix(in srgb,var(--accent) 30%,var(--border))}.scan-line.scanning.svelte-1pcdei1:after{content:"";position:absolute;inset:0;width:35%;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:svelte-1pcdei1-scan 1.8s ease-in-out infinite}.scan-line.line-pass.svelte-1pcdei1{background:var(--pass)}.scan-line.line-fail.svelte-1pcdei1{background:var(--fail)}@keyframes svelte-1pcdei1-scan{0%{transform:translate(-100%)}to{transform:translate(400%)}}.bar.svelte-1pcdei1{display:flex;align-items:center;height:52px;padding:0 1rem 0 1.25rem;gap:.75rem}.flex-gap.svelte-1pcdei1{flex:1}.flex-gap-sm.svelte-1pcdei1{width:.5rem}.bar-left.svelte-1pcdei1{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.bar-status.svelte-1pcdei1{display:flex;align-items:center;gap:.5rem}.status-dot.svelte-1pcdei1{width:7px;height:7px;border-radius:50%;flex-shrink:0;transition:background .4s ease}.status-dot.pulse.svelte-1pcdei1{animation:dotPulse 1.6s ease-in-out infinite}.status-word.svelte-1pcdei1{font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;transition:color .4s ease;white-space:nowrap}.view-report-btn.svelte-1pcdei1{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:500;color:var(--accent);text-decoration:none;white-space:nowrap;border:1px solid var(--accent);border-radius:var(--radius-sm);padding:.2rem .6rem;background:var(--accent-soft);transition:background var(--duration-fast),color var(--duration-fast)}.view-report-btn.svelte-1pcdei1:hover{background:var(--accent);color:var(--white)}.bar-center.svelte-1pcdei1{display:flex;align-items:center;gap:.625rem}.input-wrap.svelte-1pcdei1{position:relative;display:flex;align-items:center}.input-icon.svelte-1pcdei1{position:absolute;left:.6rem;color:var(--text-muted);pointer-events:none;opacity:.6}.tag-input.svelte-1pcdei1{height:28px;padding:0 .75rem 0 2rem;font-size:.8rem;font-family:JetBrains Mono,monospace;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;transition:border-color var(--duration-fast);width:200px}.tag-input.svelte-1pcdei1:focus{border-color:var(--accent)}.tag-input.svelte-1pcdei1::placeholder{color:var(--text-muted);opacity:.45}.tag-input.svelte-1pcdei1:disabled{opacity:.45}.ctrl-divider.svelte-1pcdei1{width:1px;height:24px;background:var(--border);flex-shrink:0}.ctrl-group.svelte-1pcdei1{display:flex;flex-direction:column;gap:2px}.ctrl-label.svelte-1pcdei1{font-size:.555rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);opacity:.65;line-height:1}.stepper.svelte-1pcdei1{display:flex;align-items:center;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.step-btn.svelte-1pcdei1{width:20px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:.875rem;font-weight:400;line-height:1;transition:color var(--duration-fast),background var(--duration-fast)}.step-btn.svelte-1pcdei1:hover:not(:disabled){color:var(--text);background:var(--bg-elevated)}.step-btn.svelte-1pcdei1:disabled{opacity:.3;cursor:default}.step-val.svelte-1pcdei1{min-width:20px;text-align:center;font-size:.78rem;font-weight:500;color:var(--text);font-family:JetBrains Mono,monospace;line-height:24px;border-left:1px solid var(--border);border-right:1px solid var(--border)}.dropdown-wrap.svelte-1pcdei1{position:relative}.dropdown-trigger.svelte-1pcdei1{display:inline-flex;align-items:center;gap:.3rem;height:24px;padding:0 .5rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.78rem;color:var(--text);cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast),color var(--duration-fast);white-space:nowrap}.dropdown-trigger.svelte-1pcdei1:hover:not(:disabled){border-color:color-mix(in srgb,var(--text-muted) 50%,var(--border))}.dropdown-trigger.open.svelte-1pcdei1{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.dropdown-trigger.has-remote.svelte-1pcdei1{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.dropdown-trigger.svelte-1pcdei1:disabled{opacity:.45;cursor:default}.trigger-chevron.svelte-1pcdei1{transition:transform .18s var(--ease-out);flex-shrink:0}.trigger-chevron.open.svelte-1pcdei1{transform:rotate(180deg)}.dropdown-menu.svelte-1pcdei1{position:absolute;bottom:calc(100% + 8px);left:0;min-width:130px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 28px #00000021;padding:.3rem;z-index:300;display:flex;flex-direction:column;gap:1px}.dropdown-item.svelte-1pcdei1{display:flex;align-items:center;gap:.5rem;width:100%;padding:.35rem .5rem;border:none;border-radius:var(--radius-sm);background:transparent;font-family:var(--font-body);font-size:.8125rem;color:var(--text);cursor:pointer;text-align:left;transition:background var(--duration-fast)}.dropdown-item.svelte-1pcdei1:hover{background:var(--bg-subtle)}.dropdown-item.active.svelte-1pcdei1{color:var(--accent)}.runners-menu.svelte-1pcdei1{min-width:160px}.runner-option.svelte-1pcdei1{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.8125rem;color:var(--text);transition:background var(--duration-fast)}.runner-option.svelte-1pcdei1:hover{background:var(--bg-subtle)}.runner-option.svelte-1pcdei1 input[type=checkbox]:where(.svelte-1pcdei1){accent-color:var(--accent);width:13px;height:13px;cursor:pointer;flex-shrink:0}.runner-dot.svelte-1pcdei1{width:6px;height:6px;border-radius:50%;flex-shrink:0}.runner-dot.built-in.svelte-1pcdei1{background:var(--accent)}.runner-dot.remote.svelte-1pcdei1{background:var(--pass)}.run-btn.svelte-1pcdei1{display:inline-flex;align-items:center;gap:.4rem;height:30px;padding:0 .875rem;background:var(--accent);color:var(--white);border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.8125rem;font-weight:500;cursor:pointer;transition:opacity var(--duration-fast);flex-shrink:0}.run-btn.svelte-1pcdei1:hover:not(:disabled){opacity:.88}.run-btn.svelte-1pcdei1:disabled{opacity:.6;cursor:default}@keyframes svelte-1pcdei1-spin{to{transform:rotate(360deg)}}.notify-toggles.svelte-1pcdei1{display:flex;gap:.25rem}.notify-btn.svelte-1pcdei1{height:26px;padding:0 .5rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:.75rem;font-family:inherit;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast)}.notify-btn.svelte-1pcdei1:hover:not(:disabled){color:var(--text);border-color:var(--text-muted)}.notify-btn.active.svelte-1pcdei1{background:var(--accent);border-color:var(--accent);color:var(--white)}.notify-btn.svelte-1pcdei1:disabled{opacity:.4;cursor:default}.expand-btn.svelte-1pcdei1{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast);flex-shrink:0}.expand-btn.svelte-1pcdei1:hover{background:var(--bg-subtle);color:var(--text);border-color:var(--text-muted)}.expand-btn.svelte-1pcdei1 svg:where(.svelte-1pcdei1){transition:transform .2s var(--ease-out)}.expand-btn.svelte-1pcdei1 svg.flipped:where(.svelte-1pcdei1){transform:rotate(180deg)}.body.svelte-1pcdei1{border-top:1px solid var(--border);padding:.625rem 1.25rem;display:flex;flex-direction:column;gap:.375rem;min-height:72px}.run-card.svelte-1pcdei1{display:flex;align-items:center;gap:.75rem;padding:.625rem .875rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);color:inherit;transition:background var(--duration-fast),border-color var(--duration-fast)}.run-card.svelte-1pcdei1:hover{background:var(--bg-elevated);border-color:var(--accent)}.run-card.active-run.svelte-1pcdei1{border-left:3px solid var(--accent)}.run-card.queued-run.svelte-1pcdei1{border-left:3px solid var(--warn)}.run-card-main.svelte-1pcdei1{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0;text-decoration:none;color:inherit}.run-card-cancel.svelte-1pcdei1{display:flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast),border-color var(--duration-fast)}.run-card-cancel.svelte-1pcdei1:hover{color:var(--fail);border-color:var(--fail)}.run-card-dot.svelte-1pcdei1{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--border)}.pulse-accent.svelte-1pcdei1{background:var(--accent);animation:dotPulse 1.6s ease-in-out infinite}.queued-dot.svelte-1pcdei1{background:var(--warn)}.run-card-info.svelte-1pcdei1{display:flex;flex-direction:column;gap:.1rem;flex:1;min-width:0}.run-card-label.svelte-1pcdei1{font-size:.8125rem;font-weight:500;color:var(--text)}.run-card-meta.svelte-1pcdei1{font-size:.72rem;font-family:JetBrains Mono,monospace;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta-dot.svelte-1pcdei1{opacity:.4;margin:0 .15rem}.run-card-arrow.svelte-1pcdei1{color:var(--text-muted);flex-shrink:0;transition:transform var(--duration-fast) var(--ease-out),color var(--duration-fast)}.run-card.svelte-1pcdei1:hover .run-card-arrow:where(.svelte-1pcdei1){transform:translate(3px);color:var(--accent)}.empty-runs.svelte-1pcdei1{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 0;color:var(--text-muted);font-size:.8125rem}.empty-icon.svelte-1pcdei1{opacity:.4}.run-chip.svelte-1pcdei1{display:inline-flex;align-items:center;gap:.4rem;height:28px;padding:0 .5rem 0 .625rem;background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--accent);font-size:.78rem;white-space:nowrap;max-width:200px}.run-chip-title.svelte-1pcdei1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.run-chip-count.svelte-1pcdei1{font-size:.65rem;font-weight:600;letter-spacing:.04em;opacity:.75;white-space:nowrap;flex-shrink:0}.run-chip-count.none.svelte-1pcdei1{color:var(--fail);opacity:1}.run-chip-spinner.svelte-1pcdei1{width:9px;height:9px;border:1.5px solid color-mix(in srgb,var(--accent) 35%,transparent);border-top-color:var(--accent);border-radius:50%;animation:svelte-1pcdei1-spin .65s linear infinite;flex-shrink:0}.run-chip-clear.svelte-1pcdei1{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:transparent;color:var(--accent);cursor:pointer;border-radius:2px;opacity:.7;padding:0;flex-shrink:0;transition:opacity var(--duration-fast)}.run-chip-clear.svelte-1pcdei1:hover{opacity:1}.run-pick-menu.svelte-1pcdei1{min-width:180px;max-height:240px;overflow-y:auto}.dropdown-divider.svelte-1pcdei1{height:1px;background:var(--border);margin:.25rem 0}.dropdown-empty.svelte-1pcdei1{font-size:.8125rem;color:var(--text-muted);padding:.35rem .5rem;text-align:center;opacity:.7}.boot-loading.svelte-3qbr79{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--text-muted);font-size:.875rem}
@@ -0,0 +1,6 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ .loading-state.svelte-1x8emxr{font-size:.875rem;color:var(--text-muted);padding:3rem 0}.breadcrumb.svelte-1x8emxr{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-muted);margin-bottom:1.5rem}.bc-link.svelte-1x8emxr{color:var(--accent);text-decoration:none}.bc-link.svelte-1x8emxr:hover{text-decoration:underline}.bc-sep.svelte-1x8emxr{color:var(--border)}.bc-current.svelte-1x8emxr{color:var(--text-muted)}.suite-header.svelte-1x8emxr{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.suite-title-row.svelte-1x8emxr{display:flex;align-items:center;gap:.625rem;margin-bottom:.5rem;flex-wrap:wrap}.suite-title.svelte-1x8emxr{font-size:1.75rem;font-weight:600;color:var(--text)}.suite-desc.svelte-1x8emxr{font-size:.875rem;color:var(--text-muted);margin-bottom:.5rem;line-height:1.5}.suite-meta.svelte-1x8emxr{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-muted)}.meta-sep.svelte-1x8emxr{color:var(--border)}.workspace.svelte-1x8emxr{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:start}.workspace.split.svelte-1x8emxr{grid-template-columns:320px 1fr}.panel-toolbar.svelte-1x8emxr{display:flex;align-items:center;justify-content:space-between;margin-bottom:.875rem}.panel-title.svelte-1x8emxr{font-size:.9375rem;font-weight:500;color:var(--text)}.case-search.svelte-1x8emxr{position:relative;display:flex;align-items:center;margin-bottom:.625rem}.case-search-icon.svelte-1x8emxr{position:absolute;left:.6rem;color:var(--text-muted);pointer-events:none}.case-search-input.svelte-1x8emxr{width:100%;height:30px;padding:0 1.75rem 0 2rem;font-family:var(--font-body);font-size:.8125rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);outline:none;transition:border-color var(--duration-fast)}.case-search-input.svelte-1x8emxr::placeholder{color:var(--text-muted)}.case-search-input.svelte-1x8emxr:focus{border-color:var(--accent)}.case-search-input.svelte-1x8emxr::-webkit-search-cancel-button{display:none}.case-search-clear.svelte-1x8emxr{position:absolute;right:.5rem;display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:0}.case-search-clear.svelte-1x8emxr:hover{color:var(--text)}.case-no-results.svelte-1x8emxr{font-size:.8125rem;color:var(--text-muted);padding:1rem .25rem}.case-list.svelte-1x8emxr{display:flex;flex-direction:column;gap:.375rem}.cases-pagination.svelte-1x8emxr{margin-top:.875rem}.case-sort-bar.svelte-1x8emxr{display:flex;align-items:center;gap:.3rem;margin-bottom:.625rem;flex-wrap:wrap}.case-sort-chip.svelte-1x8emxr{display:flex;align-items:center;gap:.2rem;height:24px;padding:0 .5rem;font-family:var(--font-body);font-size:.75rem;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-pill);cursor:pointer;transition:color var(--duration-fast),border-color var(--duration-fast),background var(--duration-fast)}.case-sort-chip.svelte-1x8emxr:hover{color:var(--text);border-color:var(--accent)}.case-sort-chip.active.svelte-1x8emxr{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.case-sort-dir.svelte-1x8emxr{font-size:.65rem}.case-row.svelte-1x8emxr{display:flex;flex-direction:column;gap:.25rem;width:100%;text-align:left;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem;cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast)}.case-row.svelte-1x8emxr:hover{border-color:var(--accent)}.case-row.selected.svelte-1x8emxr{border-color:var(--accent);background:var(--accent-soft)}.case-row-top.svelte-1x8emxr{display:flex;align-items:center;gap:.375rem}.case-row-actions.svelte-1x8emxr{margin-left:auto;opacity:0;transition:opacity var(--duration-fast)}.case-row.svelte-1x8emxr:hover .case-row-actions:where(.svelte-1x8emxr){opacity:1}.case-title.svelte-1x8emxr{font-size:.875rem;color:var(--text);line-height:1.4}.case-steps.svelte-1x8emxr{font-size:.7rem;color:var(--text-muted)}.detail-panel.svelte-1x8emxr{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);overflow-y:auto;position:sticky;top:calc(56px + 1.5rem);max-height:calc(100vh - 56px - 3rem);padding-bottom:1.5rem}.detail-loading.svelte-1x8emxr{padding:2rem;font-size:.875rem;color:var(--text-muted)}.detail-header.svelte-1x8emxr{padding:1.25rem;border-bottom:1px solid var(--border)}.detail-title-row.svelte-1x8emxr{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.detail-header-actions.svelte-1x8emxr{margin-left:auto;display:flex;align-items:center;gap:.25rem}.detail-case-title.svelte-1x8emxr{font-size:1rem;font-weight:500;color:var(--text);margin-bottom:.375rem}.detail-case-desc.svelte-1x8emxr{font-size:.8125rem;color:var(--text-muted);line-height:1.5;margin-bottom:.375rem}.detail-meta.svelte-1x8emxr{font-size:.75rem;color:var(--text-muted)}.case-history-bars.svelte-1x8emxr{display:flex;align-items:flex-end;gap:2px;height:16px;margin-top:.5rem}.history-bar.svelte-1x8emxr{width:4px;height:100%;border-radius:1px;background:var(--border)}.history-bar.pass.svelte-1x8emxr{background:var(--pass)}.history-bar.fail.svelte-1x8emxr{background:var(--fail)}.history-bar.warn.svelte-1x8emxr{background:var(--warn)}.history-bar.muted.svelte-1x8emxr{background:var(--text-muted)}.detail-tabs.svelte-1x8emxr{display:flex;border-bottom:1px solid var(--border)}.detail-tab.svelte-1x8emxr{padding:.625rem 1rem;font-family:var(--font-body);font-size:.8125rem;font-weight:400;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--duration-fast),border-color var(--duration-fast);margin-bottom:-1px}.detail-tab.svelte-1x8emxr:hover{color:var(--text)}.detail-tab.active.svelte-1x8emxr{color:var(--accent);border-bottom-color:var(--accent)}.steps-section.svelte-1x8emxr,.history-section.svelte-1x8emxr{padding:1rem 1.25rem}.steps-toolbar.svelte-1x8emxr{display:flex;align-items:center;gap:.5rem;margin-bottom:.875rem}.add-step-btn.svelte-1x8emxr{margin-left:auto;font-size:.8125rem;color:var(--accent);background:none;border:none;cursor:pointer;padding:.25rem .5rem;border-radius:var(--radius-sm);transition:background var(--duration-fast)}.add-step-btn.svelte-1x8emxr:hover{background:var(--accent-soft)}.no-steps.svelte-1x8emxr{font-size:.8125rem;color:var(--text-muted);padding:1rem 0}.steps-table.svelte-1x8emxr{font-size:.8125rem;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.steps-table-head.svelte-1x8emxr,.steps-table-row.svelte-1x8emxr{display:grid;grid-template-columns:28px 1fr 1fr 1fr;gap:.5rem;padding:.5rem .75rem;align-items:start}.steps-table-head.svelte-1x8emxr{background:var(--bg-subtle);font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.steps-table-row.svelte-1x8emxr{border-top:1px solid var(--border);color:var(--text);line-height:1.5}.col-num.svelte-1x8emxr{color:var(--text-muted)}.steps-editor.svelte-1x8emxr{display:flex;flex-direction:column;gap:.5rem}.step-editor-row.svelte-1x8emxr{display:flex;align-items:flex-end;gap:.5rem}.step-num.svelte-1x8emxr{font-size:.75rem;color:var(--text-muted);min-width:20px;padding-bottom:.5rem}.step-editor-fields.svelte-1x8emxr{flex:1;display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}.step-field.svelte-1x8emxr{display:flex;flex-direction:column;gap:.25rem}.step-field-label.svelte-1x8emxr{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.edit-case-form.svelte-1x8emxr{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.history-list.svelte-1x8emxr{display:flex;flex-direction:column;gap:.5rem}.history-row.svelte-1x8emxr{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:var(--bg-subtle);border-radius:var(--radius-sm);border:1px solid var(--border)}.history-info.svelte-1x8emxr{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap}.history-source.svelte-1x8emxr{font-size:.8125rem;font-weight:500;color:var(--text)}.history-link.svelte-1x8emxr{color:var(--accent);text-decoration:none}.history-link.svelte-1x8emxr:hover{text-decoration:underline}.history-missing.svelte-1x8emxr{font-style:italic;color:var(--text-muted)}.history-by.svelte-1x8emxr,.history-date.svelte-1x8emxr{font-size:.75rem;color:var(--text-muted)}.history-notes.svelte-1x8emxr{font-size:.75rem;color:var(--text-muted);font-style:italic}.result-badge.svelte-1x8emxr{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .5rem;border-radius:var(--radius-pill);align-self:flex-start}.result-badge.pass.svelte-1x8emxr{background:var(--pass-soft);color:var(--pass)}.result-badge.fail.svelte-1x8emxr{background:var(--fail-soft);color:var(--fail)}.result-badge.warn.svelte-1x8emxr{background:var(--warn-soft);color:var(--warn)}.result-badge.muted.svelte-1x8emxr{background:var(--bg-subtle);color:var(--text-muted)}.id-chip.svelte-1x8emxr{font-family:JetBrains Mono,monospace;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:4px;letter-spacing:.02em}.id-chip.large.svelte-1x8emxr{font-size:.75rem;padding:.1rem .45rem}.id-chip.small.svelte-1x8emxr{font-size:.65rem;padding:.08rem .35rem}.priority-badge.svelte-1x8emxr{font-size:.68rem;font-weight:500;border-radius:var(--radius-pill);padding:.15rem .5rem}.priority-badge.small.svelte-1x8emxr{font-size:.62rem}.priority-badge.critical.svelte-1x8emxr{background:var(--fail-soft);color:var(--fail)}.priority-badge.high.svelte-1x8emxr{background:var(--warn-soft);color:var(--warn)}.priority-badge.medium.svelte-1x8emxr{background:var(--node-soft);color:var(--node)}.priority-badge.low.svelte-1x8emxr{background:var(--bg-subtle);color:var(--text-muted)}.auto-badge.svelte-1x8emxr{font-size:.62rem;font-weight:500;background:var(--pass-soft);color:var(--pass);border-radius:var(--radius-pill);padding:.15rem .5rem}.tag-chip.svelte-1x8emxr{font-family:JetBrains Mono,monospace;font-size:.68rem;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:4px;padding:.08rem .4rem}.icon-btn.svelte-1x8emxr{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;color:var(--text-muted);transition:background var(--duration-fast),color var(--duration-fast)}.icon-btn.small.svelte-1x8emxr{width:24px;height:24px}.icon-btn.svelte-1x8emxr:hover{background:var(--bg-subtle);color:var(--text)}.icon-btn.danger.svelte-1x8emxr:hover{background:var(--fail-soft);color:var(--fail)}.form-fields.svelte-1x8emxr{display:flex;flex-direction:column;gap:.875rem}.field.svelte-1x8emxr{display:flex;flex-direction:column;gap:.375rem}.field-row.svelte-1x8emxr{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.field-label.svelte-1x8emxr{font-size:.8125rem;font-weight:500;color:var(--text);display:flex;align-items:baseline;gap:.5rem}.field-hint.svelte-1x8emxr{font-size:.75rem;font-weight:400;color:var(--text-muted)}.field-textarea.svelte-1x8emxr{height:auto;resize:vertical}.mono.svelte-1x8emxr{font-family:JetBrains Mono,monospace;font-size:.8125rem!important}.form-error.svelte-1x8emxr{font-size:.8125rem;color:var(--fail)}.move-case-subtitle.svelte-1x8emxr{font-size:.8125rem;color:var(--text-muted)}.modal-actions.svelte-1x8emxr{display:flex;gap:.5rem;padding-top:.25rem}@media (max-width: 768px){.workspace.split.svelte-1x8emxr{grid-template-columns:1fr}}
@@ -0,0 +1,6 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ .live-viewport.svelte-1wgcx8r{flex:1;width:100%;height:100%;min-width:0;min-height:0;display:flex;align-items:flex-start;justify-content:center;overflow:hidden}.live-stage.svelte-1wgcx8r{position:relative;overflow:hidden}.live-mount.svelte-1wgcx8r{position:absolute;top:0;left:0}.live-mount.svelte-1wgcx8r .rr-player{border-radius:0!important;box-shadow:none!important}.live-mount.svelte-1wgcx8r iframe{pointer-events:auto!important}.notice-state.svelte-13l3gen{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem 1rem;text-align:center;gap:.75rem}.notice-state.svelte-13l3gen h2:where(.svelte-13l3gen){font-size:1.5rem;font-weight:400}.notice-state.svelte-13l3gen p:where(.svelte-13l3gen){font-size:.9375rem;color:var(--text-muted);max-width:360px}.queue-pos.svelte-13l3gen{font-family:JetBrains Mono,monospace;font-size:.85rem;color:var(--text)}.notice-link.svelte-13l3gen{font-size:.875rem;color:var(--accent);text-decoration:none;margin-top:.5rem}.notice-link.svelte-13l3gen:hover{text-decoration:underline}.pulse-dot.svelte-13l3gen{width:18px;height:18px;border-radius:50%;background:var(--accent);animation:svelte-13l3gen-pulse-dot 1.4s ease-in-out infinite}.pulse-dot.warn.svelte-13l3gen{background:var(--warn)}@keyframes svelte-13l3gen-pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.live-fullscreen.svelte-13l3gen{width:100vw;position:relative;left:50%;margin-left:-50vw;margin-top:-2.5rem;margin-bottom:-5rem;padding-bottom:5rem;height:calc(100vh - 56px);box-sizing:border-box;display:flex;flex-direction:column}.run-header.svelte-13l3gen{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem clamp(1rem,3vw,2rem);background:var(--bg-elevated);border-bottom:1px solid var(--border);animation:fadeUp .3s var(--ease-out) both;flex-shrink:0}.run-header.header-pass.svelte-13l3gen{border-top:3px solid var(--pass)}.run-header.header-fail.svelte-13l3gen{border-top:3px solid var(--fail)}.header-left.svelte-13l3gen{display:flex;align-items:center;gap:.875rem;flex-wrap:wrap}.header-back.svelte-13l3gen{display:flex;align-items:center;padding-right:.875rem;border-right:1px solid var(--border)}.header-back.svelte-13l3gen .back-row{margin-bottom:0}.live-badge.svelte-13l3gen{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--white);background:var(--accent);padding:.2rem .6rem;border-radius:var(--radius-pill)}.live-dot.svelte-13l3gen{width:6px;height:6px;border-radius:50%;background:#fffc;animation:dotPulse 1.2s ease-in-out infinite}.run-info.svelte-13l3gen{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.run-title-label.svelte-13l3gen{font-size:.875rem;font-weight:500;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:var(--radius-pill);padding:.15rem .6rem;white-space:nowrap}.run-tag-label.svelte-13l3gen{font-family:JetBrains Mono,monospace;font-size:.8125rem;font-weight:500;color:var(--text)}.run-sep.svelte-13l3gen{color:var(--text-muted);opacity:.4;font-size:.75rem}.run-detail.svelte-13l3gen{font-size:.8rem;color:var(--text-muted);font-family:JetBrains Mono,monospace}.cancel-btn.svelte-13l3gen{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-body);font-size:.8rem;font-weight:500;color:var(--fail);background:var(--fail-soft);border:1px solid var(--fail);border-radius:var(--radius-sm);padding:.35rem .75rem;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast);flex-shrink:0}.cancel-btn.svelte-13l3gen:hover{background:var(--fail);color:var(--white)}.completion-bar.svelte-13l3gen{display:flex;align-items:center;justify-content:space-between;padding:.75rem clamp(1rem,3vw,2rem);gap:1rem;border-bottom:1px solid var(--border);flex-shrink:0}.completion-bar.pass-bar.svelte-13l3gen{background:var(--pass-soft);border-bottom-color:color-mix(in srgb,var(--pass) 30%,var(--border));color:var(--pass)}.completion-bar.fail-bar.svelte-13l3gen{background:var(--fail-soft);border-bottom-color:color-mix(in srgb,var(--fail) 30%,var(--border));color:var(--fail)}.completion-left.svelte-13l3gen{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500}.completion-right.svelte-13l3gen{display:flex;align-items:center;gap:.875rem}.redirect-hint.svelte-13l3gen{font-size:.8rem;opacity:.7;font-family:JetBrains Mono,monospace;color:inherit}.view-now-btn.svelte-13l3gen{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-body);font-size:.8125rem;font-weight:600;color:inherit;background:transparent;border:1.5px solid currentColor;border-radius:var(--radius-sm);padding:.3rem .75rem;cursor:pointer;transition:background var(--duration-fast)}.view-now-btn.svelte-13l3gen:hover{background:#0000000f}.lane-tabs.svelte-13l3gen{display:flex;gap:2px;padding:.5rem clamp(1rem,3vw,2rem) 0;background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-shrink:0}.lane-tab.svelte-13l3gen{display:inline-flex;align-items:center;gap:.4rem;padding:.375rem .875rem;border:1px solid transparent;border-bottom:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:transparent;font-family:var(--font-body);font-size:.8rem;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast),background var(--duration-fast),border-color var(--duration-fast);white-space:nowrap}.lane-tab.svelte-13l3gen:hover{color:var(--text);background:var(--bg-subtle)}.lane-tab.active.svelte-13l3gen{color:var(--text);background:var(--bg-elevated);border-color:var(--border);border-bottom-color:var(--bg-elevated)}.tab-dot.svelte-13l3gen{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--accent)}.tab-dot-running.svelte-13l3gen{background:var(--accent);animation:dotPulse 1.6s ease-in-out infinite}.tab-dot-done.svelte-13l3gen{background:var(--pass)}.tab-dot-error.svelte-13l3gen{background:var(--fail)}.tab-count.svelte-13l3gen{font-size:.65rem;font-weight:600;font-family:JetBrains Mono,monospace;opacity:.55}.run-view.svelte-13l3gen{display:grid;grid-template-columns:1fr 340px;flex:1;min-height:0;overflow:hidden;animation:fadeUp .35s var(--ease-out) .05s both}.stream-panel.svelte-13l3gen{position:relative;background:var(--terminal-bg);display:flex;align-items:center;justify-content:center;overflow:hidden;border-right:1px solid var(--border)}.awaiting-state.svelte-13l3gen{display:flex;flex-direction:column;align-items:center;gap:.625rem;color:#fff3;font-size:.8rem;font-family:JetBrains Mono,monospace}.terminal-panel.svelte-13l3gen{display:flex;flex-direction:column;overflow:hidden}.terminal-bar.svelte-13l3gen{display:flex;align-items:center;gap:6px;padding:.6rem .875rem;background:#00000059;flex-shrink:0}.dot.svelte-13l3gen{display:block;width:10px;height:10px;border-radius:50%}.dot.red.svelte-13l3gen{background:#ff5f57}.dot.yellow.svelte-13l3gen{background:#febc2e}.dot.green.svelte-13l3gen{background:#28c840}.terminal-label.svelte-13l3gen{margin-left:auto;font-size:.68rem;font-family:JetBrains Mono,monospace;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#ffffff4d}.terminal.svelte-13l3gen{font-family:JetBrains Mono,Fira Code,Cascadia Code,Courier New,monospace;font-size:.8rem;line-height:1.75;background:var(--terminal-bg);color:var(--terminal-text);padding:1rem 1.25rem;flex:1;overflow-y:auto;white-space:pre-wrap;word-break:break-word;margin:0}.terminal.svelte-13l3gen::-webkit-scrollbar{width:4px}.terminal.svelte-13l3gen::-webkit-scrollbar-track{background:transparent}.terminal.svelte-13l3gen::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}
@@ -0,0 +1,6 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ .page-header.svelte-1b139ls{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.page-header.svelte-1b139ls h1:where(.svelte-1b139ls){font-size:2.5rem}.settings-layout.svelte-1b139ls{display:grid;grid-template-columns:200px 1fr;gap:3rem;align-items:start}.settings-sidebar.svelte-1b139ls{position:sticky;top:72px}.settings-sidebar.svelte-1b139ls nav:where(.svelte-1b139ls){display:flex;flex-direction:column;gap:.125rem}.sidebar-item.svelte-1b139ls{display:block;width:100%;text-align:left;padding:.45rem .75rem;font-family:var(--font-body);font-size:.875rem;font-weight:400;color:var(--text-muted);background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.sidebar-item.svelte-1b139ls:hover{background:var(--bg-subtle);color:var(--text)}.sidebar-item.active.svelte-1b139ls{background:var(--accent-soft);color:var(--accent);font-weight:500}.settings-content.svelte-1b139ls{min-width:0}.content-section.svelte-1b139ls{display:flex;flex-direction:column;gap:1.25rem}.content-header.svelte-1b139ls{margin-bottom:.25rem}.content-header.svelte-1b139ls h2:where(.svelte-1b139ls){font-size:1.1rem;font-weight:500;font-family:var(--font-body);color:var(--text);margin-bottom:.25rem}.content-desc.svelte-1b139ls{font-size:.875rem;color:var(--text-muted);line-height:1.5}.settings-card.svelte-1b139ls{display:flex;flex-direction:column;gap:1.25rem}.field-label.svelte-1b139ls{display:flex;align-items:baseline;gap:.5rem;font-size:.8125rem;font-weight:500;color:var(--text)}.field-hint.svelte-1b139ls{font-size:.75rem;font-weight:400;color:var(--text-muted)}.logo-preview.svelte-1b139ls{display:flex;flex-direction:column;gap:.5rem}.preview-label.svelte-1b139ls{font-size:.75rem;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.06em}.logo-img.svelte-1b139ls{max-height:56px;max-width:200px;object-fit:contain;border-radius:var(--radius-sm)}.card-footer.svelte-1b139ls{padding-top:.125rem}.toggle-row.svelte-1b139ls{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:.875rem 1rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm)}.toggle-info.svelte-1b139ls{display:flex;flex-direction:column;gap:.2rem}.toggle-label.svelte-1b139ls{font-size:.875rem;font-weight:500;color:var(--text)}.toggle-desc.svelte-1b139ls{font-size:.78rem;color:var(--text-muted);line-height:1.4}.toggle-switch.svelte-1b139ls{flex-shrink:0;width:40px;height:22px;border-radius:var(--radius-pill);border:none;background:var(--border);cursor:pointer;position:relative;transition:background .2s var(--ease-out)}.toggle-switch.on.svelte-1b139ls{background:var(--accent)}.toggle-thumb.svelte-1b139ls{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s var(--ease-out);box-shadow:0 1px 3px #0003}.toggle-switch.on.svelte-1b139ls .toggle-thumb:where(.svelte-1b139ls){transform:translate(18px)}.runner-cards.svelte-1b139ls{display:flex;flex-direction:column;gap:.625rem}.runner-card.svelte-1b139ls{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.375rem;transition:border-color var(--duration-fast)}.runner-card.svelte-1b139ls:hover{border-color:color-mix(in srgb,var(--text-muted) 40%,var(--border))}.runner-card.editing.svelte-1b139ls{border-color:var(--accent);background:var(--accent-soft);gap:.875rem;padding:1rem}.runner-card-header.svelte-1b139ls{display:flex;align-items:center;gap:.5rem}.runner-card-icon.svelte-1b139ls{color:var(--node);flex-shrink:0}.runner-card-name.svelte-1b139ls{font-size:.875rem;font-weight:500;color:var(--text);flex:1}.runner-browser-pill.svelte-1b139ls{font-size:.65rem;font-family:JetBrains Mono,monospace;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.1rem .45rem;flex-shrink:0}.runner-card-url.svelte-1b139ls{font-size:.75rem;font-family:JetBrains Mono,monospace;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:calc(13px + .5rem)}.runner-card-actions.svelte-1b139ls{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;padding-left:calc(13px + .5rem);margin-top:.125rem}.ping-badge.svelte-1b139ls{font-size:.7rem;font-weight:500;padding:.15rem .5rem;border-radius:var(--radius-pill);flex-shrink:0}.ping-badge.ok.svelte-1b139ls{background:var(--pass-soft);color:var(--pass)}.ping-badge.fail.svelte-1b139ls{background:var(--fail-soft);color:var(--fail)}.ping-badge.pinging.svelte-1b139ls{color:var(--text-muted)}.runner-form.svelte-1b139ls{border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;display:flex;flex-direction:column;gap:.875rem;background:var(--bg-subtle)}.runner-form-title.svelte-1b139ls{font-size:.8125rem;font-weight:500;color:var(--text)}.runner-form-fields.svelte-1b139ls{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.runner-form-actions.svelte-1b139ls{display:flex;gap:.5rem}.card-disabled.svelte-1b139ls{opacity:.5;pointer-events:none}.backup-row.svelte-1b139ls{display:flex;gap:2rem}.backup-block.svelte-1b139ls{flex:1;display:flex;flex-direction:column;gap:.875rem}.backup-divider.svelte-1b139ls{width:1px;background:var(--border);flex-shrink:0}.backup-block-title.svelte-1b139ls{font-size:.875rem;font-weight:500;color:var(--text)}.backup-block-desc.svelte-1b139ls{font-size:.8125rem;color:var(--text-muted);line-height:1.6}.backup-block-desc.svelte-1b139ls code:where(.svelte-1b139ls){font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);padding:.1em .3em;border-radius:3px}.include-reports-row.svelte-1b139ls{display:flex;align-items:center;gap:1.25rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.include-reports-row.svelte-1b139ls .backup-toggle-label:where(.svelte-1b139ls){flex:1}.include-reports-row.svelte-1b139ls .field-label:where(.svelte-1b139ls)>span:where(.svelte-1b139ls){display:flex;flex-direction:column;gap:.15rem}.backup-disclaimer.svelte-1b139ls{margin-top:1rem;padding:.625rem .875rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8125rem;color:var(--text-muted);line-height:1.5}.backup-actions.svelte-1b139ls{display:flex;gap:.625rem;margin-top:.25rem;flex-wrap:wrap}.s3-test-result.svelte-1b139ls{margin-top:.625rem;font-size:.8125rem;font-weight:500}.s3-test-success.svelte-1b139ls{color:var(--pass)}.s3-test-error.svelte-1b139ls{color:var(--fail)}.card-title-row.svelte-1b139ls{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.card-title-row.svelte-1b139ls .card-title:where(.svelte-1b139ls){margin-bottom:0}.s3-backup-list.svelte-1b139ls{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.s3-backup-row.svelte-1b139ls{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.625rem .875rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm)}.s3-backup-info.svelte-1b139ls{display:flex;flex-direction:column;gap:.2rem;min-width:0}.s3-backup-key.svelte-1b139ls{font-family:JetBrains Mono,monospace;font-size:.8125rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s3-backup-meta.svelte-1b139ls{font-size:.75rem;color:var(--text-muted)}.backup-last-run.svelte-1b139ls{font-size:.8125rem;color:var(--text-muted);margin-top:.25rem}.status-success.svelte-1b139ls{color:var(--pass)}.status-error.svelte-1b139ls{color:var(--fail)}.backup-toggle-label.svelte-1b139ls{display:flex;align-items:center;justify-content:space-between;cursor:default}.toggle-btn.svelte-1b139ls{flex-shrink:0;width:40px;height:22px;border-radius:var(--radius-pill);border:none;background:var(--border);cursor:pointer;position:relative;transition:background .2s var(--ease-out)}.toggle-btn.active.svelte-1b139ls{background:var(--accent)}.toggle-btn.svelte-1b139ls .toggle-thumb:where(.svelte-1b139ls){position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s var(--ease-out);box-shadow:0 1px 3px #0003}.toggle-btn.active.svelte-1b139ls .toggle-thumb:where(.svelte-1b139ls){transform:translate(18px)}.field-input-mono.svelte-1b139ls{font-family:JetBrains Mono,monospace;font-size:.8125rem}.import-row.svelte-1b139ls{display:flex;align-items:center;gap:.625rem}.file-label.svelte-1b139ls{cursor:pointer}.file-input-hidden.svelte-1b139ls{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-btn.svelte-1b139ls{display:inline-flex;align-items:center;height:34px;padding:0 .875rem;font-size:.8125rem;font-family:inherit;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis;transition:background var(--duration-fast),border-color var(--duration-fast)}.file-label.svelte-1b139ls:hover .file-btn:where(.svelte-1b139ls){border-color:var(--text-muted);background:var(--bg-subtle)}.field-row.svelte-1b139ls{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.mono.svelte-1b139ls{font-family:JetBrains Mono,monospace!important;font-size:.8125rem!important}.code-sample.svelte-1b139ls{font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);padding:.1em .3em;border-radius:3px}.link-btn.svelte-1b139ls{font:inherit;color:var(--accent);background:none;border:none;padding:0;cursor:pointer;text-decoration:underline}.account-info.svelte-1b139ls{display:flex;flex-direction:column;gap:.2rem}.account-name.svelte-1b139ls{font-size:.9375rem;font-weight:500;color:var(--text)}.account-email.svelte-1b139ls{font-size:.8125rem;color:var(--text-muted)}.form-error.svelte-1b139ls{font-size:.8125rem;color:var(--fail)}@media (max-width: 640px){.settings-layout.svelte-1b139ls{grid-template-columns:1fr;gap:1.5rem}.settings-sidebar.svelte-1b139ls{position:static}.settings-sidebar.svelte-1b139ls nav:where(.svelte-1b139ls){flex-direction:row;flex-wrap:wrap}.backup-row.svelte-1b139ls{flex-direction:column}.backup-divider.svelte-1b139ls{width:100%;height:1px}.runner-form-fields.svelte-1b139ls,.field-row.svelte-1b139ls{grid-template-columns:1fr}}.users-table.svelte-1b139ls{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.user-row.svelte-1b139ls{display:flex;align-items:center;gap:.75rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem 1rem}.user-info.svelte-1b139ls{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.user-name.svelte-1b139ls{font-size:.9rem;font-weight:500;color:var(--text)}.user-email.svelte-1b139ls{font-size:.8rem;color:var(--text-muted)}.role-chip.svelte-1b139ls{font-size:.7rem;font-weight:500;border-radius:var(--radius-pill);padding:.15rem .55rem;flex-shrink:0}.role-chip.admin.svelte-1b139ls{background:var(--accent-soft);color:var(--accent)}.role-chip.user.svelte-1b139ls{background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border)}.you-chip.svelte-1b139ls{font-size:.7rem;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.15rem .55rem;flex-shrink:0}.mcp-key-row.svelte-1b139ls{display:flex;align-items:center;gap:.375rem}.mcp-key-input.svelte-1b139ls{flex:1;font-family:JetBrains Mono,monospace;font-size:.8125rem;min-width:0}.mcp-regen-note.svelte-1b139ls{font-size:.78rem;color:var(--text-muted)}.mcp-snippet.svelte-1b139ls{font-family:JetBrains Mono,monospace;font-size:.78rem;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.875rem 1rem;white-space:pre;overflow-x:auto;color:var(--text);line-height:1.6;margin:0}.icon-btn.svelte-1b139ls{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer;color:var(--text-muted);transition:background var(--duration-fast),color var(--duration-fast);flex-shrink:0}.icon-btn.danger.svelte-1b139ls:hover{background:var(--fail-soft);color:var(--fail)}
@@ -0,0 +1,6 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ .legacy-notice.svelte-1xtj9lg{display:flex;align-items:flex-start;gap:.75rem;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:var(--radius-sm);padding:.75rem .875rem;margin-bottom:1.5rem}.legacy-notice.svelte-1xtj9lg p:where(.svelte-1xtj9lg){flex:1;margin:0;font-size:.85rem;line-height:1.5;color:var(--text)}.legacy-notice-dismiss.svelte-1xtj9lg{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.125rem;border-radius:var(--radius-sm);transition:color var(--duration-fast)}.legacy-notice-dismiss.svelte-1xtj9lg:hover{color:var(--text)}.page-header.svelte-1xtj9lg{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.header-top.svelte-1xtj9lg{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}h1.svelte-1xtj9lg{font-size:2.5rem;margin-bottom:.25rem}.subtitle.svelte-1xtj9lg{color:var(--text-muted);font-size:.875rem}.rate-display.svelte-1xtj9lg{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.rate-number.svelte-1xtj9lg{font-family:var(--font-display);font-size:2.75rem;line-height:1;font-weight:400}.rate-number.pass.svelte-1xtj9lg{color:var(--pass)}.rate-number.warn.svelte-1xtj9lg{color:var(--warn)}.rate-number.fail.svelte-1xtj9lg{color:var(--fail)}.rate-label.svelte-1xtj9lg{font-size:.75rem;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.stats-bar.svelte-1xtj9lg{margin-bottom:1rem}.pass-bar-track.svelte-1xtj9lg{height:3px;background:var(--fail-soft);border-radius:var(--radius-pill);overflow:hidden;margin-bottom:.5rem}.pass-bar-fill.svelte-1xtj9lg{height:100%;background:var(--pass);border-radius:var(--radius-pill);transition:width .9s var(--ease-out) .1s}.bar-legend.svelte-1xtj9lg{display:flex;gap:1rem}.legend-pass.svelte-1xtj9lg{font-size:.75rem;color:var(--pass);font-weight:500}.legend-fail.svelte-1xtj9lg{font-size:.75rem;color:var(--fail);font-weight:500}.trend-row.svelte-1xtj9lg{display:flex;align-items:center;gap:.75rem}.trend-label.svelte-1xtj9lg{font-size:.7rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0}.trend-dots.svelte-1xtj9lg{display:flex;align-items:center;gap:5px}.trend-dot.svelte-1xtj9lg{width:9px;height:9px;border-radius:50%;transition:transform var(--duration-fast);animation:fadeUp .3s var(--ease-out) both}.trend-dot.svelte-1xtj9lg:hover{transform:scale(1.4)}.trend-dot.pass.svelte-1xtj9lg{background:var(--pass)}.trend-dot.fail.svelte-1xtj9lg{background:var(--fail)}.trend-hint.svelte-1xtj9lg{font-size:.68rem;color:var(--text-muted);opacity:.6}.list-header.svelte-1xtj9lg{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem .375rem}.select-all-wrap.svelte-1xtj9lg{display:flex;align-items:center;cursor:pointer;padding:.25rem}.btn-delete-selected.svelte-1xtj9lg{height:30px;padding:0 .75rem;font-size:.78rem;font-family:inherit;font-weight:500;color:var(--fail);background:var(--fail-soft, rgba(239, 68, 68, .08));border:1px solid var(--fail);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast),opacity var(--duration-fast)}.btn-delete-selected.svelte-1xtj9lg:hover{background:var(--fail);color:var(--white)}.report-list.svelte-1xtj9lg{display:flex;flex-direction:column;gap:.5rem}.report-row.svelte-1xtj9lg{display:flex;align-items:center;gap:.5rem;animation:fadeUp .32s var(--ease-out) both}.row-check-wrap.svelte-1xtj9lg{flex-shrink:0;display:flex;align-items:center;cursor:pointer;padding:.25rem}.checkbox.svelte-1xtj9lg{width:15px;height:15px;accent-color:var(--accent, #7c3aed);cursor:pointer}.report-item.svelte-1xtj9lg{flex:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);text-decoration:none;color:inherit;border-left-width:3px;transition:background var(--duration-fast),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast);min-width:0}.report-item.svelte-1xtj9lg:hover{background:var(--bg-subtle);transform:translate(2px);box-shadow:0 2px 12px #0000000a}.report-item.is-pass.svelte-1xtj9lg{border-left-color:var(--pass)}.report-item.is-fail.svelte-1xtj9lg{border-left-color:var(--fail)}.report-row.is-selected.svelte-1xtj9lg .report-item:where(.svelte-1xtj9lg){background:var(--bg-subtle);border-color:var(--accent, #7c3aed)}.item-left.svelte-1xtj9lg{display:flex;align-items:center;gap:.875rem;min-width:0}.status-mark.svelte-1xtj9lg{font-size:.875rem;font-weight:600;flex-shrink:0;width:20px;text-align:center}.status-mark.pass.svelte-1xtj9lg{color:var(--pass)}.status-mark.fail.svelte-1xtj9lg{color:var(--fail)}.item-meta.svelte-1xtj9lg{display:flex;align-items:center;gap:.625rem;min-width:0}.item-tags.svelte-1xtj9lg{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.item-badges.svelte-1xtj9lg{flex-shrink:0}.item-right.svelte-1xtj9lg{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.item-date.svelte-1xtj9lg{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.item-arrow.svelte-1xtj9lg{color:var(--text-muted);transition:transform var(--duration-fast) var(--ease-out),color var(--duration-fast)}.report-item.svelte-1xtj9lg:hover .item-arrow:where(.svelte-1xtj9lg){transform:translate(3px);color:var(--text)}.row-delete-btn.svelte-1xtj9lg{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;opacity:0;transition:opacity var(--duration-fast),color var(--duration-fast),background var(--duration-fast)}.report-row.svelte-1xtj9lg:hover .row-delete-btn:where(.svelte-1xtj9lg){opacity:1}.row-delete-btn.svelte-1xtj9lg:hover{color:var(--fail);background:var(--fail-soft, rgba(239, 68, 68, .08))}.pagination-wrap.svelte-1xtj9lg{margin-top:1.25rem}
@@ -0,0 +1,6 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ .status-dot.svelte-eg9xrn{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.pass.svelte-eg9xrn{background:var(--pass)}.fail.svelte-eg9xrn{background:var(--fail)}.skip.svelte-eg9xrn{background:var(--text-muted)}.tag-chip.svelte-foe7v9{font-size:.65rem;font-family:JetBrains Mono,monospace;background:var(--accent-soft);color:var(--accent);padding:.1rem .4rem;border-radius:var(--radius-pill);white-space:nowrap}.kw.svelte-3mvi7i{font-size:.72rem;font-weight:500;letter-spacing:.04em;flex-shrink:0;padding:.05rem .4rem;border-radius:3px;font-family:JetBrains Mono,monospace}.kw-given.svelte-3mvi7i{background:var(--accent-soft);color:var(--accent)}.kw-when.svelte-3mvi7i{background:var(--warn-soft);color:var(--warn)}.kw-then.svelte-3mvi7i{background:var(--pass-soft);color:var(--pass)}.kw-and.svelte-3mvi7i{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border)}.step-status-icon.svelte-9zpq1y{font-size:.75rem;font-weight:600;width:14px;flex-shrink:0;text-align:center}.icon-pass.svelte-9zpq1y{color:var(--pass)}.icon-fail.svelte-9zpq1y{color:var(--fail)}.icon-skip.svelte-9zpq1y{color:var(--text-muted)}.steps-rail.svelte-q7af2t{flex-shrink:0;width:240px;display:flex;flex-direction:column;background:var(--bg-elevated);overflow-y:auto}.steps-rail-header.svelte-q7af2t{flex-shrink:0;padding:.7rem .9rem .5rem;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.steps-list.svelte-q7af2t{list-style:none;margin:0;padding:0 .5rem .5rem;display:flex;flex-direction:column;gap:.1rem}.rail-step.svelte-q7af2t{width:100%;display:flex;align-items:flex-start;gap:.5rem;padding:.4rem .5rem;background:none;border:none;border-radius:var(--radius-sm);font:inherit;font-size:.78rem;line-height:1.35;text-align:left;color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast) var(--ease-out)}.rail-step.svelte-q7af2t:hover:not(:disabled){background:var(--bg-subtle)}.rail-step.svelte-q7af2t:disabled{cursor:default}.rail-step-text.svelte-q7af2t{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;min-width:0;word-break:break-word}.rail-step-active.svelte-q7af2t{background:var(--accent-soft);color:var(--text);font-weight:500}.combined-timeline.svelte-5daecg{position:absolute;left:0;right:0;bottom:38px;width:80%;margin:0 auto;display:flex;align-items:center}.combined-timeline-time.svelte-5daecg{flex-shrink:0;display:inline-block;width:100px;text-align:center;color:#11103e}.combined-timeline-track.svelte-5daecg{position:relative;flex:1;height:12px;background:#eee;border-radius:3px;cursor:pointer;box-sizing:border-box;border-top:solid 4px #fff;border-bottom:solid 4px #fff}.combined-timeline-fill.svelte-5daecg{position:absolute;left:0;top:0;height:100%;background:#e0e1fe}.combined-timeline-tick.svelte-5daecg{position:absolute;top:2px;width:10px;height:5px;transform:translate(-50%,-50%);background:#4950f6;pointer-events:none}.combined-timeline-handle.svelte-5daecg{position:absolute;top:2px;width:20px;height:20px;border-radius:10px;transform:translate(-50%,-50%);background:#4950f6;pointer-events:none}.code-viewer.svelte-mer6ic{margin:0;padding:.75rem 1rem;background:var(--terminal-bg);color:var(--terminal-text);font-family:JetBrains Mono,monospace;font-size:.78rem;line-height:1.5;border-radius:var(--radius-md);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.code-viewer .tok-tag{color:var(--code-tag)}.code-viewer .tok-attr{color:var(--code-attr)}.code-viewer .tok-value{color:var(--code-string)}.code-viewer .tok-comment{color:var(--code-comment);font-style:italic}.inspector-panel.svelte-mmh4st{flex-shrink:0;width:280px;display:flex;flex-direction:column;gap:.65rem;padding:.75rem .9rem .9rem;background:var(--bg-elevated);overflow-y:auto}.inspector-panel.svelte-mmh4st>:where(.svelte-mmh4st){flex-shrink:0}.inspector-panel.svelte-mmh4st .code-viewer{flex-shrink:0}.inspector-header.svelte-mmh4st{display:flex;align-items:center;gap:.4rem;padding-bottom:.5rem;margin-bottom:.1rem;border-bottom:1px solid var(--border);font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.inspector-empty.svelte-mmh4st{color:var(--text-muted);font-size:.8rem;padding:1rem .1rem;line-height:1.5}.inspector-section.svelte-mmh4st{display:flex;align-items:baseline;gap:.5rem}.inspector-section-label.svelte-mmh4st{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.inspector-size.svelte-mmh4st{font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text)}.inspector-attrs.svelte-mmh4st{margin:0;display:flex;flex-direction:column}.inspector-attr-row.svelte-mmh4st{display:flex;flex-direction:column;gap:.1rem;padding:.35rem 0;border-top:1px solid var(--border)}.inspector-attr-row.svelte-mmh4st dt:where(.svelte-mmh4st){font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--accent)}.inspector-attr-row.svelte-mmh4st dd:where(.svelte-mmh4st){margin:0;font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--text-muted);word-break:break-all}.recording-player.svelte-jcqbbs{flex:1;min-height:0;display:flex;gap:1px;background:var(--border);overflow:hidden}.player-stage.svelte-jcqbbs{position:relative;flex:1;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated)}.player-column.svelte-jcqbbs{position:relative;display:inline-flex}.player-mount.svelte-jcqbbs{display:flex}.player-mount.svelte-jcqbbs .rr-player{border-radius:0!important;box-shadow:none!important}.player-mount.svelte-jcqbbs .rr-controller{border-radius:0!important}.player-mount.svelte-jcqbbs iframe{pointer-events:auto!important}.player-mount.svelte-jcqbbs .switch{display:none!important}.player-mount.svelte-jcqbbs .rr-controller__btns{gap:.5rem}.player-mount-multi.svelte-jcqbbs .rr-timeline{visibility:hidden!important;pointer-events:none!important}.player-status.svelte-jcqbbs{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.85rem}.loading-dots.svelte-jcqbbs{display:flex;gap:.3rem}.loading-dots.svelte-jcqbbs span:where(.svelte-jcqbbs){width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:dotPulse 1.1s ease-in-out infinite}.loading-dots.svelte-jcqbbs span:where(.svelte-jcqbbs):nth-child(2){animation-delay:.15s}.loading-dots.svelte-jcqbbs span:where(.svelte-jcqbbs):nth-child(3){animation-delay:.3s}.active-tab-badge.svelte-jcqbbs{position:absolute;top:.75rem;left:.75rem;padding:.3rem .6rem;background:#0000008c;backdrop-filter:blur(6px);border-radius:var(--radius-pill);color:#fff;font-family:JetBrains Mono,monospace;font-size:.7rem}.inspect-highlight.svelte-jcqbbs{position:absolute;pointer-events:none;background:color-mix(in srgb,var(--accent) 18%,transparent);border:1.5px solid var(--accent);border-radius:2px;z-index:10000}.restart-overlay-btn.svelte-jcqbbs{position:absolute;display:flex;align-items:center;justify-content:center;background:#fff;border:none;border-radius:50%;color:#11103e;cursor:pointer;z-index:10001}.restart-overlay-btn.svelte-jcqbbs:hover{background:#f0f0f5}.inspect-fab.svelte-jcqbbs{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:#0000008c;backdrop-filter:blur(6px);border:none;border-radius:50%;color:#fff;cursor:pointer;opacity:.7;transition:opacity var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.inspect-fab.svelte-jcqbbs:hover:not(:disabled){opacity:1}.inspect-fab.svelte-jcqbbs:disabled{opacity:.3;cursor:default}.inspect-fab-active.svelte-jcqbbs{background:var(--accent);opacity:1}.report-header.svelte-ggy6pw{border-radius:var(--radius-lg);border:1px solid var(--border);border-top-width:3px;padding:1.5rem;margin-bottom:2rem;background:var(--bg-elevated);animation:fadeUp .35s var(--ease-out) both}.report-header.pass.svelte-ggy6pw{border-top-color:var(--pass)}.report-header.fail.svelte-ggy6pw{border-top-color:var(--fail)}.header-main.svelte-ggy6pw{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.header-status.svelte-ggy6pw{display:flex;align-items:center;gap:1rem}.status-icon-wrap.svelte-ggy6pw{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.status-icon-wrap.pass-bg.svelte-ggy6pw{background:var(--pass-soft);color:var(--pass)}.status-icon-wrap.fail-bg.svelte-ggy6pw{background:var(--fail-soft);color:var(--fail)}.h1-row.svelte-ggy6pw{display:flex;align-items:center;gap:.75rem;margin-bottom:.2rem}.run-name-badge.svelte-ggy6pw{display:inline-flex;align-items:center;font-size:.75rem;font-weight:500;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:var(--radius-pill);padding:.25rem .7rem;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis;margin-top:3px}h1.svelte-ggy6pw{font-size:2rem;margin-bottom:0}.header-meta.svelte-ggy6pw{font-size:.8125rem;color:var(--text-muted);display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.meta-sep.svelte-ggy6pw{opacity:.4}.mono.svelte-ggy6pw{font-family:JetBrains Mono,monospace;font-size:.78rem}.browser-pill.svelte-ggy6pw{display:inline-flex;align-items:center;gap:.3rem;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:500;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.1rem .45rem}.header-stats.svelte-ggy6pw{display:flex;gap:1.5rem;align-items:flex-start;flex-shrink:0}.stat.svelte-ggy6pw{display:flex;flex-direction:column;align-items:center;gap:.15rem}.stat-num.svelte-ggy6pw{font-family:var(--font-display);font-size:1.75rem;line-height:1;font-weight:400;color:var(--text)}.stat-label.svelte-ggy6pw{display:inline-flex;align-items:center;gap:.25rem;font-size:.68rem;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.pass-color.svelte-ggy6pw{color:var(--pass)}.fail-color.svelte-ggy6pw{color:var(--fail)}.muted-color.svelte-ggy6pw{color:var(--text-muted)}.group-header.svelte-ggy6pw{display:flex;align-items:center;gap:.4rem;padding-bottom:.4rem;margin-top:1.75rem;margin-bottom:.75rem;font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.group-header.svelte-ggy6pw:first-child{margin-top:0}.group-icon.svelte-ggy6pw{flex-shrink:0;opacity:.7}.runner-group-header.svelte-ggy6pw{font-size:.78rem;font-weight:600;color:var(--text)}.worker-group-header.svelte-ggy6pw{font-size:.7rem;font-weight:500;color:var(--text-muted)}.feature.svelte-ggy6pw{margin-bottom:1.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-top-width:3px;border-radius:var(--radius-lg);overflow:hidden;animation:fadeUp .35s var(--ease-out) both}.feature-pass.svelte-ggy6pw{border-top-color:var(--pass)}.feature-fail.svelte-ggy6pw{border-top-color:var(--fail)}.feature-header.svelte-ggy6pw{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;border-bottom:1px solid var(--border);background:var(--bg-subtle)}.feature-icon.svelte-ggy6pw{flex-shrink:0;color:var(--text-muted);opacity:.7}.feature-name.svelte-ggy6pw{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-family:var(--font-display);font-weight:400;flex:1;min-width:0}.feature-right.svelte-ggy6pw{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.feature-file.svelte-ggy6pw{font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--text-muted)}.suite-tag.svelte-ggy6pw{font-size:.65rem;font-family:JetBrains Mono,monospace;background:var(--accent-soft);color:var(--accent);padding:.1rem .4rem;border-radius:var(--radius-pill);font-weight:500}.scenarios.svelte-ggy6pw{display:flex;flex-direction:column;padding:.5rem;gap:.25rem}.scenario.svelte-ggy6pw{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);overflow:hidden;animation:fadeUp .3s var(--ease-out) both}.scenario.scenario-fail.svelte-ggy6pw{border-left-width:3px;border-left-color:var(--fail)}.scenario-row.svelte-ggy6pw{display:flex;align-items:stretch}.scenario-header.svelte-ggy6pw{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;flex:1;min-width:0;background:transparent;border:none;cursor:pointer;text-align:left;font-family:var(--font-body);transition:background var(--duration-fast)}.scenario-header.svelte-ggy6pw:hover{background:var(--bg-subtle)}.replay-btn.svelte-ggy6pw{display:inline-flex;align-items:center;gap:.3rem;padding:0 .875rem;font-family:var(--font-body);font-size:.72rem;font-weight:500;color:var(--accent);background:transparent;border:none;border-left:1px solid var(--border);cursor:pointer;flex-shrink:0;transition:background var(--duration-fast);white-space:nowrap}.replay-btn.svelte-ggy6pw:hover{background:var(--accent-soft)}.replay-btn-sm.svelte-ggy6pw{margin-left:auto;padding:.15rem .5rem;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);border-radius:var(--radius-sm);font-size:.68rem}.scenario-name.svelte-ggy6pw{flex:1;font-size:.875rem;color:var(--text);font-weight:400;text-align:left;display:inline-flex;align-items:center;gap:.4rem;min-width:0}.scenario-count.svelte-ggy6pw{font-size:.65rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.05rem .4rem;white-space:nowrap}.scenario-tags.svelte-ggy6pw{display:flex;gap:.25rem;flex-shrink:0}.scenario-duration.svelte-ggy6pw{font-size:.75rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;flex-shrink:0}.chevron.svelte-ggy6pw{color:var(--text-muted);flex-shrink:0;transition:transform var(--duration-fast) var(--ease-out)}.chevron.rotated.svelte-ggy6pw{transform:rotate(90deg)}.steps.svelte-ggy6pw{border-top:1px solid var(--border);background:var(--bg-subtle);padding:.5rem 0}.example-header.svelte-ggy6pw{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem .25rem 1.25rem;color:var(--text-muted);font-size:.72rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.example-header.svelte-ggy6pw:not(:first-child){margin-top:.375rem;border-top:1px dashed var(--border)}.example-header.svelte-ggy6pw .scenario-duration:where(.svelte-ggy6pw){margin-left:auto}.step.svelte-ggy6pw{padding:.375rem 1rem .375rem 1.25rem}.step-fail.svelte-ggy6pw{background:color-mix(in srgb,var(--fail-soft) 40%,transparent)}.step-skip.svelte-ggy6pw{opacity:.5}.step-row.svelte-ggy6pw{display:flex;align-items:baseline;gap:.5rem}.step-name.svelte-ggy6pw{flex:1;font-size:.8125rem;color:var(--text);font-family:JetBrains Mono,monospace}.step-duration.svelte-ggy6pw{font-size:.7rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;flex-shrink:0}.step-error.svelte-ggy6pw{margin:.375rem 0 .25rem 1.75rem;padding:.625rem .875rem;background:var(--fail-soft);color:var(--fail);border-radius:var(--radius-sm);font-family:JetBrains Mono,monospace;font-size:.75rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;border-left:2px solid var(--fail)}.step-datatable.svelte-ggy6pw{margin:.375rem 0 .25rem 1.75rem;border-collapse:collapse;font-family:JetBrains Mono,monospace;font-size:.75rem}.step-datatable.svelte-ggy6pw td:where(.svelte-ggy6pw){padding:.35rem .7rem;border:1px solid var(--border);color:var(--text)}.step-datatable-header.svelte-ggy6pw td:where(.svelte-ggy6pw){background:var(--bg-subtle);color:var(--text-muted);font-weight:600}.loading-state.svelte-ggy6pw{display:flex;justify-content:center;padding:4rem 0}.loading-dots.svelte-ggy6pw{display:flex;gap:6px;align-items:center}.loading-dots.svelte-ggy6pw span:where(.svelte-ggy6pw){width:8px;height:8px;border-radius:50%;background:var(--accent);animation:svelte-ggy6pw-dotBeat 1.2s ease-in-out infinite}.loading-dots.svelte-ggy6pw span:where(.svelte-ggy6pw):nth-child(2){animation-delay:.2s}.loading-dots.svelte-ggy6pw span:where(.svelte-ggy6pw):nth-child(3){animation-delay:.4s}@keyframes svelte-ggy6pw-dotBeat{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}.error-state.svelte-ggy6pw{padding:3rem 0;color:var(--fail);text-align:center;font-size:.9375rem}.logs-section.svelte-ggy6pw{margin-bottom:1.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;animation:fadeUp .35s var(--ease-out) both}.logs-summary.svelte-ggy6pw{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.25rem;font-size:.875rem;font-weight:500;color:var(--text);cursor:pointer;user-select:none;list-style:none}.logs-summary.svelte-ggy6pw::-webkit-details-marker{display:none}.logs-summary.svelte-ggy6pw:hover{background:var(--bg-subtle)}.log-runner-count.svelte-ggy6pw{margin-left:auto;font-size:.7rem;font-weight:500;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-pill);padding:.1rem .5rem}.log-tabs.svelte-ggy6pw{display:flex;gap:0;border-bottom:1px solid var(--border);background:var(--bg-subtle);overflow-x:auto}.log-tab.svelte-ggy6pw{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.78rem;font-weight:500;font-family:var(--font-body);color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color var(--duration-fast)}.log-tab.svelte-ggy6pw:hover{color:var(--text)}.log-tab-active.svelte-ggy6pw{color:var(--text);border-bottom-color:var(--accent)}.logs-body.svelte-ggy6pw{font-family:JetBrains Mono,Fira Code,Cascadia Code,Courier New,monospace;font-size:.775rem;line-height:1.7;background:var(--terminal-bg);color:var(--terminal-text);padding:1rem 1.25rem;max-height:480px;overflow-y:auto;white-space:pre-wrap;word-break:break-word;margin:0;border-top:1px solid var(--border)}.logs-body.svelte-ggy6pw::-webkit-scrollbar{width:4px}.logs-body.svelte-ggy6pw::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.replay-overlay.svelte-ggy6pw{position:fixed;inset:0;background:var(--bg-elevated);display:flex;z-index:500}.replay-modal.svelte-ggy6pw{background:var(--bg-elevated);width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden auto;box-shadow:0 24px 64px #00000080}.replay-modal-header.svelte-ggy6pw{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;border-bottom:1px solid var(--border);gap:1rem;flex-shrink:0}.replay-modal-title.svelte-ggy6pw{font-size:.875rem;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.replay-close.svelte-ggy6pw{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;display:flex;align-items:center;border-radius:var(--radius-sm);flex-shrink:0;transition:color var(--duration-fast)}.replay-close.svelte-ggy6pw:hover{color:var(--text)}.replay-body.svelte-ggy6pw{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}
@@ -0,0 +1,6 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ import{p as t}from"./DuAVKaL3.js";const E="Test Repository",o="Name",_="Description",n="Priority",T="Title",c="Name is required.",L="Title is required.",A="Test Repository — Plum",S="Test Repository",i="Manage test suites, cases, and track manual test runs.",D="+ New Suite",d="+ New Run",I="Suites",O="Test Runs",R="Search by ID or name…",u="No results",N="Cases",C="Suites",r="automated",l="Delete suite",U="Delete run",B="Duplicate run",p="No test suites yet",P="Create your first suite to start organising test cases.",b="No test runs yet",M="Create a test run to start executing and tracking manual tests.",F="New Test Suite",m="New Test Run",$="Login flows",g="What this suite covers…",h="Sprint 12 regression",y="Duplicate Run",H="Duplicate",v="? A copy will be added at the top of the list.",G="Failed to load data",f="Failed to delete suite.",k="Failed to duplicate run.",Y="Failed to delete run.",w=s=>`Nothing matches "${s}".`,x=s=>`by ${s}`,W=s=>`${s} ${t(s,"case")}`,K=s=>s?"Creating…":"Create Suite",V=s=>s?"Creating…":"Create Run",X=s=>`Delete ${s==="suite"?"Suite":"Run"}`,q=s=>`Suite "${s}" created.`,z=s=>`Suite "${s}" deleted.`,Q=s=>`Duplicated as "${s}".`,j=s=>`Run "${s}" deleted.`,J="Delete Test Case",Z="New Test Case",ss="User can log in with valid credentials",ts="What this case verifies…",as="Create Case",es="Edit Suite",Es="Edit suite",os="Edit case",_s="Test Cases",ns="+ Add Case",Ts="Filter by ID or name…",cs="No cases yet",Ls="Add your first test case to this suite.",As="No cases match",Ss="Date",is="Step",Ds="Action",ds="Test Data",Is="Expected Output",Os="Describe the action…",Rs="Optional",us="What should happen…",Ns='No steps. Click "+ Add step" to begin.',Cs="+ Add step",rs="Edit Steps",ls='No steps defined. Click "Edit Steps" to add them.',Us="Steps",Bs="History",ps="No history yet. Results appear after test runs or automated builds.",Ps="Automated run ↗",bs="Report not found",Ms="Run not found",Fs="Failed to load suite",ms="Failed to load case",$s="Failed to delete case.",gs="Test case updated.",hs="Steps saved.",ys="Suite updated.",Hs="Move to suite",vs="Move Test Case",Gs="Move to suite",fs="Failed to move case.",ks=s=>`${s?`${s.displayId} — ${s.name}`:"Suite"} — Plum`,Ys=s=>`Created by ${s}`,ws=s=>`${s} created.`,xs=s=>`${s} deleted.`,Ws=(s,a)=>`${s} moved to ${a}.`,Ks=s=>`${s} ${t(s,"step")}`,Vs=s=>s?"Saving…":"Save Steps",Xs=s=>s?"Moving…":"Move",qs=s=>`${s} ↗`,zs="Edit Run",Qs="Edit run",js="Reopen",Js="Start Execution",Zs="Stop Execution",st="← Edit Run",tt="Mark Complete",at="Build",et="Execute",Et="In this run",ot="locked",_t="No cases in this run.",nt="Unassigned",Tt="Suite browser",ct="Search cases…",Lt="No matching cases",At="No cases in this suite",St="All cases added",it="No suites available.",Dt="This run is not in progress — start execution to record results.",dt="Toggle steps",It="Assign to me",Ot="In Progress",Rt="Pass",ut="Fail",Nt="Blocked",Ct="Skip",rt="Reset to pending",lt="↩ Reset",Ut="Failed to add case.",Bt="Run updated.",pt="Run saved.",Pt="Run marked as complete.",bt="Run reopened.",Mt=s=>`${(s==null?void 0:s.title)??"Test Run"} — Plum`,Ft=s=>`${s} passed`,mt=s=>`${s} failed`,$t=s=>`${s} remaining`,gt=s=>`Data: ${s}`,ht=s=>`Expected: ${s}`;export{vs as $,P as A,p as B,l as C,H as D,W as E,G as F,x as G,S as H,M as I,b as J,B as K,U as L,w as M,F as N,N as O,A as P,r as Q,O as R,I as S,T,C as U,ks as V,J as W,Z as X,ss as Y,ts as Z,es as _,i as a,mt as a$,xs as a0,Fs as a1,$s as a2,as as a3,Xs as a4,it as a5,Gs as a6,ws as a7,ys as a8,Ws as a9,Os as aA,ds as aB,Rs as aC,Is as aD,us as aE,Ds as aF,ls as aG,bs as aH,qs as aI,Ms as aJ,Mt as aK,zs as aL,Bt as aM,Qs as aN,at as aO,et as aP,js as aQ,Et as aR,dt as aS,bt as aT,ot as aU,_t as aV,nt as aW,Tt as aX,ct as aY,Dt as aZ,Ft as a_,fs as aa,E as ab,Es as ac,_s as ad,ns as ae,Ys as af,Ts as ag,Ss as ah,Ls as ai,cs as aj,As as ak,Hs as al,Ks as am,ms as an,Us as ao,Bs as ap,os as aq,gs as ar,rs as as,Vs as at,Cs as au,ps as av,Ps as aw,hs as ax,Ns as ay,is as az,y as b,$t as b0,Ot as b1,Rt as b2,ut as b3,Nt as b4,Ct as b5,rt as b6,lt as b7,gt as b8,ht as b9,It as ba,pt as bb,Ut as bc,Js as bd,Zs as be,st as bf,tt as bg,Lt as bh,At as bi,St as bj,Pt as bk,v as c,o as d,$ as e,_ as f,g,n as h,K as i,m as j,h as k,V as l,R as m,f as n,Y as o,X as p,Q as q,j as r,z as s,k as t,c as u,q as v,L as w,D as x,d as y,u as z};
@@ -3,4 +3,4 @@
3
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
4
4
  */
5
5
 
6
- import{i}from"./BAACMRH5.js";function b(l,r){var e;var a=(e=l.$$events)==null?void 0:e[r.type],s=i(a)?a.slice():a==null?[]:[a];for(var t of s)t.call(this,r)}export{b};
6
+ import{i}from"./CeH-RgMb.js";function b(l,r){var e;var a=(e=l.$$events)==null?void 0:e[r.type],s=i(a)?a.slice():a==null?[]:[a];for(var t of s)t.call(this,r)}export{b};
@@ -0,0 +1,6 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ import{T as i}from"./DuAVKaL3.js";const l=new Set([i.MANUAL,i.CLI,i.MCP,i.EXTERNAL,"undefined"]);function A(e){return!!e&&!l.has(e)}function T(e){return e===i.MANUAL?"Manual":e===i.CLI||e==="undefined"?"CLI":e===i.MCP?"MCP":e===i.EXTERNAL?"External":"Scheduled"}function L(e){return e===i.MANUAL?"tag":e===i.CLI||e==="undefined"?"neutral":e===i.MCP?"mcp":e===i.EXTERNAL?"external":"schedule"}function N(e,r=45){return`animation-delay: ${e*r}ms`}function S(e){return e>=1e3?(e/1e3).toFixed(2)+"s":e+"ms"}function E(e){if(!e)return"";const r=e.replace(/\\/g,"/"),n=r.lastIndexOf("/features/");return n!==-1?r.slice(n+1):r.split("/").pop()}function I(e){const r=(e??"").toLowerCase().replace(/:$/,"");return r==="given"?"kw-given":r==="when"?"kw-when":r==="then"?"kw-then":"kw-and"}function g(e){return/suite/i.test(e)||/^@ts-?\d+/i.test(e)}function m(e){return/^@test[\w-]*/i.test(e)||/^@tc-?\d+/i.test(e)}function p(e){var r;return((r=e.tags)==null?void 0:r.find(m))??null}function C(e){var r;for(const n of e.scenarios??[]){const o=(r=n.tags)==null?void 0:r.find(g);if(o)return o}return null}function k(e){const r=p(e);return r?[r]:(e.tags??[]).filter(n=>!g(n))}const d={failed:3,pending:2,skipped:1,passed:0};function w(e){return e.reduce((r,n)=>(d[n.status]??0)>(d[r]??0)?n.status:r,"passed")}function h(e){const r=new Map;for(const n of e){const s=p(n)??`${n.keyword}:${n.name}`;r.has(s)||r.set(s,{key:s,name:n.name,tags:k(n),scenarios:[],duration:0,status:n.status});const a=r.get(s);a.scenarios.push(n),a.duration+=n.duration??0,a.status=w(a.scenarios)}return Array.from(r.values())}function O(e){if(!e)return[];if(!/^=== .+ ===/m.test(e))return[{name:"Logs",content:e}];const r=[];for(const n of e.split(/\n\n(?==== )/)){const o=n.match(/^=== (.+?) ===\n?([\s\S]*)/);o&&r.push({name:o[1].trim(),content:o[2].trim()})}return r}function R(e){const r=[],n=new Map;for(const o of e??[])for(const s of o.scenarios??[]){const a=s.runnerName??"",u=s.workerId??1;n.has(a)||(n.set(a,{runnerName:s.runnerName??null,workerOrder:[],workerMap:new Map}),r.push(a));const c=n.get(a);c.workerMap.has(u)||(c.workerMap.set(u,{workerId:u,featureOrder:[],featureMap:new Map}),c.workerOrder.push(u));const t=c.workerMap.get(u);t.featureMap.has(o.name)||(t.featureMap.set(o.name,{...o,scenarios:[]}),t.featureOrder.push(o.name)),t.featureMap.get(o.name).scenarios.push(s)}return r.map(o=>{const s=n.get(o);return{runnerName:s.runnerName,workers:s.workerOrder.map(a=>{const u=s.workerMap.get(a);return{workerId:u.workerId,features:u.featureOrder.map(c=>{const t=u.featureMap.get(c);return{...t,scenarioGroups:h(t.scenarios)}})}})}})}function b(e){var c;const r=e.filter(t=>t.startedAt!=null&&t.endedAt!=null);if(r.length===0)return[];const n=r.flatMap(t=>[{ts:t.startedAt,kind:"open",recording:t},{ts:t.endedAt,kind:"close",recording:t}]);n.sort((t,f)=>t.ts-f.ts||(t.kind==="open"?-1:1));const o=[],s=[];let a=n[0].ts;for(const t of n)if(t.kind==="open"){const f=s[s.length-1];f&&t.ts>a&&o.push({recordingId:f.id,from:a,to:t.ts}),s.push(t.recording),a=t.ts}else((c=s[s.length-1])==null?void 0:c.id)===t.recording.id&&(o.push({recordingId:t.recording.id,from:a,to:t.ts}),s.pop(),a=t.ts);const u=s[s.length-1];return u&&u.endedAt>a&&o.push({recordingId:u.id,from:a,to:u.endedAt}),o}export{L as a,S as b,b as c,E as d,C as f,R as g,A as i,I as k,O as p,N as s,T as t};
@@ -3,4 +3,4 @@
3
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
4
4
  */
5
5
 
6
- import{a as k,u as n,r as s,h as u}from"./BAACMRH5.js";import{l as h}from"./CMBQQ9RZ.js";function t(e,a,v=a){var c=k();h(e,"input",l=>{var r=l?e.defaultValue:e.value;if(r=f(e)?d(r):r,v(r),c&&r!==(r=a())){var _=e.selectionStart,o=e.selectionEnd;e.value=r??"",o!==null&&(e.selectionStart=_,e.selectionEnd=Math.min(o,e.value.length))}}),(u&&e.defaultValue!==e.value||n(a)==null&&e.value)&&v(f(e)?d(e.value):e.value),s(()=>{var l=a();f(e)&&l===d(e.value)||e.type==="date"&&!l&&!e.value||l!==e.value&&(e.value=l??"")})}function y(e,a,v=a){h(e,"change",c=>{var l=c?e.defaultChecked:e.checked;v(l)}),(u&&e.defaultChecked!==e.checked||n(a)==null)&&v(e.checked),s(()=>{var c=a();e.checked=!!c})}function f(e){var a=e.type;return a==="number"||a==="range"}function d(e){return e===""?null:+e}export{y as a,t as b};
6
+ import{a as k,u as n,r as s,h as u}from"./CeH-RgMb.js";import{l as h}from"./CfkUW1vA.js";function t(e,a,v=a){var c=k();h(e,"input",l=>{var r=l?e.defaultValue:e.value;if(r=f(e)?d(r):r,v(r),c&&r!==(r=a())){var _=e.selectionStart,o=e.selectionEnd;e.value=r??"",o!==null&&(e.selectionStart=_,e.selectionEnd=Math.min(o,e.value.length))}}),(u&&e.defaultValue!==e.value||n(a)==null&&e.value)&&v(f(e)?d(e.value):e.value),s(()=>{var l=a();f(e)&&l===d(e.value)||e.type==="date"&&!l&&!e.value||l!==e.value&&(e.value=l??"")})}function y(e,a,v=a){h(e,"change",c=>{var l=c?e.defaultChecked:e.checked;v(l)}),(u&&e.defaultChecked!==e.checked||n(a)==null)&&v(e.checked),s(()=>{var c=a();e.checked=!!c})}function f(e){var a=e.type;return a==="number"||a==="range"}function d(e){return e===""?null:+e}export{y as a,t as b};
@@ -0,0 +1,6 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ import{w as r,aa as u}from"./CeH-RgMb.js";import{u as A,v as B,B as U,T as L}from"./DuAVKaL3.js";import{t as S}from"./B0_HKFXV.js";import{a as b}from"./Ck6C3Fl0.js";const N=Object.freeze({RUN_TEST:"run-test",CANCEL_TEST:"cancel-test",BG_RUN_QUEUED:"bg-run-queued",BG_RUN_START:"bg-run-start",BG_RUN_LOG:"bg-run-log",BG_RUN_DONE:"bg-run-done",BG_RUN_LANES_INIT:"bg-run-lanes-init",BG_RUN_LANE_LOG:"bg-run-lane-log",BG_RUN_LANE_STATUS:"bg-run-lane-status",BG_RUN_LANE_RRWEB_BATCH:"bg-run-lane-rrweb-batch",REPORT_READY:"report-ready"}),G="Run all tests?",h="Run all tests",v="No tag or filter is set. This will run",$="every test",F="in the suite, which may take a while.",Q="View Report",V="Test Run",W="Clear test run",m="None",M="No active test runs",P="Workers",Y="Browser",x="Runners",j="Notify",K="No automated cases in this run",q="Run",O="Manual run",z="No tests currently running",H="Queued",X="Cancel run",J=n=>`${n} automated`,Z=n=>n?"Discord notification on":"Discord notification off",nn=n=>n?"Slack notification on":"Slack notification off",sn=n=>`${S(n)} run`,tn=n=>`started by ${n}`,en=n=>n?"Collapse panel":"Expand panel",rn=n=>n>0?`Queued · #${n}`:"Queued";function on({running:n,queued:t,verdict:s}){return n>0&&t>0?`${n} running · ${t} queued`:n>0?n===1?"Running":`${n} running`:t>0?t===1?"Queued":`${t} queued`:s==="pass"?"Passed":s==="fail"?"Failed":"Ready"}function an(n,t){var s;return n.selectedRunners.length===1&&n.selectedRunners[0]===A?B:n.selectedRunners.length===1?((s=t.find(e=>e.id===n.selectedRunners[0]))==null?void 0:s.name)??"1 node":`${n.selectedRunners.length} nodes`}const d=r(null),p=r({});function C({kind:n,label:t,meta:s,status:e}){return{kind:n,label:t,status:e,testCompleted:!1,latestReportId:null,verdict:"idle",output:"",lanes:[],currentRun:{tag:(s==null?void 0:s.tag)??"",workers:s==null?void 0:s.workers,browser:s==null?void 0:s.browser,runTitle:t,startedBy:(s==null?void 0:s.startedBy)??null},rrwebByLane:{}}}function un(n,{id:t,workerId:s,events:e}){const o=n[t]??{},a=o[s]??{events:[]};return{...n,[t]:{...o,[s]:{events:[...a.events,...e]}}}}const g=r({workers:1,testID:"",browser:U[0].id,selectedRunners:["built-in"]}),I=r(!1),cn=r(!0),ln=r(0),Rn=r(0);function _n(n,t,s={},e=null){var E;const o=u(d);if(!o)return null;const{workers:a,testID:T,browser:R,selectedRunners:f}=u(g),c=(n!==void 0?n:T).trim().replace(/\sOR\s/gi,l=>l.toLowerCase()),i=crypto.randomUUID(),_=((E=u(b).user)==null?void 0:E.name)??null;return p.update(l=>({...l,[i]:C({kind:L.MANUAL,label:e||c||O,meta:{tag:c,workers:a,browser:R,startedBy:_},status:"queued"})})),I.set(!0),o.emit(N.RUN_TEST,{runId:i,tag:c,workers:a,browser:R,runners:f,testRunId:t??null,notifyDiscord:s.notifyDiscord??!1,notifySlack:s.notifySlack??!1,runTitle:e,startedBy:_}),i}function En(n){const t=u(d);t&&n&&t.emit(N.CANCEL_TEST,{runId:n})}function Ln(n,t){return Object.values(n).find(s=>s.kind===L.CRON&&s.label===t&&s.status!=="done")}export{tn as A,Y as B,W as C,M as D,Z as E,nn as F,z as G,J as H,O as M,m as N,H as Q,h as R,N as S,V as T,Q as V,P as W,ln as a,g as b,p as c,En as d,cn as e,Ln as f,un as g,on as h,an as i,G as j,v as k,$ as l,C as m,F as n,q as o,I as p,en as q,Rn as r,d as s,_n as t,K as u,x as v,j as w,X as x,rn as y,sn as z};
@@ -0,0 +1,6 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ import{p as e}from"./DuAVKaL3.js";const o="Reports",E="Passed",r="Failed",L="Reports — Plum",c="Reports",_="passing",T="Recent",i="← older · newer →",l="No reports yet. Run a test to generate one.",A="Select all on this page",R="Select",S="Screenshots have been replaced by full session replay. Reports created before this change no longer have screenshots — steps and logs are still available.",N="Dismiss",p="Delete report",d=s=>s===1?"Delete report?":`Delete ${s} reports?`,I=s=>s===1?"This will permanently remove the report and its data file.":`This will permanently remove ${s} reports and their data files.`,u=s=>`${s} ${e(s,"run")} recorded`,D=s=>`${s} passed`,O=s=>`${s} failed`,P=(s,t,a)=>`${s} · ${t} · ${a}`,B=s=>`Delete (${s})`,C="Report — Plum",h="Could not load report.",U="passed",$="failed",G="skipped",b="duration",m="Run Logs",f="Failed and was automatically retried before the final result",g="Watch replay",w="Replay",y=s=>`${s} runners`,W=s=>`${s} cases`,F=s=>`${s} attempts`,H=s=>`Case ${s}`,k="Could not load this recording.",v="Inspect element",M="Restart replay",Y="Steps",V="Inspector",K="Click an element in the replay to inspect it.",q="Attributes",z="Size",Q=s=>s===0?"Main tab":`Tab/Window ${s+1}`,x="Live Run — Plum",Z="View past reports →",j="Live",J="Cancel run",X="All tests passed",ss="Some tests failed",es="View Report Now",ts="Awaiting stream...",as="No stream...",ns="Runner",os="Running…",Es="Finished",rs="(waiting for output…)",Ls="Unknown runner",cs=s=>`Worker ${s}`,_s=s=>`${s} ${e(s,"worker")}`,Ts=s=>`Redirecting in ${s}s…`,is="Waiting for a runner",ls="This run starts as soon as every runner it needs is free.",As="Run not found",Rs="This run has finished or was never started. Check the reports list for its results.",Ss="Run skipped",Ns=s=>s>0?`Position ${s} in the queue`:"Next up";export{C as $,ts as A,r as B,J as C,N as D,y as E,Es as F,X as G,c as H,ss as I,Y as J,V as K,L,z as M,l as N,K as O,_ as P,is as Q,T as R,A as S,i as T,q as U,Z as V,rs as W,v as X,Q as Y,M as Z,k as _,d as a,h as a0,U as a1,b as a2,Ls as a3,W as a4,f as a5,F as a6,g as a7,w as a8,$ as a9,G as aa,m as ab,H as ac,S as b,R as c,I as d,p as e,O as f,B as g,x as h,o as i,As as j,Rs as k,ls as l,Ss as m,j as n,es as o,D as p,Ns as q,u as r,Ts as s,P as t,cs as u,as as v,_s as w,ns as x,os as y,E as z};
@@ -0,0 +1,11 @@
1
+ /*
2
+ * This file is part of Plum.
3
+ * Licensed under the MIT License. See LICENSE file in the project root for details.
4
+ */
5
+
6
+ import{at as va,Y as da,au as ta,h as x,a2 as O,av as _a,Z as sa,g as K,a0 as pa,a1 as J,a3 as D,a7 as I,aw as ha,a4 as na,a5 as ia,a6 as ya,ax as H,ay as fa,q as oa,G as L,az as z,aA as X,aB as B,x as ma,i as $a,V as ga,D as Z,aC as wa,aD as Ea,aE as xa,aF as ba,aG as Aa,aH as Ca,aI as Ta,_ as Na,aJ as Fa,aK as Ia,e as Sa,u as ka,aL as La,aM as Ra,a8 as S,aN as Q,aO as j,aP as Ma}from"./CeH-RgMb.js";import{g as Oa,w as Da}from"./CfkUW1vA.js";function Ja(e,a){return a}function Ha(e,a,r,t){for(var s=[],f=a.length,o=0;o<f;o++)Ea(a[o].e,s,!0);var c=f>0&&s.length===0&&r!==null;if(c){var m=r.parentNode;xa(m),m.append(r),t.clear(),A(e,a[0].prev,a[f-1].next)}ba(s,()=>{for(var u=0;u<f;u++){var n=a[u];c||(t.delete(n.k),A(e,n.prev,n.next)),Aa(n.e,!c)}})}function Xa(e,a,r,t,s,f=null){var o=e,c={flags:a,items:new Map,first:null},m=(a&ta)!==0;if(m){var u=e;o=x?O(_a(u)):u.appendChild(va())}x&&sa();var n=null,$=!1,l=ma(()=>{var v=r();return $a(v)?v:v==null?[]:fa(v)});da(()=>{var v=K(l),i=v.length;if($&&i===0)return;$=i===0;let _=!1;if(x){var h=o.data===pa;h!==(i===0)&&(o=J(),O(o),D(!1),_=!0)}if(x){for(var p=null,w,g=0;g<i;g++){if(I.nodeType===8&&I.data===ha){o=I,_=!0,D(!1);break}var d=v[g],y=t(d,g);w=la(I,c,p,null,d,y,g,s,a,r),c.items.set(y,w),p=w}i>0&&O(J())}x||qa(v,c,o,s,a,t,r),f!==null&&(i===0?n?na(n):n=ia(()=>f(o)):n!==null&&ya(n,()=>{n=null})),_&&D(!0),K(l)}),x&&(o=I)}function qa(e,a,r,t,s,f,o){var P,U,V,W;var c=(s&wa)!==0,m=(s&(z|B))!==0,u=e.length,n=a.items,$=a.first,l=$,v,i=null,_,h=[],p=[],w,g,d,y;if(c)for(y=0;y<u;y+=1)w=e[y],g=f(w,y),d=n.get(g),d!==void 0&&((P=d.a)==null||P.measure(),(_??(_=new Set)).add(d));for(y=0;y<u;y+=1){if(w=e[y],g=f(w,y),d=n.get(g),d===void 0){var N=l?l.e.nodes_start:r;i=la(N,a,i,i===null?a.first:i.next,w,g,y,t,s,o),n.set(g,i),h=[],p=[],l=i.next;continue}if(m&&za(d,w,y,s),d.e.f&H&&(na(d.e),c&&((U=d.a)==null||U.unfix(),(_??(_=new Set)).delete(d))),d!==l){if(v!==void 0&&v.has(d)){if(h.length<p.length){var C=p[0],E;i=C.prev;var T=h[0],R=h[h.length-1];for(E=0;E<h.length;E+=1)aa(h[E],C,r);for(E=0;E<p.length;E+=1)v.delete(p[E]);A(a,T.prev,R.next),A(a,i,T),A(a,R,C),l=C,i=R,y-=1,h=[],p=[]}else v.delete(d),aa(d,l,r),A(a,d.prev,d.next),A(a,d,i===null?a.first:i.next),A(a,i,d),i=d;continue}for(h=[],p=[];l!==null&&l.k!==g;)l.e.f&H||(v??(v=new Set)).add(l),p.push(l),l=l.next;if(l===null)continue;d=l}h.push(d),i=d,l=d.next}if(l!==null||v!==void 0){for(var F=v===void 0?[]:fa(v);l!==null;)l.e.f&H||F.push(l),l=l.next;var M=F.length;if(M>0){var ca=s&ta&&u===0?r:null;if(c){for(y=0;y<M;y+=1)(V=F[y].a)==null||V.measure();for(y=0;y<M;y+=1)(W=F[y].a)==null||W.fix()}Ha(a,F,ca,n)}}c&&oa(()=>{var Y;if(_!==void 0)for(d of _)(Y=d.a)==null||Y.apply()}),L.first=a.first&&a.first.e,L.last=i&&i.e}function za(e,a,r,t){t&z&&X(e.v,a),t&B?X(e.i,r):e.i=r}function la(e,a,r,t,s,f,o,c,m,u){var n=(m&z)!==0,$=(m&Ca)===0,l=n?$?ga(s):Z(s):s,v=m&B?Z(o):o,i={i:v,v:l,k:f,a:null,e:null,prev:r,next:t};try{return i.e=ia(()=>c(e,l,v,u),x),i.e.prev=r&&r.e,i.e.next=t&&t.e,r===null?a.first=i:(r.next=i,r.e.next=i.e),t!==null&&(t.prev=i,t.e.prev=i.e),i}finally{}}function aa(e,a,r){for(var t=e.next?e.next.e.nodes_start:r,s=a?a.e.nodes_start:r,f=e.e.nodes_start;f!==t;){var o=Ta(f);s.before(f),f=o}}function A(e,a,r){a===null?e.first=r:(a.next=r,a.e.next=r&&r.e),r!==null&&(r.prev=a,r.e.prev=a&&a.e)}function Za(e,a,r,t,s){var c;x&&sa();var f=(c=a.$$slots)==null?void 0:c[r],o=!1;f===!0&&(f=a.children,o=!0),f===void 0?s!==null&&s(e):f(e,o?()=>t:t)}function Qa(e,a,r){var t=e.__className,s=Ba(a);x&&e.className===s?e.__className=s:(t!==s||x&&e.className!==s)&&(a==null?e.removeAttribute("class"):e.className=s,e.__className=s)}function Ba(e,a){return(e??"")+""}function ja(e,a,r){if(r){if(e.classList.contains(a))return;e.classList.add(a)}else{if(!e.classList.contains(a))return;e.classList.remove(a)}}const Ga=()=>performance.now(),b={tick:e=>requestAnimationFrame(e),now:()=>Ga(),tasks:new Set};function ua(){const e=b.now();b.tasks.forEach(a=>{a.c(e)||(b.tasks.delete(a),a.f())}),b.tasks.size!==0&&b.tick(ua)}function Pa(e){let a;return b.tasks.size===0&&b.tick(ua),{promise:new Promise(r=>{b.tasks.add(a={c:e,f:r})}),abort(){b.tasks.delete(a)}}}function k(e,a){Da(()=>{e.dispatchEvent(new CustomEvent(a))})}function Ua(e){if(e==="float")return"cssFloat";if(e==="offset")return"cssOffset";if(e.startsWith("--"))return e;const a=e.split("-");return a.length===1?a[0]:a[0]+a.slice(1).map(r=>r[0].toUpperCase()+r.slice(1)).join("")}function ea(e){const a={},r=e.split(";");for(const t of r){const[s,f]=t.split(":");if(!s||f===void 0)break;const o=Ua(s.trim());a[o]=f.trim()}return a}const Va=e=>e;function ae(e,a,r,t){var s=(e&La)!==0,f="both",o,c=a.inert,m=a.style.overflow,u,n;function $(){var h=Ma,p=L;Q(null),j(null);try{return o??(o=r()(a,(t==null?void 0:t())??{},{direction:f}))}finally{Q(h),j(p)}}var l={is_global:s,in(){a.inert=c,k(a,"introstart"),u=q(a,$(),n,1,()=>{k(a,"introend"),u==null||u.abort(),u=o=void 0,a.style.overflow=m})},out(h){a.inert=!0,k(a,"outrostart"),n=q(a,$(),u,0,()=>{k(a,"outroend"),h==null||h()})},stop:()=>{u==null||u.abort(),n==null||n.abort()}},v=L;if((v.transitions??(v.transitions=[])).push(l),Oa){var i=s;if(!i){for(var _=v.parent;_&&_.f&Na;)for(;(_=_.parent)&&!(_.f&Fa););i=!_||(_.f&Ia)!==0}i&&Sa(()=>{ka(()=>l.in())})}}function q(e,a,r,t,s){var f=t===1;if(Ra(a)){var o,c=!1;return oa(()=>{if(!c){var h=a({direction:f?"in":"out"});o=q(e,h,r,t,s)}}),{abort:()=>{c=!0,o==null||o.abort()},deactivate:()=>o.deactivate(),reset:()=>o.reset(),t:()=>o.t()}}if(r==null||r.deactivate(),!(a!=null&&a.duration))return s(),{abort:S,deactivate:S,reset:S,t:()=>t};const{delay:m=0,css:u,tick:n,easing:$=Va}=a;var l=[];if(f&&r===void 0&&(n&&n(0,1),u)){var v=ea(u(0,1));l.push(v,v)}var i=()=>1-t,_=e.animate(l,{duration:m});return _.onfinish=()=>{var h=(r==null?void 0:r.t())??1-t;r==null||r.abort();var p=t-h,w=a.duration*Math.abs(p),g=[];if(w>0){var d=!1;if(u)for(var y=Math.ceil(w/16.666666666666668),N=0;N<=y;N+=1){var C=h+p*$(N/y),E=ea(u(C,1-C));g.push(E),d||(d=E.overflow==="hidden")}d&&(e.style.overflow="hidden"),i=()=>{var T=_.currentTime;return h+p*$(T/w)},n&&Pa(()=>{if(_.playState!=="running")return!1;var T=i();return n(T,1-T),!0})}_=e.animate(g,{duration:w,fill:"forwards"}),_.onfinish=()=>{i=()=>t,n==null||n(t,1-t),s()}},{abort:()=>{_&&(_.cancel(),_.effect=null,_.onfinish=S)},deactivate:()=>{s=S},reset:()=>{t===0&&(n==null||n(1,0))},t:()=>i()}}const Wa=e=>e;function G(e){const a=e-1;return a*a*a+1}function ra(e){const a=typeof e=="string"&&e.match(/^\s*(-?[\d.]+)([^\s]*)\s*$/);return a?[parseFloat(a[1]),a[2]||"px"]:[e,"px"]}function ee(e,{delay:a=0,duration:r=400,easing:t=Wa}={}){const s=+getComputedStyle(e).opacity;return{delay:a,duration:r,easing:t,css:f=>`opacity: ${f*s}`}}function re(e,{delay:a=0,duration:r=400,easing:t=G,x:s=0,y:f=0,opacity:o=0}={}){const c=getComputedStyle(e),m=+c.opacity,u=c.transform==="none"?"":c.transform,n=m*(1-o),[$,l]=ra(s),[v,i]=ra(f);return{delay:a,duration:r,easing:t,css:(_,h)=>`
7
+ transform: ${u} translate(${(1-_)*$}${l}, ${(1-_)*v}${i});
8
+ opacity: ${m-n*h}`}}function te(e,{delay:a=0,duration:r=400,easing:t=G,axis:s="y"}={}){const f=getComputedStyle(e),o=+f.opacity,c=s==="y"?"height":"width",m=parseFloat(f[c]),u=s==="y"?["top","bottom"]:["left","right"],n=u.map(p=>`${p[0].toUpperCase()}${p.slice(1)}`),$=parseFloat(f[`padding${n[0]}`]),l=parseFloat(f[`padding${n[1]}`]),v=parseFloat(f[`margin${n[0]}`]),i=parseFloat(f[`margin${n[1]}`]),_=parseFloat(f[`border${n[0]}Width`]),h=parseFloat(f[`border${n[1]}Width`]);return{delay:a,duration:r,easing:t,css:p=>`overflow: hidden;opacity: ${Math.min(p*20,1)*o};${c}: ${p*m}px;padding-${u[0]}: ${p*$}px;padding-${u[1]}: ${p*l}px;margin-${u[0]}: ${p*v}px;margin-${u[1]}: ${p*i}px;border-${u[0]}-width: ${p*_}px;border-${u[1]}-width: ${p*h}px;min-${c}: 0`}}function se(e,{delay:a=0,duration:r=400,easing:t=G,start:s=0,opacity:f=0}={}){const o=getComputedStyle(e),c=+o.opacity,m=o.transform==="none"?"":o.transform,u=1-s,n=c*(1-f);return{delay:a,duration:r,easing:t,css:($,l)=>`
9
+ transform: ${m} scale(${1-u*l});
10
+ opacity: ${c-n*l}
11
+ `}}export{ae as a,te as b,Za as c,se as d,Xa as e,re as f,ee as g,Ja as i,Qa as s,ja as t};
@@ -3,4 +3,4 @@
3
3
  * Licensed under the MIT License. See LICENSE file in the project root for details.
4
4
  */
5
5
 
6
- import{ad as g,ae as d,af as c,ag as i,u as m,ah as b,g as p,ai as h,V as v,aj as k}from"./BAACMRH5.js";function x(t=!1){const a=g,e=a.l.u;if(!e)return;let o=()=>h(a.s);if(t){let n=0,s={};const _=v(()=>{let l=!1;const r=a.s;for(const f in r)r[f]!==s[f]&&(s[f]=r[f],l=!0);return l&&n++,n});o=()=>p(_)}e.b.length&&d(()=>{u(a,o),i(e.b)}),c(()=>{const n=m(()=>e.m.map(b));return()=>{for(const s of n)typeof s=="function"&&s()}}),e.a.length&&c(()=>{u(a,o),i(e.a)})}function u(t,a){if(t.l.s)for(const e of t.l.s)p(e);a()}k();export{x as i};
6
+ import{ad as g,ae as d,af as c,ag as i,u as m,ah as b,g as p,ai as h,T as v,aj as k}from"./CeH-RgMb.js";function x(t=!1){const a=g,e=a.l.u;if(!e)return;let o=()=>h(a.s);if(t){let n=0,s={};const _=v(()=>{let l=!1;const r=a.s;for(const f in r)r[f]!==s[f]&&(s[f]=r[f],l=!0);return l&&n++,n});o=()=>p(_)}e.b.length&&d(()=>{u(a,o),i(e.b)}),c(()=>{const n=m(()=>e.m.map(b));return()=>{for(const s of n)typeof s=="function"&&s()}}),e.a.length&&c(()=>{u(a,o),i(e.a)})}function u(t,a){if(t.l.s)for(const e of t.l.s)p(e);a()}k();export{x as i};