@bolt-foundry/gambit 0.8.6-rc.4 → 0.8.6-rc.6

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 (580) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/esm/gambit/simulator-ui/dist/bundle.js +26840 -34131
  3. package/esm/gambit/simulator-ui/dist/bundle.js.map +4 -4
  4. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/normalization_ast.d.ts.map +1 -1
  5. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/normalization_ast.js +121 -0
  6. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/param_type.d.ts +32 -0
  7. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/param_type.d.ts.map +1 -1
  8. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/query_text.d.ts +1 -1
  9. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/query_text.d.ts.map +1 -1
  10. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/query_text.js +27 -0
  11. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/raw_response_type.d.ts +22 -0
  12. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/raw_response_type.d.ts.map +1 -1
  13. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/resolver_reader.d.ts.map +1 -1
  14. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/resolver_reader.js +152 -0
  15. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/normalization_ast.d.ts.map +1 -1
  16. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/normalization_ast.js +272 -264
  17. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/param_type.d.ts +70 -76
  18. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/param_type.d.ts.map +1 -1
  19. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/query_text.d.ts +1 -1
  20. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/query_text.d.ts.map +1 -1
  21. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/query_text.js +60 -58
  22. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/raw_response_type.d.ts +50 -48
  23. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/raw_response_type.d.ts.map +1 -1
  24. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/resolver_reader.d.ts.map +1 -1
  25. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/resolver_reader.js +343 -341
  26. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/normalization_ast.d.ts.map +1 -1
  27. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/normalization_ast.js +272 -264
  28. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/param_type.d.ts +70 -76
  29. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/param_type.d.ts.map +1 -1
  30. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/query_text.d.ts +1 -1
  31. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/query_text.d.ts.map +1 -1
  32. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/query_text.js +60 -58
  33. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/raw_response_type.d.ts +50 -48
  34. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/raw_response_type.d.ts.map +1 -1
  35. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/resolver_reader.d.ts.map +1 -1
  36. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/resolver_reader.js +343 -341
  37. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/normalization_ast.d.ts.map +1 -1
  38. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/normalization_ast.js +284 -250
  39. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/param_type.d.ts +78 -68
  40. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/param_type.d.ts.map +1 -1
  41. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/query_text.d.ts +1 -1
  42. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/query_text.d.ts.map +1 -1
  43. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/query_text.js +66 -56
  44. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/raw_response_type.d.ts +60 -54
  45. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/raw_response_type.d.ts.map +1 -1
  46. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/resolver_reader.d.ts.map +1 -1
  47. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/resolver_reader.js +317 -289
  48. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/normalization_ast.d.ts.map +1 -1
  49. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/normalization_ast.js +284 -322
  50. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/param_type.d.ts +78 -88
  51. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/param_type.d.ts.map +1 -1
  52. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/query_text.d.ts +1 -1
  53. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/query_text.d.ts.map +1 -1
  54. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/query_text.js +66 -72
  55. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/raw_response_type.d.ts +60 -68
  56. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/raw_response_type.d.ts.map +1 -1
  57. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/resolver_reader.d.ts.map +1 -1
  58. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/resolver_reader.js +317 -383
  59. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/normalization_ast.d.ts.map +1 -1
  60. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/normalization_ast.js +142 -125
  61. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/param_type.d.ts +39 -34
  62. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/param_type.d.ts.map +1 -1
  63. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/query_text.d.ts +1 -1
  64. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/query_text.d.ts.map +1 -1
  65. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/query_text.js +33 -28
  66. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/raw_response_type.d.ts +30 -27
  67. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/raw_response_type.d.ts.map +1 -1
  68. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/resolver_reader.d.ts.map +1 -1
  69. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/resolver_reader.js +160 -145
  70. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/normalization_ast.d.ts.map +1 -1
  71. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/normalization_ast.js +236 -264
  72. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/param_type.d.ts +64 -72
  73. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/param_type.d.ts.map +1 -1
  74. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/query_text.d.ts +1 -1
  75. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/query_text.d.ts.map +1 -1
  76. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/query_text.js +54 -58
  77. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/raw_response_type.d.ts +44 -50
  78. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/raw_response_type.d.ts.map +1 -1
  79. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/resolver_reader.d.ts.map +1 -1
  80. package/esm/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/resolver_reader.js +255 -307
  81. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/normalization_ast.d.ts.map +1 -1
  82. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/normalization_ast.js +142 -125
  83. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.d.ts +1 -1
  84. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.d.ts.map +1 -1
  85. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.js +33 -28
  86. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts +30 -27
  87. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts.map +1 -1
  88. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/normalization_ast.d.ts.map +1 -1
  89. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/normalization_ast.js +121 -132
  90. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/query_text.d.ts +1 -1
  91. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/query_text.d.ts.map +1 -1
  92. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/query_text.js +27 -29
  93. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/raw_response_type.d.ts +22 -24
  94. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/raw_response_type.d.ts.map +1 -1
  95. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/normalization_ast.d.ts.map +1 -1
  96. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/normalization_ast.js +15 -132
  97. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/param_type.d.ts +3 -38
  98. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/param_type.d.ts.map +1 -1
  99. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/query_text.d.ts +1 -1
  100. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/query_text.d.ts.map +1 -1
  101. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/query_text.js +3 -29
  102. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/raw_response_type.d.ts +3 -24
  103. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/raw_response_type.d.ts.map +1 -1
  104. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/resolver_reader.d.ts.map +1 -1
  105. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/resolver_reader.js +21 -169
  106. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/entrypoint.d.ts +7 -0
  107. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/entrypoint.d.ts.map +1 -0
  108. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/entrypoint.js +22 -0
  109. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/normalization_ast.d.ts +4 -0
  110. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/normalization_ast.d.ts.map +1 -0
  111. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/normalization_ast.js +333 -0
  112. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/output_type.d.ts +3 -0
  113. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/output_type.d.ts.map +1 -0
  114. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/output_type.js +1 -0
  115. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/param_type.d.ts +80 -0
  116. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/param_type.d.ts.map +1 -0
  117. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/param_type.js +1 -0
  118. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/parameters_type.d.ts +4 -0
  119. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/parameters_type.d.ts.map +1 -0
  120. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/parameters_type.js +1 -0
  121. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/query_text.d.ts +3 -0
  122. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/query_text.d.ts.map +1 -0
  123. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/query_text.js +71 -0
  124. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/raw_response_type.d.ts +67 -0
  125. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/raw_response_type.d.ts.map +1 -0
  126. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/raw_response_type.js +1 -0
  127. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/resolver_reader.d.ts +6 -0
  128. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/resolver_reader.d.ts.map +1 -0
  129. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/resolver_reader.js +439 -0
  130. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/normalization_ast.d.ts.map +1 -1
  131. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/normalization_ast.js +121 -132
  132. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/query_text.d.ts +1 -1
  133. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/query_text.d.ts.map +1 -1
  134. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/query_text.js +27 -29
  135. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/raw_response_type.d.ts +22 -24
  136. package/esm/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/raw_response_type.d.ts.map +1 -1
  137. package/esm/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts +39 -34
  138. package/esm/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts.map +1 -1
  139. package/esm/simulator-ui/__generated__/__isograph/Workspace/TestTab/resolver_reader.d.ts.map +1 -1
  140. package/esm/simulator-ui/__generated__/__isograph/Workspace/TestTab/resolver_reader.js +160 -145
  141. package/esm/simulator-ui/__generated__/__isograph/WorkspaceConversationRun/WorkbenchConversationRunChat/param_type.d.ts +32 -38
  142. package/esm/simulator-ui/__generated__/__isograph/WorkspaceConversationRun/WorkbenchConversationRunChat/param_type.d.ts.map +1 -1
  143. package/esm/simulator-ui/__generated__/__isograph/WorkspaceConversationRun/WorkbenchConversationRunChat/resolver_reader.d.ts.map +1 -1
  144. package/esm/simulator-ui/__generated__/__isograph/WorkspaceConversationRun/WorkbenchConversationRunChat/resolver_reader.js +152 -172
  145. package/esm/simulator-ui/__generated__/__isograph/WorkspaceConversationTranscriptEntry/asWorkspaceConversationTranscriptMessage/resolver_reader.d.ts +7 -0
  146. package/esm/simulator-ui/__generated__/__isograph/WorkspaceConversationTranscriptEntry/asWorkspaceConversationTranscriptMessage/resolver_reader.d.ts.map +1 -0
  147. package/esm/simulator-ui/__generated__/__isograph/WorkspaceConversationTranscriptEntry/asWorkspaceConversationTranscriptMessage/resolver_reader.js +21 -0
  148. package/esm/simulator-ui/__generated__/__isograph/WorkspaceConversationTranscriptEntry/asWorkspaceConversationTranscriptReasoning/resolver_reader.d.ts +7 -0
  149. package/esm/simulator-ui/__generated__/__isograph/WorkspaceConversationTranscriptEntry/asWorkspaceConversationTranscriptReasoning/resolver_reader.d.ts.map +1 -0
  150. package/esm/simulator-ui/__generated__/__isograph/WorkspaceConversationTranscriptEntry/asWorkspaceConversationTranscriptReasoning/resolver_reader.js +21 -0
  151. package/esm/simulator-ui/__generated__/__isograph/WorkspaceConversationTranscriptEntry/asWorkspaceConversationTranscriptToolCall/resolver_reader.d.ts +7 -0
  152. package/esm/simulator-ui/__generated__/__isograph/WorkspaceConversationTranscriptEntry/asWorkspaceConversationTranscriptToolCall/resolver_reader.d.ts.map +1 -0
  153. package/esm/simulator-ui/__generated__/__isograph/WorkspaceConversationTranscriptEntry/asWorkspaceConversationTranscriptToolCall/resolver_reader.js +21 -0
  154. package/esm/simulator-ui/__generated__/__isograph/iso.d.ts +4 -0
  155. package/esm/simulator-ui/__generated__/__isograph/iso.d.ts.map +1 -1
  156. package/esm/simulator-ui/__generated__/__isograph/iso.js +3 -0
  157. package/esm/simulator-ui/__generated__/builtRoutes.d.ts +2 -0
  158. package/esm/simulator-ui/__generated__/builtRoutes.d.ts.map +1 -1
  159. package/esm/simulator-ui/__generated__/builtRoutes.js +3 -0
  160. package/esm/simulator-ui/isograph/components/Query/SimulatorBuildPage.d.ts.map +1 -1
  161. package/esm/simulator-ui/isograph/components/Query/SimulatorBuildPage.js +4 -11
  162. package/esm/simulator-ui/isograph/components/Query/SimulatorGradePage.d.ts.map +1 -1
  163. package/esm/simulator-ui/isograph/components/Query/SimulatorGradePage.js +4 -19
  164. package/esm/simulator-ui/isograph/components/Query/SimulatorTestPage.d.ts.map +1 -1
  165. package/esm/simulator-ui/isograph/components/Query/SimulatorTestPage.js +91 -235
  166. package/esm/simulator-ui/isograph/components/Query/SimulatorVerifyPage.d.ts.map +1 -1
  167. package/esm/simulator-ui/isograph/components/Query/SimulatorVerifyPage.js +7 -16
  168. package/esm/simulator-ui/isograph/components/Query/SimulatorWorkspacesPage.d.ts.map +1 -1
  169. package/esm/simulator-ui/isograph/components/Query/SimulatorWorkspacesPage.js +2 -6
  170. package/esm/simulator-ui/isograph/components/Workspace/WorkbenchChatDrawer.d.ts.map +1 -1
  171. package/esm/simulator-ui/isograph/components/Workspace/WorkbenchChatDrawer.js +56 -60
  172. package/esm/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.d.ts +3 -21
  173. package/esm/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.d.ts.map +1 -1
  174. package/esm/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.js +62 -215
  175. package/esm/simulator-ui/isograph/entrypoints/EntrypointSimulatorRedirect.d.ts.map +1 -1
  176. package/esm/simulator-ui/isograph/entrypoints/EntrypointSimulatorRedirect.js +3 -16
  177. package/esm/simulator-ui/isograph/entrypoints/EntrypointSimulatorWorkspaceShell.d.ts.map +1 -1
  178. package/esm/simulator-ui/isograph/entrypoints/EntrypointSimulatorWorkspaceShell.js +1 -9
  179. package/esm/simulator-ui/isograph/entrypoints/EntrypointWorkspaceBuildLiveWrite.d.ts.map +1 -1
  180. package/esm/simulator-ui/isograph/entrypoints/EntrypointWorkspaceBuildLiveWrite.js +3 -26
  181. package/esm/simulator-ui/isograph/entrypoints/EntrypointWorkspaceTestLiveWrite.d.ts +6 -0
  182. package/esm/simulator-ui/isograph/entrypoints/EntrypointWorkspaceTestLiveWrite.d.ts.map +1 -0
  183. package/esm/simulator-ui/isograph/entrypoints/EntrypointWorkspaceTestLiveWrite.js +79 -0
  184. package/esm/simulator-ui/mutations/GambitSimulatorResetWorkspace.d.ts +23 -0
  185. package/esm/simulator-ui/mutations/GambitSimulatorResetWorkspace.d.ts.map +1 -1
  186. package/esm/simulator-ui/mutations/GambitSimulatorResetWorkspace.js +23 -0
  187. package/esm/simulator-ui/mutations/GambitSimulatorResetWorkspaceMutation.d.ts +23 -0
  188. package/esm/simulator-ui/mutations/GambitSimulatorResetWorkspaceMutation.d.ts.map +1 -1
  189. package/esm/simulator-ui/mutations/GambitSimulatorStopRun.d.ts +52 -52
  190. package/esm/simulator-ui/mutations/GambitSimulatorStopRun.js +52 -52
  191. package/esm/simulator-ui/mutations/GambitSimulatorStopRunMutation.d.ts +52 -52
  192. package/esm/simulator-ui/mutations/GambitWorkspaceBuildRunCreate.d.ts +52 -52
  193. package/esm/simulator-ui/mutations/GambitWorkspaceBuildRunCreate.js +52 -52
  194. package/esm/simulator-ui/mutations/GambitWorkspaceBuildRunCreateMutation.d.ts +52 -52
  195. package/esm/simulator-ui/mutations/GambitWorkspaceFeedbackSave.d.ts +60 -56
  196. package/esm/simulator-ui/mutations/GambitWorkspaceFeedbackSave.d.ts.map +1 -1
  197. package/esm/simulator-ui/mutations/GambitWorkspaceFeedbackSave.js +54 -50
  198. package/esm/simulator-ui/mutations/GambitWorkspaceFeedbackSaveMutation.d.ts +60 -56
  199. package/esm/simulator-ui/mutations/GambitWorkspaceFeedbackSaveMutation.d.ts.map +1 -1
  200. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunSend.d.ts +60 -70
  201. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunSend.d.ts.map +1 -1
  202. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunSend.js +54 -64
  203. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunSendMutation.d.ts +60 -70
  204. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunSendMutation.d.ts.map +1 -1
  205. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStart.d.ts +30 -28
  206. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStart.d.ts.map +1 -1
  207. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStart.js +27 -25
  208. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStartMutation.d.ts +30 -28
  209. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStartMutation.d.ts.map +1 -1
  210. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStop.d.ts +46 -54
  211. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStop.d.ts.map +1 -1
  212. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStop.js +42 -50
  213. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStopMutation.d.ts +46 -54
  214. package/esm/simulator-ui/mutations/GambitWorkspaceScenarioRunStopMutation.d.ts.map +1 -1
  215. package/esm/simulator-ui/src/AppShell.d.ts.map +1 -1
  216. package/esm/simulator-ui/src/AppShell.js +15 -25
  217. package/esm/simulator-ui/src/MinimalRouterRoot.d.ts.map +1 -1
  218. package/esm/simulator-ui/src/MinimalRouterRoot.js +1 -16
  219. package/esm/simulator-ui/src/TestBotChatPanel.d.ts +2 -0
  220. package/esm/simulator-ui/src/TestBotChatPanel.d.ts.map +1 -1
  221. package/esm/simulator-ui/src/TestBotChatPanel.js +38 -17
  222. package/esm/simulator-ui/src/WorkbenchChatIntro.d.ts +10 -0
  223. package/esm/simulator-ui/src/WorkbenchChatIntro.d.ts.map +1 -0
  224. package/esm/simulator-ui/src/WorkbenchChatIntro.js +24 -0
  225. package/esm/simulator-ui/src/WorkbenchDrawerIso.d.ts +0 -1
  226. package/esm/simulator-ui/src/WorkbenchDrawerIso.d.ts.map +1 -1
  227. package/esm/simulator-ui/src/WorkbenchDrawerIso.js +1 -15
  228. package/esm/simulator-ui/src/WorkspaceContext.d.ts.map +1 -1
  229. package/esm/simulator-ui/src/WorkspaceContext.js +8 -4
  230. package/esm/simulator-ui/src/routing.d.ts.map +1 -1
  231. package/esm/simulator-ui/src/routing.js +0 -31
  232. package/esm/simulator-ui/src/shared.d.ts +1 -0
  233. package/esm/simulator-ui/src/shared.d.ts.map +1 -1
  234. package/esm/simulator-ui/src/shared.js +9 -3
  235. package/esm/simulator-ui/src/styles.d.ts +1 -1
  236. package/esm/simulator-ui/src/styles.d.ts.map +1 -1
  237. package/esm/simulator-ui/src/styles.js +65 -0
  238. package/esm/simulator-ui/src/transcriptEntries.d.ts +89 -0
  239. package/esm/simulator-ui/src/transcriptEntries.d.ts.map +1 -0
  240. package/esm/simulator-ui/src/transcriptEntries.js +169 -0
  241. package/esm/simulator-ui/src/utils.d.ts +6 -0
  242. package/esm/simulator-ui/src/utils.d.ts.map +1 -1
  243. package/esm/simulator-ui/src/utils.js +2 -0
  244. package/esm/simulator-ui/subscriptions/GambitWorkspaceTestLiveSubscription.d.ts +2 -2
  245. package/esm/simulator-ui/subscriptions/GambitWorkspaceTestLiveSubscription.d.ts.map +1 -1
  246. package/esm/simulator-ui/subscriptions/GambitWorkspaceTestLiveSubscription.js +32 -4
  247. package/esm/simulator-ui/subscriptions/GambitWorkspaceWorkbenchLiveSubscription.d.ts.map +1 -1
  248. package/esm/simulator-ui/subscriptions/GambitWorkspaceWorkbenchLiveSubscription.js +11 -0
  249. package/esm/simulator-ui/subscriptions/__generated__/workspaceTestLiveSubscriptionQuery.d.ts +1 -1
  250. package/esm/simulator-ui/subscriptions/__generated__/workspaceTestLiveSubscriptionQuery.d.ts.map +1 -1
  251. package/esm/simulator-ui/subscriptions/__generated__/workspaceTestLiveSubscriptionQuery.js +1 -1
  252. package/esm/simulator-ui/subscriptions/__generated__/workspaceWorkbenchLiveSubscriptionQuery.d.ts +1 -1
  253. package/esm/simulator-ui/subscriptions/__generated__/workspaceWorkbenchLiveSubscriptionQuery.d.ts.map +1 -1
  254. package/esm/simulator-ui/subscriptions/__generated__/workspaceWorkbenchLiveSubscriptionQuery.js +1 -1
  255. package/esm/src/server/request_handler.d.ts.map +1 -1
  256. package/esm/src/server/request_handler.js +0 -40
  257. package/esm/src/server/workspace/build.d.ts +1 -1
  258. package/esm/src/server/workspace/build.d.ts.map +1 -1
  259. package/esm/src/server/workspace/helpers.d.ts.map +1 -1
  260. package/esm/src/server/workspace/helpers.js +3 -0
  261. package/esm/src/server/workspace/response_events.d.ts +1 -1
  262. package/esm/src/server/workspace/response_events.d.ts.map +1 -1
  263. package/esm/src/server/workspace/scenario_history.d.ts.map +1 -1
  264. package/esm/src/server/workspace/scenario_history.js +20 -1
  265. package/esm/src/server/workspace/scenarios.d.ts +6 -0
  266. package/esm/src/server/workspace/scenarios.d.ts.map +1 -1
  267. package/esm/src/server/workspace/scenarios.js +8 -1
  268. package/esm/src/server/workspace/types.d.ts +1 -0
  269. package/esm/src/server/workspace/types.d.ts.map +1 -1
  270. package/esm/src/server.d.ts.map +1 -1
  271. package/esm/src/server.js +2 -1
  272. package/esm/src/server_legacy_api_routes.d.ts +2 -122
  273. package/esm/src/server_legacy_api_routes.d.ts.map +1 -1
  274. package/esm/src/server_legacy_api_routes.js +0 -591
  275. package/esm/src/server_session_store.d.ts +1 -0
  276. package/esm/src/server_session_store.d.ts.map +1 -1
  277. package/esm/src/server_session_store.js +59 -5
  278. package/esm/src/server_simulator_ui.d.ts.map +1 -1
  279. package/esm/src/server_simulator_ui.js +34 -0
  280. package/esm/src/server_ui_routes.d.ts.map +1 -1
  281. package/esm/src/server_ui_routes.js +0 -2
  282. package/esm/src/server_workspace_graphql.d.ts +1 -1
  283. package/esm/src/server_workspace_graphql.d.ts.map +1 -1
  284. package/esm/src/server_workspace_graphql.js +66 -46
  285. package/esm/src/simulator_graphql.d.ts +7 -0
  286. package/esm/src/simulator_graphql.d.ts.map +1 -1
  287. package/esm/src/simulator_graphql.js +193 -0
  288. package/package.json +1 -1
  289. package/script/gambit/simulator-ui/dist/bundle.js +26840 -34131
  290. package/script/gambit/simulator-ui/dist/bundle.js.map +4 -4
  291. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/normalization_ast.d.ts.map +1 -1
  292. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/normalization_ast.js +121 -0
  293. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/param_type.d.ts +32 -0
  294. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/param_type.d.ts.map +1 -1
  295. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/query_text.d.ts +1 -1
  296. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/query_text.d.ts.map +1 -1
  297. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/query_text.js +27 -0
  298. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/raw_response_type.d.ts +22 -0
  299. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/raw_response_type.d.ts.map +1 -1
  300. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/resolver_reader.d.ts.map +1 -1
  301. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorResetWorkspace/resolver_reader.js +152 -0
  302. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/normalization_ast.d.ts.map +1 -1
  303. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/normalization_ast.js +272 -264
  304. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/param_type.d.ts +70 -76
  305. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/param_type.d.ts.map +1 -1
  306. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/query_text.d.ts +1 -1
  307. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/query_text.d.ts.map +1 -1
  308. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/query_text.js +60 -58
  309. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/raw_response_type.d.ts +50 -48
  310. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/raw_response_type.d.ts.map +1 -1
  311. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/resolver_reader.d.ts.map +1 -1
  312. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitSimulatorStopRun/resolver_reader.js +343 -341
  313. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/normalization_ast.d.ts.map +1 -1
  314. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/normalization_ast.js +272 -264
  315. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/param_type.d.ts +70 -76
  316. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/param_type.d.ts.map +1 -1
  317. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/query_text.d.ts +1 -1
  318. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/query_text.d.ts.map +1 -1
  319. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/query_text.js +60 -58
  320. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/raw_response_type.d.ts +50 -48
  321. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/raw_response_type.d.ts.map +1 -1
  322. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/resolver_reader.d.ts.map +1 -1
  323. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceBuildRunCreate/resolver_reader.js +343 -341
  324. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/normalization_ast.d.ts.map +1 -1
  325. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/normalization_ast.js +284 -250
  326. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/param_type.d.ts +78 -68
  327. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/param_type.d.ts.map +1 -1
  328. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/query_text.d.ts +1 -1
  329. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/query_text.d.ts.map +1 -1
  330. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/query_text.js +66 -56
  331. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/raw_response_type.d.ts +60 -54
  332. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/raw_response_type.d.ts.map +1 -1
  333. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/resolver_reader.d.ts.map +1 -1
  334. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceFeedbackSave/resolver_reader.js +317 -289
  335. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/normalization_ast.d.ts.map +1 -1
  336. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/normalization_ast.js +284 -322
  337. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/param_type.d.ts +78 -88
  338. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/param_type.d.ts.map +1 -1
  339. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/query_text.d.ts +1 -1
  340. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/query_text.d.ts.map +1 -1
  341. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/query_text.js +66 -72
  342. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/raw_response_type.d.ts +60 -68
  343. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/raw_response_type.d.ts.map +1 -1
  344. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/resolver_reader.d.ts.map +1 -1
  345. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunSend/resolver_reader.js +317 -383
  346. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/normalization_ast.d.ts.map +1 -1
  347. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/normalization_ast.js +142 -125
  348. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/param_type.d.ts +39 -34
  349. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/param_type.d.ts.map +1 -1
  350. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/query_text.d.ts +1 -1
  351. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/query_text.d.ts.map +1 -1
  352. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/query_text.js +33 -28
  353. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/raw_response_type.d.ts +30 -27
  354. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/raw_response_type.d.ts.map +1 -1
  355. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/resolver_reader.d.ts.map +1 -1
  356. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStart/resolver_reader.js +160 -145
  357. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/normalization_ast.d.ts.map +1 -1
  358. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/normalization_ast.js +236 -264
  359. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/param_type.d.ts +64 -72
  360. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/param_type.d.ts.map +1 -1
  361. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/query_text.d.ts +1 -1
  362. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/query_text.d.ts.map +1 -1
  363. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/query_text.js +54 -58
  364. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/raw_response_type.d.ts +44 -50
  365. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/raw_response_type.d.ts.map +1 -1
  366. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/resolver_reader.d.ts.map +1 -1
  367. package/script/simulator-ui/__generated__/__isograph/Mutation/GambitWorkspaceScenarioRunStop/resolver_reader.js +255 -307
  368. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/normalization_ast.d.ts.map +1 -1
  369. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/normalization_ast.js +142 -125
  370. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.d.ts +1 -1
  371. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.d.ts.map +1 -1
  372. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/query_text.js +33 -28
  373. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts +30 -27
  374. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorTestPage/raw_response_type.d.ts.map +1 -1
  375. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/normalization_ast.d.ts.map +1 -1
  376. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/normalization_ast.js +121 -132
  377. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/query_text.d.ts +1 -1
  378. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/query_text.d.ts.map +1 -1
  379. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/query_text.js +27 -29
  380. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/raw_response_type.d.ts +22 -24
  381. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointSimulatorWorkspaceShell/raw_response_type.d.ts.map +1 -1
  382. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/normalization_ast.d.ts.map +1 -1
  383. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/normalization_ast.js +15 -132
  384. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/param_type.d.ts +3 -38
  385. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/param_type.d.ts.map +1 -1
  386. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/query_text.d.ts +1 -1
  387. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/query_text.d.ts.map +1 -1
  388. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/query_text.js +3 -29
  389. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/raw_response_type.d.ts +3 -24
  390. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/raw_response_type.d.ts.map +1 -1
  391. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/resolver_reader.d.ts.map +1 -1
  392. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceBuildLiveWrite/resolver_reader.js +21 -169
  393. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/entrypoint.d.ts +7 -0
  394. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/entrypoint.d.ts.map +1 -0
  395. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/entrypoint.js +27 -0
  396. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/normalization_ast.d.ts +4 -0
  397. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/normalization_ast.d.ts.map +1 -0
  398. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/normalization_ast.js +335 -0
  399. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/output_type.d.ts +3 -0
  400. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/output_type.d.ts.map +1 -0
  401. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/output_type.js +2 -0
  402. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/param_type.d.ts +80 -0
  403. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/param_type.d.ts.map +1 -0
  404. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/param_type.js +2 -0
  405. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/parameters_type.d.ts +4 -0
  406. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/parameters_type.d.ts.map +1 -0
  407. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/parameters_type.js +2 -0
  408. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/query_text.d.ts +3 -0
  409. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/query_text.d.ts.map +1 -0
  410. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/query_text.js +73 -0
  411. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/raw_response_type.d.ts +67 -0
  412. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/raw_response_type.d.ts.map +1 -0
  413. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/raw_response_type.js +2 -0
  414. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/resolver_reader.d.ts +6 -0
  415. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/resolver_reader.d.ts.map +1 -0
  416. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceTestLiveWrite/resolver_reader.js +444 -0
  417. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/normalization_ast.d.ts.map +1 -1
  418. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/normalization_ast.js +121 -132
  419. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/query_text.d.ts +1 -1
  420. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/query_text.d.ts.map +1 -1
  421. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/query_text.js +27 -29
  422. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/raw_response_type.d.ts +22 -24
  423. package/script/simulator-ui/__generated__/__isograph/Query/EntrypointWorkspaceWorkbenchLiveWrite/raw_response_type.d.ts.map +1 -1
  424. package/script/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts +39 -34
  425. package/script/simulator-ui/__generated__/__isograph/Workspace/TestTab/param_type.d.ts.map +1 -1
  426. package/script/simulator-ui/__generated__/__isograph/Workspace/TestTab/resolver_reader.d.ts.map +1 -1
  427. package/script/simulator-ui/__generated__/__isograph/Workspace/TestTab/resolver_reader.js +160 -145
  428. package/script/simulator-ui/__generated__/__isograph/WorkspaceConversationRun/WorkbenchConversationRunChat/param_type.d.ts +32 -38
  429. package/script/simulator-ui/__generated__/__isograph/WorkspaceConversationRun/WorkbenchConversationRunChat/param_type.d.ts.map +1 -1
  430. package/script/simulator-ui/__generated__/__isograph/WorkspaceConversationRun/WorkbenchConversationRunChat/resolver_reader.d.ts.map +1 -1
  431. package/script/simulator-ui/__generated__/__isograph/WorkspaceConversationRun/WorkbenchConversationRunChat/resolver_reader.js +152 -172
  432. package/script/simulator-ui/__generated__/__isograph/WorkspaceConversationTranscriptEntry/asWorkspaceConversationTranscriptMessage/resolver_reader.d.ts +7 -0
  433. package/script/simulator-ui/__generated__/__isograph/WorkspaceConversationTranscriptEntry/asWorkspaceConversationTranscriptMessage/resolver_reader.d.ts.map +1 -0
  434. package/script/simulator-ui/__generated__/__isograph/WorkspaceConversationTranscriptEntry/asWorkspaceConversationTranscriptMessage/resolver_reader.js +23 -0
  435. package/script/simulator-ui/__generated__/__isograph/WorkspaceConversationTranscriptEntry/asWorkspaceConversationTranscriptReasoning/resolver_reader.d.ts +7 -0
  436. package/script/simulator-ui/__generated__/__isograph/WorkspaceConversationTranscriptEntry/asWorkspaceConversationTranscriptReasoning/resolver_reader.d.ts.map +1 -0
  437. package/script/simulator-ui/__generated__/__isograph/WorkspaceConversationTranscriptEntry/asWorkspaceConversationTranscriptReasoning/resolver_reader.js +23 -0
  438. package/script/simulator-ui/__generated__/__isograph/WorkspaceConversationTranscriptEntry/asWorkspaceConversationTranscriptToolCall/resolver_reader.d.ts +7 -0
  439. package/script/simulator-ui/__generated__/__isograph/WorkspaceConversationTranscriptEntry/asWorkspaceConversationTranscriptToolCall/resolver_reader.d.ts.map +1 -0
  440. package/script/simulator-ui/__generated__/__isograph/WorkspaceConversationTranscriptEntry/asWorkspaceConversationTranscriptToolCall/resolver_reader.js +23 -0
  441. package/script/simulator-ui/__generated__/__isograph/iso.d.ts +4 -0
  442. package/script/simulator-ui/__generated__/__isograph/iso.d.ts.map +1 -1
  443. package/script/simulator-ui/__generated__/__isograph/iso.js +7 -4
  444. package/script/simulator-ui/__generated__/builtRoutes.d.ts +2 -0
  445. package/script/simulator-ui/__generated__/builtRoutes.d.ts.map +1 -1
  446. package/script/simulator-ui/__generated__/builtRoutes.js +40 -37
  447. package/script/simulator-ui/isograph/components/Query/SimulatorBuildPage.d.ts.map +1 -1
  448. package/script/simulator-ui/isograph/components/Query/SimulatorBuildPage.js +4 -11
  449. package/script/simulator-ui/isograph/components/Query/SimulatorGradePage.d.ts.map +1 -1
  450. package/script/simulator-ui/isograph/components/Query/SimulatorGradePage.js +4 -19
  451. package/script/simulator-ui/isograph/components/Query/SimulatorTestPage.d.ts.map +1 -1
  452. package/script/simulator-ui/isograph/components/Query/SimulatorTestPage.js +91 -235
  453. package/script/simulator-ui/isograph/components/Query/SimulatorVerifyPage.d.ts.map +1 -1
  454. package/script/simulator-ui/isograph/components/Query/SimulatorVerifyPage.js +7 -16
  455. package/script/simulator-ui/isograph/components/Query/SimulatorWorkspacesPage.d.ts.map +1 -1
  456. package/script/simulator-ui/isograph/components/Query/SimulatorWorkspacesPage.js +2 -6
  457. package/script/simulator-ui/isograph/components/Workspace/WorkbenchChatDrawer.d.ts.map +1 -1
  458. package/script/simulator-ui/isograph/components/Workspace/WorkbenchChatDrawer.js +55 -59
  459. package/script/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.d.ts +3 -21
  460. package/script/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.d.ts.map +1 -1
  461. package/script/simulator-ui/isograph/components/WorkspaceConversationRun/WorkbenchConversationRunChat.js +62 -215
  462. package/script/simulator-ui/isograph/entrypoints/EntrypointSimulatorRedirect.d.ts.map +1 -1
  463. package/script/simulator-ui/isograph/entrypoints/EntrypointSimulatorRedirect.js +3 -16
  464. package/script/simulator-ui/isograph/entrypoints/EntrypointSimulatorWorkspaceShell.d.ts.map +1 -1
  465. package/script/simulator-ui/isograph/entrypoints/EntrypointSimulatorWorkspaceShell.js +1 -9
  466. package/script/simulator-ui/isograph/entrypoints/EntrypointWorkspaceBuildLiveWrite.d.ts.map +1 -1
  467. package/script/simulator-ui/isograph/entrypoints/EntrypointWorkspaceBuildLiveWrite.js +3 -26
  468. package/script/simulator-ui/isograph/entrypoints/EntrypointWorkspaceTestLiveWrite.d.ts +6 -0
  469. package/script/simulator-ui/isograph/entrypoints/EntrypointWorkspaceTestLiveWrite.d.ts.map +1 -0
  470. package/script/simulator-ui/isograph/entrypoints/EntrypointWorkspaceTestLiveWrite.js +82 -0
  471. package/script/simulator-ui/mutations/GambitSimulatorResetWorkspace.d.ts +23 -0
  472. package/script/simulator-ui/mutations/GambitSimulatorResetWorkspace.d.ts.map +1 -1
  473. package/script/simulator-ui/mutations/GambitSimulatorResetWorkspace.js +23 -0
  474. package/script/simulator-ui/mutations/GambitSimulatorResetWorkspaceMutation.d.ts +23 -0
  475. package/script/simulator-ui/mutations/GambitSimulatorResetWorkspaceMutation.d.ts.map +1 -1
  476. package/script/simulator-ui/mutations/GambitSimulatorStopRun.d.ts +52 -52
  477. package/script/simulator-ui/mutations/GambitSimulatorStopRun.js +52 -52
  478. package/script/simulator-ui/mutations/GambitSimulatorStopRunMutation.d.ts +52 -52
  479. package/script/simulator-ui/mutations/GambitWorkspaceBuildRunCreate.d.ts +52 -52
  480. package/script/simulator-ui/mutations/GambitWorkspaceBuildRunCreate.js +52 -52
  481. package/script/simulator-ui/mutations/GambitWorkspaceBuildRunCreateMutation.d.ts +52 -52
  482. package/script/simulator-ui/mutations/GambitWorkspaceFeedbackSave.d.ts +60 -56
  483. package/script/simulator-ui/mutations/GambitWorkspaceFeedbackSave.d.ts.map +1 -1
  484. package/script/simulator-ui/mutations/GambitWorkspaceFeedbackSave.js +54 -50
  485. package/script/simulator-ui/mutations/GambitWorkspaceFeedbackSaveMutation.d.ts +60 -56
  486. package/script/simulator-ui/mutations/GambitWorkspaceFeedbackSaveMutation.d.ts.map +1 -1
  487. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunSend.d.ts +60 -70
  488. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunSend.d.ts.map +1 -1
  489. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunSend.js +54 -64
  490. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunSendMutation.d.ts +60 -70
  491. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunSendMutation.d.ts.map +1 -1
  492. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStart.d.ts +30 -28
  493. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStart.d.ts.map +1 -1
  494. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStart.js +27 -25
  495. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStartMutation.d.ts +30 -28
  496. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStartMutation.d.ts.map +1 -1
  497. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStop.d.ts +46 -54
  498. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStop.d.ts.map +1 -1
  499. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStop.js +42 -50
  500. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStopMutation.d.ts +46 -54
  501. package/script/simulator-ui/mutations/GambitWorkspaceScenarioRunStopMutation.d.ts.map +1 -1
  502. package/script/simulator-ui/src/AppShell.d.ts.map +1 -1
  503. package/script/simulator-ui/src/AppShell.js +15 -25
  504. package/script/simulator-ui/src/MinimalRouterRoot.d.ts.map +1 -1
  505. package/script/simulator-ui/src/MinimalRouterRoot.js +1 -16
  506. package/script/simulator-ui/src/TestBotChatPanel.d.ts +2 -0
  507. package/script/simulator-ui/src/TestBotChatPanel.d.ts.map +1 -1
  508. package/script/simulator-ui/src/TestBotChatPanel.js +38 -17
  509. package/script/simulator-ui/src/WorkbenchChatIntro.d.ts +10 -0
  510. package/script/simulator-ui/src/WorkbenchChatIntro.d.ts.map +1 -0
  511. package/script/simulator-ui/src/WorkbenchChatIntro.js +30 -0
  512. package/script/simulator-ui/src/WorkbenchDrawerIso.d.ts +0 -1
  513. package/script/simulator-ui/src/WorkbenchDrawerIso.d.ts.map +1 -1
  514. package/script/simulator-ui/src/WorkbenchDrawerIso.js +1 -15
  515. package/script/simulator-ui/src/WorkspaceContext.d.ts.map +1 -1
  516. package/script/simulator-ui/src/WorkspaceContext.js +8 -4
  517. package/script/simulator-ui/src/routing.d.ts.map +1 -1
  518. package/script/simulator-ui/src/routing.js +0 -31
  519. package/script/simulator-ui/src/shared.d.ts +1 -0
  520. package/script/simulator-ui/src/shared.d.ts.map +1 -1
  521. package/script/simulator-ui/src/shared.js +9 -3
  522. package/script/simulator-ui/src/styles.d.ts +1 -1
  523. package/script/simulator-ui/src/styles.d.ts.map +1 -1
  524. package/script/simulator-ui/src/styles.js +65 -0
  525. package/script/simulator-ui/src/transcriptEntries.d.ts +89 -0
  526. package/script/simulator-ui/src/transcriptEntries.d.ts.map +1 -0
  527. package/script/simulator-ui/src/transcriptEntries.js +177 -0
  528. package/script/simulator-ui/src/utils.d.ts +6 -0
  529. package/script/simulator-ui/src/utils.d.ts.map +1 -1
  530. package/script/simulator-ui/src/utils.js +3 -1
  531. package/script/simulator-ui/subscriptions/GambitWorkspaceTestLiveSubscription.d.ts +2 -2
  532. package/script/simulator-ui/subscriptions/GambitWorkspaceTestLiveSubscription.d.ts.map +1 -1
  533. package/script/simulator-ui/subscriptions/GambitWorkspaceTestLiveSubscription.js +31 -3
  534. package/script/simulator-ui/subscriptions/GambitWorkspaceWorkbenchLiveSubscription.d.ts.map +1 -1
  535. package/script/simulator-ui/subscriptions/GambitWorkspaceWorkbenchLiveSubscription.js +11 -0
  536. package/script/simulator-ui/subscriptions/__generated__/workspaceTestLiveSubscriptionQuery.d.ts +1 -1
  537. package/script/simulator-ui/subscriptions/__generated__/workspaceTestLiveSubscriptionQuery.d.ts.map +1 -1
  538. package/script/simulator-ui/subscriptions/__generated__/workspaceTestLiveSubscriptionQuery.js +1 -1
  539. package/script/simulator-ui/subscriptions/__generated__/workspaceWorkbenchLiveSubscriptionQuery.d.ts +1 -1
  540. package/script/simulator-ui/subscriptions/__generated__/workspaceWorkbenchLiveSubscriptionQuery.d.ts.map +1 -1
  541. package/script/simulator-ui/subscriptions/__generated__/workspaceWorkbenchLiveSubscriptionQuery.js +1 -1
  542. package/script/src/server/request_handler.d.ts.map +1 -1
  543. package/script/src/server/request_handler.js +0 -40
  544. package/script/src/server/workspace/build.d.ts +1 -1
  545. package/script/src/server/workspace/build.d.ts.map +1 -1
  546. package/script/src/server/workspace/helpers.d.ts.map +1 -1
  547. package/script/src/server/workspace/helpers.js +3 -0
  548. package/script/src/server/workspace/response_events.d.ts +1 -1
  549. package/script/src/server/workspace/response_events.d.ts.map +1 -1
  550. package/script/src/server/workspace/scenario_history.d.ts.map +1 -1
  551. package/script/src/server/workspace/scenario_history.js +20 -1
  552. package/script/src/server/workspace/scenarios.d.ts +6 -0
  553. package/script/src/server/workspace/scenarios.d.ts.map +1 -1
  554. package/script/src/server/workspace/scenarios.js +8 -1
  555. package/script/src/server/workspace/types.d.ts +1 -0
  556. package/script/src/server/workspace/types.d.ts.map +1 -1
  557. package/script/src/server.d.ts.map +1 -1
  558. package/script/src/server.js +2 -1
  559. package/script/src/server_legacy_api_routes.d.ts +2 -122
  560. package/script/src/server_legacy_api_routes.d.ts.map +1 -1
  561. package/script/src/server_legacy_api_routes.js +0 -624
  562. package/script/src/server_session_store.d.ts +1 -0
  563. package/script/src/server_session_store.d.ts.map +1 -1
  564. package/script/src/server_session_store.js +59 -5
  565. package/script/src/server_simulator_ui.d.ts.map +1 -1
  566. package/script/src/server_simulator_ui.js +34 -0
  567. package/script/src/server_ui_routes.d.ts.map +1 -1
  568. package/script/src/server_ui_routes.js +0 -2
  569. package/script/src/server_workspace_graphql.d.ts +1 -1
  570. package/script/src/server_workspace_graphql.d.ts.map +1 -1
  571. package/script/src/server_workspace_graphql.js +66 -46
  572. package/script/src/simulator_graphql.d.ts +7 -0
  573. package/script/src/simulator_graphql.d.ts.map +1 -1
  574. package/script/src/simulator_graphql.js +193 -0
  575. package/esm/simulator-ui/src/testBotChatDisplay.d.ts +0 -3
  576. package/esm/simulator-ui/src/testBotChatDisplay.d.ts.map +0 -1
  577. package/esm/simulator-ui/src/testBotChatDisplay.js +0 -146
  578. package/script/simulator-ui/src/testBotChatDisplay.d.ts +0 -3
  579. package/script/simulator-ui/src/testBotChatDisplay.d.ts.map +0 -1
  580. package/script/simulator-ui/src/testBotChatDisplay.js +0 -149
