vibe64 0.1.39 → 0.1.41

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 (262) hide show
  1. package/bin/run.js +1955 -1855
  2. package/bin/server.js +136 -112
  3. package/bin/upgrade-state.js +5514 -5343
  4. package/dist/assets/GithubBrowserTabs-YvIe2BdE.js +1 -0
  5. package/dist/assets/LocalDatabaseServer-BWAvRlUl.css +1 -0
  6. package/dist/assets/LocalDatabaseServer-CVsGChHh.js +2 -0
  7. package/dist/assets/StudioErrorNotice-C_jbvp9V.js +1 -0
  8. package/dist/assets/VAlert-gwuhYlYb.js +1 -0
  9. package/dist/assets/VAutocomplete-D7Vk5wq_.js +1 -0
  10. package/dist/assets/VAvatar-DvRBcmqv.js +1 -0
  11. package/dist/assets/VBtn-BhVEwXLX.js +1 -0
  12. package/dist/assets/VCard-C3Hx769y.js +1 -0
  13. package/dist/assets/VCheckbox-DyCGSN0H.js +1 -0
  14. package/dist/assets/VCheckboxBtn-DCyuVH7W.css +1 -0
  15. package/dist/assets/VCheckboxBtn-DYcQU2Pn.js +1 -0
  16. package/dist/assets/VChip-VVdtjfq-.js +1 -0
  17. package/dist/assets/VDialog-CQDhjRiV.js +1 -0
  18. package/dist/assets/VDivider-Dq25WsKu.js +1 -0
  19. package/dist/assets/VExpansionPanels-C1y-myl5.js +1 -0
  20. package/dist/assets/VMenu-CDcBLYWR.js +1 -0
  21. package/dist/assets/VOverlay-Cp4rFk6g.js +1 -0
  22. package/dist/assets/VRadioGroup-CAjNZwF7.js +1 -0
  23. package/dist/assets/VRow-BskP28jR.js +1 -0
  24. package/dist/assets/VSelect-D3oLvCcB.js +2 -0
  25. package/dist/assets/VSheet-DxYEFfnM.js +1 -0
  26. package/dist/assets/VSkeletonLoader-Cync3lZZ.js +1 -0
  27. package/dist/assets/VSpacer-CgWOWvBh.js +1 -0
  28. package/dist/assets/VSwitch-BxGuGypi.js +1 -0
  29. package/dist/assets/VTextField-C0b_0cSa.js +1 -0
  30. package/dist/assets/VTextField-F6unyhrS.css +1 -0
  31. package/dist/assets/VTextarea-B7sZd1JY.js +1 -0
  32. package/dist/assets/{Vibe64AsyncModuleState-Do9EqX3S.js → Vibe64AsyncModuleState-syuPcpGx.js} +1 -1
  33. package/dist/assets/{Vibe64AuthSettingsButton-M44SSmZ9.css → Vibe64AuthSettingsButton-D2lltUhi.css} +1 -1
  34. package/dist/assets/Vibe64AuthSettingsButton-DLdfT68V.js +5 -0
  35. package/dist/assets/Vibe64CopyCommand-CYiZcy0d.js +1 -0
  36. package/dist/assets/Vibe64CopyCommand-ClbQLYZi.css +1 -0
  37. package/dist/assets/{Vibe64DashboardBackButton-BH_8j_VR.js → Vibe64DashboardBackButton-Go_MJuIK.js} +1 -1
  38. package/dist/assets/{Vibe64DashboardPageHeader-BXQR00HK.js → Vibe64DashboardPageHeader-BMrdRph6.js} +1 -1
  39. package/dist/assets/Vibe64DashboardPageHeader-CdlzsyKQ.css +1 -0
  40. package/dist/assets/Vibe64DashboardShell-DMPz6fIx.js +1 -0
  41. package/dist/assets/{Vibe64DatabaseWorkspace-CEml9BWn.js → Vibe64DatabaseWorkspace-BCEIOlSg.js} +3 -3
  42. package/dist/assets/{Vibe64DatabaseWorkspace-DPDMxhAW.css → Vibe64DatabaseWorkspace-DePBDUMy.css} +1 -1
  43. package/dist/assets/{Vibe64OutputControls-Co5YzwcK.css → Vibe64OutputControls-CeBzZPUT.css} +1 -1
  44. package/dist/assets/Vibe64OutputControls-DMoqL0VD.js +8 -0
  45. package/dist/assets/{Vibe64RepositoryWorkspace-obZFXkoG.js → Vibe64RepositoryWorkspace-BdwRwbxp.js} +2 -2
  46. package/dist/assets/{Vibe64RepositoryWorkspace-Agyt4O-V.css → Vibe64RepositoryWorkspace-Bw9W691N.css} +1 -1
  47. package/dist/assets/{Vibe64SessionFiles-CQzs6fee.js → Vibe64SessionFiles-ChJWUOqm.js} +4 -4
  48. package/dist/assets/Vibe64SessionFiles-DsPb8hOe.css +1 -0
  49. package/dist/assets/{Vibe64TemporaryAiFixAction-BiuIE9mC.js → Vibe64TemporaryAiFixAction-CIePbdW8.js} +1 -1
  50. package/dist/assets/{Vibe64UiStoryboardView-BhKRpL0N.js → Vibe64UiStoryboardView-Bp9STItF.js} +1 -1
  51. package/dist/assets/{Vibe64UnavailableSessions-Ca5nC7KH.js → Vibe64UnavailableSessions-JBgHzM-j.js} +1 -1
  52. package/dist/assets/{_sessionId_-CKkGH3Rx.js → _sessionId_-Bw0KfJeR.js} +1 -1
  53. package/dist/assets/{_sessionTool_-1V-z6Pbp.js → _sessionTool_-BV1AwpUx.js} +1 -1
  54. package/dist/assets/_slug_-CAmuBm-M.css +1 -0
  55. package/dist/assets/_slug_-q9prK_gX.js +25 -0
  56. package/dist/assets/{access-WlhPvPgy.js → access-C05Nkq6r.js} +1 -1
  57. package/dist/assets/app-D1CGY9Xm.js +1 -0
  58. package/dist/assets/assistantRouting-DeE8jvtE.js +3 -0
  59. package/dist/assets/{changes-CHJjrZAc.js → changes-D17XpgGz.js} +1 -1
  60. package/dist/assets/client-BxGiylrJ.js +2 -0
  61. package/dist/assets/client-C8jwAMY9.css +1 -0
  62. package/dist/assets/{conversation-B90ERX9h.js → conversation-DZW4-Wck.js} +2 -2
  63. package/dist/assets/{conversation-vxJGwmtW.css → conversation-TK6EmDk4.css} +1 -1
  64. package/dist/assets/{createSimpleFunctional-CZTGuNuR.js → createSimpleFunctional-zlXZooQW.js} +1 -1
  65. package/dist/assets/{dashboard-CuutW8iv.js → dashboard-BXXgeQ0Q.js} +1 -1
  66. package/dist/assets/definitions-SNvFDEFS.js +1 -0
  67. package/dist/assets/dialog-transition-D2vqGksQ.js +1 -0
  68. package/dist/assets/env-B5V1EC4M.css +1 -0
  69. package/dist/assets/env-sXAQqKWk.js +1 -0
  70. package/dist/assets/health-92hh8xXh.css +1 -0
  71. package/dist/assets/health-Cr34pf2p.js +1 -0
  72. package/dist/assets/{history-1_NU8azF.js → history-N1iRZaab.js} +1 -1
  73. package/dist/assets/incoming-Bdqo8z25.css +1 -0
  74. package/dist/assets/incoming-CNwZa_yD.js +2 -0
  75. package/dist/assets/{index-irlMYzLh.css → index-B17d4wpZ.css} +1 -1
  76. package/dist/assets/index-Mxalhei8.js +138 -0
  77. package/dist/assets/{integrations-BMzWQQpa.js → integrations-BmwFvHgZ.js} +10 -10
  78. package/dist/assets/integrations-Co8WvCiD.css +1 -0
  79. package/dist/assets/issues-BbiG7dCV.js +1 -0
  80. package/dist/assets/layout-B2Ap07aa.js +1 -0
  81. package/dist/assets/{lazy-NHSwD9FS.js → lazy-BjyT2XvW.js} +1 -1
  82. package/dist/assets/{learning-Bdi3XRS7.js → learning-CUCuuoHM.js} +1 -1
  83. package/dist/assets/mdi-Bt90Ns76.js +1 -0
  84. package/dist/assets/placement-CQy46H3H.js +1 -0
  85. package/dist/assets/publish-4r_4K5IY.js +3 -0
  86. package/dist/assets/publish-BFTsAMCF.css +1 -0
  87. package/dist/assets/pull-requests-BjwokcU0.css +1 -0
  88. package/dist/assets/pull-requests-DY9jg3cE.js +1 -0
  89. package/dist/assets/{repository-BL_2bgzC.js → repository-DhXdoMP6.js} +1 -1
  90. package/dist/assets/ripple-EFNA8EBu.js +11 -0
  91. package/dist/assets/rolldown-runtime-DBalRfVu.js +1 -0
  92. package/dist/assets/{session-BdhKrcX4.js → session-BGpiZThC.js} +1 -1
  93. package/dist/assets/{settings-1rpuL7eR.js → settings-Cj4u-76p.js} +1 -1
  94. package/dist/assets/settings-D8x4KUqV.css +1 -0
  95. package/dist/assets/shared-DZETtWRH.js +2 -0
  96. package/dist/assets/studioGateApi-BXHVBVEc.js +1 -0
  97. package/dist/assets/studioUrls-DpSS-0z1.js +1 -0
  98. package/dist/assets/useArchivedVibe64Sessions-BXNg8oES.js +1 -0
  99. package/dist/assets/useCommand-nWFczmJy.js +1 -0
  100. package/dist/assets/useEndpointResource-Ds8EDBZ2.js +1 -0
  101. package/dist/assets/useRealtimeEvent-DrOiU8lJ.js +1 -0
  102. package/dist/assets/{useUiFeedback-BPBF_0bp.js → useUiFeedback-CMwE4MLs.js} +1 -1
  103. package/dist/assets/useVibe64ConversationLog-C1xjhFtS.js +1 -0
  104. package/dist/assets/{useVibe64DatabaseTools-4o6S8eXq.js → useVibe64DatabaseTools-H6H-YJQX.js} +1 -1
  105. package/dist/assets/useVibe64ProjectScope-B5ogg6jd.js +1 -0
  106. package/dist/assets/useVibe64SessionData-CnDOFFHb.js +1 -0
  107. package/dist/assets/{useVibe64SessionSelection-BzL1y_Vq.js → useVibe64SessionSelection-J87nJ9p5.js} +1 -1
  108. package/dist/assets/{useVibe64SystemGraph-B4RmsC9Y.js → useVibe64SystemGraph-DbSfrYF8.js} +1 -1
  109. package/dist/assets/{useVibe64Terminal-Cg3idMcy.js → useVibe64Terminal-I7Sf6xMW.js} +1 -1
  110. package/dist/assets/vibe64ProjectScope.local-B06ABkhI.js +1 -0
  111. package/dist/assets/vibe64SavedEnvValues-B_QE9aAj.js +1 -0
  112. package/dist/assets/vibe64SessionFocus-CA-sk8Ri.css +1 -0
  113. package/dist/assets/vibe64SessionFocus-DlN8NwcE.js +1 -0
  114. package/dist/assets/{vibe64SessionInfo-BuBUdL-e.js → vibe64SessionInfo-B0uItVOK.js} +1 -1
  115. package/dist/assets/{vibe64SessionToolDefinitions-BJaJH5LR.js → vibe64SessionToolDefinitions-Dsn8WYmO.js} +1 -1
  116. package/dist/index.html +56 -46
  117. package/docs/colleague-usage/account-profile-and-appearance.md +1 -1
  118. package/docs/colleague-usage/{ai-accounts-and-routing.md → ai-accounts.md} +41 -114
  119. package/docs/colleague-usage/ai-model-setups.md +159 -0
  120. package/docs/colleague-usage/ai-onboarding.md +97 -22
  121. package/docs/colleague-usage/ai-personal-use.md +41 -0
  122. package/docs/colleague-usage/auto-workflow.md +8 -3
  123. package/docs/colleague-usage/codex-context-recovery.md +2 -1
  124. package/docs/colleague-usage/coding-agent-goals.md +7 -4
  125. package/docs/colleague-usage/coding-agents.md +8 -5
  126. package/docs/colleague-usage/colleague-watches.md +15 -4
  127. package/docs/colleague-usage/colleague.md +21 -5
  128. package/docs/colleague-usage/connected-contributions.md +13 -13
  129. package/docs/colleague-usage/connected-projects.md +2 -2
  130. package/docs/colleague-usage/conversation-context.md +1 -1
  131. package/docs/colleague-usage/dashboard-navigation.md +5 -3
  132. package/docs/colleague-usage/development-env.md +21 -4
  133. package/docs/colleague-usage/file-interfaces.md +1 -1
  134. package/docs/colleague-usage/github-work.md +8 -8
  135. package/docs/colleague-usage/health-checks.md +52 -18
  136. package/docs/colleague-usage/incoming-changes.md +3 -3
  137. package/docs/colleague-usage/integrations.md +5 -3
  138. package/docs/colleague-usage/learning-course-catalogue.md +3 -3
  139. package/docs/colleague-usage/learning-environment.md +78 -56
  140. package/docs/colleague-usage/learning-mode-ui.md +31 -19
  141. package/docs/colleague-usage/learning-practice-projects.md +15 -4
  142. package/docs/colleague-usage/learning-teacher-guide.md +10 -4
  143. package/docs/colleague-usage/learning-with-colleague.md +12 -8
  144. package/docs/colleague-usage/lesson-authoring.md +13 -13
  145. package/docs/colleague-usage/lesson-step-bar.md +47 -33
  146. package/docs/colleague-usage/main-chat-approvals.md +150 -0
  147. package/docs/colleague-usage/preview-browser-checks.md +5 -1
  148. package/docs/colleague-usage/preview-starting-application.md +10 -1
  149. package/docs/colleague-usage/project-language-tools.md +16 -2
  150. package/docs/colleague-usage/project-settings.md +1 -1
  151. package/docs/colleague-usage/project-setup.md +17 -7
  152. package/docs/colleague-usage/publishing.md +187 -0
  153. package/docs/colleague-usage/running-vibe64-on-your-computer.md +54 -6
  154. package/docs/colleague-usage/sessions.md +18 -10
  155. package/docs/colleague-usage/set-up-linux.md +254 -0
  156. package/docs/colleague-usage/set-up-macos.md +199 -0
  157. package/docs/colleague-usage/set-up-windows.md +76 -0
  158. package/docs/colleague-usage/starter-apps.md +23 -6
  159. package/docs/colleague-usage/teaching-content.md +2 -2
  160. package/docs/colleague-usage/team-ai-access.md +108 -0
  161. package/docs/colleague-usage/temporary-chats.md +9 -7
  162. package/docs/colleague-usage/workspace-preparation.md +50 -1
  163. package/docs/templates/learn-topic/README.md +3 -3
  164. package/docs/templates/learn-topic/training/lessons/TOPIC-01/lesson.json +2 -1
  165. package/docs/training-content.md +37 -15
  166. package/node_modules/@jskit-ai/assistant-core/package.json +1 -1
  167. package/node_modules/@jskit-ai/assistant-runtime/package.json +1 -1
  168. package/node_modules/@jskit-ai/assistant-voice/package.json +1 -1
  169. package/node_modules/@jskit-ai/connector-google-calendar/package.json +1 -1
  170. package/node_modules/@jskit-ai/connectors-catalog/package.json +1 -1
  171. package/node_modules/@jskit-ai/connectors-catalog/patterns/oauth-connection/PATTERN.md +25 -0
  172. package/node_modules/@jskit-ai/connectors-core/package.json +1 -1
  173. package/node_modules/@jskit-ai/http-runtime/package.json +1 -1
  174. package/node_modules/@jskit-ai/kernel/package.json +1 -1
  175. package/node_modules/@jskit-ai/realtime/package.json +1 -1
  176. package/node_modules/@jskit-ai/resource-core/package.json +1 -1
  177. package/node_modules/@jskit-ai/resource-crud-core/package.json +1 -1
  178. package/node_modules/@jskit-ai/uploads-runtime/package.json +1 -1
  179. package/node_modules/@local/vibe64-accounts/package.json +2 -1
  180. package/node_modules/@local/vibe64-core/package.json +4 -1
  181. package/node_modules/@local/vibe64-execution/src/host/execHelper.js +82 -81
  182. package/node_modules/@local/vibe64-genesis/bin/vibe64-genesis-host-context +83 -82
  183. package/node_modules/@local/vibe64-genesis/package.json +1 -0
  184. package/node_modules/@local/vibe64-genesis/src/server/agentSpecs.js +118 -68
  185. package/node_modules/@local/vibe64-genesis/src/server/index.js +536 -449
  186. package/node_modules/@local/vibe64-genesis/src/server/packaging.js +105 -0
  187. package/node_modules/@local/vibe64-genesis/src/server/promptContext.js +144 -145
  188. package/node_modules/@local/vibe64-packaging/package.json +26 -0
  189. package/node_modules/@local/vibe64-packaging/src/server/packers/capacitor/ShellIcons.java +112 -0
  190. package/node_modules/@local/vibe64-project/package.json +3 -1
  191. package/node_modules/@local/vibe64-publishing/package.json +12 -0
  192. package/node_modules/@local/vibe64-runtime/src/server/codexAppServerProcess.js +7 -7
  193. package/node_modules/@local/vibe64-runtime/src/shared/assistantRoutingScores.json +25 -22
  194. package/node_modules/@local/vibe64-terminals/package.json +2 -1
  195. package/node_modules/@local/vibe64-terminals/src/server/sessionWorkOperationCommand.js +1341 -1300
  196. package/node_modules/@local/vibe64-training/package.json +2 -1
  197. package/package.json +19 -15
  198. package/server.bundle.mjs +43109 -41089
  199. package/dist/assets/GithubBrowserTabs-C2NO5l8g.js +0 -1
  200. package/dist/assets/StudioErrorNotice-CSrUw1QV.js +0 -1
  201. package/dist/assets/VAlert-P256xaE0.js +0 -1
  202. package/dist/assets/VAutocomplete-BDb95qJX.js +0 -1
  203. package/dist/assets/VAvatar-DPzqDH4r.js +0 -1
  204. package/dist/assets/VBtn-B2MBK2DL.js +0 -1
  205. package/dist/assets/VCard-mXy0k4aS.js +0 -1
  206. package/dist/assets/VCheckbox-C7A1ZW4D.js +0 -1
  207. package/dist/assets/VChip-CcI-Oo2J.js +0 -1
  208. package/dist/assets/VDialog-Bu3EfKb1.js +0 -1
  209. package/dist/assets/VDivider-BMEqUoAB.js +0 -1
  210. package/dist/assets/VExpansionPanels-Dgjrop0V.js +0 -1
  211. package/dist/assets/VMenu-C_x18lwb.js +0 -1
  212. package/dist/assets/VOverlay-CeMZurIN.js +0 -1
  213. package/dist/assets/VRadioGroup-CUu2-KIP.js +0 -1
  214. package/dist/assets/VRow-Cpw7OHQV.js +0 -1
  215. package/dist/assets/VSelect-DL3HaA5m.js +0 -2
  216. package/dist/assets/VSheet-DZWsu0kL.js +0 -1
  217. package/dist/assets/VSkeletonLoader-CttxM1tw.js +0 -1
  218. package/dist/assets/VSpacer-Dhmsvk4t.js +0 -1
  219. package/dist/assets/VSwitch-BRHeDJkH.js +0 -1
  220. package/dist/assets/VTextField-BR2eZeFT.js +0 -1
  221. package/dist/assets/VTextField-BiatYyd3.css +0 -1
  222. package/dist/assets/VTextarea-DbqamXJd.js +0 -1
  223. package/dist/assets/Vibe64AuthSettingsButton-fY4ZiIFF.js +0 -5
  224. package/dist/assets/Vibe64DashboardPageHeader-Gm1IvlHx.css +0 -1
  225. package/dist/assets/Vibe64DashboardShell-BSq7uXEW.js +0 -1
  226. package/dist/assets/Vibe64OutputControls-_zhGX9ne.js +0 -8
  227. package/dist/assets/Vibe64SessionFiles-Bl8wJ5Sk.css +0 -1
  228. package/dist/assets/_slug_-BclonbST.js +0 -24
  229. package/dist/assets/_slug_-CZ1bxO9C.css +0 -1
  230. package/dist/assets/app-BNP_n_Tt.js +0 -1
  231. package/dist/assets/assistantRouting-D4XpXcEf.js +0 -3
  232. package/dist/assets/client-BWV84wi2.js +0 -2
  233. package/dist/assets/client-DGrP-2AJ.css +0 -1
  234. package/dist/assets/definitions-BrMvu6yV.js +0 -1
  235. package/dist/assets/env-BzRtyO0w.css +0 -1
  236. package/dist/assets/env-D3KQGvRe.js +0 -1
  237. package/dist/assets/health-BJvooRnJ.css +0 -1
  238. package/dist/assets/health-BhoO1d4h.js +0 -1
  239. package/dist/assets/incoming-DWDrmxyH.css +0 -1
  240. package/dist/assets/incoming-DzADFGqp.js +0 -2
  241. package/dist/assets/index-dNxr4Lg9.js +0 -138
  242. package/dist/assets/integrations-Cq1x-Di9.css +0 -1
  243. package/dist/assets/issues-Bywux4s7.js +0 -1
  244. package/dist/assets/mdi-CG9pWOSj.js +0 -1
  245. package/dist/assets/placement-BF-zIEhA.js +0 -1
  246. package/dist/assets/pull-requests-CdbhyFOv.css +0 -1
  247. package/dist/assets/pull-requests-ncmKT3sS.js +0 -1
  248. package/dist/assets/ripple-BVltMmyV.js +0 -11
  249. package/dist/assets/settings-BopLnpB0.css +0 -1
  250. package/dist/assets/shared-DpMvYJO3.js +0 -2
  251. package/dist/assets/studioGateApi-DcCqiD9V.js +0 -1
  252. package/dist/assets/studioUrls-DmMMIScP.js +0 -1
  253. package/dist/assets/useArchivedVibe64Sessions-_LB2XxEa.js +0 -1
  254. package/dist/assets/useCommand-Bqxb-naz.js +0 -1
  255. package/dist/assets/useEndpointResource-DWoQ2keu.js +0 -1
  256. package/dist/assets/useRealtimeEvent-Bwapstla.js +0 -1
  257. package/dist/assets/useVibe64ConversationLog-BqUI0S5n.js +0 -1
  258. package/dist/assets/useVibe64Learning-DyqXkpLw.js +0 -1
  259. package/dist/assets/useVibe64ProjectScope-Bp1ImZlz.js +0 -1
  260. package/dist/assets/useVibe64SessionData-B686lToN.js +0 -1
  261. package/dist/assets/vibe64SessionFocus-CqZNTvYF.js +0 -1
  262. package/dist/assets/vibe64SessionFocus-OJ2toBd9.css +0 -1