@@ -1,2 +1,2 @@
1
- export declare const globalStyles = "\n:root,\nhtml,\nbody,\n#root {\n height: 100%;\n}\n:root {\n color-scheme: light;\n font-family: \"SF Pro Text\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n --color-bg: #f6f7fb;\n --color-surface: #ffffff;\n --color-surface-muted: #f8fafc;\n --color-surface-subtle: #f1f5f9;\n --color-surface-dark: #5c626d;\n --color-surface-dark-border: #4b515b;\n --color-text-on-dark: #f1f3f6;\n --color-text-on-dark-muted: #d2d6dc;\n --color-border: #e2e8f0;\n --color-border-strong: #cbd5e1;\n --color-border-emphasis: #94a3b8;\n --color-text: #0f172a;\n --color-text-strong: #111827;\n --color-text-body: #334155;\n --color-text-muted: #475569;\n --color-text-subtle: #64748b;\n --color-primary: #0b93f6;\n --color-primary-strong: #0a7fd3;\n --color-primary-dark: #1d4ed8;\n --color-primary-soft: #dbeafe;\n --color-primary-alpha-15: rgba(11, 147, 246, 0.15);\n --color-primary-alpha-25: rgba(11, 147, 246, 0.25);\n --color-primary-ring: rgba(11, 147, 246, 0.15);\n --color-accent: #4338ca;\n --color-accent-soft: #e0e7ff;\n --color-accent-border: #c7d2fe;\n --color-accent-on-dark: #cfd6ff;\n --color-success: #0f9d58;\n --color-success-strong: #16a34a;\n --color-success-soft: #dcfce7;\n --color-warning: #b45309;\n --color-warning-border: #f59e0b;\n --color-warning-soft: #fef3c7;\n --color-warning-soft-alt: #fffbeb;\n --color-danger: #b91c1c;\n --color-danger-strong: #dc2626;\n --color-danger-soft: #fee2e2;\n --color-ink-weak: rgba(0, 0, 0, 0.04);\n --color-ink-soft: rgba(0, 0, 0, 0.06);\n --color-shadow-soft: rgba(15, 23, 42, 0.06);\n --color-shadow-strong: rgba(15, 23, 42, 0.12);\n --color-shadow-border: rgba(15, 23, 42, 0.25);\n --color-overlay: rgba(15, 23, 42, 0.4);\n --color-text-on-primary-subtle: rgba(255, 255, 255, 0.9);\n --color-text-on-primary-muted: rgba(255, 255, 255, 0.7);\n --corner-radius-scale: 1;\n}\n[data-theme=\"dark\"] {\n color-scheme: dark;\n --color-bg: #070d1a;\n --color-surface: #0f172a;\n --color-surface-muted: #131e33;\n --color-surface-subtle: #1a2740;\n --color-surface-dark: #27344d;\n --color-surface-dark-border: #364968;\n --color-text-on-dark: #dbeafe;\n --color-text-on-dark-muted: #bfdbfe;\n --color-border: #2e3f5b;\n --color-border-strong: #3e5475;\n --color-border-emphasis: #5977a1;\n --color-text: #dbe7fb;\n --color-text-strong: #f8fbff;\n --color-text-body: #c7d8f3;\n --color-text-muted: #93aacb;\n --color-text-subtle: #6f88ac;\n --color-primary: #60a5fa;\n --color-primary-strong: #3b82f6;\n --color-primary-dark: #1d4ed8;\n --color-primary-soft: #12233f;\n --color-primary-alpha-15: rgba(96, 165, 250, 0.2);\n --color-primary-alpha-25: rgba(96, 165, 250, 0.32);\n --color-primary-ring: rgba(96, 165, 250, 0.25);\n --color-accent: #93c5fd;\n --color-accent-soft: #12233f;\n --color-accent-border: #29507f;\n --color-accent-on-dark: #dbeafe;\n --color-success: #4ade80;\n --color-success-strong: #22c55e;\n --color-success-soft: #052e16;\n --color-warning: #f59e0b;\n --color-warning-border: #d97706;\n --color-warning-soft: #451a03;\n --color-warning-soft-alt: #292524;\n --color-danger: #f87171;\n --color-danger-strong: #ef4444;\n --color-danger-soft: #450a0a;\n --color-ink-weak: rgba(148, 163, 184, 0.1);\n --color-ink-soft: rgba(148, 163, 184, 0.16);\n --color-shadow-soft: rgba(2, 6, 23, 0.35);\n --color-shadow-strong: rgba(2, 6, 23, 0.65);\n --color-shadow-border: rgba(15, 23, 42, 0.65);\n --color-overlay: rgba(2, 6, 23, 0.66);\n --color-text-on-primary-subtle: rgba(15, 23, 42, 0.95);\n --color-text-on-primary-muted: rgba(15, 23, 42, 0.75);\n --color-input-bg: #0b1324;\n --color-input-bg-hover: #101a2f;\n --color-input-border: #3c557b;\n}\n@supports (corner-shape: squircle) {\n :root {\n --corner-radius-scale: 2;\n }\n}\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\nbody {\n margin: 0;\n background: var(--color-bg);\n overflow: hidden;\n}\n:where(input, textarea, select, button):focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--color-accent) inset;\n}\n[data-theme=\"dark\"] :where(\n input:not([type=\"checkbox\"]):not([type=\"radio\"]),\n textarea,\n select\n) {\n background: var(--color-input-bg);\n border-color: var(--color-input-border);\n color: var(--color-text-strong);\n}\n[data-theme=\"dark\"] :where(\n input:not([type=\"checkbox\"]):not([type=\"radio\"]),\n textarea,\n select\n)::placeholder {\n color: var(--color-text-muted);\n}\n[data-theme=\"dark\"] .gds-listbox-trigger {\n background: var(--color-input-bg);\n border-color: var(--color-input-border);\n}\n[data-theme=\"dark\"] .gds-listbox-trigger:hover {\n background: var(--color-input-bg-hover);\n}\n.app-root {\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n flex: 1;\n min-width: 0;\n}\n.app-frame {\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n gap: 0;\n}\n.app-content-frame {\n flex: 1;\n min-height: 0;\n display: flex;\n gap: 0;\n overflow: hidden;\n}\n.page-shell {\n flex: 1;\n min-height: 0;\n overflow: auto;\n}\n.app-shell {\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n padding: 16px;\n gap: 16px;\n overflow: hidden;\n}\n.page-grid {\n flex: 1;\n display: grid;\n gap: 16px;\n min-height: 0;\n overflow: hidden;\n}\n.panel {\n background: var(--color-surface);\n border: 1px solid var(--color-border);\n border-radius: calc(var(--panel-radius, 14px) * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: var(--panel-padding, 12px);\n min-height: 0;\n overflow: hidden;\n}\n.docs-shell {\n padding: 32px 20px 64px;\n max-width: 1040px;\n margin: 0 auto;\n display: flex;\n flex-direction: column;\n gap: 28px;\n}\n.docs-eyebrow {\n text-transform: uppercase;\n letter-spacing: 0.16em;\n font-size: 11px;\n font-weight: 700;\n color: var(--color-text-subtle);\n margin: 0 0 10px 0;\n display: flex;\n flex-direction: row;\n gap: 4px;\n align-items: flex-start;\n}\n.docs-eyebrow-logo svg {\n display: block;\n}\n.docs-subtitle {\n text-wrap: pretty;\n}\n.docs-hero h1 {\n margin: 0 0 12px 0;\n font-size: clamp(28px, 4vw, 40px);\n line-height: 1.2;\n color: var(--color-text);\n}\n.docs-section-card h3 {\n margin: 0 0 8px 0;\n font-size: 16px;\n}\n.docs-section-card p {\n margin: 0 0 12px 0;\n color: var(--color-text-body);\n}\n.docs-section-card ul {\n margin: 0 0 12px 18px;\n color: var(--color-text-body);\n padding: 0;\n}\n.docs-section-card li {\n margin-bottom: 6px;\n}\n.docs-divider {\n height: 1px;\n background: var(--color-border);\n margin: 8px 0 12px;\n}\n.docs-section {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.docs-section-header {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n.docs-section-header h2 {\n margin: 0;\n font-size: 22px;\n}\n.docs-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 28px;\n}\n.docs-section .docs-section-card {\n background: var(--color-surface);\n border-radius: calc(16px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n border: 1px solid var(--color-border);\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 14px;\n}\n.docs-tab-row {\n display: grid;\n grid-template-columns: 120px 1fr;\n gap: 14px;\n align-items: center;\n}\n.docs-tab-row p {\n margin: 0;\n color: var(--color-text-body);\n}\n.docs-links h3 {\n margin: 0 0 8px 0;\n}\n.docs-links ul {\n margin: 0;\n padding-left: 18px;\n}\n.docs-links li {\n margin-bottom: 6px;\n}\n@media (max-width: 720px) {\n .docs-tab-row {\n grid-template-columns: 1fr;\n align-items: flex-start;\n }\n}\ncode:not(pre *) {\n background: var(--color-ink-soft);\n padding: 4px;\n border-radius: calc(4px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n}\n.copy-badge {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n border: 1px dashed var(--color-border-strong);\n border-radius: 999px;\n padding: 4px 10px;\n background: var(--color-surface-muted);\n font-family: inherit;\n font-size: 12px;\n cursor: pointer;\n color: var(--color-text);\n transition: background 120ms ease, border-color 120ms ease;\n}\n.copy-badge code {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 12px;\n color: var(--color-text);\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.copy-badge .copy-label {\n font-weight: 600;\n color: var(--color-text-muted);\n}\n.copy-badge .copy-feedback {\n font-size: 11px;\n color: var(--color-success);\n}\n.copy-badge:hover {\n background: var(--color-border);\n border-color: var(--color-border-emphasis);\n}\n.copy-badge.copied {\n border-color: var(--color-success);\n background: var(--color-success-soft);\n}\n.status-indicator {\n text-transform: capitalize;\n font-size: 13px;\n color: var(--color-text-muted);\n}\n.status-indicator.connected {\n color: var(--color-success);\n}\n.app-main {\n grid-template-columns: 2fr 1fr;\n}\n.chat-column {\n --panel-radius: 16px;\n --panel-padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n min-height: 0;\n overflow-y: auto;\n}\n.calibrate-shell .calibrate-layout {\n grid-template-columns: 280px minmax(0, 1fr);\n width: 100%;\n min-height: 0;\n}\n.verify-shell .verify-layout {\n grid-template-columns: 320px minmax(0, 1fr);\n width: 100%;\n min-height: 0;\n}\n@media (max-width: 1100px) {\n .calibrate-shell .calibrate-layout {\n grid-template-columns: minmax(0, 1fr);\n }\n .calibrate-shell .calibrate-layout .calibrate-drawer {\n position: static;\n max-height: none;\n }\n .verify-shell .verify-layout {\n grid-template-columns: minmax(0, 1fr);\n }\n}\n.calibrate-shell .calibrate-runner {\n flex: 0 0 auto;\n}\n.calibrate-shell .calibrate-results {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n}\n.verify-controls {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.verify-controls-header {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.verify-number-grid {\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 8px;\n}\n.verify-number-field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n font-size: 12px;\n color: var(--color-text-muted);\n font-weight: 600;\n}\n.verify-number-field input {\n border: 1px solid var(--color-border-strong);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 6px 8px;\n background: var(--color-surface);\n color: var(--color-text);\n font-size: 13px;\n}\n.verify-results {\n display: flex;\n flex-direction: column;\n gap: 12px;\n min-height: 0;\n overflow-y: auto;\n}\n.verify-status-row {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n justify-content: flex-start;\n gap: 10px;\n}\n.verify-status-main {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.verify-status-meta {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.verify-progress-row {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.verify-verdict-badge {\n margin-left: auto;\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n border: 1px solid var(--color-border);\n padding: 4px 8px;\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.02em;\n}\n.verify-verdict-badge--pass {\n background: var(--color-success-soft);\n border-color: var(--color-success-strong);\n color: var(--color-success-strong);\n}\n.verify-verdict-badge--warn {\n background: var(--color-warning-soft);\n border-color: var(--color-warning-border);\n color: var(--color-warning);\n}\n.verify-verdict-badge--fail {\n background: var(--color-danger-soft);\n border-color: var(--color-danger-strong);\n color: var(--color-danger-strong);\n}\n.verify-metric-grid {\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 8px;\n}\n@media (max-width: 800px) {\n .verify-metric-grid {\n grid-template-columns: minmax(0, 1fr);\n }\n}\n.verify-metric-card {\n border: 1px solid var(--color-border);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 8px;\n background: var(--color-surface-muted);\n}\n.verify-metric-label {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.02em;\n color: var(--color-text-muted);\n}\n.verify-metric-value {\n margin-top: 4px;\n font-size: 20px;\n font-weight: 700;\n color: var(--color-text);\n}\n.verify-sample-size-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n flex-wrap: wrap;\n}\n.verify-sample-size-copy {\n display: flex;\n flex-direction: column;\n}\n.verify-sample-size-row .verify-metric-value {\n margin-top: 4px;\n}\n.verify-sample-scope-select {\n min-width: 170px;\n}\n.verify-sample-scope-select .gds-listbox-field-label {\n display: none;\n}\n.verify-metric-value--compact {\n font-size: 14px;\n}\n.verify-section {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.verify-section-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n flex-wrap: wrap;\n}\n.verify-section-controls {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n}\n.verify-section-sort {\n min-width: 150px;\n}\n.verify-section-sort .gds-listbox-field-label {\n display: none;\n}\n.verify-outlier-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.verify-outlier-card {\n border: 1px solid var(--color-border);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 8px;\n background: var(--color-surface-muted);\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.verify-outlier-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n.verify-outlier-meta {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.verify-outlier-links {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n font-size: 12px;\n}\n.verify-request-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.verify-request-row {\n border: 1px solid var(--color-border);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 6px 8px;\n background: var(--color-surface-muted);\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n font-size: 12px;\n}\n.verify-request-index {\n color: var(--color-text-muted);\n min-width: 28px;\n}\n.verify-request-error {\n color: var(--color-danger-strong);\n}\n.calibrate-run-card {\n border: 1px solid var(--color-border);\n border-radius: calc(14px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n background: var(--color-surface);\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 12px;\n}\n.calibrate-run-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n cursor: pointer;\n}\n.calibrate-run-header:hover .calibrate-run-toggle-icon {\n background: var(--color-surface-subtle);\n}\n.calibrate-run-header.active:hover .calibrate-run-toggle-icon {\n background: var(--color-primary-alpha-25);\n}\n.calibrate-run-title {\n font-weight: 700;\n}\n.calibrate-run-title-row {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.calibrate-run-subtitle {\n color: var(--color-text-muted);\n font-size: 12px;\n text-transform: capitalize;\n}\n.calibrate-run-turns {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.calibrate-run-turn {\n width: 16px;\n height: 16px;\n border-radius: calc(5px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.calibrate-run-turn--pending {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: var(--color-border);\n}\n.calibrate-run-turn--empty {\n background: var(--color-surface-subtle);\n border: 1px solid var(--color-border);\n}\n.calibrate-run-toggle-icon {\n width: 22px;\n height: 22px;\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n background: transparent;\n color: currentColor;\n transition: background 120ms ease, color 120ms ease, transform 200ms ease;\n}\n.calibrate-run-header.active .calibrate-run-toggle-icon {\n color: var(--color-primary);\n background: var(--color-primary-alpha-15);\n transform: rotate(180deg);\n}\n.calibrate-spinner {\n width: 16px;\n height: 16px;\n border-radius: 999px;\n border: 2px solid var(--color-shadow-border);\n border-top-color: var(--color-primary);\n animation: calibrate-spin 0.9s linear infinite;\n}\n.calibrate-spinner--tiny {\n width: 10px;\n height: 10px;\n border-width: 2px;\n}\n@keyframes calibrate-spin {\n to {\n transform: rotate(360deg);\n }\n}\n.calibrate-run-body {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.calibrate-run-section {\n border-top: 1px solid var(--color-border);\n padding-top: 12px;\n}\n.calibrate-run-section:first-child {\n border-top: none;\n padding-top: 0;\n}\n.calibrate-button-meta,\n.workbench-button-meta {\n font-size: 12px;\n text-wrap: pretty;\n margin: 0;\n margin-bottom: 0.5em;\n}\n.workbench-drawer-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.workbench-drawer-docked {\n width: min(500px, 40vw);\n height: 100%;\n align-self: stretch;\n background: var(--color-surface);\n border-left: 1px solid var(--color-border);\n box-shadow: none;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n min-height: 0;\n overflow: hidden;\n}\n.drawer-section {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding-top: 12px;\n border-top: 1px solid var(--color-border);\n}\n.drawer-section:first-of-type {\n border-top: none;\n padding-top: 0;\n}\n.calibrate-summary-list,\n.workbench-summary-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.calibrate-summary-card,\n.workbench-summary-card {\n border: 1px solid var(--color-border);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 8px;\n background: var(--color-surface-muted);\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.calibrate-summary-score-row,\n.workbench-summary-score-row {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.calibrate-summary-title,\n.workbench-summary-title {\n font-size: 12px;\n font-weight: 700;\n color: var(--color-text);\n}\n.calibrate-summary-subtitle,\n.workbench-summary-subtitle {\n font-size: 11px;\n color: var(--color-text-muted);\n}\n.gds-scrolling-text {\n display: block;\n width: 100%;\n max-width: 100%;\n min-width: 0;\n overflow: hidden;\n vertical-align: bottom;\n}\n.gds-scrolling-text__inner {\n display: block;\n width: 100%;\n max-width: 100%;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n will-change: transform;\n}\n.gds-scrolling-text--overflow:hover {\n overflow: hidden;\n}\n.gds-scrolling-text--overflow:hover .gds-scrolling-text__inner {\n width: max-content;\n max-width: none;\n overflow: visible;\n text-overflow: clip;\n animation: gds-scroll-text var(--gds-scroll-duration, 0s) linear forwards;\n}\n@keyframes gds-scroll-text {\n from {\n transform: translateX(0);\n }\n to {\n transform: translateX(calc(-1 * var(--gds-scroll-distance, 0px)));\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .gds-scrolling-text--overflow:hover .gds-scrolling-text__inner {\n animation: none;\n transform: translateX(0);\n }\n}\n.calibrate-summary-reason,\n.workbench-summary-reason {\n font-size: 12px;\n color: var(--color-text);\n}\n.calibrate-summary-meta,\n.workbench-summary-meta {\n font-size: 11px;\n color: var(--color-text-subtle);\n}\n.chat-row {\n display: flex;\n justify-content: flex-start;\n}\n.bubble {\n background: var(--color-surface-subtle);\n border-radius: calc(16px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 12px;\n width: 100%;\n box-shadow: inset 0 0 0 1px var(--color-border);\n}\n.bubble-user {\n background: var(--color-primary);\n color: var(--color-surface);\n box-shadow: none;\n}\n.bubble-system {\n background: var(--color-surface);\n border: 1px dashed var(--color-border);\n box-shadow: none;\n}\n.bubble-role {\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: var(--color-border-emphasis);\n margin-bottom: 6px;\n}\n.bubble-user .bubble-role {\n color: var(--color-text-on-primary-muted);\n}\n.bubble-text {\n line-height: 1.5;\n}\n.bubble-json {\n background: var(--color-ink-weak);\n padding: 8px;\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n font-size: 12px;\n overflow-x: auto;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n}\n.bubble-reasoning {\n background: var(--color-surface);\n border: 1px solid var(--color-border);\n}\n.bubble-reasoning .bubble-role {\n color: var(--color-text-subtle);\n}\n.reasoning-bubble {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.reasoning-header {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.reasoning-meta {\n font-size: 11px;\n color: var(--color-text-subtle);\n}\n.reasoning-text {\n font-size: 13px;\n line-height: 1.5;\n white-space: pre-wrap;\n word-break: break-word;\n}\n.reasoning-details summary {\n cursor: pointer;\n font-size: 12px;\n color: var(--color-text-subtle);\n}\n.reasoning-details {\n margin-top: 2px;\n}\n.reasoning-collapsible .tool-calls-toggle {\n align-items: flex-start;\n gap: 6px;\n}\n.reasoning-toggle .tool-calls-toggle-label {\n display: block;\n font-weight: 600;\n}\n.reasoning-preview {\n display: block;\n font-size: 12px;\n color: var(--color-text-subtle);\n margin-top: 2px;\n}\n.feedback-controls {\n margin-top: 8px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n opacity: 0.25;\n transition: opacity 120ms ease-in-out;\n}\n.bubble:hover .feedback-controls,\n.feedback-controls:focus-within {\n opacity: 1;\n}\n.imessage-bubble:hover .feedback-controls {\n opacity: 1;\n}\n.feedback-scores {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n.score-button {\n border: 1px solid var(--color-border-strong);\n background: var(--color-surface);\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 4px 10px;\n cursor: pointer;\n font-size: 12px;\n}\n.score-button-active {\n background: var(--color-primary);\n color: var(--color-surface);\n border-color: var(--color-primary);\n}\n.feedback-reason {\n width: 100%;\n min-height: 48px;\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n border: 1px solid var(--color-border-strong);\n padding: 8px;\n resize: vertical;\n box-sizing: border-box;\n font-family: inherit;\n}\n.feedback-status {\n font-size: 11px;\n color: var(--color-border-emphasis);\n}\n.feedback-status.saving {\n color: var(--color-primary);\n}\n.feedback-status.unsaved {\n color: var(--color-warning);\n}\n.feedback-status.error {\n color: var(--color-danger);\n}\n.link-button {\n background: none;\n border: 0;\n color: inherit;\n cursor: pointer;\n font: inherit;\n padding: 0;\n text-decoration: underline;\n}\n.init-panel {\n border: 1px solid var(--color-border);\n border-radius: calc(14px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n background: var(--color-surface-muted);\n padding: 12px;\n margin-bottom: 12px;\n}\n.init-panel summary {\n cursor: pointer;\n font-weight: 700;\n color: var(--color-text);\n}\n.init-panel .hint {\n margin-top: 6px;\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.init-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n gap: 10px;\n margin-top: 10px;\n}\n.init-field {\n background: var(--color-surface);\n border: 1px solid var(--color-border);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 10px;\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.init-field label {\n font-weight: 700;\n color: var(--color-text-strong);\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n.badge {\n padding: 2px 8px;\n border-radius: 999px;\n background: var(--color-border);\n color: var(--color-text-muted);\n font-size: 11px;\n font-weight: 800;\n text-transform: uppercase;\n}\n.badge--idle {\n background: var(--color-border);\n color: var(--color-text-muted);\n}\n.badge--running {\n background: var(--color-primary-soft);\n color: var(--color-primary-dark);\n}\n.badge--completed {\n background: var(--color-success-soft);\n color: var(--color-success);\n}\n.badge--error {\n background: var(--color-danger-soft);\n color: var(--color-danger);\n}\n.badge--canceled {\n background: var(--color-warning-soft);\n color: var(--color-warning);\n}\n.badge--ghost {\n background: transparent;\n color: var(--color-text-muted);\n border: 1px solid var(--color-border);\n}\n.init-field input,\n.init-field select,\n.init-field textarea {\n width: 100%;\n border: 1px solid var(--color-border-strong);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 8px;\n box-sizing: border-box;\n font-family: inherit;\n}\n.init-field textarea {\n min-height: 80px;\n resize: vertical;\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n.init-summary-json {\n margin-top: 10px;\n background: var(--color-shadow-soft);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 10px;\n overflow-x: auto;\n font-size: 12px;\n}\n.init-missing {\n margin-top: 8px;\n font-size: 12px;\n color: var(--color-danger);\n}\n.secondary-note {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.trace-panel {\n background: var(--color-surface);\n border-radius: calc(16px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 16px;\n border: 1px solid var(--color-border);\n min-height: 0;\n overflow-y: auto;\n}\n.trace-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-top: 8px;\n}\n.trace-row {\n border: 1px solid var(--color-border);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 8px;\n background: var(--color-surface-muted);\n word-break: break-word;\n overflow-wrap: anywhere;\n}\n.calibrate-result-header {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.calibrate-result-main {\n display: flex;\n gap: 12px;\n align-items: flex-start;\n}\n.calibrate-score-badge,\n.workbench-score-badge {\n min-width: 44px;\n height: 44px;\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n background: var(--color-border);\n color: var(--color-text);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 18px;\n font-weight: 700;\n}\n.calibrate-score-badge--small,\n.workbench-score-badge--small {\n min-width: 22px;\n height: 20px;\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n font-size: 12px;\n}\n.calibrate-score-badge--pending,\n.workbench-score-badge--pending {\n background: var(--color-surface-subtle);\n color: var(--color-text);\n}\n.calibrate-score--positive {\n background: var(--color-success-strong);\n color: var(--color-surface);\n}\n.calibrate-score--negative {\n background: var(--color-danger-strong);\n color: var(--color-surface);\n}\n.calibrate-score--neutral {\n background: var(--color-text-subtle);\n color: var(--color-surface);\n}\n.calibrate-score--empty {\n background: var(--color-border);\n color: var(--color-text);\n}\n.calibrate-result-meta {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.calibrate-result-title {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 700;\n}\n.calibrate-result-reason {\n font-size: 13px;\n color: var(--color-text);\n}\n.calibrate-result-secondary {\n font-size: 12px;\n color: var(--color-text-subtle);\n}\n.calibrate-context {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.calibrate-context-compact {\n margin-top: 8px;\n}\n.calibrate-context-row {\n border: 1px solid var(--color-border);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 8px;\n background: var(--color-surface-muted);\n}\n.calibrate-context-label {\n font-size: 11px;\n font-weight: 700;\n color: var(--color-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.02em;\n}\n.calibrate-context-bubble {\n margin-top: 6px;\n font-size: 13px;\n color: var(--color-text);\n padding: 8px 10px;\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n border: 1px solid var(--color-border);\n background: var(--color-surface);\n}\n.calibrate-context-user {\n background: var(--color-primary-soft);\n border-color: var(--color-primary-alpha-25);\n color: var(--color-text);\n}\n.calibrate-context-assistant {\n background: var(--color-surface-subtle);\n border-color: var(--color-border);\n}\n.calibrate-result-details {\n margin-top: 10px;\n display: grid;\n gap: 10px;\n}\n.trace-row-highlight {\n border-color: var(--color-primary);\n box-shadow: 0 0 0 2px var(--color-primary-ring);\n}\n.calibrate-section-title {\n font-size: 12px;\n font-weight: 700;\n color: var(--color-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.02em;\n margin-bottom: 4px;\n}\n.calibrate-toggle,\n.workbench-toggle {\n padding: 6px 10px;\n font-size: 12px;\n}\n.calibrate-result-actions {\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n}\n.calibrate-flag-reason {\n margin-top: 8px;\n}\n.calibrate-flag-reason label {\n display: flex;\n flex-direction: column;\n gap: 4px;\n font-size: 12px;\n font-weight: 600;\n color: var(--color-text-muted);\n}\n.calibrate-flag-reason textarea {\n border: 1px solid var(--color-border-strong);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 6px 8px;\n font-family: inherit;\n font-size: 12px;\n min-height: 70px;\n resize: vertical;\n}\n.trace-row-user {\n background: var(--color-primary);\n border-color: var(--color-primary);\n color: var(--color-surface);\n}\n.trace-row-user .trace-json {\n color: var(--color-text-on-primary-subtle);\n}\n.trace-json {\n font-size: 11px;\n overflow-x: auto;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n}\n.tool-call-row .imessage-bubble {\n background: var(--color-surface-dark);\n border: 1px solid var(--color-surface-dark-border);\n color: var(--color-text-on-dark);\n}\n.tool-call-bubble {\n width: 100%;\n}\n.tool-call-collapse {\n width: 100%;\n border: none;\n background: none;\n padding: 0;\n text-align: left;\n cursor: pointer;\n font: inherit;\n color: inherit;\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.tool-call-collapse-activity {\n gap: 8px;\n}\n.tool-call-collapse:focus-visible {\n outline: 2px solid var(--color-accent);\n outline-offset: 2px;\n}\n.tool-call-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n.tool-call-header-main {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n}\n.tool-call-title {\n font-size: 13px;\n}\n.tool-call-chevron {\n margin-left: auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n opacity: 0.72;\n transition: transform 140ms ease;\n}\n.tool-call-chevron.is-open {\n transform: rotate(180deg);\n}\n.tool-call-summary {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n}\n.tool-call-name {\n font-size: 12px;\n color: var(--color-text-on-dark-muted);\n}\n.tool-call-handled {\n font-size: 11px;\n font-weight: 700;\n color: var(--color-warning);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n border: 1px solid var(--color-warning-border);\n border-radius: 999px;\n padding: 2px 8px;\n background: var(--color-warning-soft-alt);\n}\n.reasoning-summary {\n font-size: 13px;\n line-height: 1.5;\n white-space: pre-wrap;\n word-break: break-word;\n color: var(--color-text);\n}\n.reasoning-summary > * {\n margin: 0;\n}\n.reasoning-summary ul,\n.reasoning-summary ol {\n padding-left: 18px;\n}\n.reasoning-details-empty {\n font-size: 12px;\n color: var(--color-text-subtle);\n}\n.tool-call-detail {\n margin-top: 8px;\n border-top: 1px solid var(--color-accent-border);\n padding-top: 8px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.tool-call-divider {\n border-top: 1px solid var(--color-border);\n margin: 2px 0;\n}\n.tool-call-field {\n display: flex;\n flex-direction: column;\n}\n.tool-call-field-label {\n font-size: 11px;\n font-weight: 600;\n color: var(--color-text-on-dark-muted);\n margin-bottom: 4px;\n}\n.tool-call-error {\n color: var(--color-danger);\n}\n.tool-calls-collapsible {\n margin: 8px 0;\n}\n.tool-calls-toggle {\n width: 100%;\n border: none;\n background: transparent;\n padding: 8px 0;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 12px;\n color: var(--color-text-muted);\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n}\n.tool-calls-toggle::before,\n.tool-calls-toggle::after {\n content: \"\";\n flex: 1;\n border-top: 1px solid var(--color-border);\n}\n.tool-calls-toggle-label {\n white-space: nowrap;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n}\n.activity-toggle-title {\n color: var(--color-text-muted);\n font-weight: 600;\n}\n.activity-toggle-action {\n color: var(--color-text-muted);\n}\n.activity-count-badge {\n display: inline-flex;\n align-items: center;\n border-color: var(--color-border);\n background: var(--color-surface-subtle);\n color: var(--color-text-muted);\n padding: 1px 8px;\n font-size: 11px;\n font-weight: 600;\n text-transform: none;\n letter-spacing: 0;\n line-height: 1.35;\n}\n.activity-count-badge.is-highlight {\n animation: activity-count-badge-flash 1500ms ease-out;\n}\n@keyframes activity-count-badge-flash {\n 0% {\n background: var(--color-primary-soft);\n border-color: var(--color-primary);\n color: var(--color-primary);\n box-shadow: 0 0 0 2px var(--color-primary);\n }\n 100% {\n background: var(--color-surface-subtle);\n border-color: var(--color-border);\n color: var(--color-text-muted);\n box-shadow: 0 0 0 0 transparent;\n }\n}\n.tool-calls-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-top: 6px;\n}\n.reasoning-collapsible {\n background: #f8fafc;\n border: 1px dashed #cbd5f5;\n border-radius: 12px;\n padding: 8px;\n}\n.reasoning-toggle {\n color: #1e293b;\n}\n.reasoning-list {\n gap: 12px;\n}\n.reasoning-row {\n margin-left: 12px;\n}\n.reasoning-bubble {\n border: 1px solid #e2e8f0;\n background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);\n}\n.reasoning-row .imessage-bubble {\n background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);\n border: 1px solid #e2e8f0;\n color: var(--color-text);\n}\n.reasoning-json {\n background: transparent;\n border: none;\n padding: 0;\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,\n \"Liberation Mono\", \"Courier New\", monospace;\n white-space: pre-wrap;\n}\n.reasoning-details {\n margin-top: 8px;\n}\n.activity-collapsible {\n border: 1px solid var(--color-border);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n background: var(--color-surface-muted);\n padding: 8px 10px;\n position: relative;\n}\n.activity-toggle {\n text-transform: none;\n letter-spacing: 0;\n font-size: 12px;\n gap: 8px;\n padding: 2px 0 4px;\n}\n.activity-toggle.is-open {\n position: sticky;\n top: -6px;\n z-index: 2;\n background: var(--color-surface-muted);\n border-bottom: 1px solid var(--color-border);\n padding-bottom: 6px;\n}\n.activity-toggle::before,\n.activity-toggle::after {\n display: none;\n}\n.activity-toggle-chevron {\n margin-left: auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: var(--color-text-subtle);\n transition: transform 140ms ease;\n}\n.activity-toggle.is-open .activity-toggle-chevron {\n transform: rotate(180deg);\n}\n.activity-preview {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.activity-preview-reasoning {\n font-size: 13px;\n color: var(--color-text);\n}\n.activity-preview-reasoning > * {\n margin: 0;\n}\n.activity-preview-tool {\n font-size: 12px;\n color: var(--color-text-muted);\n border: 1px solid var(--color-border);\n background: var(--color-surface-subtle);\n border-radius: 4px;\n padding: 0px 4px;\n margin: -1px 2px;\n}\n.activity-details {\n margin-top: 8px;\n}\n.composer {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.callout {\n color: var(--color-text-muted);\n font-size: 12px;\n line-height: 1.5;\n background: var(--color-surface-subtle);\n border: none;\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 6px 10px;\n}\n.callout--emphasis {\n background: var(--color-primary-alpha-15);\n color: var(--color-primary);\n}\n.callout--danger {\n background: var(--color-danger-soft);\n color: var(--color-text);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n padding: 10px 12px;\n}\n.callout-main {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 12px;\n}\n.callout-body {\n display: flex;\n flex-direction: column;\n gap: 4px;\n min-width: 0;\n}\n.callout-title {\n font-size: 10px;\n font-weight: 700;\n color: var(--color-text-muted);\n}\n.callout-message {\n font-size: 12px;\n color: var(--color-text);\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n}\n.callout--danger .callout-title {\n color: var(--color-danger);\n text-transform: uppercase;\n letter-spacing: 0.03em;\n}\n.callout-actions {\n flex: 0 0 auto;\n}\n.composer-inputs {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.workbench-composer-chip-row {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n}\n.workbench-composer-chip {\n display: inline-flex;\n align-items: center;\n gap: 10px;\n border: 1px solid var(--color-border);\n border-radius: calc(999px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n background: var(--color-surface-muted);\n padding: 4px 8px;\n max-width: 100%;\n}\n.workbench-context-chip {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 34px;\n min-height: 20px;\n border-radius: calc(999px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n padding: 2px 8px;\n}\n.workbench-context-chip--error {\n border: 1px solid var(--color-danger);\n background: var(--color-danger-soft);\n color: var(--color-danger);\n}\n.workbench-context-chip--rating {\n border: 1px solid var(--color-border);\n background: var(--color-surface-subtle);\n color: var(--color-text);\n}\n.workbench-context-chip--rating.calibrate-score--positive {\n background: var(--color-success-strong);\n border-color: var(--color-success-strong);\n color: var(--color-surface);\n}\n.workbench-context-chip--rating.calibrate-score--negative {\n background: var(--color-danger-strong);\n border-color: var(--color-danger-strong);\n color: var(--color-surface);\n}\n.workbench-context-chip--rating.calibrate-score--neutral {\n background: var(--color-text-subtle);\n border-color: var(--color-text-subtle);\n color: var(--color-surface);\n}\n.workbench-context-chip--flag {\n border: 1px solid var(--color-border-strong);\n background: var(--color-surface-subtle);\n color: var(--color-text-muted);\n}\n.workbench-context-chip--flag.calibrate-score--positive {\n background: var(--color-success-strong);\n border-color: var(--color-success-strong);\n color: var(--color-surface);\n}\n.workbench-context-chip--flag.calibrate-score--negative {\n background: var(--color-danger-strong);\n border-color: var(--color-danger-strong);\n color: var(--color-surface);\n}\n.workbench-context-chip--flag.calibrate-score--neutral {\n background: var(--color-text-subtle);\n border-color: var(--color-text-subtle);\n color: var(--color-surface);\n}\n.workbench-composer-chip-toggle {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--color-text);\n}\n.workbench-composer-chip-toggle input {\n margin: 0;\n}\n.workbench-composer-chip-remove {\n display: flex;\n color: var(--color-text-muted);\n text-decoration: none;\n}\n.workbench-composer-chip-remove:hover {\n color: var(--color-danger);\n}\n.message-input {\n width: 100%;\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n border: 1px solid var(--color-border-strong);\n padding: 10px;\n resize: vertical;\n font-family: inherit;\n box-sizing: border-box;\n}\n.notes-inline {\n flex: 1;\n min-width: 220px;\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.notes-inline header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n}\n.notes-inline label {\n font-size: 13px;\n font-weight: 600;\n color: var(--color-text);\n}\n.notes-inline textarea {\n width: 100%;\n min-height: 80px;\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n border: 1px solid var(--color-border-strong);\n padding: 10px;\n resize: vertical;\n font-family: inherit;\n box-sizing: border-box;\n}\n.notes-inline-status {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.notes-inline-status .state {\n font-weight: 600;\n}\n.notes-inline-status .state.saving {\n color: var(--color-primary);\n}\n.notes-inline-status .state.unsaved {\n color: var(--color-warning);\n}\n.notes-inline-status .state.idle {\n color: var(--color-border-emphasis);\n}\n.notes-inline-status .state.saved {\n color: var(--color-success);\n}\n.rating-controls {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n align-items: center;\n}\n.rating-label {\n font-size: 13px;\n font-weight: 600;\n color: var(--color-text);\n}\n.rating-status {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.rating-button {\n border: 1px solid var(--color-border-strong);\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 4px 10px;\n font-size: 12px;\n background: var(--color-surface);\n cursor: pointer;\n}\n.rating-button.active {\n background: var(--color-primary);\n color: var(--color-surface);\n border-color: var(--color-primary);\n}\n.composer-actions {\n display: flex;\n gap: 10px;\n}\n.composer-actions button {\n padding: 10px 18px;\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n border: none;\n background: var(--color-primary);\n color: var(--color-surface);\n font-weight: 600;\n cursor: pointer;\n}\n.reset-note {\n font-size: 12px;\n color: var(--color-warning);\n}\n.error {\n color: var(--color-danger);\n font-size: 13px;\n}\n.workbench-transcript-chip-row {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 6px;\n margin-bottom: 6px;\n}\n.workbench-context-chip--transcript {\n font-size: 10px;\n}\n.workbench-error-chip-transcript {\n font-size: 10px;\n}\n.workbench-summary-actions {\n display: flex;\n justify-content: flex-end;\n}\n.session-meta {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.session-link {\n color: var(--color-primary);\n text-decoration: none;\n}\n.session-link:hover {\n text-decoration: underline;\n}\n.session-path code {\n display: inline-block;\n word-break: break-all;\n}\n.sessions-drawer {\n position: fixed;\n inset: 0;\n display: flex;\n z-index: 1000;\n}\n.sessions-drawer-panel {\n width: min(360px, 90vw);\n background: var(--color-surface);\n border-right: 1px solid var(--color-border);\n box-shadow: 12px 0 30px var(--color-shadow-strong);\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n.sessions-drawer-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.sessions-drawer-logo {\n display: inline-flex;\n align-items: center;\n color: var(--color-text);\n}\n.sessions-drawer-logo svg {\n display: block;\n}\n.sessions-drawer-section {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n gap: 10px;\n border-top: 1px solid var(--color-border);\n border-bottom: 1px solid var(--color-border);\n padding: 12px 0;\n}\n.sessions-drawer-section h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--color-text);\n}\n.sessions-drawer-actions {\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n}\n.sessions-drawer-body {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.sessions-drawer-footer {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.appearance-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n}\n.appearance-row-label {\n font-size: 13px;\n font-weight: 600;\n color: var(--color-text);\n}\n.appearance-row-select {\n width: 150px;\n flex: 0 0 auto;\n}\n.sessions-drawer-backdrop {\n flex: 1;\n border: 0;\n padding: 0;\n background: var(--color-overlay);\n cursor: pointer;\n}\n.sessions-list {\n list-style: none;\n padding: 0;\n margin: 0;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.sessions-list li {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n.session-select-button {\n width: 100%;\n text-align: left;\n border: 0;\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 8px 10px;\n background: transparent;\n cursor: pointer;\n display: flex;\n flex-direction: column;\n gap: 2px;\n font-family: inherit;\n box-sizing: border-box;\n}\n.session-select-button.active {\n background: var(--color-border);\n}\n.session-select-button:hover {\n background: var(--color-surface-subtle);\n}\n.session-select-button strong {\n font-weight: 600;\n font-size: 14px;\n color: var(--color-text);\n}\n.session-select-button span {\n font-size: 12px;\n color: var(--color-text-subtle);\n}\n.session-select-button code {\n font-size: 12px;\n color: var(--color-text-subtle);\n}\n.session-delete-button {\n width: 36px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n}\n.session-delete-button svg {\n display: block;\n min-width: 14px;\n}\n.trace-empty, .empty-state {\n padding: 12px;\n color: var(--color-text-muted);\n text-align: center;\n}\n.recent-sessions {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-top: 12px;\n}\n.recent-session-button {\n border: 1px solid var(--color-border-strong);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 10px;\n background: var(--color-surface-muted);\n text-align: left;\n cursor: pointer;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.recent-session-button:hover {\n background: var(--color-border);\n}\n.empty-state-actions {\n margin-top: 12px;\n display: flex;\n justify-content: center;\n gap: 10px;\n flex-wrap: wrap;\n}\n.top-nav {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding: 12px 16px;\n background: var(--color-surface);\n border-bottom: 1px solid var(--color-border);\n position: sticky;\n top: 0;\n z-index: 10;\n flex-wrap: wrap;\n}\n.top-nav-left {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.top-nav-buttons {\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n flex: 1;\n}\n.tab-anchor-group {\n position: relative;\n}\n.tab-anchor {\n position: relative;\n z-index: 1;\n}\n.tab-anchor-indicator {\n position: absolute;\n inset: 0;\n opacity: 0;\n pointer-events: none;\n background: var(--color-primary-alpha-15);\n border: 0;\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n transition:\n top 180ms ease,\n left 180ms ease,\n width 180ms ease,\n height 180ms ease,\n opacity 120ms ease;\n}\n@supports (anchor-name: --active-tab-anchor) {\n .tab-anchor--active {\n anchor-name: --active-tab-anchor;\n }\n .tab-anchor-indicator {\n position-anchor: --active-tab-anchor;\n top: anchor(top);\n left: anchor(left);\n width: anchor-size(width);\n height: anchor-size(height);\n opacity: 1;\n }\n .tab-anchor-group .gds-button--tab {\n background: transparent;\n border-color: transparent;\n color: var(--color-text);\n }\n .tab-anchor-group .gds-button--tab:hover {\n border-color: var(--color-border-strong);\n background: var(--color-surface-muted);\n }\n .tab-anchor-group .tab-anchor--active.gds-button--tab {\n color: var(--color-primary);\n }\n .tab-anchor-group .tab-anchor--active.gds-button--tab:hover {\n border-color: transparent;\n background: transparent;\n }\n}\n.top-nav-center {\n flex: 0 1 auto;\n display: flex;\n justify-content: center;\n min-width: 160px;\n}\n.top-nav-right {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n flex: 1;\n justify-content: flex-end;\n}\n.top-nav-deck {\n font-weight: 600;\n color: var(--color-text-subtle);\n font-size: 16px;\n}\n.top-nav-actions {\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n align-items: center;\n}\n.sessions-toggle {\n gap: 8px;\n}\n.sessions-toggle.active {\n background: var(--color-surface-subtle);\n}\n.calibrate-toggle.active,\n.workbench-toggle.active {\n background: var(--color-primary-alpha-15);\n border-color: var(--color-primary);\n color: var(--color-primary);\n}\n.calibrate-toggle.active:hover,\n.workbench-toggle.active:hover {\n background: var(--color-primary-alpha-25);\n}\n.bundle-stamp {\n font-size: 12px;\n color: var(--color-text-subtle);\n text-align: center;\n margin-top: 8px;\n}\n.panel-tabs {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 4px;\n}\n.gds-accordion {\n display: flex;\n flex-direction: column;\n gap: 8px;\n flex: 1;\n min-height: 0;\n}\n.workbench-accordion {\n flex: 1;\n height: 100%;\n min-height: 0;\n}\n.gds-accordion-item {\n border: 1px solid var(--color-border-strong);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n background: var(--color-surface-muted);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n flex: 0 0 auto;\n}\n.gds-accordion.equal-open .gds-accordion-item.open {\n flex: 1 1 0;\n min-height: 0;\n}\n.gds-accordion.equal-open .gds-accordion-content {\n flex: 1;\n min-height: 0;\n overflow: auto;\n}\n.gds-accordion.equal-open .gds-accordion-content-inner {\n flex: 1;\n min-height: 0;\n}\n.gds-accordion-item.open {\n flex: 1 1 auto;\n min-height: 0;\n}\n.gds-accordion-header {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 12px;\n}\n.gds-accordion-trigger {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n background: transparent;\n border: none;\n padding: 0;\n font-weight: 600;\n cursor: pointer;\n color: var(--color-text);\n text-align: left;\n}\n.gds-accordion-trigger--icon {\n flex: 0 0 auto;\n padding: 4px;\n justify-content: center;\n}\n.gds-accordion-trigger:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n.gds-accordion-title {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n.workbench-accordion-title {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n.workbench-chat-history-toggle {\n width: 20px;\n height: 20px;\n border-radius: 999px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: none;\n background: var(--color-surface-subtle);\n color: var(--color-text);\n cursor: pointer;\n}\n.workbench-chat-history-toggle:hover {\n background: var(--color-surface-muted);\n}\n.workbench-chat-history-arrow {\n transform: rotate(90deg);\n}\n.workbench-chat-panel {\n display: flex;\n flex-direction: column;\n gap: 12px;\n flex: 1;\n min-height: 0;\n position: relative;\n overflow: hidden;\n}\n.workbench-chat-history {\n position: absolute;\n inset: 0;\n overflow: auto;\n padding: 12px;\n background: var(--color-surface-subtle);\n width: 85%;\n}\n.workbench-chat-history-list {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.workbench-chat-history-row {\n font-size: 12px;\n color: var(--color-text);\n text-align: left;\n background: transparent;\n border: none;\n padding: 0;\n cursor: pointer;\n}\n.workbench-chat-overlay {\n position: relative;\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n}\n.workbench-chat-current {\n position: relative;\n z-index: 1;\n flex: 1;\n height: auto;\n min-height: 0;\n display: flex;\n flex-direction: column;\n transition: transform 220ms ease;\n padding: 12px;\n background: var(--color-surface);\n border-left: 1px solid var(--color-border);\n}\n.workbench-chat-current.is-history {\n transform: translateX(85%);\n}\n.workbench-chat-readonly-overlay {\n position: absolute;\n inset: 0;\n z-index: 2;\n background: rgba(248, 250, 252, 0.88);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px;\n}\n.workbench-chat-readonly-card {\n background: var(--color-surface);\n border: 1px solid var(--color-border);\n border-radius: calc(16px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);\n width: 100%;\n max-width: 640px;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n text-align: left;\n}\n.workbench-chat-readonly-title {\n margin: 0;\n font-size: 16px;\n}\n.workbench-chat-readonly-copy {\n margin: 0;\n font-size: 13px;\n color: var(--color-text-muted);\n}\n.workbench-chat-readonly-actions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n}\n.workbench-chat-command-row {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n}\n.workbench-chat-command-code {\n margin: 0;\n flex: 1;\n max-width: 100%;\n padding: 8px 12px;\n border: 1px solid var(--color-border);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n background: var(--color-surface-muted);\n overflow-x: auto;\n}\n.workbench-chat-command-code code {\n font-size: 12px;\n line-height: 1.4;\n white-space: pre-wrap;\n word-break: break-all;\n}\n.gds-accordion .gds-accordion-open-only {\n display: none;\n}\n.gds-accordion-item.open .gds-accordion-open-only {\n display: inline-flex;\n}\n.workbench-chat-header-actions {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n.workbench-provider-select-label {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.workbench-provider-select {\n display: inline-flex;\n align-items: center;\n}\n.workbench-provider-select .gds-listbox-trigger {\n min-width: 120px;\n}\n.gds-accordion-actions {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n.gds-accordion-actions--disabled {\n opacity: 0.6;\n pointer-events: none;\n}\n.gds-accordion-trigger:hover .calibrate-run-toggle-icon {\n background: var(--color-surface-subtle);\n}\n.gds-accordion-item.open .calibrate-run-toggle-icon {\n color: var(--color-primary);\n background: var(--color-primary-alpha-15);\n transform: rotate(180deg);\n}\n.gds-accordion-content {\n border-top: 1px solid var(--color-border);\n padding: 12px;\n flex: 1;\n min-height: 0;\n overflow: auto;\n background: var(--color-surface);\n}\n.gds-accordion-content.workbench-chat-content {\n padding: 0;\n}\n.gds-accordion-content[hidden] {\n display: none;\n}\n.gds-accordion-content-inner {\n display: flex;\n flex-direction: column;\n gap: 12px;\n min-height: 0;\n height: 100%;\n}\n.build-chat-panel {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n}\n.workbench-chat-current .build-chat-panel {\n height: auto;\n}\n.build-chat-panel .test-bot-thread {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.build-chat-panel .imessage-thread {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n}\n.workbench-chat-current .build-chat-panel .composer {\n flex: 0 0 auto;\n position: sticky;\n bottom: 0;\n z-index: 2;\n background: var(--color-surface);\n border-top: 1px solid var(--color-border);\n padding-top: 8px;\n}\n.workbench-ratings {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.panel-tab {\n border: 1px solid var(--color-border-strong);\n background: var(--color-surface-muted);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 8px 12px;\n cursor: pointer;\n font-weight: 600;\n}\n.panel-tab.active {\n background: var(--color-primary);\n color: var(--color-surface);\n border-color: var(--color-primary);\n}\n.editor-status {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.editor-main {\n grid-template-columns: 280px minmax(0, 1fr);\n min-height: 0;\n overflow: hidden;\n}\n.build-main {\n grid-template-columns: minmax(0, 1fr);\n}\n.build-chat-panel {\n grid-column: 1 / span 2;\n}\n.build-main .build-chat-panel {\n grid-column: auto;\n}\n.test-bot-sidebar {\n overflow: hidden;\n min-height: 0;\n}\n.flex-row {\n display: flex;\n flex-direction: row;\n}\n.flex-column {\n display: flex;\n flex-direction: column;\n}\n.flex-1 {\n flex: 1;\n}\n.items-center {\n align-items: center;\n}\n.gap-4 {\n gap: 4px;\n}\n.gap-6 {\n gap: 6px;\n}\n.gap-8 {\n gap: 8px;\n}\n.row-reverse {\n flex-direction: row-reverse;\n}\n.wrap {\n flex-wrap: wrap;\n}\n.gds-tooltip-anchor {\n display: inline-flex;\n align-items: center;\n}\n.gds-tooltip {\n position: fixed;\n z-index: 1200;\n max-width: min(320px, calc(100vw - 24px));\n padding: 6px 8px;\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n border: 1px solid var(--color-border-strong);\n background: var(--color-text);\n color: var(--color-surface);\n font-size: 12px;\n line-height: 1.35;\n box-shadow: 0 6px 18px var(--color-shadow-strong);\n pointer-events: none;\n animation: gds-tooltip-fade-in 120ms ease-out;\n}\n.gds-tooltip::after {\n content: \"\";\n position: absolute;\n width: 8px;\n height: 8px;\n background: inherit;\n border: inherit;\n border-top: 0;\n border-left: 0;\n}\n.gds-tooltip--top::after {\n left: 50%;\n bottom: -5px;\n transform: translateX(-50%) rotate(45deg);\n}\n.gds-tooltip--bottom::after {\n left: 50%;\n top: -5px;\n transform: translateX(-50%) rotate(225deg);\n}\n.gds-tooltip--left::after {\n top: 50%;\n right: -5px;\n transform: translateY(-50%) rotate(315deg);\n}\n.gds-tooltip--right::after {\n top: 50%;\n left: -5px;\n transform: translateY(-50%) rotate(135deg);\n}\n@keyframes gds-tooltip-fade-in {\n from {\n opacity: 0;\n filter: saturate(0.8);\n }\n to {\n opacity: 1;\n filter: saturate(1);\n }\n}\n.gds-listbox {\n position: relative;\n}\n.gds-listbox-field-label {\n font-weight: 600;\n font-size: 13px;\n color: var(--color-text);\n margin-bottom: 6px;\n display: inline-flex;\n}\n.gds-listbox-trigger {\n width: 100%;\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n border: 1px solid var(--color-border-strong);\n padding: 8px 30px 8px 10px;\n font-family: inherit;\n background: var(--color-surface);\n cursor: pointer;\n display: flex;\n flex-direction: column;\n gap: 2px;\n text-align: left;\n position: relative;\n}\n.gds-listbox-trigger:hover {\n border-color: var(--color-border-emphasis);\n background: var(--color-surface-muted);\n}\n.gds-listbox-trigger:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n.gds-listbox--size-small .gds-listbox-field-label {\n margin-bottom: 4px;\n font-size: 12px;\n}\n.gds-listbox--size-small .gds-listbox-trigger {\n padding: 4px 28px 4px 10px;\n gap: 0;\n}\n.gds-listbox--size-small .gds-listbox-label {\n font-size: 13px;\n}\n.gds-listbox--size-small .gds-listbox-meta {\n display: none;\n}\n.gds-listbox--size-small .gds-listbox-caret {\n right: 9px;\n}\n.gds-listbox-label {\n font-weight: 600;\n font-size: 14px;\n color: var(--color-text);\n}\n.gds-listbox-meta {\n font-size: 12px;\n color: var(--color-text-subtle);\n}\n.gds-listbox-caret {\n position: absolute;\n right: 10px;\n top: 50%;\n transform: translateY(-50%);\n font-size: 12px;\n color: var(--color-text-subtle);\n}\n.gds-listbox-popover {\n background: var(--color-surface);\n border: 1px solid var(--color-border);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n box-shadow: 0 12px 32px var(--color-shadow-strong);\n z-index: 1100;\n max-height: 260px;\n overflow-y: auto;\n padding: 6px 6px;\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.gds-listbox-header {\n padding: 2px 10px;\n font-size: 11px;\n font-weight: 800;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n color: var(--color-text-subtle);\n}\n.gds-listbox-separator {\n height: 1px;\n background: var(--color-border);\n margin: 4px 4px;\n}\n.gds-listbox-option {\n width: 100%;\n text-align: left;\n border: 0;\n background: transparent;\n padding: 8px 10px;\n cursor: pointer;\n display: flex;\n flex-direction: column;\n gap: 2px;\n font-family: inherit;\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n box-sizing: border-box;\n}\n.gds-listbox-option:hover {\n background: var(--color-surface-subtle);\n}\n.gds-listbox-option[aria-selected=\"true\"] {\n background: var(--color-border);\n}\n.gds-listbox-option-label {\n font-weight: 600;\n font-size: 14px;\n color: var(--color-text);\n}\n.gds-listbox-option-meta {\n font-size: 12px;\n color: var(--color-text-subtle);\n}\n.gds-button {\n border: 1px solid var(--color-border-strong);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n background: var(--color-surface);\n cursor: pointer;\n font-weight: 600;\n font-family: inherit;\n text-decoration: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 8px\n}\n.gds-button--tab {\n border-color: transparent;\n}\n.gds-button--tab:hover {\n border-color: transparent;\n}\n.gds-button--tab.gds-button--primary,\n.gds-button--tab.gds-button--primary:hover,\n.gds-button--tab.gds-button--primary-deemph,\n.gds-button--tab.gds-button--primary-deemph:hover,\n.gds-button--tab.gds-button--secondary,\n.gds-button--tab.gds-button--secondary:hover,\n.gds-button--tab.gds-button--ghost,\n.gds-button--tab.gds-button--ghost:hover,\n.gds-button--tab.gds-button--ghost-danger,\n.gds-button--tab.gds-button--ghost-danger:hover,\n.gds-button--tab.gds-button--danger,\n.gds-button--tab.gds-button--danger:hover {\n border-color: transparent;\n}\n.gds-button--size-medium {\n padding: 8px 14px;\n}\n.gds-button--size-large {\n padding: 8px 18px;\n font-size: 18px;\n}\n.gds-button--size-small {\n padding: 4px 10px;\n}\n.gds-button:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n.gds-button--primary {\n background: var(--color-primary);\n color: var(--color-surface);\n border-color: var(--color-primary);\n}\n.gds-button--primary:hover {\n background: var(--color-primary-strong);\n border-color: var(--color-primary-strong);\n}\n.gds-button--primary-deemph {\n background: var(--color-primary-alpha-15);\n color: var(--color-primary);\n border-color: var(--color-primary);\n}\n.gds-button--primary-deemph:hover {\n background: var(--color-primary-alpha-25);\n}\n.gds-button--secondary {\n background: var(--color-surface-muted);\n color: var(--color-text);\n}\n.gds-button--secondary:hover {\n background: var(--color-border);\n border-color: var(--color-border-emphasis);\n}\n.gds-button--ghost {\n background: transparent;\n border-color: transparent;\n color: var(--color-text);\n}\n.gds-button--ghost:hover {\n border-color: var(--color-border-strong);\n background: var(--color-surface-muted);\n}\n.gds-button--ghost-danger {\n background: transparent;\n border-color: transparent;\n color: var(--color-danger);\n}\n.gds-button--ghost-danger:hover {\n background: var(--color-danger);\n color: var(--color-surface);\n border-color: var(--color-danger);\n}\n.gds-button--danger {\n background: var(--color-danger-soft);\n color: var(--color-danger);\n border-color: var(--color-danger);\n}\n.gds-button--danger:hover {\n background: var(--color-danger);\n color: var(--color-surface);\n border-color: var(--color-danger);\n}\n.gds-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n overflow-y: auto;\n}\n.gds-list-item {\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 10px;\n background: var(--color-surface-muted);\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.gds-list-item-button {\n border: none;\n background: none;\n padding: 0;\n text-align: left;\n cursor: pointer;\n}\n.gds-list-item-button > .gds-list-item {\n transition: background 120ms ease;\n}\n.gds-list-item-button:hover > .gds-list-item {\n background: var(--color-surface);\n}\n.gds-list-item-header {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n font-weight: 700;\n color: var(--color-text);\n}\n.gds-list-item-title {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n font-size: 14px;\n}\n.gds-list-item-meta {\n font-size: 12px;\n color: var(--color-text-muted);\n font-weight: 500;\n}\n.gds-list-item-meta code {\n font-size: 12px;\n}\n.gds-list-item-description {\n font-size: 13px;\n color: var(--color-text);\n}\n.imessage-thread {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n gap: 10px;\n padding: 6px;\n}\n.test-bot-thread {\n position: relative;\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n gap: 8px;\n}\n.test-bot-thread-overlay {\n position: absolute;\n inset: 0;\n background: rgba(248, 250, 252, 0.86);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px;\n}\n.test-bot-thread-card {\n background: var(--color-surface);\n border: 1px solid var(--color-border);\n border-radius: calc(16px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 16px;\n max-width: 640px;\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 10px;\n text-align: left;\n box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);\n}\n.test-bot-thread-title {\n text-align: center;\n font-size: 16px;\n}\n.test-bot-thread-subtitle {\n text-align: center;\n}\n.test-bot-thread-sections {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n}\n.test-bot-thread-section {\n flex: 1 1 220px;\n border: 1px solid var(--color-border);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 10px 12px;\n background: var(--color-surface-muted);\n display: flex;\n flex-direction: column;\n gap: 6px;\n text-wrap: pretty;\n}\n.test-bot-thread-section button {\n margin-top: auto;\n align-self: center;\n}\n.test-bot-thread-section-title {\n font-size: 13px;\n font-weight: 700;\n color: var(--color-text);\n}\n.test-bot-thread-section-body {\n font-size: 12px;\n color: var(--color-text-subtle);\n line-height: 1.45;\n}\n.imessage-row {\n display: flex;\n}\n.imessage-row.left {\n justify-content: flex-start;\n}\n.imessage-row.right {\n justify-content: flex-end;\n}\n.imessage-bubble {\n max-width: min(520px, 85%);\n padding: 10px 12px;\n border-radius: calc(18px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n font-size: 13px;\n line-height: 1.45;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n}\n.imessage-bubble.left {\n background: var(--color-surface-subtle);\n color: var(--color-text);\n border: 1px solid var(--color-border);\n border-bottom-left-radius: 6px;\n}\n.imessage-bubble.reasoning-bubble {\n background: var(--color-surface);\n border: 1px solid var(--color-border-strong);\n}\n.imessage-bubble.right {\n background: var(--color-primary-soft);\n color: var(--color-text);\n border: 1px solid var(--color-primary-alpha-25);\n border-bottom-right-radius: 6px;\n}\n.build-chat-activity-indicator {\n position: relative;\n overflow: hidden;\n border: 1px solid var(--color-border-strong);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n background: var(--color-surface-muted);\n padding: 8px 10px;\n display: flex;\n align-items: center;\n gap: 8px;\n min-height: 36px;\n}\n.build-chat-activity-sticky {\n position: sticky;\n bottom: 0;\n z-index: 3;\n}\n.build-chat-activity-indicator-thinking {\n border-color: var(--color-primary-alpha-25);\n}\n.build-chat-activity-indicator-responding {\n border-color: var(--color-accent-border);\n}\n.build-chat-activity-glimmer {\n position: absolute;\n inset: 0;\n pointer-events: none;\n opacity: 0.5;\n background:\n linear-gradient(\n 110deg,\n rgba(255, 255, 255, 0) 0%,\n rgba(255, 255, 255, 0.36) 40%,\n rgba(255, 255, 255, 0) 75%\n );\n transform: translateX(-100%);\n animation: build-chat-glimmer 1.6s ease-in-out infinite;\n}\n.build-chat-activity-spinner {\n width: 14px;\n height: 14px;\n border-radius: 999px;\n border: 2px solid var(--color-primary-alpha-25);\n border-top-color: var(--color-primary);\n position: relative;\n z-index: 1;\n flex: 0 0 auto;\n animation: build-chat-spinner 0.8s linear infinite;\n}\n.build-chat-activity-label,\n.build-chat-activity-timer {\n position: relative;\n z-index: 1;\n}\n.build-chat-activity-label {\n font-size: 12px;\n color: var(--color-text-body);\n font-weight: 600;\n}\n.build-chat-activity-timer {\n margin-left: auto;\n font-size: 12px;\n color: var(--color-text-muted);\n font-variant-numeric: tabular-nums;\n}\n@keyframes build-chat-glimmer {\n 0% {\n transform: translateX(-100%);\n }\n 100% {\n transform: translateX(120%);\n }\n}\n@keyframes build-chat-spinner {\n to {\n transform: rotate(360deg);\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .build-chat-activity-glimmer {\n animation: none;\n opacity: 0;\n }\n}\n.imessage-row.left .imessage-bubble.right {\n border-bottom-right-radius: 18px;\n border-bottom-left-radius: 6px;\n}\n.imessage-row.right .imessage-bubble.left {\n border-bottom-left-radius: 18px;\n border-bottom-right-radius: 6px;\n}\n.imessage-bubble-muted {\n opacity: 0.7;\n font-size: 12px;\n background: var(--color-surface-muted);\n border-color: var(--color-border);\n}\n.build-files-panel {\n overflow: hidden;\n padding: 0;\n}\n.build-files-browser {\n display: grid;\n grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);\n gap: 8px;\n min-height: 0;\n flex: 1;\n}\n.build-files-list {\n border: 1px solid var(--color-border-strong);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 6px;\n background: var(--color-surface-muted);\n overflow-y: auto;\n min-height: 0;\n}\n.build-files-preview {\n background: var(--color-surface);\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n overflow: hidden;\n}\n.build-files-preview-header {\n padding: 8px;\n border-bottom: 1px solid var(--color-border);\n background: var(--color-surface-muted);\n}\n.build-files-preview-controls {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 10px;\n justify-content: space-between;\n}\n.build-files-preview-selector {\n flex: 1;\n min-width: 0;\n}\n.build-files-preview-actions {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n}\n.build-files-preview-body {\n padding: 8px 16px;\n overflow: auto;\n flex: 1;\n min-height: 0;\n}\n.build-file-preview {\n font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco,\n Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-size: 12px;\n line-height: 1.4;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n}\n.build-file-row {\n width: 100%;\n border: none;\n background: none;\n text-align: left;\n padding: 6px 8px;\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n display: flex;\n flex-direction: column;\n gap: 2px;\n font-family: inherit;\n}\n.build-file-item {\n cursor: pointer;\n}\n.build-file-item:hover {\n background: var(--color-surface);\n}\n.build-file-item.active {\n background: var(--color-primary-alpha-15);\n color: var(--color-primary);\n}\n.build-file-dir {\n color: var(--color-text-muted);\n font-weight: 600;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 6px;\n}\n.build-file-name {\n font-size: 13px;\n font-weight: 600;\n}\n.build-file-meta {\n font-size: 11px;\n color: var(--color-text-muted);\n}\n.build-file-icon {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.build-file-selected {\n font-size: 12px;\n}\n.build-file-size {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.build-audit-trail {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-height: 0;\n}\n.build-audit-row {\n border: 1px solid var(--color-border-strong);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 8px;\n background: var(--color-surface-muted);\n display: flex;\n flex-direction: column;\n gap: 4px;\n text-align: left;\n cursor: pointer;\n font-family: inherit;\n}\n.build-audit-row:hover {\n background: var(--color-surface);\n}\n.build-audit-summary {\n font-weight: 700;\n color: var(--color-text);\n}\n.build-audit-meta {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.patch-card {\n border: 1px solid var(--color-border-strong);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 10px;\n background: var(--color-surface-muted);\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.patch-summary {\n font-weight: 700;\n color: var(--color-text);\n}\n.patch-meta {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n";
1
+ export declare const globalStyles = "\n:root,\nhtml,\nbody,\n#root {\n height: 100%;\n}\n:root {\n color-scheme: light;\n font-family: \"SF Pro Text\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n --color-bg: #f6f7fb;\n --color-surface: #ffffff;\n --color-surface-muted: #f8fafc;\n --color-surface-subtle: #f1f5f9;\n --color-surface-dark: #5c626d;\n --color-surface-dark-border: #4b515b;\n --color-text-on-dark: #f1f3f6;\n --color-text-on-dark-muted: #d2d6dc;\n --color-border: #e2e8f0;\n --color-border-strong: #cbd5e1;\n --color-border-emphasis: #94a3b8;\n --color-text: #0f172a;\n --color-text-strong: #111827;\n --color-text-body: #334155;\n --color-text-muted: #475569;\n --color-text-subtle: #64748b;\n --color-primary: #0b93f6;\n --color-primary-strong: #0a7fd3;\n --color-primary-dark: #1d4ed8;\n --color-primary-soft: #dbeafe;\n --color-primary-alpha-15: rgba(11, 147, 246, 0.15);\n --color-primary-alpha-25: rgba(11, 147, 246, 0.25);\n --color-primary-ring: rgba(11, 147, 246, 0.15);\n --color-accent: #4338ca;\n --color-accent-soft: #e0e7ff;\n --color-accent-border: #c7d2fe;\n --color-accent-on-dark: #cfd6ff;\n --color-success: #0f9d58;\n --color-success-strong: #16a34a;\n --color-success-soft: #dcfce7;\n --color-warning: #b45309;\n --color-warning-border: #f59e0b;\n --color-warning-soft: #fef3c7;\n --color-warning-soft-alt: #fffbeb;\n --color-danger: #b91c1c;\n --color-danger-strong: #dc2626;\n --color-danger-soft: #fee2e2;\n --color-ink-weak: rgba(0, 0, 0, 0.04);\n --color-ink-soft: rgba(0, 0, 0, 0.06);\n --color-shadow-soft: rgba(15, 23, 42, 0.06);\n --color-shadow-strong: rgba(15, 23, 42, 0.12);\n --color-shadow-border: rgba(15, 23, 42, 0.25);\n --color-overlay: rgba(15, 23, 42, 0.4);\n --color-text-on-primary-subtle: rgba(255, 255, 255, 0.9);\n --color-text-on-primary-muted: rgba(255, 255, 255, 0.7);\n --corner-radius-scale: 1;\n}\n[data-theme=\"dark\"] {\n color-scheme: dark;\n --color-bg: #070d1a;\n --color-surface: #0f172a;\n --color-surface-muted: #131e33;\n --color-surface-subtle: #1a2740;\n --color-surface-dark: #27344d;\n --color-surface-dark-border: #364968;\n --color-text-on-dark: #dbeafe;\n --color-text-on-dark-muted: #bfdbfe;\n --color-border: #2e3f5b;\n --color-border-strong: #3e5475;\n --color-border-emphasis: #5977a1;\n --color-text: #dbe7fb;\n --color-text-strong: #f8fbff;\n --color-text-body: #c7d8f3;\n --color-text-muted: #93aacb;\n --color-text-subtle: #6f88ac;\n --color-primary: #60a5fa;\n --color-primary-strong: #3b82f6;\n --color-primary-dark: #1d4ed8;\n --color-primary-soft: #12233f;\n --color-primary-alpha-15: rgba(96, 165, 250, 0.2);\n --color-primary-alpha-25: rgba(96, 165, 250, 0.32);\n --color-primary-ring: rgba(96, 165, 250, 0.25);\n --color-accent: #93c5fd;\n --color-accent-soft: #12233f;\n --color-accent-border: #29507f;\n --color-accent-on-dark: #dbeafe;\n --color-success: #4ade80;\n --color-success-strong: #22c55e;\n --color-success-soft: #052e16;\n --color-warning: #f59e0b;\n --color-warning-border: #d97706;\n --color-warning-soft: #451a03;\n --color-warning-soft-alt: #292524;\n --color-danger: #f87171;\n --color-danger-strong: #ef4444;\n --color-danger-soft: #450a0a;\n --color-ink-weak: rgba(148, 163, 184, 0.1);\n --color-ink-soft: rgba(148, 163, 184, 0.16);\n --color-shadow-soft: rgba(2, 6, 23, 0.35);\n --color-shadow-strong: rgba(2, 6, 23, 0.65);\n --color-shadow-border: rgba(15, 23, 42, 0.65);\n --color-overlay: rgba(2, 6, 23, 0.66);\n --color-text-on-primary-subtle: rgba(15, 23, 42, 0.95);\n --color-text-on-primary-muted: rgba(15, 23, 42, 0.75);\n --color-input-bg: #0b1324;\n --color-input-bg-hover: #101a2f;\n --color-input-border: #3c557b;\n}\n@supports (corner-shape: squircle) {\n :root {\n --corner-radius-scale: 2;\n }\n}\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\nbody {\n margin: 0;\n background: var(--color-bg);\n overflow: hidden;\n}\n:where(input, textarea, select, button):focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px var(--color-accent) inset;\n}\n[data-theme=\"dark\"] :where(\n input:not([type=\"checkbox\"]):not([type=\"radio\"]),\n textarea,\n select\n) {\n background: var(--color-input-bg);\n border-color: var(--color-input-border);\n color: var(--color-text-strong);\n}\n[data-theme=\"dark\"] :where(\n input:not([type=\"checkbox\"]):not([type=\"radio\"]),\n textarea,\n select\n)::placeholder {\n color: var(--color-text-muted);\n}\n[data-theme=\"dark\"] .gds-listbox-trigger {\n background: var(--color-input-bg);\n border-color: var(--color-input-border);\n}\n[data-theme=\"dark\"] .gds-listbox-trigger:hover {\n background: var(--color-input-bg-hover);\n}\n.app-root {\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n flex: 1;\n min-width: 0;\n}\n.app-frame {\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n gap: 0;\n}\n.app-content-frame {\n flex: 1;\n min-height: 0;\n display: flex;\n gap: 0;\n overflow: hidden;\n}\n.page-shell {\n flex: 1;\n min-height: 0;\n overflow: auto;\n}\n.app-shell {\n height: 100%;\n min-height: 0;\n display: flex;\n flex-direction: column;\n padding: 16px;\n gap: 16px;\n overflow: hidden;\n}\n.page-grid {\n flex: 1;\n display: grid;\n gap: 16px;\n min-height: 0;\n overflow: hidden;\n}\n.panel {\n background: var(--color-surface);\n border: 1px solid var(--color-border);\n border-radius: calc(var(--panel-radius, 14px) * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: var(--panel-padding, 12px);\n min-height: 0;\n overflow: hidden;\n}\n.docs-shell {\n padding: 32px 20px 64px;\n max-width: 1040px;\n margin: 0 auto;\n display: flex;\n flex-direction: column;\n gap: 28px;\n}\n.docs-eyebrow {\n text-transform: uppercase;\n letter-spacing: 0.16em;\n font-size: 11px;\n font-weight: 700;\n color: var(--color-text-subtle);\n margin: 0 0 10px 0;\n display: flex;\n flex-direction: row;\n gap: 4px;\n align-items: flex-start;\n}\n.docs-eyebrow-logo svg {\n display: block;\n}\n.docs-subtitle {\n text-wrap: pretty;\n}\n.docs-hero h1 {\n margin: 0 0 12px 0;\n font-size: clamp(28px, 4vw, 40px);\n line-height: 1.2;\n color: var(--color-text);\n}\n.docs-section-card h3 {\n margin: 0 0 8px 0;\n font-size: 16px;\n}\n.docs-section-card p {\n margin: 0 0 12px 0;\n color: var(--color-text-body);\n}\n.docs-section-card ul {\n margin: 0 0 12px 18px;\n color: var(--color-text-body);\n padding: 0;\n}\n.docs-section-card li {\n margin-bottom: 6px;\n}\n.docs-divider {\n height: 1px;\n background: var(--color-border);\n margin: 8px 0 12px;\n}\n.docs-section {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.docs-section-header {\n display: flex;\n align-items: center;\n gap: 10px;\n}\n.docs-section-header h2 {\n margin: 0;\n font-size: 22px;\n}\n.docs-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 28px;\n}\n.docs-section .docs-section-card {\n background: var(--color-surface);\n border-radius: calc(16px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n border: 1px solid var(--color-border);\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 14px;\n}\n.docs-tab-row {\n display: grid;\n grid-template-columns: 120px 1fr;\n gap: 14px;\n align-items: center;\n}\n.docs-tab-row p {\n margin: 0;\n color: var(--color-text-body);\n}\n.docs-links h3 {\n margin: 0 0 8px 0;\n}\n.docs-links ul {\n margin: 0;\n padding-left: 18px;\n}\n.docs-links li {\n margin-bottom: 6px;\n}\n@media (max-width: 720px) {\n .docs-tab-row {\n grid-template-columns: 1fr;\n align-items: flex-start;\n }\n}\ncode:not(pre *) {\n background: var(--color-ink-soft);\n padding: 4px;\n border-radius: calc(4px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n}\n.copy-badge {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n border: 1px dashed var(--color-border-strong);\n border-radius: 999px;\n padding: 4px 10px;\n background: var(--color-surface-muted);\n font-family: inherit;\n font-size: 12px;\n cursor: pointer;\n color: var(--color-text);\n transition: background 120ms ease, border-color 120ms ease;\n}\n.copy-badge code {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 12px;\n color: var(--color-text);\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.copy-badge .copy-label {\n font-weight: 600;\n color: var(--color-text-muted);\n}\n.copy-badge .copy-feedback {\n font-size: 11px;\n color: var(--color-success);\n}\n.copy-badge:hover {\n background: var(--color-border);\n border-color: var(--color-border-emphasis);\n}\n.copy-badge.copied {\n border-color: var(--color-success);\n background: var(--color-success-soft);\n}\n.status-indicator {\n text-transform: capitalize;\n font-size: 13px;\n color: var(--color-text-muted);\n}\n.status-indicator.connected {\n color: var(--color-success);\n}\n.app-main {\n grid-template-columns: 2fr 1fr;\n}\n.chat-column {\n --panel-radius: 16px;\n --panel-padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n min-height: 0;\n overflow-y: auto;\n}\n.calibrate-shell .calibrate-layout {\n grid-template-columns: 280px minmax(0, 1fr);\n width: 100%;\n min-height: 0;\n}\n.verify-shell .verify-layout {\n grid-template-columns: 320px minmax(0, 1fr);\n width: 100%;\n min-height: 0;\n}\n@media (max-width: 1100px) {\n .calibrate-shell .calibrate-layout {\n grid-template-columns: minmax(0, 1fr);\n }\n .calibrate-shell .calibrate-layout .calibrate-drawer {\n position: static;\n max-height: none;\n }\n .verify-shell .verify-layout {\n grid-template-columns: minmax(0, 1fr);\n }\n}\n.calibrate-shell .calibrate-runner {\n flex: 0 0 auto;\n}\n.calibrate-shell .calibrate-results {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n}\n.verify-controls {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.verify-controls-header {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.verify-number-grid {\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 8px;\n}\n.verify-number-field {\n display: flex;\n flex-direction: column;\n gap: 6px;\n font-size: 12px;\n color: var(--color-text-muted);\n font-weight: 600;\n}\n.verify-number-field input {\n border: 1px solid var(--color-border-strong);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 6px 8px;\n background: var(--color-surface);\n color: var(--color-text);\n font-size: 13px;\n}\n.verify-results {\n display: flex;\n flex-direction: column;\n gap: 12px;\n min-height: 0;\n overflow-y: auto;\n}\n.verify-status-row {\n display: flex;\n flex-wrap: wrap;\n align-items: flex-start;\n justify-content: flex-start;\n gap: 10px;\n}\n.verify-status-main {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.verify-status-meta {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.verify-progress-row {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.verify-verdict-badge {\n margin-left: auto;\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n border: 1px solid var(--color-border);\n padding: 4px 8px;\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.02em;\n}\n.verify-verdict-badge--pass {\n background: var(--color-success-soft);\n border-color: var(--color-success-strong);\n color: var(--color-success-strong);\n}\n.verify-verdict-badge--warn {\n background: var(--color-warning-soft);\n border-color: var(--color-warning-border);\n color: var(--color-warning);\n}\n.verify-verdict-badge--fail {\n background: var(--color-danger-soft);\n border-color: var(--color-danger-strong);\n color: var(--color-danger-strong);\n}\n.verify-metric-grid {\n display: grid;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n gap: 8px;\n}\n@media (max-width: 800px) {\n .verify-metric-grid {\n grid-template-columns: minmax(0, 1fr);\n }\n}\n.verify-metric-card {\n border: 1px solid var(--color-border);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 8px;\n background: var(--color-surface-muted);\n}\n.verify-metric-label {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.02em;\n color: var(--color-text-muted);\n}\n.verify-metric-value {\n margin-top: 4px;\n font-size: 20px;\n font-weight: 700;\n color: var(--color-text);\n}\n.verify-sample-size-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n flex-wrap: wrap;\n}\n.verify-sample-size-copy {\n display: flex;\n flex-direction: column;\n}\n.verify-sample-size-row .verify-metric-value {\n margin-top: 4px;\n}\n.verify-sample-scope-select {\n min-width: 170px;\n}\n.verify-sample-scope-select .gds-listbox-field-label {\n display: none;\n}\n.verify-metric-value--compact {\n font-size: 14px;\n}\n.verify-section {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.verify-section-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n flex-wrap: wrap;\n}\n.verify-section-controls {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n}\n.verify-section-sort {\n min-width: 150px;\n}\n.verify-section-sort .gds-listbox-field-label {\n display: none;\n}\n.verify-outlier-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.verify-outlier-card {\n border: 1px solid var(--color-border);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 8px;\n background: var(--color-surface-muted);\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.verify-outlier-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n.verify-outlier-meta {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.verify-outlier-links {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n font-size: 12px;\n}\n.verify-request-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.verify-request-row {\n border: 1px solid var(--color-border);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 6px 8px;\n background: var(--color-surface-muted);\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n font-size: 12px;\n}\n.verify-request-index {\n color: var(--color-text-muted);\n min-width: 28px;\n}\n.verify-request-error {\n color: var(--color-danger-strong);\n}\n.calibrate-run-card {\n border: 1px solid var(--color-border);\n border-radius: calc(14px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n background: var(--color-surface);\n display: flex;\n flex-direction: column;\n gap: 12px;\n padding: 12px;\n}\n.calibrate-run-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n cursor: pointer;\n}\n.calibrate-run-header:hover .calibrate-run-toggle-icon {\n background: var(--color-surface-subtle);\n}\n.calibrate-run-header.active:hover .calibrate-run-toggle-icon {\n background: var(--color-primary-alpha-25);\n}\n.calibrate-run-title {\n font-weight: 700;\n}\n.calibrate-run-title-row {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.calibrate-run-subtitle {\n color: var(--color-text-muted);\n font-size: 12px;\n text-transform: capitalize;\n}\n.calibrate-run-turns {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n.calibrate-run-turn {\n width: 16px;\n height: 16px;\n border-radius: calc(5px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.calibrate-run-turn--pending {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: var(--color-border);\n}\n.calibrate-run-turn--empty {\n background: var(--color-surface-subtle);\n border: 1px solid var(--color-border);\n}\n.calibrate-run-toggle-icon {\n width: 22px;\n height: 22px;\n border-radius: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n background: transparent;\n color: currentColor;\n transition: background 120ms ease, color 120ms ease, transform 200ms ease;\n}\n.calibrate-run-header.active .calibrate-run-toggle-icon {\n color: var(--color-primary);\n background: var(--color-primary-alpha-15);\n transform: rotate(180deg);\n}\n.calibrate-spinner {\n width: 16px;\n height: 16px;\n border-radius: 999px;\n border: 2px solid var(--color-shadow-border);\n border-top-color: var(--color-primary);\n animation: calibrate-spin 0.9s linear infinite;\n}\n.calibrate-spinner--tiny {\n width: 10px;\n height: 10px;\n border-width: 2px;\n}\n@keyframes calibrate-spin {\n to {\n transform: rotate(360deg);\n }\n}\n.calibrate-run-body {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.calibrate-run-section {\n border-top: 1px solid var(--color-border);\n padding-top: 12px;\n}\n.calibrate-run-section:first-child {\n border-top: none;\n padding-top: 0;\n}\n.calibrate-button-meta,\n.workbench-button-meta {\n font-size: 12px;\n text-wrap: pretty;\n margin: 0;\n margin-bottom: 0.5em;\n}\n.workbench-drawer-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n.workbench-drawer-docked {\n width: min(500px, 40vw);\n height: 100%;\n align-self: stretch;\n background: var(--color-surface);\n border-left: 1px solid var(--color-border);\n box-shadow: none;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n min-height: 0;\n overflow: hidden;\n}\n.drawer-section {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding-top: 12px;\n border-top: 1px solid var(--color-border);\n}\n.drawer-section:first-of-type {\n border-top: none;\n padding-top: 0;\n}\n.calibrate-summary-list,\n.workbench-summary-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.calibrate-summary-card,\n.workbench-summary-card {\n border: 1px solid var(--color-border);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 8px;\n background: var(--color-surface-muted);\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.calibrate-summary-score-row,\n.workbench-summary-score-row {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.calibrate-summary-title,\n.workbench-summary-title {\n font-size: 12px;\n font-weight: 700;\n color: var(--color-text);\n}\n.calibrate-summary-subtitle,\n.workbench-summary-subtitle {\n font-size: 11px;\n color: var(--color-text-muted);\n}\n.gds-scrolling-text {\n display: block;\n width: 100%;\n max-width: 100%;\n min-width: 0;\n overflow: hidden;\n vertical-align: bottom;\n}\n.gds-scrolling-text__inner {\n display: block;\n width: 100%;\n max-width: 100%;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n will-change: transform;\n}\n.gds-scrolling-text--overflow:hover {\n overflow: hidden;\n}\n.gds-scrolling-text--overflow:hover .gds-scrolling-text__inner {\n width: max-content;\n max-width: none;\n overflow: visible;\n text-overflow: clip;\n animation: gds-scroll-text var(--gds-scroll-duration, 0s) linear forwards;\n}\n@keyframes gds-scroll-text {\n from {\n transform: translateX(0);\n }\n to {\n transform: translateX(calc(-1 * var(--gds-scroll-distance, 0px)));\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .gds-scrolling-text--overflow:hover .gds-scrolling-text__inner {\n animation: none;\n transform: translateX(0);\n }\n}\n.calibrate-summary-reason,\n.workbench-summary-reason {\n font-size: 12px;\n color: var(--color-text);\n}\n.calibrate-summary-meta,\n.workbench-summary-meta {\n font-size: 11px;\n color: var(--color-text-subtle);\n}\n.chat-row {\n display: flex;\n justify-content: flex-start;\n}\n.bubble {\n background: var(--color-surface-subtle);\n border-radius: calc(16px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 12px;\n width: 100%;\n box-shadow: inset 0 0 0 1px var(--color-border);\n}\n.bubble-user {\n background: var(--color-primary);\n color: var(--color-surface);\n box-shadow: none;\n}\n.bubble-system {\n background: var(--color-surface);\n border: 1px dashed var(--color-border);\n box-shadow: none;\n}\n.bubble-role {\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: var(--color-border-emphasis);\n margin-bottom: 6px;\n}\n.bubble-user .bubble-role {\n color: var(--color-text-on-primary-muted);\n}\n.bubble-text {\n line-height: 1.5;\n}\n.bubble-json {\n background: var(--color-ink-weak);\n padding: 8px;\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n font-size: 12px;\n overflow-x: auto;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n}\n.bubble-reasoning {\n background: var(--color-surface);\n border: 1px solid var(--color-border);\n}\n.bubble-reasoning .bubble-role {\n color: var(--color-text-subtle);\n}\n.reasoning-bubble {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.reasoning-header {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.reasoning-meta {\n font-size: 11px;\n color: var(--color-text-subtle);\n}\n.reasoning-text {\n font-size: 13px;\n line-height: 1.5;\n white-space: pre-wrap;\n word-break: break-word;\n}\n.reasoning-details summary {\n cursor: pointer;\n font-size: 12px;\n color: var(--color-text-subtle);\n}\n.reasoning-details {\n margin-top: 2px;\n}\n.reasoning-collapsible .tool-calls-toggle {\n align-items: flex-start;\n gap: 6px;\n}\n.reasoning-toggle .tool-calls-toggle-label {\n display: block;\n font-weight: 600;\n}\n.reasoning-preview {\n display: block;\n font-size: 12px;\n color: var(--color-text-subtle);\n margin-top: 2px;\n}\n.feedback-controls {\n margin-top: 8px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n opacity: 0.25;\n transition: opacity 120ms ease-in-out;\n}\n.bubble:hover .feedback-controls,\n.feedback-controls:focus-within {\n opacity: 1;\n}\n.imessage-bubble:hover .feedback-controls {\n opacity: 1;\n}\n.feedback-scores {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n.score-button {\n border: 1px solid var(--color-border-strong);\n background: var(--color-surface);\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 4px 10px;\n cursor: pointer;\n font-size: 12px;\n}\n.score-button-active {\n background: var(--color-primary);\n color: var(--color-surface);\n border-color: var(--color-primary);\n}\n.feedback-reason {\n width: 100%;\n min-height: 48px;\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n border: 1px solid var(--color-border-strong);\n padding: 8px;\n resize: vertical;\n box-sizing: border-box;\n font-family: inherit;\n}\n.feedback-status {\n font-size: 11px;\n color: var(--color-border-emphasis);\n}\n.feedback-status.saving {\n color: var(--color-primary);\n}\n.feedback-status.unsaved {\n color: var(--color-warning);\n}\n.feedback-status.error {\n color: var(--color-danger);\n}\n.link-button {\n background: none;\n border: 0;\n color: inherit;\n cursor: pointer;\n font: inherit;\n padding: 0;\n text-decoration: underline;\n}\n.init-panel {\n border: 1px solid var(--color-border);\n border-radius: calc(14px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n background: var(--color-surface-muted);\n padding: 12px;\n margin-bottom: 12px;\n}\n.init-panel summary {\n cursor: pointer;\n font-weight: 700;\n color: var(--color-text);\n}\n.init-panel .hint {\n margin-top: 6px;\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.init-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));\n gap: 10px;\n margin-top: 10px;\n}\n.init-field {\n background: var(--color-surface);\n border: 1px solid var(--color-border);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 10px;\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.init-field label {\n font-weight: 700;\n color: var(--color-text-strong);\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n.badge {\n padding: 2px 8px;\n border-radius: 999px;\n background: var(--color-border);\n color: var(--color-text-muted);\n font-size: 11px;\n font-weight: 800;\n text-transform: uppercase;\n}\n.badge--idle {\n background: var(--color-border);\n color: var(--color-text-muted);\n}\n.badge--running {\n background: var(--color-primary-soft);\n color: var(--color-primary-dark);\n}\n.badge--completed {\n background: var(--color-success-soft);\n color: var(--color-success);\n}\n.badge--error {\n background: var(--color-danger-soft);\n color: var(--color-danger);\n}\n.badge--canceled {\n background: var(--color-warning-soft);\n color: var(--color-warning);\n}\n.badge--ghost {\n background: transparent;\n color: var(--color-text-muted);\n border: 1px solid var(--color-border);\n}\n.init-field input,\n.init-field select,\n.init-field textarea {\n width: 100%;\n border: 1px solid var(--color-border-strong);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 8px;\n box-sizing: border-box;\n font-family: inherit;\n}\n.init-field textarea {\n min-height: 80px;\n resize: vertical;\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n.init-summary-json {\n margin-top: 10px;\n background: var(--color-shadow-soft);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 10px;\n overflow-x: auto;\n font-size: 12px;\n}\n.init-missing {\n margin-top: 8px;\n font-size: 12px;\n color: var(--color-danger);\n}\n.secondary-note {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.trace-panel {\n background: var(--color-surface);\n border-radius: calc(16px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 16px;\n border: 1px solid var(--color-border);\n min-height: 0;\n overflow-y: auto;\n}\n.trace-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-top: 8px;\n}\n.trace-row {\n border: 1px solid var(--color-border);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 8px;\n background: var(--color-surface-muted);\n word-break: break-word;\n overflow-wrap: anywhere;\n}\n.calibrate-result-header {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.calibrate-result-main {\n display: flex;\n gap: 12px;\n align-items: flex-start;\n}\n.calibrate-score-badge,\n.workbench-score-badge {\n min-width: 44px;\n height: 44px;\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n background: var(--color-border);\n color: var(--color-text);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 18px;\n font-weight: 700;\n}\n.calibrate-score-badge--small,\n.workbench-score-badge--small {\n min-width: 22px;\n height: 20px;\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n font-size: 12px;\n}\n.calibrate-score-badge--pending,\n.workbench-score-badge--pending {\n background: var(--color-surface-subtle);\n color: var(--color-text);\n}\n.calibrate-score--positive {\n background: var(--color-success-strong);\n color: var(--color-surface);\n}\n.calibrate-score--negative {\n background: var(--color-danger-strong);\n color: var(--color-surface);\n}\n.calibrate-score--neutral {\n background: var(--color-text-subtle);\n color: var(--color-surface);\n}\n.calibrate-score--empty {\n background: var(--color-border);\n color: var(--color-text);\n}\n.calibrate-result-meta {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.calibrate-result-title {\n display: flex;\n align-items: center;\n gap: 6px;\n font-weight: 700;\n}\n.calibrate-result-reason {\n font-size: 13px;\n color: var(--color-text);\n}\n.calibrate-result-secondary {\n font-size: 12px;\n color: var(--color-text-subtle);\n}\n.calibrate-context {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.calibrate-context-compact {\n margin-top: 8px;\n}\n.calibrate-context-row {\n border: 1px solid var(--color-border);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 8px;\n background: var(--color-surface-muted);\n}\n.calibrate-context-label {\n font-size: 11px;\n font-weight: 700;\n color: var(--color-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.02em;\n}\n.calibrate-context-bubble {\n margin-top: 6px;\n font-size: 13px;\n color: var(--color-text);\n padding: 8px 10px;\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n border: 1px solid var(--color-border);\n background: var(--color-surface);\n}\n.calibrate-context-user {\n background: var(--color-primary-soft);\n border-color: var(--color-primary-alpha-25);\n color: var(--color-text);\n}\n.calibrate-context-assistant {\n background: var(--color-surface-subtle);\n border-color: var(--color-border);\n}\n.calibrate-result-details {\n margin-top: 10px;\n display: grid;\n gap: 10px;\n}\n.trace-row-highlight {\n border-color: var(--color-primary);\n box-shadow: 0 0 0 2px var(--color-primary-ring);\n}\n.calibrate-section-title {\n font-size: 12px;\n font-weight: 700;\n color: var(--color-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.02em;\n margin-bottom: 4px;\n}\n.calibrate-toggle,\n.workbench-toggle {\n padding: 6px 10px;\n font-size: 12px;\n}\n.calibrate-result-actions {\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n}\n.calibrate-flag-reason {\n margin-top: 8px;\n}\n.calibrate-flag-reason label {\n display: flex;\n flex-direction: column;\n gap: 4px;\n font-size: 12px;\n font-weight: 600;\n color: var(--color-text-muted);\n}\n.calibrate-flag-reason textarea {\n border: 1px solid var(--color-border-strong);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 6px 8px;\n font-family: inherit;\n font-size: 12px;\n min-height: 70px;\n resize: vertical;\n}\n.trace-row-user {\n background: var(--color-primary);\n border-color: var(--color-primary);\n color: var(--color-surface);\n}\n.trace-row-user .trace-json {\n color: var(--color-text-on-primary-subtle);\n}\n.trace-json {\n font-size: 11px;\n overflow-x: auto;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n}\n.tool-call-row .imessage-bubble {\n background: var(--color-surface-dark);\n border: 1px solid var(--color-surface-dark-border);\n color: var(--color-text-on-dark);\n}\n.tool-call-bubble {\n width: 100%;\n}\n.tool-call-collapse {\n width: 100%;\n border: none;\n background: none;\n padding: 0;\n text-align: left;\n cursor: pointer;\n font: inherit;\n color: inherit;\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.tool-call-collapse-activity {\n gap: 8px;\n}\n.tool-call-collapse:focus-visible {\n outline: 2px solid var(--color-accent);\n outline-offset: 2px;\n}\n.tool-call-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n}\n.tool-call-header-main {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n min-width: 0;\n}\n.tool-call-title {\n font-size: 13px;\n}\n.tool-call-chevron {\n margin-left: auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n opacity: 0.72;\n transition: transform 140ms ease;\n}\n.tool-call-chevron.is-open {\n transform: rotate(180deg);\n}\n.tool-call-summary {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n}\n.tool-call-name {\n font-size: 12px;\n color: var(--color-text-on-dark-muted);\n}\n.tool-call-handled {\n font-size: 11px;\n font-weight: 700;\n color: var(--color-warning);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n border: 1px solid var(--color-warning-border);\n border-radius: 999px;\n padding: 2px 8px;\n background: var(--color-warning-soft-alt);\n}\n.reasoning-summary {\n font-size: 13px;\n line-height: 1.5;\n white-space: pre-wrap;\n word-break: break-word;\n color: var(--color-text);\n}\n.reasoning-summary > * {\n margin: 0;\n}\n.reasoning-summary ul,\n.reasoning-summary ol {\n padding-left: 18px;\n}\n.reasoning-details-empty {\n font-size: 12px;\n color: var(--color-text-subtle);\n}\n.tool-call-detail {\n margin-top: 8px;\n border-top: 1px solid var(--color-accent-border);\n padding-top: 8px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.tool-call-divider {\n border-top: 1px solid var(--color-border);\n margin: 2px 0;\n}\n.tool-call-field {\n display: flex;\n flex-direction: column;\n}\n.tool-call-field-label {\n font-size: 11px;\n font-weight: 600;\n color: var(--color-text-on-dark-muted);\n margin-bottom: 4px;\n}\n.tool-call-error {\n color: var(--color-danger);\n}\n.tool-calls-collapsible {\n margin: 8px 0;\n}\n.tool-calls-toggle {\n width: 100%;\n border: none;\n background: transparent;\n padding: 8px 0;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 12px;\n color: var(--color-text-muted);\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n}\n.tool-calls-toggle::before,\n.tool-calls-toggle::after {\n content: \"\";\n flex: 1;\n border-top: 1px solid var(--color-border);\n}\n.tool-calls-toggle-label {\n white-space: nowrap;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n}\n.activity-toggle-title {\n color: var(--color-text-muted);\n font-weight: 600;\n}\n.activity-toggle-action {\n color: var(--color-text-muted);\n}\n.activity-count-badge {\n display: inline-flex;\n align-items: center;\n border-color: var(--color-border);\n background: var(--color-surface-subtle);\n color: var(--color-text-muted);\n padding: 1px 8px;\n font-size: 11px;\n font-weight: 600;\n text-transform: none;\n letter-spacing: 0;\n line-height: 1.35;\n}\n.activity-count-badge.is-highlight {\n animation: activity-count-badge-flash 1500ms ease-out;\n}\n@keyframes activity-count-badge-flash {\n 0% {\n background: var(--color-primary-soft);\n border-color: var(--color-primary);\n color: var(--color-primary);\n box-shadow: 0 0 0 2px var(--color-primary);\n }\n 100% {\n background: var(--color-surface-subtle);\n border-color: var(--color-border);\n color: var(--color-text-muted);\n box-shadow: 0 0 0 0 transparent;\n }\n}\n.tool-calls-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-top: 6px;\n}\n.reasoning-collapsible {\n background: #f8fafc;\n border: 1px dashed #cbd5f5;\n border-radius: 12px;\n padding: 8px;\n}\n.reasoning-toggle {\n color: #1e293b;\n}\n.reasoning-list {\n gap: 12px;\n}\n.reasoning-row {\n margin-left: 12px;\n}\n.reasoning-bubble {\n border: 1px solid #e2e8f0;\n background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);\n}\n.reasoning-row .imessage-bubble {\n background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);\n border: 1px solid #e2e8f0;\n color: var(--color-text);\n}\n.reasoning-json {\n background: transparent;\n border: none;\n padding: 0;\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,\n \"Liberation Mono\", \"Courier New\", monospace;\n white-space: pre-wrap;\n}\n.reasoning-details {\n margin-top: 8px;\n}\n.activity-collapsible {\n border: 1px solid var(--color-border);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n background: var(--color-surface-muted);\n padding: 8px 10px;\n position: relative;\n}\n.activity-toggle {\n text-transform: none;\n letter-spacing: 0;\n font-size: 12px;\n gap: 8px;\n padding: 2px 0 4px;\n}\n.activity-toggle.is-open {\n position: sticky;\n top: -6px;\n z-index: 2;\n background: var(--color-surface-muted);\n border-bottom: 1px solid var(--color-border);\n padding-bottom: 6px;\n}\n.activity-toggle::before,\n.activity-toggle::after {\n display: none;\n}\n.activity-toggle-chevron {\n margin-left: auto;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: var(--color-text-subtle);\n transition: transform 140ms ease;\n}\n.activity-toggle.is-open .activity-toggle-chevron {\n transform: rotate(180deg);\n}\n.activity-preview {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.activity-preview-reasoning {\n font-size: 13px;\n color: var(--color-text);\n}\n.activity-preview-reasoning > * {\n margin: 0;\n}\n.activity-preview-tool {\n font-size: 12px;\n color: var(--color-text-muted);\n border: 1px solid var(--color-border);\n background: var(--color-surface-subtle);\n border-radius: 4px;\n padding: 0px 4px;\n margin: -1px 2px;\n}\n.activity-details {\n margin-top: 8px;\n}\n.composer {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.callout {\n color: var(--color-text-muted);\n font-size: 12px;\n line-height: 1.5;\n background: var(--color-surface-subtle);\n border: none;\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 6px 10px;\n}\n.callout--emphasis {\n background: var(--color-primary-alpha-15);\n color: var(--color-primary);\n}\n.callout--danger {\n background: var(--color-danger-soft);\n color: var(--color-text);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n padding: 10px 12px;\n}\n.callout-main {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 12px;\n}\n.callout-body {\n display: flex;\n flex-direction: column;\n gap: 4px;\n min-width: 0;\n}\n.callout-title {\n font-size: 10px;\n font-weight: 700;\n color: var(--color-text-muted);\n}\n.callout-message {\n font-size: 12px;\n color: var(--color-text);\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n}\n.callout--danger .callout-title {\n color: var(--color-danger);\n text-transform: uppercase;\n letter-spacing: 0.03em;\n}\n.callout-actions {\n flex: 0 0 auto;\n}\n.composer-inputs {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.workbench-composer-chip-row {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 8px;\n}\n.workbench-composer-chip {\n display: inline-flex;\n align-items: center;\n gap: 10px;\n border: 1px solid var(--color-border);\n border-radius: calc(999px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n background: var(--color-surface-muted);\n padding: 4px 8px;\n max-width: 100%;\n}\n.workbench-context-chip {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 34px;\n min-height: 20px;\n border-radius: calc(999px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n padding: 2px 8px;\n}\n.workbench-context-chip--error {\n border: 1px solid var(--color-danger);\n background: var(--color-danger-soft);\n color: var(--color-danger);\n}\n.workbench-context-chip--rating {\n border: 1px solid var(--color-border);\n background: var(--color-surface-subtle);\n color: var(--color-text);\n}\n.workbench-context-chip--rating.calibrate-score--positive {\n background: var(--color-success-strong);\n border-color: var(--color-success-strong);\n color: var(--color-surface);\n}\n.workbench-context-chip--rating.calibrate-score--negative {\n background: var(--color-danger-strong);\n border-color: var(--color-danger-strong);\n color: var(--color-surface);\n}\n.workbench-context-chip--rating.calibrate-score--neutral {\n background: var(--color-text-subtle);\n border-color: var(--color-text-subtle);\n color: var(--color-surface);\n}\n.workbench-context-chip--flag {\n border: 1px solid var(--color-border-strong);\n background: var(--color-surface-subtle);\n color: var(--color-text-muted);\n}\n.workbench-context-chip--flag.calibrate-score--positive {\n background: var(--color-success-strong);\n border-color: var(--color-success-strong);\n color: var(--color-surface);\n}\n.workbench-context-chip--flag.calibrate-score--negative {\n background: var(--color-danger-strong);\n border-color: var(--color-danger-strong);\n color: var(--color-surface);\n}\n.workbench-context-chip--flag.calibrate-score--neutral {\n background: var(--color-text-subtle);\n border-color: var(--color-text-subtle);\n color: var(--color-surface);\n}\n.workbench-composer-chip-toggle {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--color-text);\n}\n.workbench-composer-chip-toggle input {\n margin: 0;\n}\n.workbench-composer-chip-remove {\n display: flex;\n color: var(--color-text-muted);\n text-decoration: none;\n}\n.workbench-composer-chip-remove:hover {\n color: var(--color-danger);\n}\n.message-input {\n width: 100%;\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n border: 1px solid var(--color-border-strong);\n padding: 10px;\n resize: vertical;\n font-family: inherit;\n box-sizing: border-box;\n}\n.notes-inline {\n flex: 1;\n min-width: 220px;\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.notes-inline header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 12px;\n}\n.notes-inline label {\n font-size: 13px;\n font-weight: 600;\n color: var(--color-text);\n}\n.notes-inline textarea {\n width: 100%;\n min-height: 80px;\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n border: 1px solid var(--color-border-strong);\n padding: 10px;\n resize: vertical;\n font-family: inherit;\n box-sizing: border-box;\n}\n.notes-inline-status {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.notes-inline-status .state {\n font-weight: 600;\n}\n.notes-inline-status .state.saving {\n color: var(--color-primary);\n}\n.notes-inline-status .state.unsaved {\n color: var(--color-warning);\n}\n.notes-inline-status .state.idle {\n color: var(--color-border-emphasis);\n}\n.notes-inline-status .state.saved {\n color: var(--color-success);\n}\n.rating-controls {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n align-items: center;\n}\n.rating-label {\n font-size: 13px;\n font-weight: 600;\n color: var(--color-text);\n}\n.rating-status {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.rating-button {\n border: 1px solid var(--color-border-strong);\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 4px 10px;\n font-size: 12px;\n background: var(--color-surface);\n cursor: pointer;\n}\n.rating-button.active {\n background: var(--color-primary);\n color: var(--color-surface);\n border-color: var(--color-primary);\n}\n.composer-actions {\n display: flex;\n gap: 10px;\n align-items: stretch;\n}\n.composer-action-slot {\n display: flex;\n min-width: 110px;\n}\n.composer-action-slot-primary {\n justify-content: flex-end;\n}\n.composer-action-placeholder,\n.composer-action-button {\n width: 100%;\n}\n.composer-action-placeholder {\n visibility: hidden;\n}\n.composer-actions button {\n padding: 10px 18px;\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n border: none;\n background: var(--color-primary);\n color: var(--color-surface);\n font-weight: 600;\n cursor: pointer;\n}\n.reset-note {\n font-size: 12px;\n color: var(--color-warning);\n}\n.error {\n color: var(--color-danger);\n font-size: 13px;\n}\n.workbench-transcript-chip-row {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 6px;\n margin-bottom: 6px;\n}\n.workbench-context-chip--transcript {\n font-size: 10px;\n}\n.workbench-error-chip-transcript {\n font-size: 10px;\n}\n.workbench-summary-actions {\n display: flex;\n justify-content: flex-end;\n}\n.session-meta {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.session-link {\n color: var(--color-primary);\n text-decoration: none;\n}\n.session-link:hover {\n text-decoration: underline;\n}\n.session-path code {\n display: inline-block;\n word-break: break-all;\n}\n.sessions-drawer {\n position: fixed;\n inset: 0;\n display: flex;\n z-index: 1000;\n}\n.sessions-drawer-panel {\n width: min(360px, 90vw);\n background: var(--color-surface);\n border-right: 1px solid var(--color-border);\n box-shadow: 12px 0 30px var(--color-shadow-strong);\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n.sessions-drawer-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.sessions-drawer-logo {\n display: inline-flex;\n align-items: center;\n color: var(--color-text);\n}\n.sessions-drawer-logo svg {\n display: block;\n}\n.sessions-drawer-section {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n gap: 10px;\n border-top: 1px solid var(--color-border);\n border-bottom: 1px solid var(--color-border);\n padding: 12px 0;\n}\n.sessions-drawer-section h3 {\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--color-text);\n}\n.sessions-drawer-actions {\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n}\n.sessions-drawer-body {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.sessions-drawer-footer {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.appearance-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 10px;\n}\n.appearance-row-label {\n font-size: 13px;\n font-weight: 600;\n color: var(--color-text);\n}\n.appearance-row-select {\n width: 150px;\n flex: 0 0 auto;\n}\n.sessions-drawer-backdrop {\n flex: 1;\n border: 0;\n padding: 0;\n background: var(--color-overlay);\n cursor: pointer;\n}\n.sessions-list {\n list-style: none;\n padding: 0;\n margin: 0;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.sessions-list li {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n.session-select-button {\n width: 100%;\n text-align: left;\n border: 0;\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 8px 10px;\n background: transparent;\n cursor: pointer;\n display: flex;\n flex-direction: column;\n gap: 2px;\n font-family: inherit;\n box-sizing: border-box;\n}\n.session-select-button.active {\n background: var(--color-border);\n}\n.session-select-button:hover {\n background: var(--color-surface-subtle);\n}\n.session-select-button strong {\n font-weight: 600;\n font-size: 14px;\n color: var(--color-text);\n}\n.session-select-button span {\n font-size: 12px;\n color: var(--color-text-subtle);\n}\n.session-select-button code {\n font-size: 12px;\n color: var(--color-text-subtle);\n}\n.session-delete-button {\n width: 36px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n}\n.session-delete-button svg {\n display: block;\n min-width: 14px;\n}\n.trace-empty, .empty-state {\n padding: 12px;\n color: var(--color-text-muted);\n text-align: center;\n}\n.recent-sessions {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-top: 12px;\n}\n.recent-session-button {\n border: 1px solid var(--color-border-strong);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 10px;\n background: var(--color-surface-muted);\n text-align: left;\n cursor: pointer;\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n.recent-session-button:hover {\n background: var(--color-border);\n}\n.empty-state-actions {\n margin-top: 12px;\n display: flex;\n justify-content: center;\n gap: 10px;\n flex-wrap: wrap;\n}\n.top-nav {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n padding: 12px 16px;\n background: var(--color-surface);\n border-bottom: 1px solid var(--color-border);\n position: sticky;\n top: 0;\n z-index: 10;\n flex-wrap: wrap;\n}\n.top-nav-left {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.top-nav-buttons {\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n flex: 1;\n}\n.tab-anchor-group {\n position: relative;\n}\n.tab-anchor {\n position: relative;\n z-index: 1;\n}\n.tab-anchor-indicator {\n position: absolute;\n inset: 0;\n opacity: 0;\n pointer-events: none;\n background: var(--color-primary-alpha-15);\n border: 0;\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n transition:\n top 180ms ease,\n left 180ms ease,\n width 180ms ease,\n height 180ms ease,\n opacity 120ms ease;\n}\n@supports (anchor-name: --active-tab-anchor) {\n .tab-anchor--active {\n anchor-name: --active-tab-anchor;\n }\n .tab-anchor-indicator {\n position-anchor: --active-tab-anchor;\n top: anchor(top);\n left: anchor(left);\n width: anchor-size(width);\n height: anchor-size(height);\n opacity: 1;\n }\n .tab-anchor-group .gds-button--tab {\n background: transparent;\n border-color: transparent;\n color: var(--color-text);\n }\n .tab-anchor-group .gds-button--tab:hover {\n border-color: var(--color-border-strong);\n background: var(--color-surface-muted);\n }\n .tab-anchor-group .tab-anchor--active.gds-button--tab {\n color: var(--color-primary);\n }\n .tab-anchor-group .tab-anchor--active.gds-button--tab:hover {\n border-color: transparent;\n background: transparent;\n }\n}\n.top-nav-center {\n flex: 0 1 auto;\n display: flex;\n justify-content: center;\n min-width: 160px;\n}\n.top-nav-right {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-wrap: wrap;\n flex: 1;\n justify-content: flex-end;\n}\n.top-nav-deck {\n font-weight: 600;\n color: var(--color-text-subtle);\n font-size: 16px;\n}\n.top-nav-actions {\n display: flex;\n gap: 8px;\n flex-wrap: wrap;\n align-items: center;\n}\n.sessions-toggle {\n gap: 8px;\n}\n.sessions-toggle.active {\n background: var(--color-surface-subtle);\n}\n.calibrate-toggle.active,\n.workbench-toggle.active {\n background: var(--color-primary-alpha-15);\n border-color: var(--color-primary);\n color: var(--color-primary);\n}\n.calibrate-toggle.active:hover,\n.workbench-toggle.active:hover {\n background: var(--color-primary-alpha-25);\n}\n.bundle-stamp {\n font-size: 12px;\n color: var(--color-text-subtle);\n text-align: center;\n margin-top: 8px;\n}\n.panel-tabs {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-bottom: 4px;\n}\n.gds-accordion {\n display: flex;\n flex-direction: column;\n gap: 8px;\n flex: 1;\n min-height: 0;\n}\n.workbench-accordion {\n flex: 1;\n height: 100%;\n min-height: 0;\n}\n.gds-accordion-item {\n border: 1px solid var(--color-border-strong);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n background: var(--color-surface-muted);\n overflow: hidden;\n display: flex;\n flex-direction: column;\n flex: 0 0 auto;\n}\n.gds-accordion.equal-open .gds-accordion-item.open {\n flex: 1 1 0;\n min-height: 0;\n}\n.gds-accordion.equal-open .gds-accordion-content {\n flex: 1;\n min-height: 0;\n overflow: auto;\n}\n.gds-accordion.equal-open .gds-accordion-content-inner {\n flex: 1;\n min-height: 0;\n}\n.gds-accordion-item.open {\n flex: 1 1 auto;\n min-height: 0;\n}\n.gds-accordion-header {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 12px;\n}\n.gds-accordion-trigger {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n background: transparent;\n border: none;\n padding: 0;\n font-weight: 600;\n cursor: pointer;\n color: var(--color-text);\n text-align: left;\n}\n.gds-accordion-trigger--icon {\n flex: 0 0 auto;\n padding: 4px;\n justify-content: center;\n}\n.gds-accordion-trigger:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n.gds-accordion-title {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n.workbench-accordion-title {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n.workbench-chat-history-toggle {\n width: 20px;\n height: 20px;\n border-radius: 999px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border: none;\n background: var(--color-surface-subtle);\n color: var(--color-text);\n cursor: pointer;\n}\n.workbench-chat-history-toggle:hover {\n background: var(--color-surface-muted);\n}\n.workbench-chat-history-arrow {\n transform: rotate(90deg);\n}\n.workbench-chat-panel {\n display: flex;\n flex-direction: column;\n gap: 12px;\n flex: 1;\n min-height: 0;\n position: relative;\n overflow: hidden;\n}\n.workbench-chat-history {\n position: absolute;\n inset: 0;\n overflow: auto;\n padding: 12px;\n background: var(--color-surface-subtle);\n width: 85%;\n}\n.workbench-chat-history-list {\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.workbench-chat-history-row {\n font-size: 12px;\n color: var(--color-text);\n text-align: left;\n background: transparent;\n border: none;\n padding: 0;\n cursor: pointer;\n}\n.workbench-chat-overlay {\n position: relative;\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n}\n.workbench-chat-current {\n position: relative;\n z-index: 1;\n flex: 1;\n height: auto;\n min-height: 0;\n display: flex;\n flex-direction: column;\n transition: transform 220ms ease;\n padding: 12px;\n background: var(--color-surface);\n border-left: 1px solid var(--color-border);\n}\n.workbench-chat-current.is-history {\n transform: translateX(85%);\n}\n.workbench-chat-readonly-overlay {\n position: absolute;\n inset: 0;\n z-index: 2;\n background: rgba(248, 250, 252, 0.88);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px;\n}\n.workbench-chat-readonly-card {\n background: var(--color-surface);\n border: 1px solid var(--color-border);\n border-radius: calc(16px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);\n width: 100%;\n max-width: 640px;\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n text-align: left;\n}\n.workbench-chat-readonly-title {\n margin: 0;\n font-size: 16px;\n}\n.workbench-chat-readonly-copy {\n margin: 0;\n font-size: 13px;\n color: var(--color-text-muted);\n}\n.workbench-chat-start-overlay {\n width: 100%;\n max-width: 640px;\n margin: 0 auto;\n padding: 8px 0 4px;\n}\n.workbench-chat-start-title-block {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.workbench-chat-start-eyebrow {\n margin: 0;\n font-size: 11px;\n font-weight: 700;\n letter-spacing: 0.14em;\n text-transform: uppercase;\n color: var(--color-text-subtle);\n}\n.workbench-chat-start-title {\n display: block;\n font-size: 16px;\n line-height: 1.4;\n font-weight: 600;\n color: var(--color-text-strong);\n}\n.workbench-chat-start-copy-group {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.workbench-chat-start-copy {\n margin: 0;\n font-size: 14px;\n line-height: 1.55;\n color: var(--color-text-body);\n}\n.workbench-chat-start-leading {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-top: 4px;\n}\n.workbench-chat-start-actions {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n margin-top: 8px;\n}\n.workbench-chat-readonly-actions {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 8px;\n}\n.workbench-chat-command-row {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n}\n.workbench-chat-command-code {\n margin: 0;\n flex: 1;\n max-width: 100%;\n padding: 8px 12px;\n border: 1px solid var(--color-border);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n background: var(--color-surface-muted);\n overflow-x: auto;\n}\n.workbench-chat-command-code code {\n font-size: 12px;\n line-height: 1.4;\n white-space: pre-wrap;\n word-break: break-all;\n}\n.gds-accordion .gds-accordion-open-only {\n display: none;\n}\n.gds-accordion-item.open .gds-accordion-open-only {\n display: inline-flex;\n}\n.workbench-chat-header-actions {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n.workbench-provider-select-label {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.workbench-provider-select {\n display: inline-flex;\n align-items: center;\n}\n.workbench-provider-select .gds-listbox-trigger {\n min-width: 120px;\n}\n.gds-accordion-actions {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n}\n.gds-accordion-actions--disabled {\n opacity: 0.6;\n pointer-events: none;\n}\n.gds-accordion-trigger:hover .calibrate-run-toggle-icon {\n background: var(--color-surface-subtle);\n}\n.gds-accordion-item.open .calibrate-run-toggle-icon {\n color: var(--color-primary);\n background: var(--color-primary-alpha-15);\n transform: rotate(180deg);\n}\n.gds-accordion-content {\n border-top: 1px solid var(--color-border);\n padding: 12px;\n flex: 1;\n min-height: 0;\n overflow: auto;\n background: var(--color-surface);\n}\n.gds-accordion-content.workbench-chat-content {\n padding: 0;\n}\n.gds-accordion-content[hidden] {\n display: none;\n}\n.gds-accordion-content-inner {\n display: flex;\n flex-direction: column;\n gap: 12px;\n min-height: 0;\n height: 100%;\n}\n.build-chat-panel {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n position: relative;\n}\n.workbench-chat-current .build-chat-panel {\n height: auto;\n}\n.build-chat-panel .test-bot-thread {\n flex: 1;\n min-height: 0;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n.build-chat-panel .imessage-thread {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n}\n.workbench-chat-current .build-chat-panel .composer {\n flex: 0 0 auto;\n position: sticky;\n bottom: 0;\n z-index: 2;\n background: var(--color-surface);\n border-top: 1px solid var(--color-border);\n padding-top: 8px;\n}\n.workbench-ratings {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n.panel-tab {\n border: 1px solid var(--color-border-strong);\n background: var(--color-surface-muted);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 8px 12px;\n cursor: pointer;\n font-weight: 600;\n}\n.panel-tab.active {\n background: var(--color-primary);\n color: var(--color-surface);\n border-color: var(--color-primary);\n}\n.editor-status {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.editor-main {\n grid-template-columns: 280px minmax(0, 1fr);\n min-height: 0;\n overflow: hidden;\n}\n.build-main {\n grid-template-columns: minmax(0, 1fr);\n}\n.build-chat-panel {\n grid-column: 1 / span 2;\n}\n.build-main .build-chat-panel {\n grid-column: auto;\n}\n.test-bot-sidebar {\n overflow: hidden;\n min-height: 0;\n}\n.flex-row {\n display: flex;\n flex-direction: row;\n}\n.flex-column {\n display: flex;\n flex-direction: column;\n}\n.flex-1 {\n flex: 1;\n}\n.items-center {\n align-items: center;\n}\n.gap-4 {\n gap: 4px;\n}\n.gap-6 {\n gap: 6px;\n}\n.gap-8 {\n gap: 8px;\n}\n.row-reverse {\n flex-direction: row-reverse;\n}\n.wrap {\n flex-wrap: wrap;\n}\n.gds-tooltip-anchor {\n display: inline-flex;\n align-items: center;\n}\n.gds-tooltip {\n position: fixed;\n z-index: 1200;\n max-width: min(320px, calc(100vw - 24px));\n padding: 6px 8px;\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n border: 1px solid var(--color-border-strong);\n background: var(--color-text);\n color: var(--color-surface);\n font-size: 12px;\n line-height: 1.35;\n box-shadow: 0 6px 18px var(--color-shadow-strong);\n pointer-events: none;\n animation: gds-tooltip-fade-in 120ms ease-out;\n}\n.gds-tooltip::after {\n content: \"\";\n position: absolute;\n width: 8px;\n height: 8px;\n background: inherit;\n border: inherit;\n border-top: 0;\n border-left: 0;\n}\n.gds-tooltip--top::after {\n left: 50%;\n bottom: -5px;\n transform: translateX(-50%) rotate(45deg);\n}\n.gds-tooltip--bottom::after {\n left: 50%;\n top: -5px;\n transform: translateX(-50%) rotate(225deg);\n}\n.gds-tooltip--left::after {\n top: 50%;\n right: -5px;\n transform: translateY(-50%) rotate(315deg);\n}\n.gds-tooltip--right::after {\n top: 50%;\n left: -5px;\n transform: translateY(-50%) rotate(135deg);\n}\n@keyframes gds-tooltip-fade-in {\n from {\n opacity: 0;\n filter: saturate(0.8);\n }\n to {\n opacity: 1;\n filter: saturate(1);\n }\n}\n.gds-listbox {\n position: relative;\n}\n.gds-listbox-field-label {\n font-weight: 600;\n font-size: 13px;\n color: var(--color-text);\n margin-bottom: 6px;\n display: inline-flex;\n}\n.gds-listbox-trigger {\n width: 100%;\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n border: 1px solid var(--color-border-strong);\n padding: 8px 30px 8px 10px;\n font-family: inherit;\n background: var(--color-surface);\n cursor: pointer;\n display: flex;\n flex-direction: column;\n gap: 2px;\n text-align: left;\n position: relative;\n}\n.gds-listbox-trigger:hover {\n border-color: var(--color-border-emphasis);\n background: var(--color-surface-muted);\n}\n.gds-listbox-trigger:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n.gds-listbox--size-small .gds-listbox-field-label {\n margin-bottom: 4px;\n font-size: 12px;\n}\n.gds-listbox--size-small .gds-listbox-trigger {\n padding: 4px 28px 4px 10px;\n gap: 0;\n}\n.gds-listbox--size-small .gds-listbox-label {\n font-size: 13px;\n}\n.gds-listbox--size-small .gds-listbox-meta {\n display: none;\n}\n.gds-listbox--size-small .gds-listbox-caret {\n right: 9px;\n}\n.gds-listbox-label {\n font-weight: 600;\n font-size: 14px;\n color: var(--color-text);\n}\n.gds-listbox-meta {\n font-size: 12px;\n color: var(--color-text-subtle);\n}\n.gds-listbox-caret {\n position: absolute;\n right: 10px;\n top: 50%;\n transform: translateY(-50%);\n font-size: 12px;\n color: var(--color-text-subtle);\n}\n.gds-listbox-popover {\n background: var(--color-surface);\n border: 1px solid var(--color-border);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n box-shadow: 0 12px 32px var(--color-shadow-strong);\n z-index: 1100;\n max-height: 260px;\n overflow-y: auto;\n padding: 6px 6px;\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.gds-listbox-header {\n padding: 2px 10px;\n font-size: 11px;\n font-weight: 800;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n color: var(--color-text-subtle);\n}\n.gds-listbox-separator {\n height: 1px;\n background: var(--color-border);\n margin: 4px 4px;\n}\n.gds-listbox-option {\n width: 100%;\n text-align: left;\n border: 0;\n background: transparent;\n padding: 8px 10px;\n cursor: pointer;\n display: flex;\n flex-direction: column;\n gap: 2px;\n font-family: inherit;\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n box-sizing: border-box;\n}\n.gds-listbox-option:hover {\n background: var(--color-surface-subtle);\n}\n.gds-listbox-option[aria-selected=\"true\"] {\n background: var(--color-border);\n}\n.gds-listbox-option-label {\n font-weight: 600;\n font-size: 14px;\n color: var(--color-text);\n}\n.gds-listbox-option-meta {\n font-size: 12px;\n color: var(--color-text-subtle);\n}\n.gds-button {\n border: 1px solid var(--color-border-strong);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n background: var(--color-surface);\n cursor: pointer;\n font-weight: 600;\n font-family: inherit;\n text-decoration: none;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 8px\n}\n.gds-button--tab {\n border-color: transparent;\n}\n.gds-button--tab:hover {\n border-color: transparent;\n}\n.gds-button--tab.gds-button--primary,\n.gds-button--tab.gds-button--primary:hover,\n.gds-button--tab.gds-button--primary-deemph,\n.gds-button--tab.gds-button--primary-deemph:hover,\n.gds-button--tab.gds-button--secondary,\n.gds-button--tab.gds-button--secondary:hover,\n.gds-button--tab.gds-button--ghost,\n.gds-button--tab.gds-button--ghost:hover,\n.gds-button--tab.gds-button--ghost-danger,\n.gds-button--tab.gds-button--ghost-danger:hover,\n.gds-button--tab.gds-button--danger,\n.gds-button--tab.gds-button--danger:hover {\n border-color: transparent;\n}\n.gds-button--size-medium {\n padding: 8px 14px;\n}\n.gds-button--size-large {\n padding: 8px 18px;\n font-size: 18px;\n}\n.gds-button--size-small {\n padding: 4px 10px;\n}\n.gds-button:disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n.gds-button--primary {\n background: var(--color-primary);\n color: var(--color-surface);\n border-color: var(--color-primary);\n}\n.gds-button--primary:hover {\n background: var(--color-primary-strong);\n border-color: var(--color-primary-strong);\n}\n.gds-button--primary-deemph {\n background: var(--color-primary-alpha-15);\n color: var(--color-primary);\n border-color: var(--color-primary);\n}\n.gds-button--primary-deemph:hover {\n background: var(--color-primary-alpha-25);\n}\n.gds-button--secondary {\n background: var(--color-surface-muted);\n color: var(--color-text);\n}\n.gds-button--secondary:hover {\n background: var(--color-border);\n border-color: var(--color-border-emphasis);\n}\n.gds-button--ghost {\n background: transparent;\n border-color: transparent;\n color: var(--color-text);\n}\n.gds-button--ghost:hover {\n border-color: var(--color-border-strong);\n background: var(--color-surface-muted);\n}\n.gds-button--ghost-danger {\n background: transparent;\n border-color: transparent;\n color: var(--color-danger);\n}\n.gds-button--ghost-danger:hover {\n background: var(--color-danger);\n color: var(--color-surface);\n border-color: var(--color-danger);\n}\n.gds-button--danger {\n background: var(--color-danger-soft);\n color: var(--color-danger);\n border-color: var(--color-danger);\n}\n.gds-button--danger:hover {\n background: var(--color-danger);\n color: var(--color-surface);\n border-color: var(--color-danger);\n}\n.gds-list {\n display: flex;\n flex-direction: column;\n gap: 8px;\n overflow-y: auto;\n}\n.gds-list-item {\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 10px;\n background: var(--color-surface-muted);\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n.gds-list-item-button {\n border: none;\n background: none;\n padding: 0;\n text-align: left;\n cursor: pointer;\n}\n.gds-list-item-button > .gds-list-item {\n transition: background 120ms ease;\n}\n.gds-list-item-button:hover > .gds-list-item {\n background: var(--color-surface);\n}\n.gds-list-item-header {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n font-weight: 700;\n color: var(--color-text);\n}\n.gds-list-item-title {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n font-size: 14px;\n}\n.gds-list-item-meta {\n font-size: 12px;\n color: var(--color-text-muted);\n font-weight: 500;\n}\n.gds-list-item-meta code {\n font-size: 12px;\n}\n.gds-list-item-description {\n font-size: 13px;\n color: var(--color-text);\n}\n.imessage-thread {\n flex: 1;\n min-height: 0;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n gap: 10px;\n padding: 6px;\n}\n.test-bot-thread {\n position: relative;\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n gap: 8px;\n}\n.test-bot-thread-overlay {\n position: absolute;\n inset: 0;\n background: rgba(248, 250, 252, 0.86);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px;\n}\n.test-bot-thread-card {\n background: var(--color-surface);\n border: 1px solid var(--color-border);\n border-radius: calc(16px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 16px;\n max-width: 640px;\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 10px;\n text-align: left;\n box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);\n}\n.test-bot-thread-title {\n text-align: center;\n font-size: 16px;\n}\n.test-bot-thread-subtitle {\n text-align: center;\n}\n.test-bot-thread-sections {\n display: flex;\n flex-wrap: wrap;\n gap: 12px;\n}\n.test-bot-thread-section {\n flex: 1 1 220px;\n border: 1px solid var(--color-border);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 10px 12px;\n background: var(--color-surface-muted);\n display: flex;\n flex-direction: column;\n gap: 6px;\n text-wrap: pretty;\n}\n.test-bot-thread-section button {\n margin-top: auto;\n align-self: center;\n}\n.test-bot-thread-section-title {\n font-size: 13px;\n font-weight: 700;\n color: var(--color-text);\n}\n.test-bot-thread-section-body {\n font-size: 12px;\n color: var(--color-text-subtle);\n line-height: 1.45;\n}\n.imessage-row {\n display: flex;\n}\n.imessage-row.left {\n justify-content: flex-start;\n}\n.imessage-row.right {\n justify-content: flex-end;\n}\n.imessage-bubble {\n max-width: min(520px, 85%);\n padding: 10px 12px;\n border-radius: calc(18px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n font-size: 13px;\n line-height: 1.45;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n}\n.imessage-bubble.left {\n background: var(--color-surface-subtle);\n color: var(--color-text);\n border: 1px solid var(--color-border);\n border-bottom-left-radius: 6px;\n}\n.imessage-bubble.reasoning-bubble {\n background: var(--color-surface);\n border: 1px solid var(--color-border-strong);\n}\n.imessage-bubble.right {\n background: var(--color-primary-soft);\n color: var(--color-text);\n border: 1px solid var(--color-primary-alpha-25);\n border-bottom-right-radius: 6px;\n}\n.build-chat-activity-indicator {\n position: relative;\n overflow: hidden;\n border: 1px solid var(--color-border-strong);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n background: var(--color-surface-muted);\n padding: 8px 10px;\n display: flex;\n align-items: center;\n gap: 8px;\n min-height: 36px;\n}\n.build-chat-activity-sticky {\n position: sticky;\n bottom: 0;\n z-index: 3;\n}\n.build-chat-activity-indicator-thinking {\n border-color: var(--color-primary-alpha-25);\n}\n.build-chat-activity-indicator-responding {\n border-color: var(--color-accent-border);\n}\n.build-chat-activity-glimmer {\n position: absolute;\n inset: 0;\n pointer-events: none;\n opacity: 0.5;\n background:\n linear-gradient(\n 110deg,\n rgba(255, 255, 255, 0) 0%,\n rgba(255, 255, 255, 0.36) 40%,\n rgba(255, 255, 255, 0) 75%\n );\n transform: translateX(-100%);\n animation: build-chat-glimmer 1.6s ease-in-out infinite;\n}\n.build-chat-activity-spinner {\n width: 14px;\n height: 14px;\n border-radius: 999px;\n border: 2px solid var(--color-primary-alpha-25);\n border-top-color: var(--color-primary);\n position: relative;\n z-index: 1;\n flex: 0 0 auto;\n animation: build-chat-spinner 0.8s linear infinite;\n}\n.build-chat-activity-label,\n.build-chat-activity-timer {\n position: relative;\n z-index: 1;\n}\n.build-chat-activity-label {\n font-size: 12px;\n color: var(--color-text-body);\n font-weight: 600;\n}\n.build-chat-activity-timer {\n margin-left: auto;\n font-size: 12px;\n color: var(--color-text-muted);\n font-variant-numeric: tabular-nums;\n}\n@keyframes build-chat-glimmer {\n 0% {\n transform: translateX(-100%);\n }\n 100% {\n transform: translateX(120%);\n }\n}\n@keyframes build-chat-spinner {\n to {\n transform: rotate(360deg);\n }\n}\n@media (prefers-reduced-motion: reduce) {\n .build-chat-activity-glimmer {\n animation: none;\n opacity: 0;\n }\n}\n.imessage-row.left .imessage-bubble.right {\n border-bottom-right-radius: 18px;\n border-bottom-left-radius: 6px;\n}\n.imessage-row.right .imessage-bubble.left {\n border-bottom-left-radius: 18px;\n border-bottom-right-radius: 6px;\n}\n.imessage-bubble-muted {\n opacity: 0.7;\n font-size: 12px;\n background: var(--color-surface-muted);\n border-color: var(--color-border);\n}\n.build-files-panel {\n overflow: hidden;\n padding: 0;\n}\n.build-files-browser {\n display: grid;\n grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);\n gap: 8px;\n min-height: 0;\n flex: 1;\n}\n.build-files-list {\n border: 1px solid var(--color-border-strong);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 6px;\n background: var(--color-surface-muted);\n overflow-y: auto;\n min-height: 0;\n}\n.build-files-preview {\n background: var(--color-surface);\n display: flex;\n flex-direction: column;\n flex: 1;\n min-height: 0;\n overflow: hidden;\n}\n.build-files-preview-header {\n padding: 8px;\n border-bottom: 1px solid var(--color-border);\n background: var(--color-surface-muted);\n}\n.build-files-preview-controls {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 10px;\n justify-content: space-between;\n}\n.build-files-preview-selector {\n flex: 1;\n min-width: 0;\n}\n.build-files-preview-actions {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 8px;\n flex-shrink: 0;\n}\n.build-files-preview-body {\n padding: 8px 16px;\n overflow: auto;\n flex: 1;\n min-height: 0;\n}\n.build-file-preview {\n font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco,\n Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-size: 12px;\n line-height: 1.4;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n}\n.build-file-row {\n width: 100%;\n border: none;\n background: none;\n text-align: left;\n padding: 6px 8px;\n border-radius: calc(8px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n display: flex;\n flex-direction: column;\n gap: 2px;\n font-family: inherit;\n}\n.build-file-item {\n cursor: pointer;\n}\n.build-file-item:hover {\n background: var(--color-surface);\n}\n.build-file-item.active {\n background: var(--color-primary-alpha-15);\n color: var(--color-primary);\n}\n.build-file-dir {\n color: var(--color-text-muted);\n font-weight: 600;\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 6px;\n}\n.build-file-name {\n font-size: 13px;\n font-weight: 600;\n}\n.build-file-meta {\n font-size: 11px;\n color: var(--color-text-muted);\n}\n.build-file-icon {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.build-file-selected {\n font-size: 12px;\n}\n.build-file-size {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.build-audit-trail {\n display: flex;\n flex-direction: column;\n gap: 8px;\n min-height: 0;\n}\n.build-audit-row {\n border: 1px solid var(--color-border-strong);\n border-radius: calc(10px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 8px;\n background: var(--color-surface-muted);\n display: flex;\n flex-direction: column;\n gap: 4px;\n text-align: left;\n cursor: pointer;\n font-family: inherit;\n}\n.build-audit-row:hover {\n background: var(--color-surface);\n}\n.build-audit-summary {\n font-weight: 700;\n color: var(--color-text);\n}\n.build-audit-meta {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n.patch-card {\n border: 1px solid var(--color-border-strong);\n border-radius: calc(12px * var(--corner-radius-scale, 1));\n corner-shape: squircle;\n padding: 10px;\n background: var(--color-surface-muted);\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.patch-summary {\n font-weight: 700;\n color: var(--color-text);\n}\n.patch-meta {\n font-size: 12px;\n color: var(--color-text-muted);\n}\n";
2
2
  //# sourceMappingURL=styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/simulator-ui/src/styles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,0t0EAivGxB,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/simulator-ui/src/styles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,0g3EAkzGxB,CAAC"}