@@ -1 +0,0 @@
1
- .project-selection-gate[data-v-48ac4392]{align-content:start;gap:.85rem;min-width:0;display:grid}.project-selection-gate__deleted[data-v-48ac4392]{justify-items:start;gap:.75rem;width:100%;max-width:min(36rem,100%);margin-inline:auto;padding:1.25rem;display:grid}.project-selection-gate__learning-note[data-v-48ac4392]{background:var(--v64-learning-container,#f5c5183d);color:var(--v64-on-learning-container,inherit);border-radius:.5rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;padding:.5rem .75rem;display:flex}.project-selection-gate__deleted-text[data-v-48ac4392]{color:rgba(var(--v-theme-on-surface), .72);margin:0}.project-selection-gate__loading[data-v-48ac4392]{flex:auto;min-height:18rem}.project-selection-gate__picker[data-v-48ac4392]{gap:1rem;width:100%;max-width:min(48rem,100%);margin-inline:auto;padding:1rem;display:grid}.project-selection-gate__header[data-v-48ac4392]{justify-content:space-between;align-items:start;min-width:0;display:flex}.project-selection-gate__eyebrow[data-v-48ac4392]{color:rgba(var(--v-theme-on-surface), .62);letter-spacing:0;text-transform:uppercase;margin:0 0 .15rem;font-size:.76rem;font-weight:680}.project-selection-gate__title[data-v-48ac4392]{letter-spacing:0;margin:0;font-size:1.25rem;font-weight:760;line-height:1.15}.project-selection-gate__path[data-v-48ac4392]{color:rgba(var(--v-theme-on-surface), .62);overflow-wrap:anywhere;margin:.35rem 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.82rem}.project-selection-gate__list[data-v-48ac4392]{gap:.45rem;display:grid}.project-selection-gate__project[data-v-48ac4392]{text-transform:none;justify-content:flex-start;min-height:3.1rem}.project-selection-gate__project[data-v-48ac4392] .v-btn__content{place-items:flex-start start;gap:.1rem;min-width:0;display:grid}.project-selection-gate__project-path[data-v-48ac4392]{color:rgba(var(--v-theme-on-surface), .62);text-overflow:ellipsis;white-space:nowrap;max-width:min(38rem,70vw);font-size:.75rem;overflow:hidden}.project-selection-gate__create[data-v-48ac4392]{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.65rem;display:grid}@media (width<=640px){.project-selection-gate__create[data-v-48ac4392]{grid-template-columns:1fr}}.local-remotes[data-v-a0155a06]{flex:none;min-width:0}.local-remotes__branch[data-v-a0155a06]{min-width:0;max-width:100%}.local-remotes__branch-name[data-v-a0155a06]{text-overflow:ellipsis;max-width:8rem;display:block;overflow:hidden}.local-remotes__status[data-v-a0155a06]{color:rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity));align-items:center;gap:.375rem;display:flex}.local-remotes__count[data-v-a0155a06]{font-variant-numeric:tabular-nums}.local-remotes__details[data-v-a0155a06]{grid-template-columns:auto minmax(0,1fr);gap:.75rem 1rem;display:grid}.local-remotes__details dt[data-v-a0155a06]{color:rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity))}.local-remotes__details dd[data-v-a0155a06],.local-remotes__message[data-v-a0155a06]{overflow-wrap:anywhere;margin:0}.local-remotes__url[data-v-a0155a06]{overflow-wrap:anywhere}.studio-autopilot__composer-delivery[data-v-9e56f63d]{flex-shrink:0;align-items:center;gap:.25rem;min-width:0;margin-inline-start:auto;display:flex}.studio-autopilot__composer-action[data-v-9e56f63d]{flex-shrink:0}@container studio-chat-pane (width<=32rem){.studio-autopilot__composer-delivery[data-v-9e56f63d]{gap:0}.studio-autopilot__composer-action[data-v-9e56f63d]{width:clamp(2rem,10cqi,2.5rem)}}@media (pointer:coarse){.studio-autopilot__composer-action[data-v-9e56f63d]{min-width:3rem;min-height:3rem}}.chat-modes__trigger[data-v-3ea2a11b]{flex-shrink:0}.chat-modes__details[data-v-3ea2a11b]{flex-direction:column;max-height:min(560px,75dvh);display:flex}.chat-modes__details-body[data-v-3ea2a11b]{min-height:0;overflow-y:auto}.chat-modes__model[data-v-3ea2a11b]{white-space:normal;overflow-wrap:anywhere}.vibe64-temporary-ai__composer-actions[data-v-b3e7e02a]{align-items:center;gap:.25rem;width:100%;min-width:0;display:flex}.vibe64-temporary-ai.vibe64-temporary-ai--host[data-v-b3e7e02a]{border-color:rgba(var(--v-theme-secondary), .65);grid-template-rows:auto minmax(0,1fr)}.vibe64-temporary-ai--host .vibe64-temporary-ai__tabs[data-v-b3e7e02a]{background:rgba(var(--v-theme-secondary), .12)}.vibe64-temporary-ai__host-tab[data-v-b3e7e02a]{flex:none}.vibe64-temporary-ai__host-content[data-v-b3e7e02a]{min-width:0;min-height:0}.vibe64-temporary-ai__unread[data-v-b3e7e02a]{background:rgb(var(--v-theme-primary));border-radius:50%;flex:0 0 8px;height:8px}.vibe64-temporary-ai[data-v-b3e7e02a]{background:rgb(var(--v-theme-surface));border:2px solid rgba(var(--v-theme-tertiary), .42);z-index:12;border-radius:12px;grid-row:3/-1;grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-height:0;display:grid;position:absolute;inset:0 .3rem .3rem;overflow:hidden;box-shadow:0 14px 38px #0f172a38}.vibe64-temporary-ai__tabs[data-v-b3e7e02a]{background:rgba(var(--v-theme-tertiary), .06);border-bottom:1px solid rgba(var(--v-theme-tertiary), .18);align-items:flex-start;gap:.25rem;padding:.25rem .35rem;display:flex}.vibe64-temporary-ai__task-tabs[data-v-b3e7e02a]{scrollbar-width:thin;flex:auto;gap:.25rem;min-width:0;display:flex;overflow-x:auto}.vibe64-temporary-ai__tab[data-v-b3e7e02a]{background:rgba(var(--v-theme-on-surface), .05);color:inherit;border:1px solid #0000;border-radius:999px;flex:none;align-items:center;max-width:100%;min-height:2rem;padding-left:.15rem;display:inline-flex}.vibe64-temporary-ai__tab-select[data-v-b3e7e02a]{color:inherit;cursor:pointer;background:0 0;border:0;align-self:stretch;align-items:center;gap:.35rem;min-width:0;padding:.2rem .35rem .2rem .55rem;display:inline-flex}.vibe64-temporary-ai__tab-select>span[data-v-b3e7e02a]:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vibe64-temporary-ai__tab-rename[data-v-b3e7e02a],.vibe64-temporary-ai__tab-close[data-v-b3e7e02a]{flex:none}.vibe64-temporary-ai[data-v-b3e7e02a]:focus-visible,.vibe64-temporary-ai__tab-select[data-v-b3e7e02a]:focus-visible{outline:2px solid rgb(var(--v-theme-primary));outline-offset:2px}.vibe64-temporary-ai__tab--active[data-v-b3e7e02a]{background:rgb(var(--v-theme-surface));border-color:rgba(var(--v-theme-tertiary), .35);font-weight:650}.vibe64-temporary-ai__tab--main[data-v-b3e7e02a]{background:rgb(var(--v-theme-surface));border-color:rgba(var(--v-theme-tertiary), .22)}.vibe64-temporary-ai__new-task[data-v-b3e7e02a]{flex:none}.vibe64-temporary-ai__tabs-spacer[data-v-b3e7e02a]{flex:auto}.vibe64-temporary-ai__busy[data-v-b3e7e02a]{background:rgb(var(--v-theme-primary));border-radius:50%;width:.45rem;height:.45rem}.vibe64-temporary-ai__recovery[data-v-b3e7e02a]{overflow-wrap:anywhere;flex-wrap:wrap;align-items:start;gap:.5rem;padding:.4rem;font-size:.85rem;display:flex}.vibe64-temporary-ai__recovery-row[data-v-b3e7e02a]:not(:empty){max-height:min(20dvh,8rem);padding:.35rem .55rem 0;overflow-y:auto}.vibe64-temporary-ai__recovery-summary[data-v-b3e7e02a]{flex:1;min-width:0}.vibe64-temporary-ai__recovery strong[data-v-b3e7e02a]{font-size:.95rem;line-height:1.4}.vibe64-temporary-ai__recovery summary[data-v-b3e7e02a]{cursor:pointer}.vibe64-temporary-ai__check-update[data-v-b3e7e02a],.vibe64-temporary-ai__composer[data-v-b3e7e02a]{flex:none}.vibe64-temporary-ai__return[data-v-b3e7e02a]{justify-self:start;margin-top:.4rem;scroll-margin-block:.55rem}.vibe64-temporary-ai__recovery p[data-v-b3e7e02a]{margin:0}.vibe64-temporary-ai__recovery p+p[data-v-b3e7e02a]{margin-top:.3rem}.vibe64-temporary-ai__error[data-v-b3e7e02a]{color:rgba(var(--v-theme-on-surface), .66);font-size:.82rem}.vibe64-temporary-ai__feedback[data-v-b3e7e02a]{flex:none;min-width:0;max-height:min(12dvh,6rem);overflow-y:auto}.vibe64-temporary-ai__error[data-v-b3e7e02a]{color:rgb(var(--v-theme-error));padding:.3rem .55rem}.vibe64-temporary-ai__error--recovered[data-v-b3e7e02a]{color:rgba(var(--v-theme-on-surface), .66)}@media (width<=720px){.vibe64-temporary-ai[data-v-b3e7e02a]{z-index:30;border:0;border-radius:0;inset:0}}@media (pointer:coarse){.vibe64-temporary-ai__tab-select[data-v-b3e7e02a],.vibe64-temporary-ai__new-task[data-v-b3e7e02a],.vibe64-temporary-ai__tab-rename[data-v-b3e7e02a],.vibe64-temporary-ai__tab-close[data-v-b3e7e02a],.vibe64-temporary-ai__check-update[data-v-b3e7e02a],.vibe64-temporary-ai__return[data-v-b3e7e02a]{min-width:3rem!important;min-height:3rem!important}}.studio-ai-session-archive-dialog[data-v-6853144f]{border:1px solid rgba(var(--v-theme-primary), .32)}.studio-ai-session-archive-dialog__title[data-v-6853144f],.studio-ai-session-archive-dialog__actions[data-v-6853144f]{align-items:center;gap:.55rem;display:flex}.studio-ai-session-archive-dialog__actions[data-v-6853144f]{justify-content:flex-end;padding:0 1rem 1rem}.project-preview[data-v-7acd7acf]{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.project-preview__output[data-v-7acd7acf]{flex:1;min-height:0}.project-preview__warning[data-v-7acd7acf]{overflow-wrap:anywhere;flex:none;max-height:35%;overflow-y:auto}.project-preview__warning p[data-v-7acd7acf]{margin:.25rem 0}.project-preview__warning-actions[data-v-7acd7acf]{flex-wrap:wrap;align-items:center;gap:.25rem .5rem;margin-top:.25rem;display:flex}.project-preview__warning-actions button[data-v-7acd7acf]:disabled{opacity:.6}.project-onboarding[data-v-7acd7acf]{width:min(100%,52rem);margin:auto;padding:clamp(1rem,3vw,2.5rem);overflow-y:auto}.project-onboarding h2[data-v-7acd7acf]{margin-bottom:1rem;font-size:1.6rem;line-height:1.25}.project-onboarding p[data-v-7acd7acf]{margin-bottom:1.25rem;line-height:1.6}.project-onboarding__eyebrow[data-v-7acd7acf]{letter-spacing:.06em;text-transform:uppercase;opacity:.65;font-size:.8rem;font-weight:700}.project-onboarding__group[data-v-7acd7acf]{margin-block:1.5rem}.project-onboarding__group h3[data-v-7acd7acf]{margin-bottom:.75rem}.project-onboarding__choices[data-v-7acd7acf]{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem;display:grid}.project-onboarding__choice[data-v-7acd7acf]{text-align:left;border:1px solid rgba(var(--v-theme-on-surface), .16);background:rgb(var(--v-theme-surface));color:inherit;border-radius:1rem;flex-direction:column;gap:.7rem;padding:1.25rem;display:flex}.project-onboarding__choice[data-v-7acd7acf]:not(:disabled):hover{border-color:rgb(var(--v-theme-primary));background:rgba(var(--v-theme-primary), .05)}.project-onboarding__choice[data-v-7acd7acf]:focus-visible{outline:2px solid rgb(var(--v-theme-primary));outline-offset:3px}.project-onboarding__choice[data-v-7acd7acf]:disabled{opacity:.55}.project-onboarding__choice span[data-v-7acd7acf]{font-size:.9rem;line-height:1.5}.project-onboarding__choose[data-v-7acd7acf]{color:rgb(var(--v-theme-primary));margin-top:auto;padding-top:.5rem;font-weight:600}.project-onboarding__actions[data-v-7acd7acf]{flex-wrap:wrap;gap:.75rem;display:flex}.agent-plan-usage[data-v-8fc2288d]{text-transform:none;max-width:100%;font-size:.7rem}.agent-plan-usage__details[data-v-8fc2288d]{white-space:pre-line;margin-block:.5rem}.agent-plan-usage__goal-text[data-v-8fc2288d]{white-space:pre-wrap;overflow-wrap:anywhere}.action-label-pending[data-v-9ad2c448]{visibility:hidden}.vibe64-routing-notice[data-v-9ad2c448] .v-alert__content{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}details[data-v-9ad2c448]{flex:13rem;min-width:0}details[open][data-v-9ad2c448]{flex-basis:100%}.vibe64-routing-notice__actions[data-v-9ad2c448]{flex:none;max-width:100%}.vibe64-routing-notice__actions[data-v-9ad2c448] .v-btn{min-height:32px;padding-inline:8px}summary[data-v-9ad2c448]{cursor:pointer;overflow-wrap:anywhere;align-content:center;min-height:32px}@media (pointer:coarse){summary[data-v-9ad2c448],.vibe64-routing-notice__actions[data-v-9ad2c448] .v-btn{min-height:44px}}.work-plan-control[data-v-1813ffe2]{flex:none;align-items:center;display:inline-flex}@media (pointer:coarse){.work-plan-control>.v-btn[data-v-1813ffe2]{min-width:48px;min-height:48px}}.work-plan-content[data-v-1813ffe2]{overflow-wrap:anywhere;min-height:0}.work-plan-archive-context[data-v-1813ffe2]{flex:none;align-items:center;gap:.5rem;display:flex}.work-plan-archive-copy[data-v-1813ffe2]{min-width:0}.work-plan-history-title[data-v-1813ffe2]{white-space:normal;overflow-wrap:anywhere;flex:1;min-width:0}.work-plan-empty[data-v-1813ffe2]{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:12rem;display:flex}.work-plan-item[data-v-1813ffe2]{align-items:flex-start;gap:.75rem;margin-block:.5rem;display:flex}.work-plan-item input[data-v-1813ffe2]{opacity:1;width:1.1rem;height:1.1rem;accent-color:rgb(var(--v-theme-primary));flex:none;margin-top:.25rem}.work-plan-item[data-v-1813ffe2]>:last-child{flex:1;min-width:0}.starred-files-menu[data-v-b86a8fd5]{flex-direction:column;gap:.5rem;width:min(25rem,100vw - 1rem);max-height:min(32rem,75dvh);padding:.75rem;display:flex}.starred-files-menu__header[data-v-b86a8fd5]{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}.starred-files-menu__list[data-v-b86a8fd5]{overscroll-behavior:contain;min-height:0;overflow-y:auto}@media (width<=599px){.starred-files-menu[data-v-b86a8fd5]{width:100%;padding-bottom:max(.75rem, env(safe-area-inset-bottom))}}@media (pointer:coarse){.starred-files-menu__trigger[data-v-b86a8fd5]{min-width:3rem;min-height:3rem}}.vibe64-temporary-action-terminal--error{border-inline-start:.25rem solid rgb(var(--v-theme-error))}.vibe64-temporary-action-terminal .vibe64-terminal-surface__header{flex-direction:column;align-items:stretch;gap:.5rem;margin-bottom:0}.vibe64-temporary-action-terminal .vibe64-terminal-surface__body{margin-top:.5rem}.vibe64-temporary-action-terminal__summary[data-v-efc31aa6]{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title status";align-items:center;gap:.5rem;min-width:0;display:grid}.vibe64-temporary-action-terminal__title[data-v-efc31aa6]{grid-area:title;font-size:.88rem}.vibe64-temporary-action-terminal__status[data-v-efc31aa6]{grid-area:status}.vibe64-temporary-action-terminal--error .vibe64-temporary-action-terminal__line[data-v-efc31aa6]{overflow-wrap:anywhere;white-space:normal;flex-basis:100%}.vibe64-temporary-action-terminal__title[data-v-efc31aa6],.vibe64-temporary-action-terminal__line[data-v-efc31aa6]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vibe64-temporary-action-terminal__line[data-v-efc31aa6]{color:rgba(var(--v-theme-on-surface), .72);flex:1 1 0;order:-1;min-width:0;font-size:.82rem}.studio-ai-sessions__create-button[data-v-63a40b7b]{border:1px solid #0000;border-radius:999px;width:3rem;min-width:3rem;height:3rem;min-height:3rem;position:relative;overflow:visible;background:var(--studio-control-rest-bg,#f7f7f8)!important;box-shadow:none!important;color:var(--v64-primary)!important}.studio-ai-sessions__create-button[data-v-63a40b7b]:hover{background:var(--studio-control-active-bg,#e7e7e7)!important}.studio-ai-sessions__create-button[data-v-63a40b7b] .v-icon{color:currentColor;font-size:1.15rem}.studio-ai-sessions__create-button--attention[data-v-63a40b7b]:not(.v-btn--disabled){border-color:color-mix(in srgb, var(--v64-primary) 36%, transparent)}.studio-ai-sessions__create-button--attention[data-v-63a40b7b]:not(.v-btn--disabled):after{border-radius:inherit;content:"";opacity:0;pointer-events:none;transform-origin:50%;will-change:opacity, transform;border:2px solid;animation:6s ease-out infinite studio-ai-session-create-pulse-63a40b7b;position:absolute;inset:-.18rem;transform:scale(1)translateZ(0)}.studio-ai-sessions__preview-create-button[data-v-63a40b7b]{border-radius:var(--studio-control-radius,7px);letter-spacing:0;border:1px solid #0000;min-width:12rem;min-height:3rem;font-weight:500;background:var(--studio-control-active-bg,#e7e7e7)!important;box-shadow:none!important;color:var(--studio-control-text,#202124)!important}.studio-ai-sessions__preview-create-button[data-v-63a40b7b]:hover{background:var(--studio-control-rest-bg,#f7f7f8)!important}.studio-ai-sessions__create-button--unavailable[data-v-63a40b7b]{cursor:not-allowed;opacity:var(--v-disabled-opacity,.38)}.studio-ai-sessions__create-button--unavailable[data-v-63a40b7b]:hover{background:var(--studio-control-rest-bg,#f7f7f8)!important}@keyframes studio-ai-session-create-pulse-63a40b7b{0%{opacity:.48;transform:scale(1)translateZ(0)}14%{opacity:0;transform:scale(1.34)translateZ(0)}to{opacity:0;transform:scale(1.34)translateZ(0)}}@media (prefers-reduced-motion:reduce){.studio-ai-sessions__create-button--attention[data-v-63a40b7b]:not(.v-btn--disabled):after{animation:none}}.studio-ai-sessions__archive-progress[data-v-daaea8eb]{background:rgba(var(--v-theme-primary), .08);overflow-wrap:anywhere;border-radius:.5rem;align-items:flex-start;gap:.5rem;width:100%;padding:.5rem;font-size:.8rem;display:flex}.studio-ai-sessions__archive-detail[data-v-daaea8eb]{opacity:.8;margin-top:.2rem}.studio-ai-sessions__toolbar[data-v-daaea8eb]{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.75rem;width:100%;min-width:0;display:flex}.studio-ai-sessions__tabs[data-v-daaea8eb]{flex-wrap:wrap;align-items:center;gap:.45rem;width:100%;min-width:0;display:flex}.studio-ai-sessions__tab[data-v-daaea8eb]{border:0;border-radius:999px;align-items:stretch;max-width:18rem;font-weight:500;position:relative;overflow:visible;box-shadow:none!important;color:var(--studio-control-text,#202124)!important;background:0 0!important;padding:0!important}.studio-ai-sessions__tab[data-v-daaea8eb] .v-chip__content{align-items:stretch;min-width:0;display:inline-flex}.studio-ai-sessions__tab-main[data-v-daaea8eb]{--studio-ai-sessions-chip-rest:color-mix(in srgb, var(--v64-on-surface) 5%, var(--v64-surface));background:var(--studio-ai-sessions-chip-rest);border:1px solid var(--v64-outline-variant);box-sizing:border-box;color:var(--studio-control-text,#202124);border-radius:999px;flex:auto;align-items:center;min-width:0;padding-inline:.85rem;display:inline-flex}.studio-ai-sessions__tab--active[data-v-daaea8eb]{font-weight:560;color:var(--studio-control-text,#202124)!important}.studio-ai-sessions__tab--archiving .studio-ai-sessions__tab-main[data-v-daaea8eb]{background:rgba(var(--v-theme-on-surface), .06);color:rgba(var(--v-theme-on-surface), .55)}.studio-ai-sessions__tab--archiving .studio-ai-sessions__status-dot[data-v-daaea8eb]{background:currentColor}.studio-ai-sessions__tab-main[data-v-daaea8eb],.studio-ai-sessions__tab-close-slot[data-v-daaea8eb]{transition:background-color var(--v64-duration-short) var(--v64-ease-standard), color var(--v64-duration-short) var(--v64-ease-standard)}.studio-ai-sessions__tab--active .studio-ai-sessions__tab-main[data-v-daaea8eb]{background:var(--studio-control-active-bg,#e7e7e7);color:var(--v64-on-secondary-container);border-color:#0000;border-radius:999px 0 0 999px;padding-inline-end:.34rem}.studio-ai-sessions__tab:not(.studio-ai-sessions__tab--active) .studio-ai-sessions__tab-main[data-v-daaea8eb]:hover{background:color-mix(in srgb, var(--v64-on-surface) 8%, var(--studio-ai-sessions-chip-rest))}.studio-ai-sessions__tab--active .studio-ai-sessions__tab-main[data-v-daaea8eb]:hover,.studio-ai-sessions__tab--active .studio-ai-sessions__tab-main:hover+.studio-ai-sessions__tab-close-slot[data-v-daaea8eb]{background:color-mix(in srgb, var(--v64-on-secondary-container) 8%, var(--studio-control-active-bg,#e7e7e7))}.studio-ai-sessions__tab[data-v-daaea8eb]:focus-visible{outline:var(--v64-focus-ring-width) solid var(--v64-focus-ring-color);outline-offset:var(--v64-focus-ring-offset)}.studio-ai-sessions__tab[data-v-daaea8eb] .v-chip__overlay,.studio-ai-sessions__tab[data-v-daaea8eb] .v-chip__underlay{display:none}.studio-ai-sessions__tab-label[data-v-daaea8eb]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.studio-ai-sessions__repository-state[data-v-daaea8eb]{color:rgba(var(--v-theme-on-surface), .52);flex:none;margin-inline-start:.42rem}.studio-ai-sessions__tab-info[data-v-daaea8eb]{color:inherit;flex-shrink:0;display:none}.studio-ai-sessions__info[data-v-daaea8eb]{overflow-wrap:anywhere;max-width:100%;padding:.25rem}.studio-ai-sessions__info-facts[data-v-daaea8eb]{grid-template-columns:auto minmax(0,1fr);gap:.3rem .75rem;margin:.5rem 0 0;display:grid}.studio-ai-sessions__info-facts dt[data-v-daaea8eb]{opacity:.75}.studio-ai-sessions__info-facts dd[data-v-daaea8eb]{margin:0}.studio-ai-sessions__repository-state--saved[data-v-daaea8eb]{color:rgb(var(--v-theme-success))}.studio-ai-sessions__repository-state--unsaved[data-v-daaea8eb],.studio-ai-sessions__repository-state--unavailable[data-v-daaea8eb]{color:rgb(var(--v-theme-error))}.studio-ai-sessions__tab-close-slot[data-v-daaea8eb]{background:var(--studio-control-active-bg,#e7e7e7);box-sizing:border-box;color:rgba(var(--v-theme-on-surface), .68);border:1px solid #0000;border-left:0;border-radius:0 999px 999px 0;flex:none;justify-content:center;align-items:center;padding-inline:.14rem .28rem;display:inline-flex}.studio-ai-sessions__tab-archive[data-v-daaea8eb]{flex:0 0 1.38rem;min-width:1.38rem;min-height:1.38rem;color:currentColor!important;background:0 0!important;width:1.38rem!important;height:1.38rem!important;padding:0!important}.studio-ai-sessions__tab-archive[data-v-daaea8eb]:hover,.studio-ai-sessions__tab-archive[data-v-daaea8eb]:focus-visible{opacity:1;pointer-events:auto;background:color-mix(in srgb, currentColor 14%, transparent)!important}.studio-ai-sessions__tab-archive[data-v-daaea8eb] .v-icon{font-size:.98rem}.studio-ai-sessions__status-dot[data-v-daaea8eb]{background:rgb(var(--v-theme-primary));contain:paint;border-radius:999px;flex:none;width:.52rem;height:.52rem;margin-right:.42rem;display:inline-block;position:relative}.studio-ai-sessions__tab--thinking .studio-ai-sessions__status-dot[data-v-daaea8eb]{animation:1.3s steps(2,end) infinite studio-ai-sessions-thinking-pulse-daaea8eb}.studio-ai-sessions__status-dot--blocked[data-v-daaea8eb],.studio-ai-sessions__status-dot--failed[data-v-daaea8eb]{background:rgb(var(--v-theme-error))}@keyframes studio-ai-sessions-thinking-pulse-daaea8eb{0%,to{opacity:.45}50%{opacity:1}}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__tabs[data-v-daaea8eb]{flex-wrap:nowrap;gap:.34rem}.studio-ai-sessions__toolbar--compact[data-v-daaea8eb]{min-height:2rem}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__tab[data-v-daaea8eb]{letter-spacing:0;flex:1 1 0;min-width:0;max-width:12.5rem;height:2rem;min-height:2rem;font-size:.92rem}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__tab[data-v-daaea8eb] .v-chip__content{flex:auto;width:100%}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__tab-main[data-v-daaea8eb]{padding-inline:.5rem .25rem}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__tab--active[data-v-daaea8eb]{flex-basis:1.7rem}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__tab--active .studio-ai-sessions__tab-main[data-v-daaea8eb]{padding-inline-end:.28rem}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__tab-close-slot[data-v-daaea8eb]{padding-inline:.08rem .22rem}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__status-dot[data-v-daaea8eb]{width:.58rem;height:.58rem;margin-right:.25rem}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__repository-state[data-v-daaea8eb]{margin-inline-start:.25rem}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__tab-archive[data-v-daaea8eb]{flex-basis:1.42rem;min-width:1.42rem;min-height:1.42rem;width:1.42rem!important;height:1.42rem!important}.studio-ai-sessions__toolbar--compact .studio-ai-sessions__tab-archive[data-v-daaea8eb] .v-icon{font-size:1rem}@media (width<=640px){.studio-ai-sessions__toolbar[data-v-daaea8eb]{flex-direction:column;align-items:stretch}}@media (hover:none),(pointer:coarse){.studio-ai-sessions__tab-info[data-v-daaea8eb]{display:inline-flex}.studio-ai-sessions__repository-state--desktop[data-v-daaea8eb]{display:none}.studio-ai-sessions__tab .studio-ai-sessions__tab-archive[data-v-daaea8eb]{box-shadow:none;opacity:1;pointer-events:auto}}@media (prefers-reduced-motion:reduce){.studio-ai-sessions__tab--thinking .studio-ai-sessions__status-dot[data-v-daaea8eb]{opacity:1;animation:none}}.vibe64-learning-finished[data-v-6a0e389f]{gap:var(--v64-space-3,12px);max-width:40rem;padding:var(--v64-space-6,32px) var(--v64-space-5,24px);justify-items:start;max-height:100%;margin:0 auto;display:grid;overflow-y:auto}.vibe64-learning-finished[data-v-6a0e389f]>*{max-width:100%;margin:0}.vibe64-learning-finished__mark[data-v-6a0e389f]{color:rgb(var(--v-theme-success))}.vibe64-learning-finished__eyebrow[data-v-6a0e389f]{font:var(--v64-type-label-md,500 .75rem/1rem system-ui, sans-serif);letter-spacing:.06em;text-transform:uppercase;color:var(--v64-on-surface-variant,inherit)}.vibe64-learning-finished h2[data-v-6a0e389f]{font:var(--v64-type-headline-sm,600 1.5rem/2rem system-ui, sans-serif);overflow-wrap:anywhere}.vibe64-learning-finished__hint[data-v-6a0e389f]{color:var(--v64-on-surface-variant,inherit);align-items:center;display:flex}.vibe64-learning-finished__actions[data-v-6a0e389f]{gap:var(--v64-space-2,8px);flex-wrap:wrap;display:flex}.vibe64-learning-finished__error[data-v-6a0e389f]{color:rgb(var(--v-theme-error))}.vibe64-learning-finished .v-btn[data-v-6a0e389f]{letter-spacing:0;text-transform:none}.vibe64-training-visual[data-v-f3080af2]{gap:var(--v64-space-2,8px);flex-direction:column;min-width:0;display:flex}.vibe64-training-visual__frame[data-v-f3080af2]{border:1px solid var(--v64-outline-variant,rgba(var(--v-theme-on-surface), .12));border-radius:var(--v64-shape-lg,16px);background:var(--v64-surface-container-lowest,rgb(var(--v-theme-surface)));box-shadow:var(--v64-elevation-1,0 1px 3px #0000001f);animation:vibe64-training-visual-rise-f3080af2 var(--v64-duration-long,.5s) var(--v64-ease-emphasized-decelerate,ease-out);overflow:hidden}.vibe64-training-visual__bar[data-v-f3080af2]{align-items:center;gap:var(--v64-space-2,8px);min-height:40px;padding:0 var(--v64-space-4,16px);background:var(--v64-surface-container,rgba(var(--v-theme-primary), .05));border-bottom:1px solid var(--v64-outline-variant,rgba(var(--v-theme-on-surface), .12));display:flex}.vibe64-training-visual__bar-icon[data-v-f3080af2]{width:18px;height:18px;fill:rgb(var(--v-theme-primary));flex:none}.vibe64-training-visual__bar-title[data-v-f3080af2]{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--v64-type-label-lg,500 .875rem/1.25rem system-ui, sans-serif);overflow:hidden}.vibe64-training-visual__canvas[data-v-f3080af2]{position:relative}.vibe64-training-visual iframe[data-v-f3080af2]{border:0;width:100%;height:min(60vh,32rem);min-height:16rem;display:block}.vibe64-training-visual__loading[data-v-f3080af2]{position:absolute;inset:0}.vibe64-training-visual p[data-v-f3080af2]{overflow-wrap:anywhere;margin:0}.vibe64-training-visual__caption[data-v-f3080af2]{padding:var(--v64-space-3,12px) var(--v64-space-4,16px);border-radius:var(--v64-shape-md,12px);border-inline-start:4px solid var(--v64-learning,#f5c518);background:var(--v64-surface-container-low,rgba(var(--v-theme-primary), .03))}.vibe64-training-visual__error[data-v-f3080af2]{align-items:center;gap:var(--v64-space-3,12px);padding:var(--v64-space-3,12px) var(--v64-space-4,16px);border-radius:var(--v64-shape-lg,16px);background:var(--v64-error-container,rgba(var(--v-theme-error), .12));color:rgb(var(--v-theme-on-surface));flex-wrap:wrap;display:flex}.vibe64-training-visual__error p[data-v-f3080af2]{flex:12rem;min-width:0}.vibe64-training-visual__error-icon[data-v-f3080af2]{width:24px;height:24px;fill:rgb(var(--v-theme-error));flex:none}.vibe64-training-visual__error .v-btn[data-v-f3080af2]{letter-spacing:0;text-transform:none}@keyframes vibe64-training-visual-rise-f3080af2{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.vibe64-training-visual__frame[data-v-f3080af2]{animation:none}}.vibe64-learning-step h2[data-v-79dc35fe]{font:var(--v64-type-headline-sm,600 1.5rem/2rem system-ui, sans-serif);margin:0 0 var(--v64-space-3,12px);overflow-wrap:anywhere}.vibe64-learning-step__eyebrow[data-v-79dc35fe]{font:var(--v64-type-label-md,500 .75rem/1rem system-ui, sans-serif);letter-spacing:.06em;text-transform:uppercase;color:var(--v64-on-surface-variant,inherit);margin:0 0 4px}.vibe64-learning-step__visual[data-v-79dc35fe],.vibe64-learning-step__check[data-v-79dc35fe]{gap:var(--v64-space-3,12px);margin-block:var(--v64-space-5,24px);justify-items:start;display:grid}.vibe64-learning-step__visual[data-v-79dc35fe]>:first-child{justify-self:stretch}.vibe64-learning-step__check[data-v-79dc35fe]{padding:var(--v64-space-4,16px);border-radius:var(--v64-shape-lg,16px);background:var(--v64-surface-container-low,#00000008)}.vibe64-learning-step__check h3[data-v-79dc35fe]{font:var(--v64-type-title-md,600 1.125rem/1.5rem system-ui, sans-serif);margin:0}.vibe64-learning-step__hint[data-v-79dc35fe],.vibe64-learning-step__note[data-v-79dc35fe]{color:var(--v64-on-surface-variant,inherit);margin:0}.vibe64-learning-step__status[data-v-79dc35fe]{font-weight:600}.vibe64-learning-step__status.is-passed[data-v-79dc35fe]{color:rgb(var(--v-theme-success))}.vibe64-learning-step__error[data-v-79dc35fe]{color:rgb(var(--v-theme-error))}.vibe64-learning-step__actions[data-v-79dc35fe],.vibe64-learning-step__pager[data-v-79dc35fe]{gap:var(--v64-space-2,8px);margin-top:var(--v64-space-4,16px);flex-wrap:wrap;display:flex}.vibe64-learning-step__pager[data-v-79dc35fe]{justify-content:space-between;align-items:center}.vibe64-learning-step__pager-end[data-v-79dc35fe]{justify-content:flex-end;align-items:center;gap:var(--v64-space-2,8px);flex-wrap:wrap;margin-inline-start:auto;display:flex}.vibe64-learning-step .v-btn[data-v-79dc35fe]{letter-spacing:0;text-transform:none}.vibe64-learning-reader-frame[data-v-5751f6ae]{height:100%;min-height:0;container-type:inline-size}.vibe64-learning-reader[data-v-5751f6ae]{gap:var(--v64-space-4,16px);grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);height:100%;min-height:0;display:grid}.vibe64-learning-reader__alert[data-v-5751f6ae]{grid-column:1/-1}.vibe64-learning-reader__steps[data-v-5751f6ae]{min-height:0;padding:var(--v64-space-4,16px);border-inline-end:1px solid var(--v64-outline-variant,#0000001f);overflow-y:auto}.vibe64-learning-reader__steps ol[data-v-5751f6ae]{margin:var(--v64-space-3,12px) 0;gap:4px;padding:0;list-style:none;display:grid}.vibe64-learning-reader__lesson[data-v-5751f6ae]{gap:2px;margin:0;display:grid}.vibe64-learning-reader__code[data-v-5751f6ae]{font:var(--v64-type-label-md,500 .75rem/1rem system-ui, sans-serif);color:var(--v64-on-surface-variant,inherit)}.vibe64-learning-reader__step[data-v-5751f6ae]{border-radius:var(--v64-shape-md,12px);color:inherit;cursor:pointer;align-items:center;gap:2px var(--v64-space-3,12px);min-height:48px;padding:6px var(--v64-space-2,8px);text-align:start;background:0 0;border:0;grid-template-columns:28px minmax(0,1fr);width:100%;display:grid}.vibe64-learning-reader__step[data-v-5751f6ae]:hover{background:var(--v64-surface-container,#0000000a)}.vibe64-learning-reader__step.is-current[data-v-5751f6ae]{background:var(--v64-learning-container,#f5c5182e);color:var(--v64-on-learning-container,inherit)}.vibe64-learning-reader__step[data-v-5751f6ae]:focus-visible{outline:2px solid rgb(var(--v-theme-primary));outline-offset:2px}.vibe64-learning-reader__step-mark[data-v-5751f6ae]{border:1.5px solid;border-radius:50%;grid-row:span 2;justify-content:center;align-items:center;width:26px;height:26px;font-size:.8rem;font-weight:700;display:inline-flex}.vibe64-learning-reader__step.is-passed .vibe64-learning-reader__step-mark[data-v-5751f6ae]{background:rgb(var(--v-theme-success));border-color:rgb(var(--v-theme-success));color:rgb(var(--v-theme-on-success))}.vibe64-learning-reader__step-title[data-v-5751f6ae]{overflow-wrap:anywhere;font-weight:600}.vibe64-learning-reader__step-status[data-v-5751f6ae]{color:var(--v64-on-surface-variant,inherit);font-size:.75rem}.vibe64-learning-reader__summary[data-v-5751f6ae]{gap:var(--v64-space-2,8px);justify-items:start;display:grid}.vibe64-learning-reader__complete[data-v-5751f6ae]{color:rgb(var(--v-theme-success));margin:0;font-weight:600}.vibe64-learning-reader__complete-short[data-v-5751f6ae]{display:none}.vibe64-learning-reader__body[data-v-5751f6ae]{min-height:0;padding:var(--v64-space-4,16px) var(--v64-space-5,24px) var(--v64-space-6,32px);width:100%;max-width:52rem;overflow-y:auto}.vibe64-learning-reader__notes[data-v-5751f6ae]{margin-top:var(--v64-space-5,24px)}.vibe64-learning-reader .v-btn[data-v-5751f6ae]{letter-spacing:0;text-transform:none}@container (width<=760px){.vibe64-learning-reader[data-v-5751f6ae]{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:0}.vibe64-learning-reader__steps[data-v-5751f6ae]{border-inline-end:0;border-bottom:1px solid var(--v64-outline-variant,#0000001f);padding:var(--v64-space-2,8px) var(--v64-space-3,12px)}.vibe64-learning-reader__steps ol[data-v-5751f6ae]{margin:var(--v64-space-2,8px) 0 0;display:flex;overflow-x:auto}.vibe64-learning-reader__step[data-v-5751f6ae]{grid-template-columns:28px;justify-items:center;min-width:48px}.vibe64-learning-reader__step-title[data-v-5751f6ae],.vibe64-learning-reader__step-status[data-v-5751f6ae]{display:none}.vibe64-learning-reader__summary[data-v-5751f6ae]{align-items:center;gap:4px var(--v64-space-2,8px);margin-top:var(--v64-space-2,8px);flex-wrap:wrap;display:flex}.vibe64-learning-reader__complete[data-v-5751f6ae]{font-size:.875rem}.vibe64-learning-reader__complete-long[data-v-5751f6ae]{display:none}.vibe64-learning-reader__complete-short[data-v-5751f6ae]{display:inline}.vibe64-learning-reader__body[data-v-5751f6ae]{padding:var(--v64-space-3,12px) var(--v64-space-4,16px) var(--v64-space-6,32px)}}.vibe64-learning-lesson-pane[data-v-e53622ac]{background:rgb(var(--v-theme-surface));color:rgb(var(--v-theme-on-surface));min-width:0;height:100%;min-height:0;overflow:hidden}.vibe64-learning-lesson-pane__scroll[data-v-e53622ac]{height:100%;overflow-y:auto}.studio-autopilot__reasoning-dots[data-v-485d9185]{clip-path:inset(0 66.666% 0 0);animation:1.5s step-end infinite reasoning-dots-485d9185;display:inline-block}@keyframes reasoning-dots-485d9185{33%{clip-path:inset(0 33.333% 0 0)}66%{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){.studio-autopilot__reasoning-dots[data-v-485d9185]{clip-path:none;animation:none}}.studio-autopilot__checkpoint-notice summary[data-v-485d9185]{cursor:pointer}.studio-autopilot__checkpoint-details[data-v-485d9185]{overflow-wrap:anywhere;white-space:pre-wrap;max-height:8rem;overflow:auto}.studio-autopilot[data-v-485d9185]{background:rgb(var(--v-theme-background));grid-template-columns:minmax(20rem,38%) minmax(0,1fr);min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.studio-home-shell-session-github-actor[data-v-485d9185]{color:rgba(var(--v-theme-on-surface), .72);white-space:nowrap;align-items:center;gap:.24rem;min-width:0;max-width:100%;padding:0 .36rem;font-size:.72rem;font-weight:650;line-height:1;display:inline-flex}.studio-home-shell-session-github-actor span[data-v-485d9185]{text-overflow:ellipsis;min-width:0;overflow:hidden}.studio-home-shell-session-github-actor--inactive[data-v-485d9185]{color:rgba(var(--v-theme-on-surface), .46)}.studio-autopilot--chat-collapsed[data-v-485d9185]{grid-template-columns:0 minmax(0,1fr)}.studio-autopilot__chat-panel[data-v-485d9185]{background:rgb(var(--v-theme-surface));border-right:1px solid rgba(var(--v-theme-outline), .14);grid-template-rows:auto auto minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden;container:studio-chat-pane/inline-size}.studio-autopilot--chat-collapsed .studio-autopilot__chat-panel[data-v-485d9185]{visibility:hidden}.studio-autopilot__session-header[data-v-485d9185]{border-bottom:1px solid rgba(var(--v-theme-outline), .12);box-sizing:border-box;grid-row:1;justify-content:space-between;align-items:center;gap:0;width:100%;min-width:0;min-height:3rem;padding:.4rem .25rem;display:flex;overflow:hidden}.studio-autopilot__session-header[data-v-485d9185] .studio-ai-sessions__toolbar{flex:auto;min-width:0;margin-inline-end:.35rem;overflow:hidden}.studio-autopilot__session-header[data-v-485d9185] .studio-ai-sessions__tabs{min-width:0;overflow:hidden}.studio-autopilot__header-actions[data-v-485d9185],.studio-autopilot__session-tool-header[data-v-485d9185]{align-items:center;gap:.4rem;display:flex}.studio-autopilot__header-actions[data-v-485d9185]{flex:none;margin-inline-start:auto}.studio-autopilot__header-actions--compact[data-v-485d9185]{display:none}@container studio-chat-pane (width>=32.01rem) and (width<=40rem){.studio-autopilot__session-header[data-v-485d9185]{--session-action-size:44px}.studio-autopilot__header-actions[data-v-485d9185]{gap:0}.studio-autopilot__header-actions[data-v-485d9185] .v-icon,.studio-autopilot__save-work[data-v-485d9185] .v-btn__content>.v-icon{width:20px;height:20px;font-size:20px}.studio-autopilot__save-symbol[data-v-485d9185]{transform:scale(.85)}}@container studio-chat-pane (width<=32rem){.studio-autopilot__header-actions--compact[data-v-485d9185]{display:flex}.studio-autopilot__header-actions--expanded[data-v-485d9185]{display:none}}.studio-autopilot__session-action-item[data-v-485d9185]{min-height:3rem}.studio-autopilot__conversation[data-v-485d9185]{grid-row:3;min-width:0;min-height:0}.studio-autopilot__activity[data-v-485d9185]{grid-row:2;grid-auto-rows:max-content;gap:.3rem;min-width:0;max-height:min(24dvh,12rem);padding:.35rem .5rem;display:grid;overflow:auto}.studio-autopilot__activity[data-v-485d9185]:empty{padding:0;display:none}.studio-autopilot__connection-recovery[data-v-485d9185]{background:rgba(var(--v-theme-primary), .08);border:1px solid rgba(var(--v-theme-primary), .24);color:rgb(var(--v-theme-on-surface));grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:.5rem;padding:.25rem .5rem;display:grid}.studio-autopilot__connection-recovery>span[data-v-485d9185]{overflow-wrap:anywhere;min-width:0}.studio-autopilot__connection-actions[data-v-485d9185]{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.studio-autopilot__composer[data-v-485d9185]{border-top:1px solid rgba(var(--v-theme-outline), .1);box-sizing:border-box;flex:none;width:100%;min-width:0;max-width:100%;padding:4px;overflow:hidden}.studio-autopilot__composer-actions[data-v-485d9185]{align-items:center;gap:.25rem clamp(0rem,4% - 1.25rem,.5rem);width:100%;min-width:0;display:flex}.studio-autopilot__settings-access[data-v-485d9185]{grid-column:1/-1}.studio-autopilot__composer-action[data-v-485d9185]{flex-shrink:0}.studio-autopilot__assistant-button[data-v-485d9185]{align-items:center;display:flex;position:relative}.studio-autopilot__assistant-button-label[data-v-485d9185]{z-index:1;border:1px solid rgba(var(--v-theme-on-surface), .25);background:rgb(var(--v-theme-surface-light));color:rgb(var(--v-theme-on-surface));white-space:nowrap;letter-spacing:0;text-transform:none;border-radius:3px;padding:0 4px;font-size:9px;font-weight:600;line-height:11px;position:absolute;top:100%;left:50%;transform:translate(max(-50%,-2.5rem))}.studio-autopilot__composer-tools[data-v-485d9185]{flex-shrink:0;display:flex}.studio-autopilot__composer-tools[data-v-485d9185]:empty{display:none}@container studio-chat-pane (width<=32rem){.studio-autopilot__composer-actions[data-v-485d9185]{gap:0}.studio-autopilot__composer-actions .studio-autopilot__composer-action[data-v-485d9185]{width:clamp(2rem,10cqi,2.5rem)}.studio-autopilot__composer-actions[data-v-485d9185] button{flex-shrink:1;min-width:min-content;padding-inline:.25rem}}.studio-autopilot__composer-menu[data-v-485d9185]{flex-direction:column;gap:.4rem;max-width:calc(100vw - 24px);display:flex}.studio-autopilot__save-work[data-v-485d9185]{flex:none}.studio-autopilot__save-work--check[data-v-485d9185]{opacity:var(--v-disabled-opacity)}.studio-autopilot__save-symbol[data-v-485d9185]{width:34px;height:32px;position:relative}.studio-autopilot__save-symbol-disk[data-v-485d9185],.studio-autopilot__save-symbol-commit[data-v-485d9185]{opacity:.72;position:absolute}.studio-autopilot__save-symbol-disk[data-v-485d9185]{bottom:0;left:0}.studio-autopilot__save-symbol-commit[data-v-485d9185]{top:0;right:0}.studio-autopilot__project-panel[data-v-485d9185],.studio-autopilot__dashboard-shell[data-v-485d9185],.studio-autopilot__right-pane-page[data-v-485d9185],.studio-autopilot__session-tool-pane[data-v-485d9185],.studio-autopilot__session-tool-content[data-v-485d9185]{min-width:0;height:100%;min-height:0}.studio-autopilot__project-panel[data-v-485d9185]{contain:strict;position:relative;overflow:hidden}.studio-autopilot__right-pane-page[data-v-485d9185]{overflow:auto}.studio-autopilot__session-tool-pane[data-v-485d9185]{grid-template-rows:auto minmax(0,1fr);display:grid}.studio-autopilot__architecture-pane[data-v-485d9185]{grid-template-rows:minmax(0,1fr);overflow:hidden}.studio-autopilot__session-tool-header[data-v-485d9185]{background:var(--v64-surface-container-low);border-bottom:1px solid var(--v64-outline-variant);min-height:3rem;padding:var(--v64-space-1) var(--v64-space-2)}.studio-autopilot__session-tool-pane>.studio-autopilot__right-pane-page[data-v-485d9185]{padding:var(--v64-space-3) var(--v64-space-4) var(--v64-space-4)}.studio-autopilot__session-tool-content[data-v-485d9185]{overflow:hidden}.studio-autopilot__preview-launch[data-v-485d9185]{height:100%}@media (width>=981px){.studio-autopilot[data-v-485d9185]{gap:var(--studio-home-project-gap,.75rem);grid-template-columns:var(--studio-home-chat-column-width,32rem) minmax(0, 1fr)}.studio-autopilot--chat-collapsed[data-v-485d9185]{grid-template-columns:0 minmax(0,1fr);gap:0}}@media (width<=980px){.studio-autopilot[data-v-485d9185]:not(.studio-autopilot--chat-collapsed){grid-template-columns:minmax(0,1fr) 0}.studio-autopilot:not(.studio-autopilot--chat-collapsed) .studio-autopilot__project-panel[data-v-485d9185]{visibility:hidden}}@media (pointer:coarse){.studio-autopilot__composer-actions .studio-autopilot__composer-action[data-v-485d9185]{min-width:3rem;min-height:3rem}}.studio-autopilot__voice-feedback[data-v-485d9185]{flex:100%;min-width:0}.studio-autopilot__architecture-file[data-v-485d9185]{background:rgb(var(--v-theme-surface));border-radius:12px;flex-direction:column;height:min(84dvh,850px);min-height:0;display:flex;overflow:hidden}.studio-autopilot__architecture-file>header[data-v-485d9185]{border-bottom:1px solid rgba(var(--v-theme-on-surface), .12);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.studio-autopilot__architecture-file>header strong[data-v-485d9185]{overflow-wrap:anywhere;font-size:14px}.studio-autopilot__architecture-file>.vibe64-source-editor[data-v-485d9185]{flex:1;min-height:0}.vibe64-codex-session[data-v-25875427]{min-width:0;height:100%;min-height:0;position:relative}.vibe64-codex-session--headless[data-v-25875427]{pointer-events:none;width:0;height:0;position:absolute;overflow:hidden}.vibe64-codex-session--focused[data-v-25875427] .vibe64-terminal-surface{border-color:rgba(var(--v-theme-primary), .72)}.vibe64-codex-session__drop-overlay[data-v-25875427],.vibe64-codex-session__start-panel[data-v-25875427]{justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.vibe64-codex-session__drop-overlay[data-v-25875427]{background:rgba(var(--v-theme-scrim,var(--v-theme-on-surface)), .68);pointer-events:none;z-index:5}.vibe64-codex-session__drop-card[data-v-25875427]{align-items:center;gap:.7rem;padding:1rem 1.15rem;display:flex}.vibe64-codex-session__start-panel[data-v-25875427]{background:rgba(var(--v-theme-scrim), .8);z-index:3}.vibe64-codex-session__start-card[data-v-25875427]{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;width:100%;max-width:min(42rem,100%);padding:1rem;display:grid}.vibe64-codex-session__start-icon[data-v-25875427]{background:rgba(var(--v-theme-primary), .14);color:rgb(var(--v-theme-primary));border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;display:flex}.vibe64-codex-session__start-copy[data-v-25875427]{gap:.15rem;min-width:0;display:grid}.vibe64-codex-session__start-copy strong[data-v-25875427]{font-size:.95rem}.vibe64-codex-session__start-copy span[data-v-25875427]{color:rgba(var(--v-theme-on-surface), .72);font-size:.8rem;line-height:1.35}.vibe64-codex-session__command[data-v-25875427]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.vibe64-codex-session__start-action[data-v-25875427]{min-inline-size:10rem}.vibe64-codex-session__attachment-action[data-v-25875427]{min-width:2.5rem;min-height:2.5rem}@media (pointer:coarse){.vibe64-codex-session__attachment-action[data-v-25875427]{min-width:3rem;min-height:3rem}}@media (width<=700px){.vibe64-codex-session__start-card[data-v-25875427]{grid-template-columns:auto minmax(0,1fr)}.vibe64-codex-session__start-action[data-v-25875427]{grid-column:1/-1;width:100%}}.vibe64-native-agent-session[data-v-957305bf]{block-size:100%;min-block-size:0;min-inline-size:0;position:relative}.vibe64-native-agent-session--headless[data-v-957305bf]{block-size:0;inline-size:0;position:absolute;overflow:hidden}.vibe64-native-agent-session__drop-overlay[data-v-957305bf]{background:rgba(var(--v-theme-surface), .8);pointer-events:none;z-index:3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.vibe64-native-agent-session__drop-card[data-v-957305bf]{align-items:center;gap:.5rem;padding:1rem;display:flex}.vibe64-native-agent-session__start-panel[data-v-957305bf]{justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.vibe64-native-agent-session__start-card[data-v-957305bf]{max-inline-size:48rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;width:100%;padding:1rem;display:grid}.vibe64-native-agent-session__start-icon[data-v-957305bf]{background:rgb(var(--v-theme-secondary-container));color:rgb(var(--v-theme-on-secondary-container));border-radius:50%;justify-content:center;align-items:center;width:3.25rem;height:3.25rem;display:flex}.vibe64-native-agent-session__start-copy[data-v-957305bf]{gap:.2rem;display:grid}.vibe64-native-agent-session__start-copy span[data-v-957305bf],.vibe64-native-agent-session__command[data-v-957305bf]{color:rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity));font-size:.82rem}@media (width<=600px){.vibe64-native-agent-session__start-card[data-v-957305bf]{grid-template-columns:auto minmax(0,1fr)}.vibe64-native-agent-session__start-action[data-v-957305bf]{grid-column:1/-1}}.studio-session-renewal[data-v-89b9be36]{max-height:min(46rem,100dvh - 2rem)}.studio-session-renewal__header[data-v-89b9be36],.studio-session-renewal__heading[data-v-89b9be36],.studio-session-renewal__assurance[data-v-89b9be36],.studio-session-renewal__success[data-v-89b9be36],.studio-session-renewal__progress-copy[data-v-89b9be36]{align-items:center;display:flex}.studio-session-renewal__header[data-v-89b9be36]{justify-content:space-between;gap:1rem;min-height:4.5rem;padding:.75rem 1rem}.studio-session-renewal__heading[data-v-89b9be36]{gap:.75rem;min-width:0}.studio-session-renewal__heading>span[data-v-89b9be36]:last-child,.studio-session-renewal__assurance>span[data-v-89b9be36],.studio-session-renewal__success>span[data-v-89b9be36]{gap:.12rem;min-width:0;display:grid}.studio-session-renewal__heading h2[data-v-89b9be36]{margin:0}.studio-session-renewal__subtitle[data-v-89b9be36]{color:rgba(var(--v-theme-on-surface), .68)}.studio-session-renewal__icon[data-v-89b9be36]{background:rgba(var(--v-theme-primary), .12);color:rgb(var(--v-theme-primary));border-radius:50%;flex:none;justify-content:center;align-items:center;width:2.6rem;height:2.6rem;display:inline-flex}.studio-session-renewal__body[data-v-89b9be36]{gap:1rem;min-height:22rem;padding:1.25rem;display:grid}.studio-session-renewal__lead[data-v-89b9be36],.studio-session-renewal__supporting[data-v-89b9be36]{overflow-wrap:anywhere;margin:0}.studio-session-renewal__lead[data-v-89b9be36]{color:rgb(var(--v-theme-on-surface))}.studio-session-renewal__supporting[data-v-89b9be36]{color:rgba(var(--v-theme-on-surface), .7)}.studio-session-renewal__assurance[data-v-89b9be36],.studio-session-renewal__success[data-v-89b9be36]{gap:.75rem;padding:1rem;line-height:1.45}.studio-session-renewal__skeleton[data-v-89b9be36]{gap:1rem;display:grid}.studio-session-renewal__progress-copy[data-v-89b9be36]{align-items:flex-start;gap:.25rem;display:grid}.studio-session-renewal__progress-copy span[data-v-89b9be36]{color:rgba(var(--v-theme-on-surface), .68)}.studio-session-renewal__progress-line[data-v-89b9be36]{margin-block:.1rem .25rem}.studio-session-renewal__steps[data-v-89b9be36]{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.studio-session-renewal__steps li[data-v-89b9be36]{color:rgba(var(--v-theme-on-surface), .58);border-radius:.75rem;align-items:center;gap:.7rem;min-height:2.75rem;padding:.55rem .7rem;display:flex}.studio-session-renewal__step--active[data-v-89b9be36]{background:rgba(var(--v-theme-primary), .1);color:rgb(var(--v-theme-on-surface))}.studio-session-renewal__step--complete[data-v-89b9be36]{color:rgb(var(--v-theme-primary))}.studio-session-renewal__step-icon[data-v-89b9be36]{flex:none;justify-content:center;align-items:center;width:1.25rem;display:inline-flex}.studio-session-renewal__draft[data-v-89b9be36]{min-width:0}.studio-session-renewal__notice[data-v-89b9be36]{margin:0}.studio-session-renewal__notice-copy[data-v-89b9be36]{gap:.25rem;display:grid}.studio-session-renewal__source-details[data-v-89b9be36]{grid-template-columns:max-content minmax(0,1fr);gap:.25rem .75rem;margin:.75rem 0 0;display:grid}.studio-session-renewal__source-details dt[data-v-89b9be36]{color:rgba(var(--v-theme-on-surface), .68)}.studio-session-renewal__source-details dd[data-v-89b9be36]{overflow-wrap:anywhere;min-width:0;margin:0}.studio-session-renewal__notice-with-action[data-v-89b9be36]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.studio-session-renewal__notice-with-action .studio-session-renewal__notice-copy[data-v-89b9be36]{flex:18rem}.studio-session-renewal__inline-actions[data-v-89b9be36]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.studio-session-renewal__actions[data-v-89b9be36]{flex-wrap:wrap;gap:.5rem;min-height:4.5rem;padding:.75rem 1rem}.studio-session-renewal__actions-spacer[data-v-89b9be36]{flex:auto}.studio-session-renewal--fullscreen[data-v-89b9be36]{height:100dvh;max-height:100dvh}.studio-session-renewal--fullscreen .studio-session-renewal__body[data-v-89b9be36]{min-height:0;padding:1rem}.studio-session-renewal--fullscreen .studio-session-renewal__inline-actions[data-v-89b9be36],.studio-session-renewal--fullscreen .studio-session-renewal__notice-with-action[data-v-89b9be36]{align-items:stretch}.studio-session-renewal--fullscreen .studio-session-renewal__inline-actions[data-v-89b9be36]>*,.studio-session-renewal--fullscreen .studio-session-renewal__notice-with-action[data-v-89b9be36]>:last-child{flex:100%}.studio-session-renewal__actions--compact[data-v-89b9be36]{align-items:stretch}.studio-session-renewal__actions--compact .studio-session-renewal__actions-spacer[data-v-89b9be36]{display:none}.studio-session-renewal__actions--compact .studio-session-renewal__action[data-v-89b9be36]{flex:calc(50% - .25rem)}.studio-session-renewal__actions--compact .studio-session-renewal__action--primary[data-v-89b9be36]{flex-basis:100%}@media (prefers-reduced-motion:reduce){.studio-session-renewal__progress-line[data-v-89b9be36]{display:none}}.studio-ai-session-runtime[data-v-0c74af0e]{min-width:0;max-width:100%;height:100%;min-height:0;display:grid;overflow:hidden}.studio-ai-sessions__tab-terminal[data-v-0c74af0e]{min-width:0;height:100%;min-height:0}.studio-ai-sessions__tab-terminal[data-v-0c74af0e] .studio-ai-sessions__codex-terminal-shell,.studio-ai-sessions__tab-terminal[data-v-0c74af0e] .studio-ai-sessions__codex-terminal{height:100%}.studio-ai-sessions__terminal-unavailable[data-v-0c74af0e]{color:rgba(var(--v-theme-on-surface), .68);text-align:center;align-content:center;justify-items:center;gap:.4rem;height:100%;padding:2rem;display:grid}.studio-ai-sessions__terminal-unavailable strong[data-v-0c74af0e]{color:rgb(var(--v-theme-on-surface))}.studio-ai-sessions__terminal-unavailable span[data-v-0c74af0e]{max-width:32rem}.studio-ai-sessions__empty-main[data-v-b1806c98]{position:relative}.studio-ai-sessions__empty-layout[data-v-b1806c98]{gap:var(--studio-home-project-gap,.75rem);min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}.studio-ai-sessions__empty-main[data-v-b1806c98],.studio-ai-sessions__empty-project-panel[data-v-b1806c98]{background:rgb(var(--v-theme-surface));border:1px solid rgba(var(--v-theme-outline), .14);border-radius:14px;min-width:0;min-height:0;overflow:hidden;box-shadow:0 .75rem 2rem #0f172a0f}.studio-ai-sessions__empty-main[data-v-b1806c98],.studio-ai-sessions__empty-project-panel[data-v-b1806c98],.studio-ai-sessions__preview-empty-pane[data-v-b1806c98]{display:grid}.studio-ai-sessions__empty-main[data-v-b1806c98]{grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:.16rem;padding:.05rem .65rem .18rem;overflow:visible}.studio-ai-sessions__empty-session-header[data-v-b1806c98]{gap:.28rem;min-width:0;display:grid}.studio-ai-sessions__empty-chat-body[data-v-b1806c98]{scrollbar-gutter:stable;align-items:start;min-height:0;padding:.25rem .1rem 0 0;display:grid;overflow:hidden}.studio-ai-sessions__empty-hint[data-v-b1806c98]{background:rgba(var(--v-theme-primary), .08);border:1px solid rgba(var(--v-theme-primary), .16);color:rgba(var(--v-theme-on-surface), .76);border-radius:10px;max-width:100%;padding:.55rem .65rem;font-size:.86rem;line-height:1.35}.studio-ai-sessions__empty-thinking[data-v-b1806c98]{color:rgba(var(--v-theme-on-surface), .72);align-items:center;gap:.38rem;min-height:1.35rem;font-size:.86rem;display:flex}.studio-ai-sessions__empty-thinking--empty[data-v-b1806c98]{visibility:hidden}.studio-ai-sessions__empty-thinking-mark[data-v-b1806c98]{background:rgb(var(--v-theme-primary));box-shadow:0 0 0 .24rem rgba(var(--v-theme-primary), .12);border-radius:999px;width:.48rem;height:.48rem}.studio-ai-sessions__empty-runtime-status[data-v-b1806c98]{display:none}.studio-ai-sessions__empty-composer[data-v-b1806c98]{min-width:0;min-height:.35rem}.studio-ai-sessions__dashboard-empty-pane[data-v-b1806c98]{scrollbar-gutter:stable;align-content:start;gap:.75rem;min-width:0;min-height:0;padding:.85rem;display:grid;overflow-y:auto}.studio-ai-sessions__lesson-empty-pane[data-v-b1806c98]{min-width:0;min-height:0;overflow:hidden}.studio-ai-sessions__preview-empty-pane[data-v-b1806c98]{place-items:center;min-width:0;min-height:0;padding:1rem}.studio-ai-sessions__preview-empty-content[data-v-b1806c98]{text-align:center;place-items:center;gap:.65rem;max-width:min(100%,26rem);display:grid}.studio-ai-sessions__preview-empty-title[data-v-b1806c98]{color:rgba(var(--v-theme-on-surface), .78);margin:0;font-size:.98rem;line-height:1.35}.studio-ai-sessions__preview-empty-detail[data-v-b1806c98]{color:rgba(var(--v-theme-on-surface), .62);max-width:24rem;margin:-.25rem 0 0;font-size:.86rem;line-height:1.35}@media (width>=981px){.studio-ai-sessions__empty-layout[data-v-b1806c98]{grid-template-columns:var(--studio-home-chat-column-width,32rem) minmax(0, 1fr)}.studio-ai-sessions__empty-layout--chat-collapsed[data-v-b1806c98]{grid-template-columns:minmax(0,1fr)}.studio-ai-sessions__empty-layout--chat-collapsed .studio-ai-sessions__empty-main[data-v-b1806c98]{display:none}.studio-ai-sessions__empty-layout--dashboard[data-v-b1806c98]{align-items:stretch;height:100%;overflow:hidden}}@media (width<=980px){.studio-ai-sessions__empty-layout[data-v-b1806c98]{grid-template-rows:minmax(0,1fr)}.studio-ai-sessions__empty-project-panel[data-v-b1806c98],.studio-ai-sessions__empty-layout--chat-collapsed .studio-ai-sessions__empty-main[data-v-b1806c98]{display:none}.studio-ai-sessions__empty-layout--chat-collapsed .studio-ai-sessions__empty-project-panel[data-v-b1806c98]{display:grid}}.studio-ai-sessions[data-v-07990013]{gap:.85rem;height:100%;min-height:0;display:grid;position:relative;overflow:hidden}.studio-ai-sessions--autopilot[data-v-07990013]{box-shadow:none;background:0 0;grid-template-rows:minmax(0,1fr);gap:0;padding:0;border-radius:0!important}.studio-ai-sessions__chat-column-separator[data-v-07990013]{cursor:col-resize;bottom:0;left:var(--studio-home-chat-column-width,32rem);touch-action:none;-webkit-user-select:none;user-select:none;width:var(--studio-home-project-gap,.75rem);z-index:10;background:0 0;outline:none;position:absolute;top:0}.studio-ai-sessions__chat-column-separator[data-v-07990013]:before{background:rgba(var(--v-theme-on-surface), .14);content:"";width:1px;transition:background-color .12s,width .12s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.studio-ai-sessions__chat-column-separator[data-v-07990013]:hover:before,.studio-ai-sessions__chat-column-separator[data-v-07990013]:focus-visible:before,.studio-ai-sessions__chat-column-separator--resizing[data-v-07990013]:before{background:rgb(var(--v-theme-primary));width:2px}.studio-ai-sessions--resizing[data-v-07990013]{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}@media (width>=981px){.studio-ai-sessions[data-v-07990013]{grid-template-rows:auto minmax(0,1fr)}.studio-ai-sessions--autopilot[data-v-07990013]{grid-template-rows:minmax(0,1fr)}}@media (width<=980px){.studio-ai-sessions__chat-column-separator[data-v-07990013]{display:none!important}}.studio-ai-sessions--autopilot.studio-ai-sessions--unavailable[data-v-07990013]{grid-template-rows:auto minmax(0,1fr)}.studio-ai-sessions__empty-main>.studio-ai-sessions__empty-host-conversation[data-v-f5c01614]{grid-row:2/-1}.studio-ai-sessions__preview-empty-loading[data-v-f5c01614]{width:10rem}.studio-ai-sessions__preview-empty-skeleton[data-v-f5c01614]{width:100%}.studio-ai-sessions__error-overlay[data-v-f5c01614]{z-index:12;max-width:min(42rem,100% - 1.7rem);position:absolute;top:.85rem;left:.85rem}.studio-ai-sessions-error-enter-active[data-v-f5c01614],.studio-ai-sessions-error-leave-active[data-v-f5c01614]{transition:opacity .12s,transform .12s}.studio-ai-sessions-error-enter-from[data-v-f5c01614],.studio-ai-sessions-error-leave-to[data-v-f5c01614]{opacity:0;transform:translateY(-.35rem)}.studio-ai-sessions__runtime-stack[data-v-f5c01614]{min-width:0;height:100%;min-height:0;display:grid;overflow:hidden}@media (width>=981px){.studio-ai-sessions__runtime-stack[data-v-f5c01614]{min-height:0}}.vibe64-learning-step-bar-host[data-v-f7665ebd]{flex:none;min-width:0;position:relative}.vibe64-learning-step-bar__text-panel[data-v-f7665ebd]{background:rgb(var(--v-theme-surface));border:1px solid var(--v64-learning-strong,#f5c518);border-radius:var(--v64-shape-md,12px);color:rgb(var(--v-theme-on-surface));max-height:60vh;padding:var(--v64-space-4,16px) var(--v64-space-5,24px);z-index:20;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000002e}.vibe64-learning-step-bar[data-v-f7665ebd]{background:var(--v64-learning-container,#f5c51829);border:1px solid var(--v64-learning-strong,#f5c518);border-radius:var(--v64-shape-md,12px);color:var(--v64-on-learning-container,inherit);align-items:center;gap:var(--v64-space-2,8px);min-width:0;padding:2px var(--v64-space-2,8px);flex:none;display:flex;position:relative;overflow:hidden}.vibe64-learning-step-bar__position[data-v-f7665ebd]{align-items:baseline;gap:0 var(--v64-space-2,8px);flex-wrap:wrap;flex:0 auto;min-width:0;display:flex}.vibe64-learning-step-bar__lesson[data-v-f7665ebd]{text-overflow:ellipsis;white-space:nowrap;max-width:16rem;font-weight:700;overflow:hidden}.vibe64-learning-step-bar__step[data-v-f7665ebd]{overflow-wrap:anywhere;min-width:0}.vibe64-learning-step-bar__dots[data-v-f7665ebd]{align-self:center;gap:4px;display:inline-flex}.vibe64-learning-step-bar__dot[data-v-f7665ebd]{opacity:.55;border:1.5px solid;border-radius:50%;width:8px;height:8px}.vibe64-learning-step-bar__dot.is-done[data-v-f7665ebd]{background:currentColor}.vibe64-learning-step-bar__dot.is-current[data-v-f7665ebd]{opacity:1;background:currentColor}.vibe64-learning-step-bar__line[data-v-f7665ebd]{align-items:center;gap:2px var(--v64-space-2,8px);flex-wrap:wrap;flex:auto;min-width:0;display:flex}.vibe64-learning-step-bar__beat[data-v-f7665ebd]{overflow-wrap:anywhere;flex:12rem;min-width:0;font-weight:500}.vibe64-learning-step-bar__status[data-v-f7665ebd]{opacity:.8;font-size:.8125rem}.vibe64-learning-step-bar__status.is-passed[data-v-f7665ebd]{color:rgb(var(--v-theme-success));opacity:1}.vibe64-learning-step-bar__note[data-v-f7665ebd]{flex-basis:100%;font-size:.8125rem}.vibe64-learning-step-bar__controls[data-v-f7665ebd]{flex:none;align-items:center;gap:2px;display:flex}.vibe64-learning-step-bar__progress[data-v-f7665ebd]{background:var(--v64-learning-strong,#f5c518);transform-origin:0;height:3px;transition:transform .1s linear;position:absolute;bottom:0;left:0;right:0}.vibe64-learning-step-bar .v-btn[data-v-f7665ebd]{letter-spacing:0;text-transform:none}@media (prefers-reduced-motion:reduce){.vibe64-learning-step-bar__progress[data-v-f7665ebd]{transition:none}}@media (width<=600px){.vibe64-learning-step-bar[data-v-f7665ebd]{flex-wrap:wrap;gap:0 4px}.vibe64-learning-step-bar__step-text-chevron[data-v-f7665ebd],.vibe64-learning-step-bar__stuck--beside[data-v-f7665ebd],.vibe64-learning-step-bar__lesson[data-v-f7665ebd]{display:none}.vibe64-learning-step-bar--beats .vibe64-learning-step-bar__position[data-v-f7665ebd]{flex:auto}.vibe64-learning-step-bar--beats .vibe64-learning-step-bar__line[data-v-f7665ebd]{flex-basis:100%;order:3;padding:0 0 6px 8px}.vibe64-learning-step-bar__courses[data-v-f7665ebd]{padding-inline:0}.vibe64-learning-step-bar__courses[data-v-f7665ebd] .v-btn__prepend{margin-inline:0}.vibe64-learning-step-bar__courses-label[data-v-f7665ebd],.vibe64-learning-step-bar__step-text-label[data-v-f7665ebd]{display:none}.vibe64-learning-step-bar__step-text[data-v-f7665ebd]{padding-inline:4px}.vibe64-learning-step-bar__step-text[data-v-f7665ebd] .v-btn__prepend{margin-inline:0}.vibe64-learning-step-bar__text-panel[data-v-f7665ebd]{padding:var(--v64-space-3,12px)}}.vibe64-learner-art[data-v-e1a49930]{--learner-skin:#f4c7a1;--learner-ink:#2b2118;width:17rem;max-width:100%;height:auto;display:block;overflow:visible}.vibe64-learner-art__halo[data-v-e1a49930]{fill:var(--v64-learning-tint)}.vibe64-learner-art__disc[data-v-e1a49930]{fill:var(--v64-learning-container)}.vibe64-learner-art__shadow[data-v-e1a49930]{fill:var(--learner-ink);opacity:.1}.vibe64-learner-art__skin[data-v-e1a49930]{fill:var(--learner-skin)}.vibe64-learner-art__body[data-v-e1a49930]{fill:var(--v64-primary);stroke:var(--v64-primary);stroke-linejoin:round;stroke-width:6px}.vibe64-learner-art__collar[data-v-e1a49930]{fill:var(--v64-primary-container);stroke:var(--v64-primary-container);stroke-linejoin:round;stroke-width:3px}.vibe64-learner-art__ink[data-v-e1a49930]{fill:var(--learner-ink)}.vibe64-learner-art__cheek[data-v-e1a49930]{fill:#f08a7e;opacity:.55}.vibe64-learner-art__smile[data-v-e1a49930]{fill:#8c2f22}.vibe64-learner-art__cap[data-v-e1a49930]{fill:var(--learner-ink);stroke:var(--learner-ink);stroke-linejoin:round;stroke-width:3px}.vibe64-learner-art__tassel[data-v-e1a49930]{fill:none;stroke:var(--v64-learning);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px}.vibe64-learner-art__tassel-end[data-v-e1a49930],.vibe64-learner-art__bulb[data-v-e1a49930]{fill:var(--v64-learning)}.vibe64-learner-art__bulb[data-v-e1a49930]{filter:drop-shadow(0 0 8px var(--v64-learning-glow))}.vibe64-learner-art__base[data-v-e1a49930]{fill:color-mix(in srgb, var(--learner-ink) 55%, #c9c4b8)}.vibe64-learner-art__ray[data-v-e1a49930],.vibe64-learner-art__bit--learning[data-v-e1a49930]{fill:var(--v64-learning-strong)}.vibe64-learner-art__bit--primary[data-v-e1a49930]{fill:var(--v64-primary);opacity:.65}.vibe64-learner-art__bit--outline[data-v-e1a49930],.vibe64-learner-art__bit--ring[data-v-e1a49930]{fill:none;stroke:var(--v64-primary);stroke-linejoin:round;stroke-opacity:.55;stroke-width:3px}.vibe64-learner-art__idea[data-v-e1a49930]{animation:3.2s ease-in-out infinite vibe64-learner-float-e1a49930}.vibe64-learner-art__wave[data-v-e1a49930]{transform-box:view-box;transform-origin:182px 165px;animation:2.4s ease-in-out infinite vibe64-learner-wave-e1a49930}.vibe64-learner-art__bit[data-v-e1a49930]{transform-box:fill-box;transform-origin:50%;animation:2.8s ease-in-out infinite vibe64-learner-twinkle-e1a49930}.vibe64-learner-art__bit[data-v-e1a49930]:nth-of-type(2n){animation-delay:.9s}.vibe64-learner-art__bit[data-v-e1a49930]:nth-of-type(3n){animation-delay:1.7s}@keyframes vibe64-learner-float-e1a49930{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes vibe64-learner-wave-e1a49930{0%,to{transform:rotate(0)}50%{transform:rotate(-7deg)}}@keyframes vibe64-learner-twinkle-e1a49930{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.75)}}@media (prefers-reduced-motion:reduce){.vibe64-learner-art__idea[data-v-e1a49930],.vibe64-learner-art__wave[data-v-e1a49930],.vibe64-learner-art__bit[data-v-e1a49930]{animation:none}}.vibe64-learn-welcome[data-v-a4a8577f]{animation:vibe64-learn-welcome-in-a4a8577f var(--v64-duration-long,.4s) var(--v64-ease-emphasized-decelerate,ease-out);align-items:center;gap:var(--v64-space-3);text-align:center;justify-items:center;min-width:0;max-width:min(24rem,100%);display:grid}.vibe64-learn-welcome__title[data-v-a4a8577f]{color:var(--v64-on-surface);font:var(--v64-type-headline-sm,600 1.5rem/2rem system-ui, sans-serif);letter-spacing:-.01em;margin:var(--v64-space-2) 0 0}.vibe64-learn-welcome__text[data-v-a4a8577f]{color:var(--v64-on-surface-variant);font:var(--v64-type-body-lg,400 1rem/1.5rem system-ui, sans-serif);margin:0}.vibe64-learn-welcome__choose[data-v-a4a8577f]{box-shadow:0 4px 14px var(--v64-learning-glow);letter-spacing:.01em;margin-top:var(--v64-space-2);text-transform:none;transition:transform var(--v64-duration-short,.15s) var(--v64-ease-standard,ease), box-shadow var(--v64-duration-short,.15s) var(--v64-ease-standard,ease);font-weight:700;background:var(--v64-learning)!important;color:#1d1600!important;padding-inline:var(--v64-space-6,1.5rem)!important}.vibe64-learn-welcome__choose[data-v-a4a8577f]:hover{box-shadow:0 6px 20px var(--v64-learning-glow);transform:translateY(-1px)}@keyframes vibe64-learn-welcome-in-a4a8577f{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.vibe64-learn-welcome[data-v-a4a8577f],.vibe64-learn-welcome__choose[data-v-a4a8577f]{transition:none;animation:none}}.studio-screen__no-project[data-v-9353033f]{flex:auto;min-height:0}.studio-screen__lesson-layout[data-v-9353033f]{border:1px solid rgba(var(--v-theme-outline), .14);border-radius:14px;min-width:0;height:100%;min-height:0;overflow:hidden}.studio-screen__no-project-text[data-v-9353033f]{color:var(--v64-on-surface-variant);gap:var(--v64-space-3);padding:var(--v64-space-4);justify-items:start;display:grid}.studio-screen__no-project-text p[data-v-9353033f]{margin:0}.studio-screen__choose-lesson[data-v-9353033f]{text-transform:none}.studio-screen__no-lesson-chat[data-v-9353033f]{min-width:0;min-height:0;padding:var(--v64-space-4) var(--v64-space-2);place-items:center;display:grid;overflow-y:auto}.studio-screen__no-lesson-note[data-v-9353033f]{color:var(--v64-on-surface-variant);font:var(--v64-type-body-md,400 .875rem/1.25rem system-ui, sans-serif);text-align:center;max-width:18rem;margin:0}.studio-screen__no-lesson-welcome[data-v-9353033f]{display:none}@media (width<=980px){.studio-screen__no-lesson-note[data-v-9353033f]{display:none}.studio-screen__no-lesson-welcome[data-v-9353033f]{display:grid}}body.studio-home-shell-active{--studio-home-chat-column-width:32rem;--studio-home-project-gap:.75rem;--studio-control-bg:var(--v64-surface);--studio-control-rest-bg:var(--v64-surface-container-high);--studio-control-active-bg:var(--v64-secondary-container);--studio-control-border:var(--v64-outline-variant);--studio-control-border-strong:var(--v64-outline);--studio-control-text:var(--v64-on-surface);--studio-control-muted-text:var(--v64-on-surface-variant);--studio-control-radius:var(--v64-shape-md)}.generated-ui-screen[data-v-c6d4d435]{--generated-ui-screen-title-size:clamp(1.2rem, 1.7vw, 1.55rem);--generated-ui-screen-panel-padding:0}.studio-screen[data-v-c6d4d435]{flex:auto;width:100%;max-width:none;height:100%;min-height:0;margin-inline:0;overflow:hidden}.studio-screen__panel[data-v-c6d4d435]{padding:var(--generated-ui-screen-panel-padding)}.studio-screen__gate-scroll[data-v-c6d4d435]{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.studio-screen__gate-scroll[data-v-c6d4d435] .project-selection-gate{flex-direction:column;flex:auto;min-height:0;display:flex}.studio-screen__gate-scroll[data-v-c6d4d435] .project-selection-gate .studio-ai-sessions{flex:auto;min-height:0}.studio-home-shell-heading[data-v-c6d4d435]{align-items:center;gap:var(--studio-home-project-gap);overflow-clip-margin:4px;flex:auto;min-width:0;display:flex;overflow-x:clip}.studio-home-shell-title-area[data-v-c6d4d435]{flex:0 1000 var(--studio-home-chat-column-width);align-items:center;gap:.42rem;min-width:0;padding-left:1rem;display:flex}.studio-home-shell-heading--chat-collapsed .studio-home-shell-title-area[data-v-c6d4d435]{flex-basis:auto}@media (width>=981px){.studio-home-shell-heading:not(.studio-home-shell-heading--chat-collapsed) .studio-home-shell-title-area[data-v-c6d4d435]{width:calc(var(--studio-home-chat-column-edge,var(--studio-home-chat-column-width)) - var(--studio-home-project-gap) - 2.7rem);flex:0 1000 auto}}.studio-home-shell-project-name[data-v-c6d4d435]{flex:0 auto;min-width:0;display:flex}.studio-home-shell-project-selector[data-v-c6d4d435]{border-radius:var(--v64-shape-full);font:var(--v64-type-title-md);letter-spacing:-.005em;min-width:0;max-width:100%;padding-inline:var(--v64-space-3) var(--v64-space-2);text-transform:none;flex:0 auto;justify-content:start;font-size:1.0625rem;color:var(--v64-on-surface)!important}.studio-home-shell-project-selector[data-v-c6d4d435] .v-icon{color:var(--v64-on-surface-variant);margin-inline-start:var(--v64-space-1)}.studio-home-shell-project-selector[data-v-c6d4d435] .v-btn__content{min-width:0}.studio-home-shell-project-selector span[data-v-c6d4d435]{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.studio-home-shell-github-actor-host[data-v-c6d4d435]{flex:auto;align-items:center;min-width:0;min-height:1.65rem;display:flex;overflow:hidden}.studio-home-shell-github-actor-host[data-v-c6d4d435]:empty{display:none}.studio-home-shell-local-remotes-host[data-v-c6d4d435],.studio-home-shell-create-session-host[data-v-c6d4d435]{flex:none;display:flex}.studio-home-shell-local-remotes-host[data-v-c6d4d435]:empty,.studio-home-shell-create-session-host[data-v-c6d4d435]:empty{display:none}.studio-home-shell-title[data-v-c6d4d435]{color:rgb(var(--v-theme-on-surface));text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;max-width:100%;margin:0;font-size:1.2rem;font-weight:720;line-height:1.2;overflow:hidden}.studio-home-shell-surface-label[data-v-c6d4d435]{color:rgb(var(--v-theme-on-surface));text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;max-width:12rem;font-size:.95rem;font-weight:650;line-height:1.2;display:block;overflow:hidden}.studio-home-shell-target-folder[data-v-c6d4d435]{color:rgb(var(--v-theme-on-surface));text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;max-width:100%;margin:0;font-size:1.2rem;font-weight:760;line-height:1.2;display:block;overflow:hidden}.studio-home-shell-project-controls[data-v-c6d4d435]{flex:0 auto;align-items:center;gap:.45rem;min-width:0;display:flex}.studio-home-shell-chat-toggle[data-v-c6d4d435]{border-radius:var(--v64-shape-full);box-shadow:none;min-width:2.25rem;height:2.25rem;min-height:2.25rem;transition:background-color var(--v64-duration-short) var(--v64-ease-standard);border:0;flex:none;width:2.25rem;background:var(--v64-surface-container-high)!important;color:var(--v64-on-surface-variant)!important}.studio-home-shell-chat-toggle[data-v-c6d4d435]:hover{background:color-mix(in srgb, var(--v64-on-surface) 8%, var(--v64-surface-container-high))!important}.studio-home-shell-project-tabs[data-v-c6d4d435]{border:1px solid var(--v64-outline);border-radius:var(--v64-shape-full);flex:none;grid-auto-columns:minmax(5.25rem,1fr);grid-auto-flow:column;min-width:0;display:inline-grid;overflow:hidden}.studio-home-shell-project-tab[data-v-c6d4d435]{border:0;border-inline-start:1px solid var(--v64-outline);color:var(--v64-on-surface);cursor:pointer;font:var(--v64-type-label-lg);align-items:center;gap:var(--v64-space-1);letter-spacing:.01em;min-width:0;height:2.25rem;padding:0 var(--v64-space-3);transition:background-color var(--v64-duration-short) var(--v64-ease-standard), color var(--v64-duration-short) var(--v64-ease-standard);white-space:nowrap;background:0 0;justify-content:center;display:inline-flex;position:relative}.studio-home-shell-project-tab[data-v-c6d4d435]:first-child{border-inline-start:0}.studio-home-shell-project-tab[data-v-c6d4d435]:after{content:"";opacity:0;pointer-events:none;transition:opacity var(--v64-duration-short) var(--v64-ease-standard);background:currentColor;position:absolute;inset:0}.studio-home-shell-project-tab[data-v-c6d4d435]:hover:not(:disabled):after{opacity:var(--v64-state-hover)}.studio-home-shell-project-tab[data-v-c6d4d435]:active:not(:disabled):after{opacity:var(--v64-state-pressed)}.studio-home-shell-project-tab[data-v-c6d4d435]:focus-visible{outline:var(--v64-focus-ring-width) solid var(--v64-focus-ring-color);outline-offset:-4px}.studio-home-shell-project-tab--active[data-v-c6d4d435]{background:var(--v64-secondary-container);color:var(--v64-on-secondary-container);font-weight:600}.studio-home-shell-project-tab--active[data-v-c6d4d435]:before{animation:studio-home-shell-check-in-c6d4d435 var(--v64-duration-medium) var(--v64-ease-emphasized-decelerate);content:"";height:1.125rem;-webkit-mask:var(--studio-home-shell-check) center / contain no-repeat;-webkit-mask:var(--studio-home-shell-check) center / contain no-repeat;mask:var(--studio-home-shell-check) center / contain no-repeat;background:currentColor;flex:none;width:1.125rem}.studio-home-shell-project-tabs[data-v-c6d4d435]{--studio-home-shell-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E")}.studio-home-shell-project-tab[data-v-c6d4d435]:disabled{color:color-mix(in srgb, var(--v64-on-surface) 38%, transparent);cursor:not-allowed}@keyframes studio-home-shell-check-in-c6d4d435{0%{opacity:0;width:0}to{opacity:1;width:1.125rem}}.studio-home-shell-preview-toolbar-host[data-v-c6d4d435]{flex:auto;justify-content:flex-start;align-items:center;min-width:0;max-width:min(43rem,54vw);display:flex}.studio-home-shell-preview-toolbar-host[data-v-c6d4d435]:empty{display:none}.studio-home-shell-project-mobile-action[data-v-c6d4d435]{background:var(--v64-secondary-container);border-radius:var(--v64-shape-full);color:var(--v64-on-secondary-container);cursor:pointer;font:var(--v64-type-label-lg);align-items:center;gap:var(--v64-space-1);letter-spacing:.01em;min-width:4.5rem;min-height:2.5rem;padding:0 var(--v64-space-2) 0 var(--v64-space-4);transition:background-color var(--v64-duration-short) var(--v64-ease-standard);white-space:nowrap;border:0;flex:none;justify-content:center;display:none;position:relative}.studio-home-shell-project-mobile-action__icon[data-v-c6d4d435]{display:none!important}.studio-home-shell-project-mobile-action[data-v-c6d4d435]:hover{background:color-mix(in srgb, var(--v64-on-secondary-container) 8%, var(--v64-secondary-container))}.studio-home-shell-project-mobile-action[data-v-c6d4d435]:focus-visible{outline:var(--v64-focus-ring-width) solid var(--v64-focus-ring-color);outline-offset:var(--v64-focus-ring-offset)}@media (prefers-reduced-motion:reduce){.studio-home-shell-project-tab--active[data-v-c6d4d435]:before{animation:none}}@media (width>=981px){.studio-screen__gate-scroll[data-v-c6d4d435] .project-selection-gate .studio-ai-sessions--autopilot{padding:0}}@media (width<=980px){.studio-home-shell-heading[data-v-c6d4d435]{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;width:100%;display:grid}.studio-home-shell-project-controls[data-v-c6d4d435]{justify-content:flex-end;min-width:0;margin-left:auto;display:flex}.studio-home-shell-project-tabs--desktop[data-v-c6d4d435]{display:none}.studio-home-shell-project-mobile-action[data-v-c6d4d435]{display:inline-flex}.studio-home-shell-preview-toolbar-host[data-v-c6d4d435]{flex:0 auto;max-width:min(26rem,42vw)}}@media (width<=600px){.studio-home-shell-title[data-v-c6d4d435]{max-width:calc(100vw - 14rem);font-size:1.05rem}.studio-home-shell-target-folder[data-v-c6d4d435]{max-width:calc(100vw - 16rem);font-size:1.05rem}.studio-home-shell-heading[data-v-c6d4d435]{gap:var(--v64-space-1);flex:auto;width:100%;min-width:0;padding-left:0;display:flex}.studio-home-shell-project-controls[data-v-c6d4d435]{flex:none;gap:.28rem}.studio-home-shell-preview-toolbar-host[data-v-c6d4d435]{max-width:min(12rem,32vw)}.studio-home-shell-project-mobile-action[data-v-c6d4d435]{min-width:4rem;padding-inline:var(--v64-space-3) var(--v64-space-1)}.studio-home-shell-title-area[data-v-c6d4d435]{flex:auto;padding-left:0}.studio-home-shell-project-name[data-v-c6d4d435]{flex:auto;overflow:hidden;container-type:inline-size}.studio-home-shell-github-actor-host[data-v-c6d4d435]{flex:none}.studio-home-shell-github-actor-host[data-v-c6d4d435] .studio-home-shell-session-github-actor{padding:0}.studio-home-shell-github-actor-host[data-v-c6d4d435] .studio-home-shell-session-github-actor span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.studio-home-shell-heading--chat-collapsed .studio-home-shell-create-session-host[data-v-c6d4d435],.studio-home-shell-heading--chat-collapsed .studio-home-shell-local-remotes-host[data-v-c6d4d435],.studio-home-shell-heading--chat-collapsed .studio-home-shell-github-actor-host[data-v-c6d4d435]{display:none}.studio-home-shell-project-selector[data-v-c6d4d435]{flex:0 auto;min-width:2.25rem;max-width:100%;padding-inline:.375rem .125rem;font-size:.95rem}.studio-home-shell-project-selector[data-v-c6d4d435] .v-icon{margin-inline-start:0}.studio-home-shell-local-remotes-host[data-v-c6d4d435]{margin-inline-end:.375rem}.studio-home-shell-local-remotes-host[data-v-c6d4d435] .local-remotes__branch{width:2.5rem!important}.studio-home-shell-title-area[data-v-c6d4d435]{gap:var(--v64-space-1)}.studio-home-shell-create-session-host[data-v-c6d4d435] .studio-ai-sessions__create-button,.studio-home-shell-chat-toggle[data-v-c6d4d435]{width:2.5rem;min-width:2.5rem;height:2.5rem;min-height:2.5rem}.studio-home-shell-project-controls[data-v-c6d4d435]{gap:.3rem}.studio-screen[data-v-c6d4d435]{max-width:100%}}@container (width<=4rem){.studio-home-shell-project-selector[data-v-c6d4d435]{visibility:hidden}}@media (width<=480px){.studio-home-shell-project-mobile-action[data-v-c6d4d435]{width:2.5rem;min-width:2.5rem;padding:0}.studio-home-shell-project-mobile-action__icon[data-v-c6d4d435]{display:inline-flex!important}.studio-home-shell-project-mobile-action__label[data-v-c6d4d435],.studio-home-shell-project-mobile-action__chevron[data-v-c6d4d435]{display:none!important}}
@@ -1 +0,0 @@
1
- import{D as createVNode,E as createTextVNode,Ht as watch,_ as createBaseVNode,mt as openBlock,qt as withCtx,v as createBlock,vn as ref}from"./runtime-core.esm-bundler-DGXg_mpN.js";import{_ as useRouter}from"./useApi-BPuI6ZR9-CFWU1m37.js";import{t as useVibe64Learning}from"./useVibe64Learning-DyqXkpLw.js";import{t as VBtn}from"./VBtn-B2MBK2DL.js";import{t as VSkeletonLoader}from"./VSkeletonLoader-CttxM1tw.js";import{t as _plugin_vue_export_helper_default}from"./_plugin-vue_export-helper-DNW4j-dv.js";import{t as StudioErrorNotice_default}from"./StudioErrorNotice-CSrUw1QV.js";import{n as StudioAppShellLayout_default,t as Vibe64AuthSettingsButton_default}from"./Vibe64AuthSettingsButton-fY4ZiIFF.js";import{t as route_block_default}from"./route-block-DbL-SuOj.js";var _hoisted_1={class:`vibe64-app-resolver`};var _sfc_main={__name:`index`,setup(__props){const router=useRouter();const learning=useVibe64Learning();const error=ref(``);let resolving=false;async function startedProjectPath(){const response=await globalThis.fetch(`/app`,{method:`HEAD`,credentials:`same-origin`});const path=new URL(response.url).pathname.replace(/\/+$/u,``);return path.startsWith(`/app/project/`)?path:``}async function resolve(){if(resolving)return;resolving=true;error.value=``;try{if(learning?.learnMode){await router.replace(learning.modePlace());return}const path=await startedProjectPath();if(!path)throw new Error(`This Vibe64 has no started project. Start Vibe64 in a project folder.`);await router.replace(path)}catch(cause){error.value=String(cause?.message||`Your project could not be opened. Try again.`)}finally{resolving=false}}watch(()=>!learning||learning.state.modeRead,ready=>{if(ready)resolve()},{immediate:true});return(_ctx,_cache)=>{return openBlock(),createBlock(StudioAppShellLayout_default,null,{"top-right":withCtx(()=>[createVNode(Vibe64AuthSettingsButton_default)]),default:withCtx(()=>[createBaseVNode(`section`,_hoisted_1,[error.value?(openBlock(),createBlock(StudioErrorNotice_default,{key:0,title:`Project could not open`,error:error.value,compact:``},{actions:withCtx(()=>[createVNode(VBtn,{color:`primary`,variant:`flat`,"min-height":`48`,onClick:resolve},{default:withCtx(()=>[..._cache[0]||(_cache[0]=[createTextVNode(`Try again`,-1)])]),_:1})]),_:1},8,[`error`])):(openBlock(),createBlock(VSkeletonLoader,{key:1,type:`article`,"aria-label":`Opening your project`}))])]),_:1})}}};if(typeof route_block_default===`function`)route_block_default(_sfc_main);var app_default=_plugin_vue_export_helper_default(_sfc_main,[[`__scopeId`,`data-v-4452bfe4`]]);export{app_default as default};
@@ -1,3 +0,0 @@
1
- import{c as vibe64AssistantSelectionLabel,m as VIBE64_AGENT_EXECUTION_WORKLOAD_IDS,v as VIBE64_ASSISTANT_ENGINE_IDS,y as defineVibe64AssistantSelection}from"./shared-DpMvYJO3.js";var ASSISTANT_MODES=Object.freeze([{id:`custom`,label:`Custom`,description:`Choose an orchestrator, model and thinking level for this chat.`},{id:`senior`,label:`Senior`,description:`Talk directly to your most capable model. Ask questions or request changes.`},{id:`junior`,label:`Junior`,description:`Talk directly to your everyday model. Ask questions or request changes.`},{id:`auto`,label:`Auto`,description:`Name either role, or let Senior handle plans and reviews and Junior handle other requests. Implementation always gets Senior review.`}]);var ASSISTANT_ROUTING_METADATA=`assistant_routing`;var ASSISTANT_ROUTING_ROLES=Object.freeze([`senior`,`junior`,`helper`,`router`]);var ASSISTANT_ROUTING_ASSIGNMENTS=Object.freeze([...ASSISTANT_ROUTING_ROLES,`sharedBackup`]);var ASSISTANT_ROUTING_ROLE_DEFINITIONS=Object.freeze([...ASSISTANT_MODES.filter(({id})=>[`senior`,`junior`].includes(id)),{id:`helper`,label:`Helper`,description:`Used for suggestions, naming, summaries and explanations.`},{id:`router`,label:`Router`,description:`Honors requested roles; otherwise chooses Senior for plans, reviews and Deslop, and Junior for other requests.`}]);var ROUTING_REASONS=Object.freeze([`conversation`,`planning`,`implementation`,`review`]);var ASSISTANT_PURPOSE_ROLES=Object.freeze({custom:`custom`,senior:`senior`,junior:`junior`,helper:`helper`,review:`senior`,deslop:`senior`,...Object.fromEntries(Object.values(VIBE64_AGENT_EXECUTION_WORKLOAD_IDS).map(purpose=>[purpose,purpose===`request_routing`?`router`:`helper`]))});function assistantModeLabel(mode){return ASSISTANT_MODES.find(({id})=>id===mode)?.label||{review:`Senior review`,deslop:`Senior Deslop`,router:`Router`,helper:`Helper`}[mode]||``}function routingError(message,code=`vibe64_assistant_routing_invalid`){return Object.assign(new Error(message),{code,statusCode:409})}function assistantRoutingPreferences(value={}){if(!value||typeof value!==`object`||Array.isArray(value)||!ASSISTANT_MODES.some(({id})=>id===value.mode))throw routingError(`Choose Custom, Senior, Junior, or Auto.`);if(value.workflowEngineId!==void 0&&!Object.values(VIBE64_ASSISTANT_ENGINE_IDS).includes(value.workflowEngineId))throw routingError(`Choose a supported workflow orchestrator.`);if(value.mode===`custom`&&!value.override)throw routingError(`Choose a custom model first.`);return{mode:value.mode,review:value.mode!==`custom`&&value.review===true,...value.workflowEngineId?{workflowEngineId:value.workflowEngineId}:{},...value.override&&value.mode!==`auto`?{override:defineVibe64AssistantSelection(value.override)}:{}}}function assistantRoutingFromMetadata(metadata={}){return metadata[`assistant_routing`]?assistantRoutingPreferences(JSON.parse(metadata[ASSISTANT_ROUTING_METADATA])):null}function assistantRoutingStatusIsPending(request){return request?.status!==`complete`&&[`routing`,`pending`,`sending`,`uncertain`].includes(request?.delivery)}function assistantRoutingRequestCanBeReplaced(request,selection){if(request?.helper)return false;const previous=request?.deliverySelection||request?.observedSelection;if(request?.stopped&&previous&&selection&&[`engineId`,`modelProviderId`,`modelId`,`agentId`,`variantId`].some(key=>String(previous[key]||``).trim()!==String(selection[key]||``).trim()))return true;return request?.delivery===`pending`&&(request.status===`waiting`||Boolean(request.error))&&!request.attemptedMessageId}function assistantModePrompt(mode,message,{planInstructions=``,intent=``,browserReview=false}={}){const direct=`Work directly from the user's request and conversation, answering questions or implementing changes as requested. You may edit application files when requested. Make ordinary local choices using established project patterns, ask about unresolved scope or design decisions, preserve unrelated work, and verify changes with relevant checks.`;const instructions={custom:direct,senior:direct,junior:direct,deslop:[`Perform Deslop directly using the project's Deslop guidance.`,`You may edit code for behavior-preserving cleanup; earlier Auto planning restrictions do not apply.`,`Preserve existing behavior, unrelated work and staging.`,`Use the user's selected commits or scope; otherwise clean up only the current task's changes.`,`Do not implement features, fix behavior-changing defects, create an implementation plan, or delegate cleanup to another model.`,`Report discovered defects separately without fixing them.`,`Run focused checks, then report what became simpler and what was verified.`,`Do not commit, push or deploy.`].join(` `),review:[`Review the preceding coding work against the original request and accepted steering.`,`Inspect actual files and relevant surrounding code. You may directly fix in-scope defects.`,`Earlier Auto planning restrictions do not apply.`,`Preserve unrelated work and staging, and report out-of-scope defects without fixing them.`,`For a cleanup-only request, apply the project's Deslop guidance and preserve behavior; report behavior-changing defects separately without fixing them.`,`Perform the review yourself in this turn. Cleanup is optional and only runs when requested in this review's instructions.`,`If implementation is missing or coding stopped for a decision, report that and preserve the decision for the user; do not start the original implementation from scratch.`,`Run relevant checks, then report findings, fixes, actual checks and anything unverified.`,`You own browser verification for this review. Exercise the requested user flow and inspect meaningful visual checkpoints yourself using the supplied managed browser tools; the implementer's code tests do not replace these checks. Reuse reliable passing evidence and avoid repeating unaffected checks. Report browser or visual checks that could not be performed, and do not claim verified completion while required checks remain unfinished.`,`Do not publish or invent new product requirements. For substantial necessary rework within the agreed outcome, update the technical plan and hand back to Junior through the workflow outcome command. Junior implementation will receive another Senior review and any enabled Deslop.`].join(` `)};if(!instructions[mode])throw routingError(`Unknown assistant mode.`);let instruction=instructions[intent]||instructions[mode];switch(intent){case`conversation`:instruction=`Answer or investigate the user's question. You may use vibe64-helper plan read or history to inspect a referenced plan. Do not create or update a plan, change its status, edit application files, run state-changing operations, or delegate implementation. Explain missing or completed plans without reopening them.`;break;case`planning`:instruction=`Discuss and manage the plan as requested through vibe64-helper plan. Do not change application files in a planning-only request. Clarify ambiguous references before changing a plan. Junior may update paired Progress and existing checklist ticks as work is verified; agreed Plan scope and lifecycle changes require Senior.`;break;case`implementation`:instruction=direct+` Implement the requested work, including any explicitly requested planning changes within your role's authority. `+`For a plan's explicitly authorised removal or deferral, record the exact deferred requirement and its agreed timing in a Deferred work section of paired Progress before removing it from Plan's current acceptance scope. Preserve completed implementation evidence and do not perform deferred work. Reassess the remaining requirements against that evidence; if none remain to implement, hand off for review rather than treating the scope edit as planning-only. Junior still cannot edit Plan scope. `+`Continue until the authorised scope is implemented and checked. Task size, context compaction, or finishing one useful slice is not a reason to end the task. `+`Stop for an unresolved architectural or product decision outside the agreed scope only where it blocks the remaining work; continue independent authorised work. `+`The latest execution request supersedes earlier planning-only wording, while explicit remaining approval boundaries still apply. `+`If work remains, lead with Implementation incomplete and name the exact blocker and unfinished scope; never open with Done for partial implementation. `+`A separate Senior turn will review the result, even when you are Senior. `+`Leave the plan active for that review; do not mark it completed in this implementation turn or request permission for the automatic review.`}if(!planInstructions&&intent!==`conversation`)planInstructions=`This direct request is independent of the current Auto plan unless the user explicitly refers to it. Senior may use vibe64-helper plan to manage it; Junior may update Progress and existing checklist ticks after reading both documents, never change scope or mark the plan completed.`;if(intent!==`conversation`&&intent!==`planning`&&intent!==`deslop`&&intent!==`review`&&mode!==`review`&&mode!==`deslop`){instruction+=` When the requested feature is implemented, its required runtime resources are prepared and Preview is responding, promptly tell the user: Ready to try—give it a spin. Verification is still running. Do not claim full completion before verification, and do not wait for the user to test before continuing your checks. If Preview is unavailable, report that instead of inviting the user to try it.`;instruction+=browserReview?` A separate Senior review owns in-depth browser testing and visual inspection. Do not run those checks in this implementation turn. Run relevant focused code tests and basic smoke checks: confirm server startup, relevant routes and API responses, and if needed make a brief managed-browser check that the changed page renders and its main control is present. Leave full end-to-end browser suites, multi-step user journeys and visual inspection to Senior; do not expand the smoke check into those checks. Prepare the app and report exact checks, remaining gaps and browser acceptance cases to Senior; browser verification pending is an expected handoff, not an implementation blocker. Tell the user that Senior will perform the remaining browser checks.`:` You own the remaining verification, including relevant browser checks and visual inspection using the supplied tools. Tell the user those checks are next, keep the app usable during checking and report anything unverified if checking is interrupted or unavailable.`}return`[Vibe64 role: ${assistantModeLabel(mode)}. Applies only to this request; earlier per-turn mode instructions no longer apply.]\n${instruction}${planInstructions?`\n${planInstructions}`:``}\n\n${message}`}function assistantGoalObjective(objective,pinned){if(pinned?.objective&&[`custom`,`senior`,`junior`].some(mode=>objective===assistantModePrompt(mode,pinned.objective)))return pinned.objective;return objective}function assistantGoalManagementMessage(message,turn={}){if(!message||message.receipt===false||turn.user?.receipt===false||turn.optimistic&&turn.optimistic.status!==`accepted`||turn.system?.delivery)return false;const native=message.data?.native;if(!(turn.metadata?.engineId===`claude`||turn.metadata?.assistantSelection?.engineId===`claude`||native?.engineId===`claude`))return false;const text=String(message.text||``);if(message.role===`user`)return Boolean(turn.metadata?.upstreamMessageId||message.receipt===true)&&/^\/goal(?:\s|$)/u.test(text);if(![`assistant`,`commentary`].includes(message.role))return false;if(native?.command)return native.engineId===`claude`&&([`assistant`,`result`].includes(native.type)||native.type===`system`&&[`local_command`,`local_command_output`].includes(native.subtype))&&native.command===`goal`&&native.output===`stdout`;const prefix=[`Goal set: `,`Goal cleared: `,`Goal active: `].find(value=>text.startsWith(value));if(prefix){const objective=text.slice(prefix.length);const separator=objective.indexOf(`
2
-
3
- `);if(separator!==-1&&assistantGoalObjective(objective,{objective:objective.slice(separator+2)})!==objective)return true}return native?.type===`system`&&native.subtype===`local_command_output`&&Boolean(prefix||text===`No goal set`||text==="No goal set. Usage: `/goal <condition>`")}function assistantRoutingOutcomeNotice(request){if(!request?.messageId||!request.outcome||request.stopped)return null;const headings={continue:`Continuing work.`,handoff:request.stage===`review`?`Ready for Senior review.`:`Returning to Junior for rework.`,wait:`Waiting to continue.`,complete:`Review complete.`};return{messageId:`assistant-routing-outcome:${request.messageId}:${request.outcome.turnId}:${request.outcome.decision}`,text:`${headings[request.outcome.decision]}\n\n${request.outcome.explanation}`}}function assistantRoutingStatusLabel(request){if(!request)return``;const selection=request.assignments?.[request.stage===`review`&&request.followup?`senior`:request.resolvedMode];const recipient=selection?vibe64AssistantSelectionLabel(selection):``;const stage={planning:`Planning`,implementation:`Implementing`,review:`Reviewing`}[request.stage]||assistantModeLabel(request.resolvedMode);if(request.delivery===`uncertain`)return`Delivery unconfirmed · ${recipient}`;if(request.status===`waiting`)return request.stopped?`Paused at your request.`:`${stage} waiting · ${recipient}`;if(request.status===`complete`)return request.workflow?`Review complete — read the findings above.`:`Reply finished.`;if(request.delivery===`routing`)return`Choosing the recipient with Router…`;if(request.delivery===`failed`)return`Request not sent`;if(request.delivery===`pending`)return`${stage} ready to continue · ${recipient}`;if(request.delivery===`sending`)return`${stage} · ${recipient} · awaiting receipt…`;return`${stage} · ${recipient}`}export{assistantGoalObjective as a,assistantRoutingOutcomeNotice as c,assistantRoutingStatusLabel as d,assistantGoalManagementMessage as i,assistantRoutingRequestCanBeReplaced as l,ASSISTANT_ROUTING_ASSIGNMENTS as n,assistantModeLabel as o,ASSISTANT_ROUTING_ROLE_DEFINITIONS as r,assistantRoutingFromMetadata as s,ASSISTANT_MODES as t,assistantRoutingStatusIsPending as u};