@@ -1862,6 +1862,21 @@ code:not(pre *) {
1862
1862
  .composer-actions {
1863
1863
  display: flex;
1864
1864
  gap: 10px;
1865
+ align-items: stretch;
1866
+ }
1867
+ .composer-action-slot {
1868
+ display: flex;
1869
+ min-width: 110px;
1870
+ }
1871
+ .composer-action-slot-primary {
1872
+ justify-content: flex-end;
1873
+ }
1874
+ .composer-action-placeholder,
1875
+ .composer-action-button {
1876
+ width: 100%;
1877
+ }
1878
+ .composer-action-placeholder {
1879
+ visibility: hidden;
1865
1880
  }
1866
1881
  .composer-actions button {
1867
1882
  padding: 10px 18px;
@@ -2403,6 +2418,55 @@ code:not(pre *) {
2403
2418
  font-size: 13px;
2404
2419
  color: var(--color-text-muted);
2405
2420
  }
2421
+ .workbench-chat-start-overlay {
2422
+ width: 100%;
2423
+ max-width: 640px;
2424
+ margin: 0 auto;
2425
+ padding: 8px 0 4px;
2426
+ }
2427
+ .workbench-chat-start-title-block {
2428
+ display: flex;
2429
+ flex-direction: column;
2430
+ gap: 8px;
2431
+ }
2432
+ .workbench-chat-start-eyebrow {
2433
+ margin: 0;
2434
+ font-size: 11px;
2435
+ font-weight: 700;
2436
+ letter-spacing: 0.14em;
2437
+ text-transform: uppercase;
2438
+ color: var(--color-text-subtle);
2439
+ }
2440
+ .workbench-chat-start-title {
2441
+ display: block;
2442
+ font-size: 16px;
2443
+ line-height: 1.4;
2444
+ font-weight: 600;
2445
+ color: var(--color-text-strong);
2446
+ }
2447
+ .workbench-chat-start-copy-group {
2448
+ display: flex;
2449
+ flex-direction: column;
2450
+ gap: 8px;
2451
+ }
2452
+ .workbench-chat-start-copy {
2453
+ margin: 0;
2454
+ font-size: 14px;
2455
+ line-height: 1.55;
2456
+ color: var(--color-text-body);
2457
+ }
2458
+ .workbench-chat-start-leading {
2459
+ display: flex;
2460
+ flex-direction: column;
2461
+ gap: 8px;
2462
+ margin-top: 4px;
2463
+ }
2464
+ .workbench-chat-start-actions {
2465
+ display: flex;
2466
+ align-items: center;
2467
+ justify-content: flex-start;
2468
+ margin-top: 8px;
2469
+ }
2406
2470
  .workbench-chat-readonly-actions {
2407
2471
  display: flex;
2408
2472
  flex-wrap: wrap;
@@ -2499,6 +2563,7 @@ code:not(pre *) {
2499
2563
  min-height: 0;
2500
2564
  display: flex;
2501
2565
  flex-direction: column;
2566
+ position: relative;
2502
2567
  }
2503
2568
  .workbench-chat-current .build-chat-panel {
2504
2569
  height: auto;
@@ -0,0 +1,89 @@
1
+ import { type BuildDisplayMessage, type FeedbackEntry } from "./utils.js";
2
+ type TranscriptFeedback = {
3
+ id: string;
4
+ runId: string;
5
+ messageRefId: string;
6
+ score: number;
7
+ reason?: string | null;
8
+ createdAt?: string | null;
9
+ };
10
+ type TranscriptGraphqlEntry = {
11
+ asWorkspaceConversationTranscriptMessage?: {
12
+ id?: string | null;
13
+ role?: string | null;
14
+ content?: string | null;
15
+ messageRefId?: string | null;
16
+ feedbackEligible?: boolean | null;
17
+ feedback?: TranscriptFeedback | null;
18
+ } | null;
19
+ asWorkspaceConversationTranscriptReasoning?: {
20
+ id?: string | null;
21
+ summary?: string | null;
22
+ reasoningType?: string | null;
23
+ } | null;
24
+ asWorkspaceConversationTranscriptToolCall?: {
25
+ id?: string | null;
26
+ toolCallId?: string | null;
27
+ toolName?: string | null;
28
+ status?: string | null;
29
+ argumentsText?: string | null;
30
+ resultText?: string | null;
31
+ error?: string | null;
32
+ } | null;
33
+ } | null | undefined;
34
+ export type ParsedTranscriptEntry = {
35
+ kind: "message";
36
+ id: string;
37
+ role: "user" | "assistant";
38
+ content: string;
39
+ messageRefId?: string;
40
+ feedbackEligible: boolean;
41
+ feedback?: FeedbackEntry;
42
+ } | {
43
+ kind: "reasoning";
44
+ id: string;
45
+ summary: string;
46
+ reasoningType?: string | null;
47
+ } | {
48
+ kind: "tool";
49
+ id: string;
50
+ toolCallId: string;
51
+ toolName: string;
52
+ status: "RUNNING" | "COMPLETED" | "ERROR";
53
+ argumentsText?: string | null;
54
+ resultText?: string | null;
55
+ error?: string | null;
56
+ };
57
+ export type OptimisticTranscriptEntry = {
58
+ __typename: "WorkspaceConversationTranscriptMessage";
59
+ id: string;
60
+ role: "user" | "assistant";
61
+ content: string;
62
+ messageRefId?: string | null;
63
+ feedbackEligible: boolean;
64
+ feedback: TranscriptFeedback | null;
65
+ } | {
66
+ __typename: "WorkspaceConversationTranscriptReasoning";
67
+ id: string;
68
+ summary: string;
69
+ reasoningType?: string | null;
70
+ } | {
71
+ __typename: "WorkspaceConversationTranscriptToolCall";
72
+ id: string;
73
+ toolCallId: string;
74
+ toolName: string;
75
+ status: "RUNNING" | "COMPLETED" | "ERROR";
76
+ argumentsText?: string | null;
77
+ resultText?: string | null;
78
+ error?: string | null;
79
+ };
80
+ export declare function parseTranscriptEntries(entries: ReadonlyArray<TranscriptGraphqlEntry> | null | undefined): Array<ParsedTranscriptEntry>;
81
+ export declare function getTranscriptMessages(entries: ReadonlyArray<ParsedTranscriptEntry>): Array<Extract<ParsedTranscriptEntry, {
82
+ kind: "message";
83
+ }>>;
84
+ export declare function countTranscriptMessages(entries: ReadonlyArray<ParsedTranscriptEntry>): number;
85
+ export declare function countTranscriptUserMessages(entries: ReadonlyArray<ParsedTranscriptEntry>): number;
86
+ export declare function toOptimisticTranscriptEntries(entries: ReadonlyArray<ParsedTranscriptEntry>): Array<OptimisticTranscriptEntry>;
87
+ export declare function toBuildDisplayEntries(entries: ReadonlyArray<ParsedTranscriptEntry>): Array<BuildDisplayMessage>;
88
+ export {};
89
+ //# sourceMappingURL=transcriptEntries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcriptEntries.d.ts","sourceRoot":"","sources":["../../../src/simulator-ui/src/transcriptEntries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAE1E,KAAK,kBAAkB,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,KAAK,sBAAsB,GACvB;IACA,wCAAwC,CAAC,EAAE;QACzC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;QAClC,QAAQ,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;KACtC,GAAG,IAAI,CAAC;IACT,0CAA0C,CAAC,EAAE;QAC3C,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,GAAG,IAAI,CAAC;IACT,yCAAyC,CAAC,EAAE;QAC1C,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,GAAG,IAAI,CAAC;CACV,GACC,IAAI,GACJ,SAAS,CAAC;AAEd,MAAM,MAAM,qBAAqB,GAC7B;IACA,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B,GACC;IACA,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,GACC;IACA,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEJ,MAAM,MAAM,yBAAyB,GACjC;IACA,UAAU,EAAE,wCAAwC,CAAC;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACrC,GACC;IACA,UAAU,EAAE,0CAA0C,CAAC;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,GACC;IACA,UAAU,EAAE,yCAAyC,CAAC;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAmCJ,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,aAAa,CAAC,sBAAsB,CAAC,GAAG,IAAI,GAAG,SAAS,GAChE,KAAK,CAAC,qBAAqB,CAAC,CAyC9B;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,aAAa,CAAC,qBAAqB,CAAC,GAC5C,KAAK,CAAC,OAAO,CAAC,qBAAqB,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC,CAM5D;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,aAAa,CAAC,qBAAqB,CAAC,GAC5C,MAAM,CAER;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,aAAa,CAAC,qBAAqB,CAAC,GAC5C,MAAM,CAQR;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,aAAa,CAAC,qBAAqB,CAAC,GAC5C,KAAK,CAAC,yBAAyB,CAAC,CA0ClC;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,aAAa,CAAC,qBAAqB,CAAC,GAC5C,KAAK,CAAC,mBAAmB,CAAC,CAwC5B"}