@vgai/editor 0.2.0 → 0.4.0-canary.20260715.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/README.md +24 -0
  2. package/dist/assets/axe-C7YBtOuM.js +30 -0
  3. package/dist/assets/browserAll-DDtGGE48.js +1 -0
  4. package/dist/assets/create-runtime-DbTlBlKG.js +1 -0
  5. package/dist/assets/{game-BI111o5f.js → game-BE0r7DMI.js} +3 -3
  6. package/dist/assets/game-BdTHR2_X.js +1 -0
  7. package/dist/assets/{game-pt_1lQLv.js → game-C3iQGSqo.js} +1 -1
  8. package/dist/assets/game-CcHfYxjP.js +1 -0
  9. package/dist/assets/game-Cqzj_lpD.js +1 -0
  10. package/dist/assets/game-DSZdeCHu.js +1 -0
  11. package/dist/assets/game-Dch9sAPc.js +1 -0
  12. package/dist/assets/{game-xsOho_wg.js → game-SAFn90pA.js} +3 -3
  13. package/dist/assets/game-loop-DMIgSMV-.js +1 -0
  14. package/dist/assets/{game-source-CvidN7AB.js → game-source-Dk83w26t.js} +1 -1
  15. package/dist/assets/{index-Bp5cecD6.js → index-4idIsHHJ.js} +2 -2
  16. package/dist/assets/{index-DL7RcQ0n.js → index-C-LhOTBN.js} +1 -1
  17. package/dist/assets/{index-Cs8xwv3e.js → index-CDkxceqE.js} +1 -1
  18. package/dist/assets/index-CQEfi217.js +15412 -0
  19. package/dist/assets/index-Dvi-V0NE.css +1 -0
  20. package/dist/assets/ingest-siblings-s0P5I1Ub.js +1 -0
  21. package/dist/assets/mount-manifest-DXMOlF79.js +1 -0
  22. package/dist/assets/react-18-C9eHn8x1.js +1 -0
  23. package/dist/assets/webworkerAll-Fn0e-ouF.js +1 -0
  24. package/dist/assets/world-documents-GM0a9Kv7.js +1 -0
  25. package/dist/index.html +15 -13
  26. package/dist/ingest/racing-game/vgai.game.json +5 -4
  27. package/dist/ingest/simcity/vgai.game.json +5 -4
  28. package/dist/ingest/tanks/vgai.game.json +5 -4
  29. package/dist/project-scripts.bundle.js +3917 -0
  30. package/dist/scenes/untitled.vscn.json +2 -0
  31. package/dist-server/packaged.mjs +7697 -3435
  32. package/package.json +31 -4
  33. package/scripts/probe-reporter.ts +349 -0
  34. package/scripts/run-probe.ts +2260 -0
  35. package/server/asset-catalog-audit.ts +268 -0
  36. package/server/asset-catalog-v2.ts +146 -0
  37. package/server/asset-library-routes.ts +276 -58
  38. package/server/canonical-path.ts +1 -1
  39. package/server/dev.ts +148 -44
  40. package/server/editor-server.ts +888 -61
  41. package/server/editor-sse.ts +115 -4
  42. package/server/harness-chat-service.ts +796 -0
  43. package/server/local-asset-catalog.ts +157 -22
  44. package/server/packaged.ts +51 -21
  45. package/server/process-shutdown.ts +136 -0
  46. package/server/prod.ts +9 -6
  47. package/server/project-hmr-files.ts +41 -0
  48. package/server/project-operations.ts +343 -0
  49. package/server/project-optimize-deps-entries.ts +4 -4
  50. package/server/project-output-writer.ts +156 -0
  51. package/server/project-validation.ts +140 -0
  52. package/server/project-view.ts +8 -50
  53. package/server/server-utils.ts +75 -10
  54. package/server/session-registry.ts +12 -0
  55. package/src/EditorContext.tsx +107 -3
  56. package/src/action-registry.ts +115 -17
  57. package/src/adapter-resolver.ts +213 -478
  58. package/src/asset-events.ts +64 -1
  59. package/src/asset-preview.ts +906 -0
  60. package/src/asset-selection.ts +121 -0
  61. package/src/asset-workflow/asset-capabilities.ts +259 -0
  62. package/src/asset-workflow/asset-editor-errors.ts +46 -0
  63. package/src/asset-workflow/asset-import-pipeline.ts +176 -0
  64. package/src/asset-workflow/asset-library-query.ts +107 -0
  65. package/src/asset-workflow/asset-types.ts +192 -0
  66. package/src/asset-workflow/asset-workflow-quality.ts +65 -0
  67. package/src/asset-workflow/import-contract.ts +113 -0
  68. package/src/asset-workflow/model-conversion.ts +126 -0
  69. package/src/asset-workflow/model-inspection.ts +185 -0
  70. package/src/asset-workflow/project-asset-commands.ts +23 -0
  71. package/src/asset-workflow/project-asset-health.ts +153 -0
  72. package/src/asset-workflow/project-asset-operations.ts +119 -0
  73. package/src/asset-workflow/thumbnail-system.ts +172 -0
  74. package/src/authoring/active-systems.ts +15 -0
  75. package/src/authoring/boundary-authoring-adapter.ts +16 -5
  76. package/src/authoring/composite-authoring-adapter.ts +305 -124
  77. package/src/authoring/design-time-layers.ts +300 -117
  78. package/src/authoring/edit-mode-authoring.ts +278 -293
  79. package/src/authoring/embed-only-adapter.ts +4 -2
  80. package/src/authoring/first-party-hierarchy-menu.ts +7 -2
  81. package/src/authoring/first-party-inspector/AddSectionMenu.tsx +5 -12
  82. package/src/authoring/first-party-inspector/EnvironmentSection.tsx +53 -126
  83. package/src/authoring/first-party-inspector/HeaderSection.tsx +54 -65
  84. package/src/authoring/first-party-inspector/is-first-party-selection.ts +30 -11
  85. package/src/authoring/first-party-inspector/register.tsx +13 -2
  86. package/src/authoring/ingest-authoring-adapter.ts +142 -45
  87. package/src/authoring/mount-failure-report.ts +5 -5
  88. package/src/authoring/provenance.ts +41 -0
  89. package/src/authoring/react-dom-authoring-adapter.ts +92 -92
  90. package/src/authoring/react-inspector-section.tsx +489 -51
  91. package/src/authoring/react-world-authoring-adapter.ts +541 -306
  92. package/src/authoring/story-overlay.ts +1 -1
  93. package/src/authoring/story-types.ts +11 -0
  94. package/src/authoring/vgai-scene-authoring-adapter.ts +54 -25
  95. package/src/authoring/viewport-tool-context.ts +78 -0
  96. package/src/authoring/world-canvas-viewport-state.ts +35 -0
  97. package/src/authoring/world-hidden-viewport.ts +186 -0
  98. package/src/authoring/world-pan-state.ts +33 -17
  99. package/src/authoring/world-session-state.ts +1 -1
  100. package/src/authoring/world2d-authoring-adapter.ts +109 -52
  101. package/src/availability-tick.ts +56 -0
  102. package/src/browser-play-entry.ts +5 -5
  103. package/src/browser-project-scripts.ts +1 -0
  104. package/src/build-identity.ts +15 -0
  105. package/src/command-listener.ts +893 -19
  106. package/src/components/AlignToolbar.tsx +74 -63
  107. package/src/components/AppRoot.tsx +193 -26
  108. package/src/components/ApplicationMenus.tsx +272 -0
  109. package/src/components/AssetBrowser.tsx +1450 -293
  110. package/src/components/AssetEditorShell.tsx +141 -0
  111. package/src/components/AssetImportDetails.tsx +218 -0
  112. package/src/components/AssetLibraryPanel.tsx +14 -0
  113. package/src/components/CameraInfo.tsx +11 -20
  114. package/src/components/CenterDocuments.tsx +585 -0
  115. package/src/components/CommandPalette.tsx +75 -30
  116. package/src/components/ConsolePanel.css +55 -0
  117. package/src/components/ConsolePanel.tsx +57 -112
  118. package/src/components/DebugConsolePanel.tsx +461 -0
  119. package/src/components/DebuggerPanel.tsx +165 -0
  120. package/src/components/DefaultEditorLayout.tsx +167 -231
  121. package/src/components/GameHierarchy.tsx +873 -290
  122. package/src/components/GamePerformanceOverlay.tsx +46 -0
  123. package/src/components/HarnessChatPanel.tsx +2352 -0
  124. package/src/components/HistoryPanel.tsx +226 -0
  125. package/src/components/Inspector.tsx +153 -99
  126. package/src/components/InspectorToolSection.tsx +6 -4
  127. package/src/components/MountFailureBanner.tsx +31 -48
  128. package/src/components/NetworkSection.tsx +25 -14
  129. package/src/components/OnlineAssetBrowser.tsx +794 -343
  130. package/src/components/OverlayReportBanner.tsx +38 -64
  131. package/src/components/PerformancePanel.tsx +206 -0
  132. package/src/components/PlayBar.tsx +93 -263
  133. package/src/components/PrefabSaveDialog.tsx +55 -127
  134. package/src/components/ProjectHeader.css +60 -0
  135. package/src/components/ProjectHeader.tsx +170 -105
  136. package/src/components/ProjectScreen.tsx +246 -184
  137. package/src/components/ReactCanvasControls.tsx +185 -0
  138. package/src/components/ResolutionPicker.tsx +85 -0
  139. package/src/components/RootActivateDialog.tsx +39 -68
  140. package/src/components/SaveDialog.tsx +55 -127
  141. package/src/components/SaveStatus.tsx +11 -29
  142. package/src/components/StartupLoadingScreen.tsx +96 -0
  143. package/src/components/StateWatchPanel.tsx +302 -0
  144. package/src/components/StatsOverlay.tsx +12 -5
  145. package/src/components/StatusBar.tsx +64 -0
  146. package/src/components/ThemeManagerDialog.css +89 -0
  147. package/src/components/ThemeManagerDialog.tsx +371 -0
  148. package/src/components/ToolHost.tsx +26 -15
  149. package/src/components/Toolbar.tsx +117 -214
  150. package/src/components/VgaiVoxelLogo.tsx +89 -0
  151. package/src/components/ViewportOverlay.tsx +97 -172
  152. package/src/components/ViewportPanel.tsx +130 -31
  153. package/src/components/WorkspaceDock.tsx +891 -0
  154. package/src/components/WorldSelectionOverlay.tsx +51 -63
  155. package/src/components/WorldTextEditor.tsx +9 -5
  156. package/src/components/asset-documents.tsx +390 -0
  157. package/src/components/asset-editor-persistence.ts +44 -0
  158. package/src/components/asset-selection-section.tsx +338 -0
  159. package/src/components/asset-viewers/AudioViewer.tsx +73 -21
  160. package/src/components/asset-viewers/GenericJsonViewer.tsx +26 -11
  161. package/src/components/asset-viewers/ImageViewer.tsx +43 -11
  162. package/src/components/asset-viewers/InputMapViewer.tsx +512 -134
  163. package/src/components/asset-viewers/MaterialAssetEditor.tsx +540 -0
  164. package/src/components/asset-viewers/ModelViewer.tsx +805 -121
  165. package/src/components/asset-viewers/OnlineAssetDetail.tsx +177 -60
  166. package/src/components/asset-viewers/SourceAssetViewer.tsx +121 -0
  167. package/src/components/asset-workflow.css +506 -0
  168. package/src/components/build-documents.tsx +696 -0
  169. package/src/components/core-utilities.tsx +75 -0
  170. package/src/components/data-documents.tsx +364 -0
  171. package/src/components/{DataPanel.tsx → data-editor.tsx} +138 -288
  172. package/src/components/debugger-panel-state.ts +57 -0
  173. package/src/components/inspector-widgets/AlignmentGrid.tsx +8 -14
  174. package/src/components/inspector-widgets/BorderEditor.tsx +41 -33
  175. package/src/components/inspector-widgets/ColorPicker.tsx +39 -39
  176. package/src/components/inspector-widgets/FontPicker.tsx +13 -21
  177. package/src/components/inspector-widgets/GradientEditor.tsx +11 -19
  178. package/src/components/inspector-widgets/ScrubbableInput.tsx +6 -3
  179. package/src/components/inspector-widgets/ShadowEditor.tsx +20 -33
  180. package/src/components/inspector-widgets/shared.tsx +90 -49
  181. package/src/components/inspectors/AnimationSection.tsx +39 -40
  182. package/src/components/inspectors/AudioSection.tsx +28 -39
  183. package/src/components/inspectors/BoneAttachmentSection.tsx +19 -24
  184. package/src/components/inspectors/CameraSection.tsx +14 -23
  185. package/src/components/inspectors/ComponentsSection.tsx +39 -43
  186. package/src/components/inspectors/JointsSection.tsx +34 -43
  187. package/src/components/inspectors/LightSection.tsx +90 -35
  188. package/src/components/inspectors/MaterialSection.tsx +137 -174
  189. package/src/components/inspectors/MeshSection.tsx +9 -17
  190. package/src/components/inspectors/NavigationSection.tsx +8 -15
  191. package/src/components/inspectors/ParticleSection.tsx +91 -76
  192. package/src/components/inspectors/PhysicsSection.tsx +42 -46
  193. package/src/components/inspectors/PostProcessingSection.tsx +28 -36
  194. package/src/components/inspectors/RenderingSection.tsx +12 -20
  195. package/src/components/inspectors/ShadowSection.tsx +7 -8
  196. package/src/components/inspectors/SplineSection.tsx +31 -42
  197. package/src/components/inspectors/TransformSection.tsx +14 -22
  198. package/src/components/patterns/Dialog.tsx +95 -0
  199. package/src/components/patterns/Fields.tsx +44 -0
  200. package/src/components/patterns/List.tsx +25 -0
  201. package/src/components/patterns/StateSurface.tsx +40 -0
  202. package/src/components/patterns/Surfaces.tsx +115 -0
  203. package/src/components/patterns/Tabs.tsx +80 -0
  204. package/src/components/patterns/Toolbar.tsx +51 -0
  205. package/src/components/patterns/Tree.tsx +72 -0
  206. package/src/components/primitives/Button.tsx +46 -0
  207. package/src/components/primitives/ColorInput.tsx +11 -47
  208. package/src/components/primitives/EditorIcon.tsx +99 -0
  209. package/src/components/primitives/FormControls.tsx +71 -0
  210. package/src/components/primitives/JsonInput.tsx +15 -2
  211. package/src/components/primitives/Layout.tsx +100 -0
  212. package/src/components/primitives/Menu.tsx +105 -0
  213. package/src/components/primitives/NumberInput.tsx +8 -35
  214. package/src/components/primitives/Panel.tsx +49 -44
  215. package/src/components/primitives/SectionHeader.tsx +10 -28
  216. package/src/components/primitives/Text.tsx +46 -0
  217. package/src/components/primitives/Tooltip.tsx +20 -12
  218. package/src/components/primitives/Vec3Input.tsx +3 -0
  219. package/src/components/primitives/banner-tones.ts +33 -0
  220. package/src/components/primitives/editor-icons.ts +102 -0
  221. package/src/components/primitives/panel-header-styles.ts +30 -0
  222. package/src/components/project-operation-documents.tsx +226 -0
  223. package/src/components/status-contributions.tsx +175 -0
  224. package/src/components/story-documents-register.ts +15 -0
  225. package/src/components/story-documents.tsx +1185 -0
  226. package/src/components/tool-documents.tsx +110 -0
  227. package/src/components/workspace-dock.css +293 -0
  228. package/src/components/workspace-history.ts +33 -0
  229. package/src/components/world-documents.tsx +145 -0
  230. package/src/components/xstate-documents.tsx +209 -0
  231. package/src/composite-screenshot.ts +248 -0
  232. package/src/design-system/index.ts +70 -0
  233. package/src/design-system-stories/Foundation.stories.tsx +183 -0
  234. package/src/design-system-stories/Patterns.stories.tsx +251 -0
  235. package/src/design-system-stories/Workspace.stories.tsx +538 -0
  236. package/src/doctor/report.ts +57 -13
  237. package/src/editor-api.ts +295 -31
  238. package/src/editor-compatibility.ts +200 -0
  239. package/src/editor-console.ts +35 -17
  240. package/src/editor-hotkeys.ts +85 -33
  241. package/src/editor-store.ts +538 -233
  242. package/src/editor-viewport.ts +160 -34
  243. package/src/entity-factory.ts +14 -3
  244. package/src/gizmo-registry.ts +21 -5
  245. package/src/harness-chat-editor-context.ts +37 -0
  246. package/src/harness-chat-indicator.ts +68 -0
  247. package/src/harness-chat-layout.ts +53 -0
  248. package/src/harness-chat-lifecycle.ts +170 -0
  249. package/src/harness-chat-reconnect.ts +85 -0
  250. package/src/harness-chat-types.ts +409 -0
  251. package/src/hierarchy-drop.ts +50 -0
  252. package/src/hierarchy-expansion-state.ts +100 -0
  253. package/src/hierarchy-menu-registry.ts +1 -1
  254. package/src/hierarchy-projection.ts +76 -0
  255. package/src/history/editor-session.ts +21 -0
  256. package/src/history/history-commands.ts +147 -0
  257. package/src/history/history-service.ts +904 -0
  258. package/src/history/json-history-resource.ts +165 -0
  259. package/src/history/persistence-coordinator.ts +35 -0
  260. package/src/history/project-file-history.ts +266 -0
  261. package/src/history/project-root-history-backends.ts +53 -0
  262. package/src/history/resource-registry.ts +209 -0
  263. package/src/history/snapshot-store.ts +108 -0
  264. package/src/history/source-history-backend.ts +374 -0
  265. package/src/history/types.ts +100 -0
  266. package/src/hmr-registration-group.ts +67 -0
  267. package/src/hmr-stable-react-context.ts +23 -0
  268. package/src/hosted-example.ts +12 -2
  269. package/src/hotkeys.ts +89 -18
  270. package/src/ingest/discovery-react.ts +9 -10
  271. package/src/ingest/discovery.ts +4 -4
  272. package/src/ingest/discovery2d.ts +5 -5
  273. package/src/ingest/games/bloom-composer/vgai.game.json +3 -3
  274. package/src/ingest/games/embed-bundle/vgai.game.json +3 -3
  275. package/src/ingest/games/games-fps/vgai.game.json +3 -3
  276. package/src/ingest/games/iframe-reachable/vgai.game.json +3 -3
  277. package/src/ingest/games/interactive-cubes/vgai.game.json +3 -3
  278. package/src/ingest/games/mismatched-three/vgai.game.json +3 -3
  279. package/src/ingest/games/own-three-bundled/vgai.game.json +3 -3
  280. package/src/ingest/games/pointerlock-maze/vgai.game.json +7 -4
  281. package/src/ingest/games-2d/bubbo-bubbo/vgai.game.json +3 -3
  282. package/src/ingest/games-2d/bunnymark/vgai.game.json +3 -3
  283. package/src/ingest/games-2d/flappy/vgai.game.json +3 -3
  284. package/src/ingest/games-2d/flappy-pixi/vgai.game.json +3 -3
  285. package/src/ingest/games-2d/puzzling-potions/vgai.game.json +3 -3
  286. package/src/ingest/games-2d/tilemap-camera/vgai.game.json +3 -3
  287. package/src/ingest/games-react/react-rpg/vgai.game.json +3 -3
  288. package/src/ingest/types.ts +1 -1
  289. package/src/ingest-mode.ts +47 -52
  290. package/src/ingest-siblings.ts +23 -33
  291. package/src/initial-scene.ts +1 -2
  292. package/src/main.tsx +16 -8
  293. package/src/manifest-project.ts +10 -12
  294. package/src/model-thumbnail.ts +261 -26
  295. package/src/module-mode.ts +44 -50
  296. package/src/play-log-events.ts +26 -0
  297. package/src/play-mode.ts +495 -401
  298. package/src/play-scene-adoption.ts +23 -0
  299. package/src/playground/main.ts +68 -24
  300. package/src/playwright-shim.ts +473 -0
  301. package/src/project-manager.ts +90 -10
  302. package/src/project-operations.ts +112 -0
  303. package/src/project-story-discovery.ts +25 -0
  304. package/src/project-tool-discovery.ts +43 -0
  305. package/src/scene-serializer.ts +0 -6
  306. package/src/scene-sync.ts +7 -2
  307. package/src/script-loader.ts +3 -3
  308. package/src/skeleton-helper.ts +57 -0
  309. package/src/storage/seed.ts +68 -8
  310. package/src/stories/StoryPreviewMount.tsx +265 -0
  311. package/src/stories/action-stories.fixture.tsx +44 -0
  312. package/src/stories/button-stories.fixture.tsx +50 -0
  313. package/src/stories/compose-project-stories.ts +182 -0
  314. package/src/stories/loader-stories.fixture.tsx +53 -0
  315. package/src/stories/story-discovery.ts +130 -0
  316. package/src/stories/story-registry.ts +146 -0
  317. package/src/theme-css.ts +1049 -0
  318. package/src/theme-library.ts +238 -0
  319. package/src/theme-preference.ts +130 -0
  320. package/src/theme.ts +527 -0
  321. package/src/tool-loader.ts +80 -24
  322. package/src/ui-source/inspect.ts +27 -4
  323. package/src/ui-source/source-write-backend.ts +83 -22
  324. package/src/widgets/index.ts +9 -18
  325. package/src/workspace-aux-commands.ts +11 -0
  326. package/src/workspace-dock-controller.ts +64 -0
  327. package/src/workspace-document-ids.ts +5 -0
  328. package/src/workspace-document-registry.ts +367 -0
  329. package/src/workspace-state-persistence.ts +455 -0
  330. package/src/workspace-status-registry.ts +110 -0
  331. package/src/workspace-utility-commands.ts +49 -0
  332. package/src/workspace-utility-registry.ts +161 -0
  333. package/src/world-document-routing.ts +16 -0
  334. package/src/xstate-inspect/XStateMachineInspector.tsx +544 -0
  335. package/src/xstate-inspect/character-animation-machine.fixture.ts +74 -0
  336. package/src/xstate-inspect/use-live-actor-state.ts +39 -0
  337. package/src/xstate-inspect/xstate-graph.ts +265 -0
  338. package/src/xstate-inspect/xstate-layout.ts +76 -0
  339. package/src/z-index.ts +26 -0
  340. package/template/.claude/skills/editor/SKILL.md +129 -90
  341. package/template/AGENTS.md +1110 -0
  342. package/template/CLAUDE.md +1 -512
  343. package/template/IDIOMS.md +50 -0
  344. package/template/check-idioms.ts +706 -0
  345. package/template/manifest-entry-modules-plugin.ts +53 -0
  346. package/template/package.json +13 -4
  347. package/template/public/scenes/default.scn2d.json +6 -0
  348. package/template/public/scenes/default.vscn.json +7 -1
  349. package/template/public/scenes/untitled.vscn.json +10 -0
  350. package/template/scripts/playtest.ts +40 -0
  351. package/template/server/loopback.ts +75 -0
  352. package/template/server/rooms/arena-room.ts +69 -1
  353. package/template/server/rooms/game-room.ts +68 -1
  354. package/template/src/data/README.md +9 -4
  355. package/template/src/data/data-ref.ts +35 -0
  356. package/template/src/data/tuning.schema.ts +1 -1
  357. package/template/src/main.ts +41 -62
  358. package/template/src/manifest-entry-modules.d.ts +3 -0
  359. package/template/src/operations/README.md +88 -0
  360. package/template/src/runtime/pixi-adapter.ts +24 -0
  361. package/template/src/scripts/components/data-spinner.ts +43 -2
  362. package/template/src/scripts/components/spin-lap-math.ts +27 -0
  363. package/template/src/tools/README.md +5 -3
  364. package/template/src/tools/example.tool.tsx +13 -7
  365. package/template/src/ui/Button.stories.tsx +66 -0
  366. package/template/src/ui/RebindPanel.tsx +2 -6
  367. package/template/src/ui/game.tsx +17 -0
  368. package/template/tests/acceptance/example.spec.ts +64 -0
  369. package/template/tests/logic/example.test.ts +31 -0
  370. package/template/tests/logic/room.test.ts +100 -0
  371. package/template/tests/tsconfig.json +30 -0
  372. package/template/validate-manifest.ts +5 -5
  373. package/template/validate-scenes.ts +50 -18
  374. package/template/vgai.game.json +20 -13
  375. package/template/vite.config.ts +77 -16
  376. package/vite-plugin-ui-oid.ts +261 -17
  377. package/dist/assets/CCDIKSolver-Dz-ysxZF.js +0 -1
  378. package/dist/assets/SelectionBox-BXsv_6aH.js +0 -1
  379. package/dist/assets/browser-project-scripts-DOru4L1x.js +0 -2
  380. package/dist/assets/browserAll-CEkWYlFk.js +0 -1
  381. package/dist/assets/create-runtime-DYIWr3va.js +0 -1
  382. package/dist/assets/data-asset-Bb9sIM7i.js +0 -5
  383. package/dist/assets/game-8SDZPPgH.js +0 -1
  384. package/dist/assets/game-CevorxyV.js +0 -1
  385. package/dist/assets/game-Di7XlywD.js +0 -1
  386. package/dist/assets/game-DjnCaw8R.js +0 -1
  387. package/dist/assets/game-Q9A0aXSV.js +0 -1
  388. package/dist/assets/index-CPVV6pjw.js +0 -1
  389. package/dist/assets/index-CpOnYyeD.js +0 -213
  390. package/dist/assets/index-Dr8H_6Rl.js +0 -1
  391. package/dist/assets/index-_bCaipUk.js +0 -13650
  392. package/dist/assets/ingest-siblings-Dz8eEqrV.js +0 -1
  393. package/dist/assets/mount-manifest-Bhk0ohsl.js +0 -1
  394. package/dist/assets/scene-query-BivAHhJu.js +0 -1
  395. package/dist/assets/webworkerAll-BLrH0F6F.js +0 -1
  396. package/dist/assets/xstate-animation-binding-1NGLmw6y.js +0 -1
  397. package/dist/assets/xstate.esm-BgUD33nl.js +0 -3
  398. package/src/authoring/scene-ui-layer.ts +0 -485
  399. package/src/authoring/ui-authoring-adapter.ts +0 -325
  400. package/src/authoring/ui-hierarchy-menu.ts +0 -40
  401. package/src/authoring/ui-inspector-sections.tsx +0 -156
  402. package/src/authoring/undo-timeline.ts +0 -145
  403. package/src/components/BottomPanel.tsx +0 -326
  404. package/src/components/BuildPanel.tsx +0 -455
  405. package/src/components/FolderTree.tsx +0 -179
  406. package/src/components/RightPanel.tsx +0 -166
  407. package/src/components/WorldContextMenu.tsx +0 -257
  408. package/src/components/asset-viewers/AssetViewer.tsx +0 -38
  409. package/src/ingest/games-react/react-rpg/src/ui/game-state.tsx +0 -129
  410. package/src/scene-ui-mode/active-scene-ui.ts +0 -58
  411. package/src/scene-ui-mode/scene-ui-palette-panel.tsx +0 -152
  412. package/src/scene-ui-mode/scene-ui-timeline-tab.tsx +0 -29
  413. package/src/scene-ui-mode/ui-prefab-dialog-host.tsx +0 -74
  414. package/src/scene-ui-mode/ui-prefab-hierarchy-menu.ts +0 -49
  415. package/src/scene-ui-mode/ui-prefab-io.ts +0 -76
  416. package/src/ui-editor/inspector.tsx +0 -563
  417. package/src/ui-editor/node-ops.ts +0 -266
  418. package/src/ui-editor/overlay.tsx +0 -380
  419. package/src/ui-editor/palette.tsx +0 -114
  420. package/src/ui-editor/react-store.ts +0 -78
  421. package/src/ui-editor/timeline-panel.tsx +0 -443
  422. package/src/ui-editor/ui-edit-store.ts +0 -552
  423. package/src/ui-editor/ui-prefab.ts +0 -95
  424. package/template/project.json +0 -9
  425. package/template/src/scripts/main.ts +0 -94
  426. package/template/src/ui/DefaultHud.tsx +0 -40
  427. package/template/src/ui/game-state.tsx +0 -37
  428. package/template/src/ui/mount-default-hud.tsx +0 -19
  429. package/template/src/ui/mount-ui.ts +0 -15
  430. package/vite-plugin-react-world-provider.ts +0 -81
@@ -0,0 +1 @@
1
+ .vgai-asset-library-panel{container-type:inline-size;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}.vgai-asset-library{--asset-hit-target: 28px;--asset-focus-ring: 0 0 0 2px var(--vgai-accent);--asset-pane-gap: 8px;--asset-warning: var(--vgai-accent);--asset-error: var(--vgai-danger);--asset-progress: var(--vgai-accent);--asset-card-width: 168px;--asset-card-height: 214px;display:grid;grid-template-columns:var(--asset-source-width, 210px) minmax(320px,1fr) var( --asset-details-width, 360px );width:100%;height:100%;min-height:0;position:relative;color:var(--vgai-text-1);background:var(--vgai-bg-1)}.vgai-asset-library button:focus-visible,.vgai-asset-editor button:focus-visible,.vgai-asset-browser button:focus-visible,.vgai-asset-library input:focus-visible,.vgai-asset-editor input:focus-visible{outline:0;box-shadow:var(--asset-focus-ring)}.vgai-asset-library[data-density=compact]{--asset-card-width: 136px;--asset-card-height: 178px}.vgai-asset-library[data-density=large]{--asset-card-width: 208px;--asset-card-height: 254px}.vgai-asset-library__sources,.vgai-asset-library__details{min-width:0;min-height:0;overflow:auto;background:var(--vgai-bg-2)}.vgai-asset-library[data-source-collapsed=true] .vgai-asset-library__sources,.vgai-asset-library[data-details-collapsed=true] .vgai-asset-library__details{visibility:hidden;border:0;padding:0}.vgai-asset-source-size{position:absolute;left:8px;bottom:8px;width:min(180px,calc(var(--asset-source-width) - 16px))}.vgai-asset-pane-size{padding:6px 10px 0;color:var(--vgai-text-3);font-size:10px}.vgai-asset-pane-size label{display:flex;align-items:center;gap:8px}.vgai-asset-library__sources{border-right:1px solid var(--vgai-border-1);padding:10px}.vgai-asset-library__details{border-left:1px solid var(--vgai-border-1)}.vgai-asset-library__results{min-width:0;min-height:0;display:flex;flex-direction:column}.vgai-asset-library__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;padding:7px 10px;border-bottom:1px solid var(--vgai-border-1);background:var(--vgai-bg-2)}.vgai-asset-library__grid{position:relative;flex:1;min-height:0;overflow:auto;outline:none}.vgai-asset-card{position:absolute;box-sizing:border-box;width:var(--asset-card-width);height:calc(var(--asset-card-height) - 8px);padding:8px;border:1px solid transparent;border-radius:var(--vgai-radius-md, 5px);background:transparent;color:var(--vgai-text-1);text-align:left;cursor:pointer}.vgai-asset-card:hover{background:var(--vgai-accent-muted)}.vgai-asset-card[aria-selected=true]{border-color:var(--vgai-accent);background:var(--vgai-accent-muted)}.vgai-asset-card:focus-visible{outline:2px solid var(--vgai-focus, var(--vgai-accent));outline-offset:-2px}.vgai-asset-card__preview{position:relative;width:100%;aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--vgai-radius-sm, 3px);background:var(--vgai-bg-0)}.vgai-asset-card__fallback{position:absolute;right:4px;bottom:4px;padding:2px 4px;border-radius:3px;background:color-mix(in srgb,var(--vgai-bg-0) 88%,transparent);color:var(--vgai-text-2);font-size:9px}.vgai-asset-card__preview img{width:100%;height:100%;object-fit:contain}.vgai-asset-card__name{margin-top:7px;min-height:34px;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:12px;line-height:17px;font-weight:550}.vgai-asset-card__meta,.vgai-asset-card__badges{display:flex;gap:5px;align-items:center;margin-top:4px;color:var(--vgai-text-3);font-size:10px}.vgai-asset-badge{padding:1px 5px;border-radius:999px;background:var(--vgai-bg-3);color:var(--vgai-text-2);white-space:nowrap}.vgai-asset-facet-title{margin:12px 0 5px;color:var(--vgai-text-3);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.vgai-asset-facet-button{width:100%;min-height:28px;padding:4px 7px;border:0;border-radius:4px;background:transparent;color:var(--vgai-text-2);text-align:left;cursor:pointer}.vgai-asset-facet-button:hover,.vgai-asset-facet-button[aria-pressed=true]{background:var(--vgai-accent-muted);color:var(--vgai-text-1)}.vgai-asset-facet-check{display:flex;align-items:center;gap:6px;min-height:28px;color:var(--vgai-text-2);font-size:11px}.vgai-asset-facet-check .vgai-select{min-width:0;flex:1}@container (max-width: 1050px){.vgai-asset-library{grid-template-columns:minmax(300px,1fr) minmax(280px,42%)}.vgai-asset-library__sources{display:none}}@container (max-width: 720px){.vgai-asset-library{grid-template-columns:1fr}.vgai-asset-library__details{display:none}}@container (max-width: 480px){.vgai-asset-library{--asset-card-width: 136px;--asset-card-height: 178px}.vgai-asset-library__toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;min-height:0;padding:6px}.vgai-asset-library__toolbar .vgai-input{width:100%;min-width:0}.vgai-asset-library__filters-toggle,.vgai-asset-library__sort,.vgai-asset-library__density,.vgai-asset-library__save-search,.vgai-asset-library__details-toggle{display:none}.vgai-asset-library__status{padding-inline:2px}}.vgai-asset-tree{width:150px;min-width:118px;overflow:auto;padding:6px;border-right:1px solid var(--vgai-border-1);background:var(--vgai-bg-2)}.vgai-asset-tree-row{width:100%;min-height:26px;display:flex;align-items:center;gap:5px;border-radius:3px;background:transparent;color:var(--vgai-text-2);text-align:left}.vgai-asset-tree-row:hover,.vgai-asset-tree-row:has(.vgai-asset-tree-target[aria-current=page]){background:var(--vgai-accent-muted);color:var(--vgai-text-1)}.vgai-asset-tree-toggle,.vgai-asset-tree-target{min-height:24px;border:0;background:transparent;color:inherit;cursor:pointer}.vgai-asset-tree-toggle{width:20px;padding:0}.vgai-asset-tree-target{min-width:0;flex:1;display:flex;align-items:center;gap:5px;padding:0;overflow:hidden;text-align:left}.vgai-asset-context-menu{position:fixed;z-index:10000;min-width:190px;padding:4px;border:1px solid var(--vgai-border-2);border-radius:5px;background:var(--vgai-bg-2);box-shadow:0 8px 28px #00000059}.vgai-asset-context-menu button{width:100%;min-height:28px;display:flex;justify-content:space-between;border:0;border-radius:3px;background:transparent;color:var(--vgai-text-1);text-align:left}.vgai-asset-context-menu button:hover:not(:disabled){background:var(--vgai-accent-muted)}.vgai-asset-context-menu kbd{color:var(--vgai-text-3);font:inherit}@media(max-width:900px){.vgai-asset-tree{display:none}}.vgai-asset-editor{width:100%;height:100%;min-width:0;min-height:0;display:grid;grid-template-columns:var(--asset-editor-structure-width, 240px) minmax(280px,1fr) var( --asset-editor-details-width, 300px );grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"toolbar toolbar toolbar" "structure viewport details" "status status status";background:var(--vgai-bg-1)}.vgai-asset-editor[data-structure-collapsed=true]{grid-template-columns:0 minmax(280px,1fr) var(--asset-editor-details-width, 300px)}.vgai-asset-editor[data-details-collapsed=true]{grid-template-columns:var(--asset-editor-structure-width, 240px) minmax(280px,1fr) 0}.vgai-asset-editor[data-structure-collapsed=true][data-details-collapsed=true]{grid-template-columns:0 minmax(280px,1fr) 0}.vgai-asset-editor[data-structure-collapsed=true] .vgai-asset-editor__structure,.vgai-asset-editor[data-details-collapsed=true] .vgai-asset-editor__details{visibility:hidden;overflow:hidden;padding:0;border:0}.vgai-asset-editor__toolbar{grid-area:toolbar;min-height:40px;display:flex;align-items:center;gap:7px;padding:6px 10px;border-bottom:1px solid var(--vgai-border-1);background:var(--vgai-bg-2)}.vgai-asset-editor__toolbar strong{min-width:100px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vgai-asset-editor__commands{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:5px}.vgai-asset-editor__toolbar button,.vgai-asset-editor__toolbar select{min-height:26px;border:1px solid var(--vgai-border-2);border-radius:3px;background:var(--vgai-bg-3);color:var(--vgai-text-1)}.vgai-asset-editor__structure{grid-area:structure;border-right:1px solid var(--vgai-border-1)}.vgai-asset-editor__details{grid-area:details;border-left:1px solid var(--vgai-border-1)}.vgai-asset-editor__structure,.vgai-asset-editor__details{min-width:0;min-height:0;overflow:auto;padding:8px;background:var(--vgai-bg-2)}.vgai-asset-editor__viewport{grid-area:viewport;min-width:0;min-height:0;overflow:auto;position:relative}.vgai-asset-editor__status{grid-area:status;min-height:28px;padding:5px 10px;border-top:1px solid;background:var(--vgai-bg-2);font-size:11px}.vgai-asset-editor__resize{display:flex;flex-direction:column;gap:3px;margin-top:10px;color:var(--vgai-text-3);font-size:10px}@media(max-width:900px){.vgai-asset-editor{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(260px,1fr) auto auto;grid-template-areas:"toolbar" "viewport" "details" "status"}.vgai-asset-editor__structure{display:none}.vgai-asset-editor__details{max-height:220px;border-left:0;border-top:1px solid var(--vgai-border-1)}}.vgai-console{display:flex;height:100%;flex-direction:column}.vgai-console .vgai-toolbar{flex:0 0 auto}.vgai-console-filter{width:140px;margin-left:auto}.vgai-console-list{min-height:0;flex:1;overflow-y:auto;font-family:var(--vgai-font-mono);font-size:var(--vgai-font-base);line-height:18px}.vgai-console-empty{padding:var(--vgai-space-6) var(--vgai-space-4);color:var(--vgai-content-dim);font-style:italic}.vgai-console-row{display:flex;align-items:flex-start;padding:1px var(--vgai-space-4);border-bottom:var(--vgai-stroke-resting) solid var(--vgai-boundary-default)}.vgai-console-row[data-level=error]{background:var(--vgai-danger-faint)}.vgai-console-row:hover{background:var(--vgai-neutral-hover)}.vgai-console-count{flex:0 0 auto;margin-left:var(--vgai-space-3);padding:0 var(--vgai-space-2);color:var(--vgai-content-muted);background:var(--vgai-surface-raised);border-radius:var(--vgai-radius-lg);font-size:var(--vgai-font-sm)}.vgai-console [data-console-level=info][aria-pressed=true]{color:var(--vgai-content-primary)}.vgai-console [data-console-level=warn][aria-pressed=true]{color:var(--vgai-warn)}.vgai-console [data-console-level=error][aria-pressed=true]{color:var(--vgai-danger)}.vgai-theme-manager-content{min-height:0;flex:1;align-items:stretch}.vgai-theme-list{width:220px;flex:0 0 auto;padding:var(--vgai-space-4);overflow-y:auto;background:var(--vgai-surface-panel);border-right:var(--vgai-stroke-resting) solid var(--vgai-boundary-default);box-sizing:border-box}.vgai-theme-choice{width:100%;height:auto;min-height:var(--vgai-control-comfortable-height);flex-direction:column;align-items:flex-start;margin-bottom:var(--vgai-space-2);text-align:left}.vgai-theme-choice[aria-pressed=true]{color:var(--vgai-content-primary);background:var(--vgai-accent-muted)}.vgai-theme-list-action{width:100%;margin-top:var(--vgai-space-2)}.vgai-theme-tokens{min-width:0;flex:1;padding:var(--vgai-space-8);overflow-y:auto}.vgai-theme-name-row{margin-bottom:var(--vgai-space-8)}.vgai-theme-name-field{min-width:0;flex:1}.vgai-theme-readonly-note{margin-bottom:var(--vgai-space-8)}.vgai-theme-group{margin-bottom:var(--vgai-space-10)}.vgai-theme-field-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:var(--vgai-space-4) var(--vgai-space-8)}.vgai-theme-value>.vgai-input{min-width:0;flex:1}.vgai-theme-swatch-input,.vgai-theme-swatch-preview{width:24px;height:24px;flex:0 0 auto;padding:1px;border:var(--vgai-stroke-resting) solid var(--vgai-boundary-default);border-radius:var(--vgai-radius-sm);box-sizing:border-box}.vgai-theme-swatch-input{background:transparent;cursor:pointer}.vgai-theme-message{margin-right:auto}@media(max-width:760px){.vgai-theme-list{width:180px}.vgai-theme-field-grid{grid-template-columns:minmax(0,1fr)}}.vgai-project-header{position:relative;display:flex;height:var(--vgai-command-bar-height);flex:0 0 auto;align-items:center;padding:0 var(--vgai-space-4);color:var(--vgai-content-primary);background:var(--vgai-surface-chrome);border-bottom:var(--vgai-stroke-resting) solid var(--vgai-boundary-default);font-size:var(--vgai-font-base);pointer-events:auto;user-select:none;box-sizing:border-box}.vgai-project-header-left{position:relative;display:flex;min-width:0;flex:1}.vgai-project-trigger{display:flex;min-width:0;align-items:center;gap:var(--vgai-space-3);overflow:hidden;white-space:nowrap}.vgai-project-app-menus,.vgai-project-transport{flex:0 0 auto}.vgai-project-menu{position:absolute;top:100%;left:0;min-width:190px;margin-top:var(--vgai-space-1)}.vgai-project-path{display:block;max-width:320px;padding:var(--vgai-space-2) var(--vgai-space-4)}.vgai-project-versions{display:grid;grid-template-columns:1fr auto;gap:var(--vgai-space-2) var(--vgai-space-6);padding:var(--vgai-space-3) var(--vgai-space-4) var(--vgai-space-4);color:var(--vgai-content-dim);font-size:var(--vgai-font-sm)}.vgai-project-header-right{min-width:0;flex:1}.vgai-project-header-right>.vgai-btn{padding-inline:var(--vgai-space-4)}.dv-scrollable{position:relative;overflow:hidden}.dv-scrollable .dv-scrollbar{position:absolute;border-radius:2px;background-color:transparent;will-change:background-color,transform;transform:translateZ(0);backface-visibility:hidden;transition-property:background-color;transition-timing-function:ease-in-out;transition-duration:1s;transition-delay:0s}.dv-scrollable .dv-scrollbar-horizontal{bottom:0;left:0;height:4px}.dv-scrollable .dv-scrollbar-vertical{right:0;top:0;width:4px}.dv-scrollable:hover .dv-scrollbar,.dv-scrollable.dv-scrollable-resizing .dv-scrollbar,.dv-scrollable.dv-scrollable-scrolling .dv-scrollbar{background-color:var(--dv-scrollbar-background-color, rgba(255, 255, 255, .25))}.dv-svg{display:inline-block;fill:currentcolor;line-height:1;stroke:currentcolor;stroke-width:0}.dockview-theme-dark{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--dv-floating-border: 1px solid rgba(255, 255, 255, .1);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-spacing-padding: 0px;--dv-tab-border-radius: 0px;--dv-sash-border-radius: 0px;--dv-dropdown-border-radius: 0px;--dv-tab-close-icon-size: inherit;--dv-floating-group-border: none;--dv-drag-over-border: none;--dv-floating-group-dragging-opacity: .5;--dv-floating-titlebar-height: 22px;--dv-floating-titlebar-background-color: var( --dv-tabs-and-actions-container-background-color );--dv-floating-titlebar-border-bottom: var(--dv-floating-border);--dv-tab-group-color-grey: #5f6368;--dv-tab-group-color-blue: #1a73e8;--dv-tab-group-color-red: #d93025;--dv-tab-group-color-yellow: #f9ab00;--dv-tab-group-color-green: #188038;--dv-tab-group-color-pink: #d01884;--dv-tab-group-color-purple: #a142f4;--dv-tab-group-color-cyan: #007b83;--dv-tab-group-color-orange: #e8710a;--dv-tab-group-chip-padding: 4px 8px;--dv-tab-group-chip-border-radius: 6px;--dv-tab-group-chip-font-size: 11px;--dv-tab-group-line-height: 2px;--dv-tab-group-line-opacity: .6}.dockview-theme-dark .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-dark{--dv-group-view-background-color: #1e1e1e;--dv-tabs-and-actions-container-background-color: #252526;--dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;--dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;--dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;--dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;--dv-tab-divider-color: #1e1e1e;--dv-activegroup-visiblepanel-tab-color: white;--dv-activegroup-hiddenpanel-tab-color: #969696;--dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;--dv-inactivegroup-hiddenpanel-tab-color: #626262;--dv-separator-border: rgb(68, 68, 68);--dv-paneview-header-border-color: rgba(204, 204, 204, .2)}.dockview-theme-light{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--dv-floating-border: 1px solid rgba(255, 255, 255, .1);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-spacing-padding: 0px;--dv-tab-border-radius: 0px;--dv-sash-border-radius: 0px;--dv-dropdown-border-radius: 0px;--dv-tab-close-icon-size: inherit;--dv-floating-group-border: none;--dv-drag-over-border: none;--dv-floating-group-dragging-opacity: .5;--dv-floating-titlebar-height: 22px;--dv-floating-titlebar-background-color: var( --dv-tabs-and-actions-container-background-color );--dv-floating-titlebar-border-bottom: var(--dv-floating-border);--dv-tab-group-color-grey: #5f6368;--dv-tab-group-color-blue: #1a73e8;--dv-tab-group-color-red: #d93025;--dv-tab-group-color-yellow: #f9ab00;--dv-tab-group-color-green: #188038;--dv-tab-group-color-pink: #d01884;--dv-tab-group-color-purple: #a142f4;--dv-tab-group-color-cyan: #007b83;--dv-tab-group-color-orange: #e8710a;--dv-tab-group-chip-padding: 4px 8px;--dv-tab-group-chip-border-radius: 6px;--dv-tab-group-chip-font-size: 11px;--dv-tab-group-line-height: 2px;--dv-tab-group-line-opacity: .6}.dockview-theme-light .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-light{--dv-group-view-background-color: white;--dv-tabs-and-actions-container-background-color: #f3f3f3;--dv-activegroup-visiblepanel-tab-background-color: white;--dv-activegroup-hiddenpanel-tab-background-color: #ececec;--dv-inactivegroup-visiblepanel-tab-background-color: white;--dv-inactivegroup-hiddenpanel-tab-background-color: #ececec;--dv-tab-divider-color: white;--dv-activegroup-visiblepanel-tab-color: rgb(51, 51, 51);--dv-activegroup-hiddenpanel-tab-color: rgba(51, 51, 51, .7);--dv-inactivegroup-visiblepanel-tab-color: rgba(51, 51, 51, .7);--dv-inactivegroup-hiddenpanel-tab-color: rgba(51, 51, 51, .35);--dv-separator-border: rgba(128, 128, 128, .35);--dv-paneview-header-border-color: rgb(51, 51, 51);--dv-scrollbar-background-color: rgba(0, 0, 0, .25);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .08);--dv-floating-border: 1px solid rgba(0, 0, 0, .1)}.dockview-theme-vs{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--dv-floating-border: 1px solid rgba(255, 255, 255, .1);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-spacing-padding: 0px;--dv-tab-border-radius: 0px;--dv-sash-border-radius: 0px;--dv-dropdown-border-radius: 0px;--dv-tab-close-icon-size: inherit;--dv-floating-group-border: none;--dv-drag-over-border: none;--dv-floating-group-dragging-opacity: .5;--dv-floating-titlebar-height: 22px;--dv-floating-titlebar-background-color: var( --dv-tabs-and-actions-container-background-color );--dv-floating-titlebar-border-bottom: var(--dv-floating-border);--dv-tab-group-color-grey: #5f6368;--dv-tab-group-color-blue: #1a73e8;--dv-tab-group-color-red: #d93025;--dv-tab-group-color-yellow: #f9ab00;--dv-tab-group-color-green: #188038;--dv-tab-group-color-pink: #d01884;--dv-tab-group-color-purple: #a142f4;--dv-tab-group-color-cyan: #007b83;--dv-tab-group-color-orange: #e8710a;--dv-tab-group-chip-padding: 4px 8px;--dv-tab-group-chip-border-radius: 6px;--dv-tab-group-chip-font-size: 11px;--dv-tab-group-line-height: 2px;--dv-tab-group-line-opacity: .6}.dockview-theme-vs .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-vs{--dv-group-view-background-color: #1e1e1e;--dv-tabs-and-actions-container-background-color: #252526;--dv-activegroup-visiblepanel-tab-background-color: #1e1e1e;--dv-activegroup-hiddenpanel-tab-background-color: #2d2d2d;--dv-inactivegroup-visiblepanel-tab-background-color: #1e1e1e;--dv-inactivegroup-hiddenpanel-tab-background-color: #2d2d2d;--dv-tab-divider-color: #1e1e1e;--dv-activegroup-hiddenpanel-tab-color: #969696;--dv-inactivegroup-visiblepanel-tab-color: #8f8f8f;--dv-inactivegroup-hiddenpanel-tab-color: #626262;--dv-separator-border: rgb(68, 68, 68);--dv-paneview-header-border-color: rgba(204, 204, 204, .2);--dv-tabs-and-actions-container-background-color: #2d2d30;--dv-tabs-and-actions-container-height: 20px;--dv-tabs-and-actions-container-font-size: 11px;--dv-activegroup-visiblepanel-tab-background-color: #007acc;--dv-inactivegroup-visiblepanel-tab-background-color: #3f3f46;--dv-activegroup-visiblepanel-tab-color: white;--dv-activegroup-hiddenpanel-tab-color: white;--dv-inactivegroup-visiblepanel-tab-color: white;--dv-inactivegroup-hiddenpanel-tab-color: white}.dockview-theme-vs .dv-groupview.dv-active-group>.dv-tabs-and-actions-container{box-sizing:content-box;border-bottom:2px solid var(--dv-activegroup-visiblepanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tab.dv-active-tab{border-top:2px solid var(--dv-activegroup-visiblepanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tab.dv-inactive-tab{border-top:2px solid var(--dv-activegroup-hiddenpanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container{box-sizing:content-box;border-bottom:2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tab.dv-active-tab{border-top:2px solid var(--dv-inactivegroup-visiblepanel-tab-background-color)}.dockview-theme-vs .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tab.dv-inactive-tab{border-top:2px solid var(--dv-inactivegroup-hiddenpanel-tab-background-color)}.dockview-theme-abyss{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--dv-floating-border: 1px solid rgba(255, 255, 255, .1);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-spacing-padding: 0px;--dv-tab-border-radius: 0px;--dv-sash-border-radius: 0px;--dv-dropdown-border-radius: 0px;--dv-tab-close-icon-size: inherit;--dv-floating-group-border: none;--dv-drag-over-border: none;--dv-floating-group-dragging-opacity: .5;--dv-floating-titlebar-height: 22px;--dv-floating-titlebar-background-color: var( --dv-tabs-and-actions-container-background-color );--dv-floating-titlebar-border-bottom: var(--dv-floating-border);--dv-tab-group-color-grey: #5f6368;--dv-tab-group-color-blue: #1a73e8;--dv-tab-group-color-red: #d93025;--dv-tab-group-color-yellow: #f9ab00;--dv-tab-group-color-green: #188038;--dv-tab-group-color-pink: #d01884;--dv-tab-group-color-purple: #a142f4;--dv-tab-group-color-cyan: #007b83;--dv-tab-group-color-orange: #e8710a;--dv-tab-group-chip-padding: 4px 8px;--dv-tab-group-chip-border-radius: 6px;--dv-tab-group-chip-font-size: 11px;--dv-tab-group-line-height: 2px;--dv-tab-group-line-opacity: .6}.dockview-theme-abyss .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-abyss{--dv-color-abyss-dark: #000c18;--dv-color-abyss: #10192c;--dv-color-abyss-light: #1c1c2a;--dv-color-abyss-lighter: #2b2b4a;--dv-color-abyss-accent: rgb(91, 30, 207);--dv-color-abyss-primary-text: white;--dv-color-abyss-secondary-text: rgb(148, 151, 169);--dv-group-view-background-color: var(--dv-color-abyss-dark);--dv-tabs-and-actions-container-background-color: var( --dv-color-abyss-light );--dv-activegroup-visiblepanel-tab-background-color: var( --dv-color-abyss-dark );--dv-activegroup-hiddenpanel-tab-background-color: var(--dv-color-abyss);--dv-inactivegroup-visiblepanel-tab-background-color: var( --dv-color-abyss-dark );--dv-inactivegroup-hiddenpanel-tab-background-color: var(--dv-color-abyss);--dv-tab-divider-color: var(--dv-color-abyss-lighter);--dv-activegroup-visiblepanel-tab-color: white;--dv-activegroup-hiddenpanel-tab-color: rgba(255, 255, 255, .5);--dv-inactivegroup-visiblepanel-tab-color: rgba(255, 255, 255, .5);--dv-inactivegroup-hiddenpanel-tab-color: rgba(255, 255, 255, .25);--dv-separator-border: var(--dv-color-abyss-lighter);--dv-paneview-header-border-color: var(--dv-color-abyss-lighter);--dv-paneview-active-outline-color: #596f99}.dockview-theme-dracula{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--dv-floating-border: 1px solid rgba(255, 255, 255, .1);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-spacing-padding: 0px;--dv-tab-border-radius: 0px;--dv-sash-border-radius: 0px;--dv-dropdown-border-radius: 0px;--dv-tab-close-icon-size: inherit;--dv-floating-group-border: none;--dv-drag-over-border: none;--dv-floating-group-dragging-opacity: .5;--dv-floating-titlebar-height: 22px;--dv-floating-titlebar-background-color: var( --dv-tabs-and-actions-container-background-color );--dv-floating-titlebar-border-bottom: var(--dv-floating-border);--dv-tab-group-color-grey: #5f6368;--dv-tab-group-color-blue: #1a73e8;--dv-tab-group-color-red: #d93025;--dv-tab-group-color-yellow: #f9ab00;--dv-tab-group-color-green: #188038;--dv-tab-group-color-pink: #d01884;--dv-tab-group-color-purple: #a142f4;--dv-tab-group-color-cyan: #007b83;--dv-tab-group-color-orange: #e8710a;--dv-tab-group-chip-padding: 4px 8px;--dv-tab-group-chip-border-radius: 6px;--dv-tab-group-chip-font-size: 11px;--dv-tab-group-line-height: 2px;--dv-tab-group-line-opacity: .6}.dockview-theme-dracula .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-dracula{--dv-group-view-background-color: #282a36;--dv-tabs-and-actions-container-background-color: #191a21;--dv-activegroup-visiblepanel-tab-background-color: #282a36;--dv-activegroup-hiddenpanel-tab-background-color: #21222c;--dv-inactivegroup-visiblepanel-tab-background-color: #282a36;--dv-inactivegroup-hiddenpanel-tab-background-color: #21222c;--dv-tab-divider-color: #191a21;--dv-activegroup-visiblepanel-tab-color: rgb(248, 248, 242);--dv-activegroup-hiddenpanel-tab-color: rgb(98, 114, 164);--dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, .5);--dv-inactivegroup-hiddenpanel-tab-color: rgba(98, 114, 164, .5);--dv-separator-border: #bd93f9;--dv-paneview-header-border-color: #bd93f9;--dv-paneview-active-outline-color: #6272a4}.dockview-theme-dracula .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{position:relative}.dockview-theme-dracula .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab:after{position:absolute;left:0;bottom:0;content:"";width:100%;height:1px;background-color:#94527e;z-index:999}.dockview-theme-dracula .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{position:relative}.dockview-theme-dracula .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab:after{position:absolute;left:0;bottom:0;content:"";width:100%;height:1px;background-color:#5e3d5a;z-index:999}.dockview-theme-nord{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--dv-floating-border: 1px solid rgba(255, 255, 255, .1);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-spacing-padding: 0px;--dv-tab-border-radius: 0px;--dv-sash-border-radius: 0px;--dv-dropdown-border-radius: 0px;--dv-tab-close-icon-size: inherit;--dv-floating-group-border: none;--dv-drag-over-border: none;--dv-floating-group-dragging-opacity: .5;--dv-floating-titlebar-height: 22px;--dv-floating-titlebar-background-color: var( --dv-tabs-and-actions-container-background-color );--dv-floating-titlebar-border-bottom: var(--dv-floating-border);--dv-tab-group-color-grey: #5f6368;--dv-tab-group-color-blue: #1a73e8;--dv-tab-group-color-red: #d93025;--dv-tab-group-color-yellow: #f9ab00;--dv-tab-group-color-green: #188038;--dv-tab-group-color-pink: #d01884;--dv-tab-group-color-purple: #a142f4;--dv-tab-group-color-cyan: #007b83;--dv-tab-group-color-orange: #e8710a;--dv-tab-group-chip-padding: 4px 8px;--dv-tab-group-chip-border-radius: 6px;--dv-tab-group-chip-font-size: 11px;--dv-tab-group-line-height: 2px;--dv-tab-group-line-opacity: .6}.dockview-theme-nord .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-nord{--dv-color-nord-polar-0: #2e3440;--dv-color-nord-polar-1: #3b4252;--dv-color-nord-polar-2: #434c5e;--dv-color-nord-polar-3: #4c566a;--dv-color-nord-frost: #88c0d0;--dv-color-nord-frost-2: #81a1c1;--dv-color-nord-snow-0: #eceff4;--dv-color-nord-snow-1: #d8dee9;--dv-group-view-background-color: var(--dv-color-nord-polar-0);--dv-tabs-and-actions-container-background-color: var( --dv-color-nord-polar-1 );--dv-activegroup-visiblepanel-tab-background-color: var( --dv-color-nord-polar-0 );--dv-activegroup-hiddenpanel-tab-background-color: var( --dv-color-nord-polar-2 );--dv-inactivegroup-visiblepanel-tab-background-color: var( --dv-color-nord-polar-1 );--dv-inactivegroup-hiddenpanel-tab-background-color: var( --dv-color-nord-polar-2 );--dv-activegroup-visiblepanel-tab-color: var(--dv-color-nord-snow-0);--dv-activegroup-hiddenpanel-tab-color: var(--dv-color-nord-snow-1);--dv-inactivegroup-visiblepanel-tab-color: #8a9bbf;--dv-inactivegroup-hiddenpanel-tab-color: #5e6f8e;--dv-separator-border: var(--dv-color-nord-polar-3);--dv-paneview-active-outline-color: var(--dv-color-nord-frost);--dv-active-sash-color: var(--dv-color-nord-frost);--dv-scrollbar-background-color: rgba(76, 86, 106, .5)}.dockview-theme-nord .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{position:relative}.dockview-theme-nord .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab:after{position:absolute;left:0;bottom:0;content:"";width:100%;height:2px;background-color:var(--dv-color-nord-frost);z-index:999}.dockview-theme-nord .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{position:relative}.dockview-theme-nord .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab:after{position:absolute;left:0;bottom:0;content:"";width:100%;height:2px;background-color:var(--dv-color-nord-frost-2);z-index:999}.dockview-theme-nord-spaced{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--dv-floating-border: 1px solid rgba(255, 255, 255, .1);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-spacing-padding: 0px;--dv-tab-border-radius: 0px;--dv-sash-border-radius: 0px;--dv-dropdown-border-radius: 0px;--dv-tab-close-icon-size: inherit;--dv-floating-group-border: none;--dv-drag-over-border: none;--dv-floating-group-dragging-opacity: .5;--dv-floating-titlebar-height: 22px;--dv-floating-titlebar-background-color: var( --dv-tabs-and-actions-container-background-color );--dv-floating-titlebar-border-bottom: var(--dv-floating-border);--dv-tab-group-color-grey: #5f6368;--dv-tab-group-color-blue: #1a73e8;--dv-tab-group-color-red: #d93025;--dv-tab-group-color-yellow: #f9ab00;--dv-tab-group-color-green: #188038;--dv-tab-group-color-pink: #d01884;--dv-tab-group-color-purple: #a142f4;--dv-tab-group-color-cyan: #007b83;--dv-tab-group-color-orange: #e8710a;--dv-tab-group-chip-padding: 4px 8px;--dv-tab-group-chip-border-radius: 6px;--dv-tab-group-chip-font-size: 11px;--dv-tab-group-line-height: 2px;--dv-tab-group-line-opacity: .6;--dv-spacing-padding: 10px;--dv-tab-font-size: 12px;--dv-border-radius: 12px;--dv-tab-margin: .5rem .25rem;--dv-tabs-and-actions-container-height: 44px;--dv-tab-border-radius: 8px;--dv-sash-border-radius: 4px;--dv-dropdown-border-radius: 8px;--dv-tab-close-icon-size: 8px;--dv-floating-group-border: 2px solid var(--dv-group-view-background-color);--dv-floating-titlebar-background-color: var( --dv-group-view-background-color );--dv-floating-titlebar-border-bottom: none;box-sizing:border-box;padding:var(--dv-spacing-padding);background-color:var(--dv-group-view-background-color)}.dv-shell .dockview-theme-nord-spaced{padding:0}.dockview-theme-nord-spaced .dv-resize-container:has(>.dv-groupview){border-radius:8px}.dockview-theme-nord-spaced .dv-sash{border-radius:var(--dv-sash-border-radius)}.dockview-theme-nord-spaced .dv-drop-target-anchor{border-radius:calc(var(--dv-border-radius) / 4)}.dockview-theme-nord-spaced .dv-drop-target-anchor.dv-drop-target-content{border-radius:var(--dv-border-radius)}.dockview-theme-nord-spaced .dv-resize-container{border-radius:var(--dv-border-radius)!important;border:none}.dockview-theme-nord-spaced .dv-resize-container .dv-groupview{border:var(--dv-floating-group-border)}.dockview-theme-nord-spaced .dv-resize-container>.dv-grid-view{box-sizing:border-box;padding:var(--dv-spacing-padding)}.dockview-theme-nord-spaced .dv-resize-container-with-titlebar>.dv-grid-view{padding-top:0}.dockview-theme-nord-spaced .dv-resize-container-with-titlebar>.dv-floating-titlebar{border-top-left-radius:var(--dv-border-radius);border-top-right-radius:var(--dv-border-radius)}.dockview-theme-nord-spaced .dv-tabs-overflow-container,.dockview-theme-nord-spaced .dv-tabs-overflow-dropdown-default{border-radius:var(--dv-dropdown-border-radius);height:unset!important}.dockview-theme-nord-spaced .dv-render-overlay{border-bottom-left-radius:var(--dv-border-radius);border-bottom-right-radius:var(--dv-border-radius)}.dockview-theme-nord-spaced .dv-tab{border-radius:var(--dv-tab-border-radius)}.dockview-theme-nord-spaced .dv-tab .dv-svg{height:var(--dv-tab-close-icon-size);width:var(--dv-tab-close-icon-size)}.dockview-theme-nord-spaced .dv-tabs-container-vertical .dv-tab{margin:.25rem .5rem}.dockview-theme-nord-spaced .dv-groupview{border-radius:var(--dv-border-radius)}.dockview-theme-nord-spaced .dv-groupview .dv-tabs-and-actions-container{padding:0px calc(var(--dv-border-radius) / 2);border-top-left-radius:var(--dv-border-radius);border-top-right-radius:var(--dv-border-radius)}.dockview-theme-nord-spaced .dv-groupview .dv-tabs-and-actions-container.dv-groupview-header-vertical{padding:calc(var(--dv-border-radius) / 2) 0}.dockview-theme-nord-spaced .dv-groupview .dv-content-container{background-color:var(--dv-tabs-and-actions-container-background-color);border-bottom-left-radius:var(--dv-border-radius);border-bottom-right-radius:var(--dv-border-radius)}.dockview-theme-nord-spaced{--dv-color-nord-polar-0: #2e3440;--dv-color-nord-polar-1: #3b4252;--dv-color-nord-polar-2: #434c5e;--dv-color-nord-polar-3: #4c566a;--dv-color-nord-frost: #88c0d0;--dv-color-nord-frost-2: #81a1c1;--dv-color-nord-snow-0: #eceff4;--dv-color-nord-snow-1: #d8dee9;--dv-group-view-background-color: var(--dv-color-nord-polar-0);--dv-tabs-and-actions-container-background-color: var( --dv-color-nord-polar-1 );--dv-activegroup-visiblepanel-tab-background-color: var( --dv-color-nord-polar-2 );--dv-activegroup-hiddenpanel-tab-background-color: var( --dv-color-nord-polar-1 );--dv-inactivegroup-visiblepanel-tab-background-color: var( --dv-color-nord-polar-2 );--dv-inactivegroup-hiddenpanel-tab-background-color: var( --dv-color-nord-polar-1 );--dv-activegroup-visiblepanel-tab-color: var(--dv-color-nord-snow-0);--dv-activegroup-hiddenpanel-tab-color: var(--dv-color-nord-snow-1);--dv-inactivegroup-visiblepanel-tab-color: #8a9bbf;--dv-inactivegroup-hiddenpanel-tab-color: #5e6f8e;--dv-separator-border: transparent;--dv-paneview-active-outline-color: var(--dv-color-nord-frost);--dv-active-sash-color: var(--dv-color-nord-frost);--dv-scrollbar-background-color: rgba(76, 86, 106, .5);--dv-floating-group-border: 2px solid var(--dv-color-nord-polar-0)}.dockview-theme-catppuccin-mocha{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--dv-floating-border: 1px solid rgba(255, 255, 255, .1);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-spacing-padding: 0px;--dv-tab-border-radius: 0px;--dv-sash-border-radius: 0px;--dv-dropdown-border-radius: 0px;--dv-tab-close-icon-size: inherit;--dv-floating-group-border: none;--dv-drag-over-border: none;--dv-floating-group-dragging-opacity: .5;--dv-floating-titlebar-height: 22px;--dv-floating-titlebar-background-color: var( --dv-tabs-and-actions-container-background-color );--dv-floating-titlebar-border-bottom: var(--dv-floating-border);--dv-tab-group-color-grey: #5f6368;--dv-tab-group-color-blue: #1a73e8;--dv-tab-group-color-red: #d93025;--dv-tab-group-color-yellow: #f9ab00;--dv-tab-group-color-green: #188038;--dv-tab-group-color-pink: #d01884;--dv-tab-group-color-purple: #a142f4;--dv-tab-group-color-cyan: #007b83;--dv-tab-group-color-orange: #e8710a;--dv-tab-group-chip-padding: 4px 8px;--dv-tab-group-chip-border-radius: 6px;--dv-tab-group-chip-font-size: 11px;--dv-tab-group-line-height: 2px;--dv-tab-group-line-opacity: .6}.dockview-theme-catppuccin-mocha .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-catppuccin-mocha{--dv-color-mocha-crust: #11111b;--dv-color-mocha-mantle: #181825;--dv-color-mocha-base: #1e1e2e;--dv-color-mocha-surface0: #313244;--dv-color-mocha-surface1: #45475a;--dv-color-mocha-text: #cdd6f4;--dv-color-mocha-subtext1: #bac2de;--dv-color-mocha-subtext0: #a6adc8;--dv-color-mocha-mauve: #cba6f7;--dv-color-mocha-lavender: #b4befe;--dv-group-view-background-color: var(--dv-color-mocha-base);--dv-tabs-and-actions-container-background-color: var( --dv-color-mocha-mantle );--dv-activegroup-visiblepanel-tab-background-color: var( --dv-color-mocha-base );--dv-activegroup-hiddenpanel-tab-background-color: var( --dv-color-mocha-surface0 );--dv-inactivegroup-visiblepanel-tab-background-color: var( --dv-color-mocha-mantle );--dv-inactivegroup-hiddenpanel-tab-background-color: var( --dv-color-mocha-crust );--dv-activegroup-visiblepanel-tab-color: var(--dv-color-mocha-text);--dv-activegroup-hiddenpanel-tab-color: var(--dv-color-mocha-subtext1);--dv-inactivegroup-visiblepanel-tab-color: var(--dv-color-mocha-subtext0);--dv-inactivegroup-hiddenpanel-tab-color: rgba(166, 173, 200, .5);--dv-separator-border: var(--dv-color-mocha-surface1);--dv-paneview-active-outline-color: var(--dv-color-mocha-mauve);--dv-active-sash-color: var(--dv-color-mocha-mauve);--dv-scrollbar-background-color: rgba(49, 50, 68, .8)}.dockview-theme-catppuccin-mocha .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{position:relative}.dockview-theme-catppuccin-mocha .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab:after{position:absolute;left:0;bottom:0;content:"";width:100%;height:2px;background-color:var(--dv-color-mocha-mauve);z-index:999}.dockview-theme-catppuccin-mocha .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{position:relative}.dockview-theme-catppuccin-mocha .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab:after{position:absolute;left:0;bottom:0;content:"";width:100%;height:2px;background-color:#b4befe66;z-index:999}.dockview-theme-catppuccin-mocha-spaced{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--dv-floating-border: 1px solid rgba(255, 255, 255, .1);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-spacing-padding: 0px;--dv-tab-border-radius: 0px;--dv-sash-border-radius: 0px;--dv-dropdown-border-radius: 0px;--dv-tab-close-icon-size: inherit;--dv-floating-group-border: none;--dv-drag-over-border: none;--dv-floating-group-dragging-opacity: .5;--dv-floating-titlebar-height: 22px;--dv-floating-titlebar-background-color: var( --dv-tabs-and-actions-container-background-color );--dv-floating-titlebar-border-bottom: var(--dv-floating-border);--dv-tab-group-color-grey: #5f6368;--dv-tab-group-color-blue: #1a73e8;--dv-tab-group-color-red: #d93025;--dv-tab-group-color-yellow: #f9ab00;--dv-tab-group-color-green: #188038;--dv-tab-group-color-pink: #d01884;--dv-tab-group-color-purple: #a142f4;--dv-tab-group-color-cyan: #007b83;--dv-tab-group-color-orange: #e8710a;--dv-tab-group-chip-padding: 4px 8px;--dv-tab-group-chip-border-radius: 6px;--dv-tab-group-chip-font-size: 11px;--dv-tab-group-line-height: 2px;--dv-tab-group-line-opacity: .6;--dv-spacing-padding: 10px;--dv-tab-font-size: 12px;--dv-border-radius: 12px;--dv-tab-margin: .5rem .25rem;--dv-tabs-and-actions-container-height: 44px;--dv-tab-border-radius: 8px;--dv-sash-border-radius: 4px;--dv-dropdown-border-radius: 8px;--dv-tab-close-icon-size: 8px;--dv-floating-group-border: 2px solid var(--dv-group-view-background-color);--dv-floating-titlebar-background-color: var( --dv-group-view-background-color );--dv-floating-titlebar-border-bottom: none;box-sizing:border-box;padding:var(--dv-spacing-padding);background-color:var(--dv-group-view-background-color)}.dv-shell .dockview-theme-catppuccin-mocha-spaced{padding:0}.dockview-theme-catppuccin-mocha-spaced .dv-resize-container:has(>.dv-groupview){border-radius:8px}.dockview-theme-catppuccin-mocha-spaced .dv-sash{border-radius:var(--dv-sash-border-radius)}.dockview-theme-catppuccin-mocha-spaced .dv-drop-target-anchor{border-radius:calc(var(--dv-border-radius) / 4)}.dockview-theme-catppuccin-mocha-spaced .dv-drop-target-anchor.dv-drop-target-content{border-radius:var(--dv-border-radius)}.dockview-theme-catppuccin-mocha-spaced .dv-resize-container{border-radius:var(--dv-border-radius)!important;border:none}.dockview-theme-catppuccin-mocha-spaced .dv-resize-container .dv-groupview{border:var(--dv-floating-group-border)}.dockview-theme-catppuccin-mocha-spaced .dv-resize-container>.dv-grid-view{box-sizing:border-box;padding:var(--dv-spacing-padding)}.dockview-theme-catppuccin-mocha-spaced .dv-resize-container-with-titlebar>.dv-grid-view{padding-top:0}.dockview-theme-catppuccin-mocha-spaced .dv-resize-container-with-titlebar>.dv-floating-titlebar{border-top-left-radius:var(--dv-border-radius);border-top-right-radius:var(--dv-border-radius)}.dockview-theme-catppuccin-mocha-spaced .dv-tabs-overflow-container,.dockview-theme-catppuccin-mocha-spaced .dv-tabs-overflow-dropdown-default{border-radius:var(--dv-dropdown-border-radius);height:unset!important}.dockview-theme-catppuccin-mocha-spaced .dv-render-overlay{border-bottom-left-radius:var(--dv-border-radius);border-bottom-right-radius:var(--dv-border-radius)}.dockview-theme-catppuccin-mocha-spaced .dv-tab{border-radius:var(--dv-tab-border-radius)}.dockview-theme-catppuccin-mocha-spaced .dv-tab .dv-svg{height:var(--dv-tab-close-icon-size);width:var(--dv-tab-close-icon-size)}.dockview-theme-catppuccin-mocha-spaced .dv-tabs-container-vertical .dv-tab{margin:.25rem .5rem}.dockview-theme-catppuccin-mocha-spaced .dv-groupview{border-radius:var(--dv-border-radius)}.dockview-theme-catppuccin-mocha-spaced .dv-groupview .dv-tabs-and-actions-container{padding:0px calc(var(--dv-border-radius) / 2);border-top-left-radius:var(--dv-border-radius);border-top-right-radius:var(--dv-border-radius)}.dockview-theme-catppuccin-mocha-spaced .dv-groupview .dv-tabs-and-actions-container.dv-groupview-header-vertical{padding:calc(var(--dv-border-radius) / 2) 0}.dockview-theme-catppuccin-mocha-spaced .dv-groupview .dv-content-container{background-color:var(--dv-tabs-and-actions-container-background-color);border-bottom-left-radius:var(--dv-border-radius);border-bottom-right-radius:var(--dv-border-radius)}.dockview-theme-catppuccin-mocha-spaced{--dv-color-mocha-crust: #11111b;--dv-color-mocha-mantle: #181825;--dv-color-mocha-base: #1e1e2e;--dv-color-mocha-surface0: #313244;--dv-color-mocha-surface1: #45475a;--dv-color-mocha-text: #cdd6f4;--dv-color-mocha-subtext1: #bac2de;--dv-color-mocha-subtext0: #a6adc8;--dv-color-mocha-mauve: #cba6f7;--dv-color-mocha-lavender: #b4befe;--dv-group-view-background-color: var(--dv-color-mocha-crust);--dv-tabs-and-actions-container-background-color: var( --dv-color-mocha-mantle );--dv-activegroup-visiblepanel-tab-background-color: var( --dv-color-mocha-surface0 );--dv-activegroup-hiddenpanel-tab-background-color: var( --dv-color-mocha-mantle );--dv-inactivegroup-visiblepanel-tab-background-color: var( --dv-color-mocha-surface0 );--dv-inactivegroup-hiddenpanel-tab-background-color: var( --dv-color-mocha-mantle );--dv-activegroup-visiblepanel-tab-color: var(--dv-color-mocha-text);--dv-activegroup-hiddenpanel-tab-color: var(--dv-color-mocha-subtext1);--dv-inactivegroup-visiblepanel-tab-color: var(--dv-color-mocha-subtext0);--dv-inactivegroup-hiddenpanel-tab-color: rgba(166, 173, 200, .5);--dv-separator-border: transparent;--dv-paneview-active-outline-color: var(--dv-color-mocha-mauve);--dv-active-sash-color: var(--dv-color-mocha-mauve);--dv-scrollbar-background-color: rgba(49, 50, 68, .8);--dv-floating-group-border: 2px solid var(--dv-color-mocha-crust)}.dockview-theme-monokai{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--dv-floating-border: 1px solid rgba(255, 255, 255, .1);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-spacing-padding: 0px;--dv-tab-border-radius: 0px;--dv-sash-border-radius: 0px;--dv-dropdown-border-radius: 0px;--dv-tab-close-icon-size: inherit;--dv-floating-group-border: none;--dv-drag-over-border: none;--dv-floating-group-dragging-opacity: .5;--dv-floating-titlebar-height: 22px;--dv-floating-titlebar-background-color: var( --dv-tabs-and-actions-container-background-color );--dv-floating-titlebar-border-bottom: var(--dv-floating-border);--dv-tab-group-color-grey: #5f6368;--dv-tab-group-color-blue: #1a73e8;--dv-tab-group-color-red: #d93025;--dv-tab-group-color-yellow: #f9ab00;--dv-tab-group-color-green: #188038;--dv-tab-group-color-pink: #d01884;--dv-tab-group-color-purple: #a142f4;--dv-tab-group-color-cyan: #007b83;--dv-tab-group-color-orange: #e8710a;--dv-tab-group-chip-padding: 4px 8px;--dv-tab-group-chip-border-radius: 6px;--dv-tab-group-chip-font-size: 11px;--dv-tab-group-line-height: 2px;--dv-tab-group-line-opacity: .6}.dockview-theme-monokai .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-monokai{--dv-color-monokai-bg: #272822;--dv-color-monokai-bg-light: #3e3d32;--dv-color-monokai-comment: #75715e;--dv-color-monokai-fg: #f8f8f2;--dv-color-monokai-green: #a6e22e;--dv-group-view-background-color: var(--dv-color-monokai-bg);--dv-tabs-and-actions-container-background-color: var( --dv-color-monokai-bg-light );--dv-activegroup-visiblepanel-tab-background-color: var( --dv-color-monokai-bg );--dv-activegroup-hiddenpanel-tab-background-color: #2d2c25;--dv-inactivegroup-visiblepanel-tab-background-color: var( --dv-color-monokai-bg );--dv-inactivegroup-hiddenpanel-tab-background-color: #2d2c25;--dv-activegroup-visiblepanel-tab-color: var(--dv-color-monokai-fg);--dv-activegroup-hiddenpanel-tab-color: var(--dv-color-monokai-comment);--dv-inactivegroup-visiblepanel-tab-color: rgba(248, 248, 242, .5);--dv-inactivegroup-hiddenpanel-tab-color: rgba(117, 113, 94, .5);--dv-separator-border: var(--dv-color-monokai-bg-light);--dv-paneview-active-outline-color: var(--dv-color-monokai-green);--dv-active-sash-color: var(--dv-color-monokai-green);--dv-scrollbar-background-color: rgba(117, 113, 94, .5)}.dockview-theme-monokai .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{position:relative}.dockview-theme-monokai .dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab:after{position:absolute;left:0;bottom:0;content:"";width:100%;height:2px;background-color:var(--dv-color-monokai-green);z-index:999}.dockview-theme-monokai .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{position:relative}.dockview-theme-monokai .dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab:after{position:absolute;left:0;bottom:0;content:"";width:100%;height:2px;background-color:#a6e22e59;z-index:999}.dockview-theme-solarized-light{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--dv-floating-border: 1px solid rgba(255, 255, 255, .1);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-spacing-padding: 0px;--dv-tab-border-radius: 0px;--dv-sash-border-radius: 0px;--dv-dropdown-border-radius: 0px;--dv-tab-close-icon-size: inherit;--dv-floating-group-border: none;--dv-drag-over-border: none;--dv-floating-group-dragging-opacity: .5;--dv-floating-titlebar-height: 22px;--dv-floating-titlebar-background-color: var( --dv-tabs-and-actions-container-background-color );--dv-floating-titlebar-border-bottom: var(--dv-floating-border);--dv-tab-group-color-grey: #5f6368;--dv-tab-group-color-blue: #1a73e8;--dv-tab-group-color-red: #d93025;--dv-tab-group-color-yellow: #f9ab00;--dv-tab-group-color-green: #188038;--dv-tab-group-color-pink: #d01884;--dv-tab-group-color-purple: #a142f4;--dv-tab-group-color-cyan: #007b83;--dv-tab-group-color-orange: #e8710a;--dv-tab-group-chip-padding: 4px 8px;--dv-tab-group-chip-border-radius: 6px;--dv-tab-group-chip-font-size: 11px;--dv-tab-group-line-height: 2px;--dv-tab-group-line-opacity: .6}.dockview-theme-solarized-light .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-solarized-light{--dv-color-sol-base3: #fdf6e3;--dv-color-sol-base2: #eee8d5;--dv-color-sol-base1: #93a1a1;--dv-color-sol-base00: #657b83;--dv-color-sol-base01: #586e75;--dv-color-sol-blue: #268bd2;--dv-group-view-background-color: var(--dv-color-sol-base3);--dv-tabs-and-actions-container-background-color: var(--dv-color-sol-base2);--dv-activegroup-visiblepanel-tab-background-color: var( --dv-color-sol-base3 );--dv-activegroup-hiddenpanel-tab-background-color: #e8e2d0;--dv-inactivegroup-visiblepanel-tab-background-color: var( --dv-color-sol-base3 );--dv-inactivegroup-hiddenpanel-tab-background-color: #e8e2d0;--dv-activegroup-visiblepanel-tab-color: var(--dv-color-sol-base01);--dv-activegroup-hiddenpanel-tab-color: var(--dv-color-sol-base00);--dv-inactivegroup-visiblepanel-tab-color: var(--dv-color-sol-base1);--dv-inactivegroup-hiddenpanel-tab-color: rgba(147, 161, 161, .6);--dv-separator-border: var(--dv-color-sol-base2);--dv-paneview-active-outline-color: var(--dv-color-sol-blue);--dv-active-sash-color: var(--dv-color-sol-blue);--dv-scrollbar-background-color: rgba(101, 123, 131, .25);--dv-drag-over-background-color: rgba(38, 139, 210, .15);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .08);--dv-floating-border: 1px solid rgba(0, 0, 0, .1)}.dockview-theme-solarized-light-spaced{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--dv-floating-border: 1px solid rgba(255, 255, 255, .1);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-spacing-padding: 0px;--dv-tab-border-radius: 0px;--dv-sash-border-radius: 0px;--dv-dropdown-border-radius: 0px;--dv-tab-close-icon-size: inherit;--dv-floating-group-border: none;--dv-drag-over-border: none;--dv-floating-group-dragging-opacity: .5;--dv-floating-titlebar-height: 22px;--dv-floating-titlebar-background-color: var( --dv-tabs-and-actions-container-background-color );--dv-floating-titlebar-border-bottom: var(--dv-floating-border);--dv-tab-group-color-grey: #5f6368;--dv-tab-group-color-blue: #1a73e8;--dv-tab-group-color-red: #d93025;--dv-tab-group-color-yellow: #f9ab00;--dv-tab-group-color-green: #188038;--dv-tab-group-color-pink: #d01884;--dv-tab-group-color-purple: #a142f4;--dv-tab-group-color-cyan: #007b83;--dv-tab-group-color-orange: #e8710a;--dv-tab-group-chip-padding: 4px 8px;--dv-tab-group-chip-border-radius: 6px;--dv-tab-group-chip-font-size: 11px;--dv-tab-group-line-height: 2px;--dv-tab-group-line-opacity: .6;--dv-spacing-padding: 10px;--dv-tab-font-size: 12px;--dv-border-radius: 12px;--dv-tab-margin: .5rem .25rem;--dv-tabs-and-actions-container-height: 44px;--dv-tab-border-radius: 8px;--dv-sash-border-radius: 4px;--dv-dropdown-border-radius: 8px;--dv-tab-close-icon-size: 8px;--dv-floating-group-border: 2px solid var(--dv-group-view-background-color);--dv-floating-titlebar-background-color: var( --dv-group-view-background-color );--dv-floating-titlebar-border-bottom: none;box-sizing:border-box;padding:var(--dv-spacing-padding);background-color:var(--dv-group-view-background-color)}.dv-shell .dockview-theme-solarized-light-spaced{padding:0}.dockview-theme-solarized-light-spaced .dv-resize-container:has(>.dv-groupview){border-radius:8px}.dockview-theme-solarized-light-spaced .dv-sash{border-radius:var(--dv-sash-border-radius)}.dockview-theme-solarized-light-spaced .dv-drop-target-anchor{border-radius:calc(var(--dv-border-radius) / 4)}.dockview-theme-solarized-light-spaced .dv-drop-target-anchor.dv-drop-target-content{border-radius:var(--dv-border-radius)}.dockview-theme-solarized-light-spaced .dv-resize-container{border-radius:var(--dv-border-radius)!important;border:none}.dockview-theme-solarized-light-spaced .dv-resize-container .dv-groupview{border:var(--dv-floating-group-border)}.dockview-theme-solarized-light-spaced .dv-resize-container>.dv-grid-view{box-sizing:border-box;padding:var(--dv-spacing-padding)}.dockview-theme-solarized-light-spaced .dv-resize-container-with-titlebar>.dv-grid-view{padding-top:0}.dockview-theme-solarized-light-spaced .dv-resize-container-with-titlebar>.dv-floating-titlebar{border-top-left-radius:var(--dv-border-radius);border-top-right-radius:var(--dv-border-radius)}.dockview-theme-solarized-light-spaced .dv-tabs-overflow-container,.dockview-theme-solarized-light-spaced .dv-tabs-overflow-dropdown-default{border-radius:var(--dv-dropdown-border-radius);height:unset!important}.dockview-theme-solarized-light-spaced .dv-render-overlay{border-bottom-left-radius:var(--dv-border-radius);border-bottom-right-radius:var(--dv-border-radius)}.dockview-theme-solarized-light-spaced .dv-tab{border-radius:var(--dv-tab-border-radius)}.dockview-theme-solarized-light-spaced .dv-tab .dv-svg{height:var(--dv-tab-close-icon-size);width:var(--dv-tab-close-icon-size)}.dockview-theme-solarized-light-spaced .dv-tabs-container-vertical .dv-tab{margin:.25rem .5rem}.dockview-theme-solarized-light-spaced .dv-groupview{border-radius:var(--dv-border-radius)}.dockview-theme-solarized-light-spaced .dv-groupview .dv-tabs-and-actions-container{padding:0px calc(var(--dv-border-radius) / 2);border-top-left-radius:var(--dv-border-radius);border-top-right-radius:var(--dv-border-radius)}.dockview-theme-solarized-light-spaced .dv-groupview .dv-tabs-and-actions-container.dv-groupview-header-vertical{padding:calc(var(--dv-border-radius) / 2) 0}.dockview-theme-solarized-light-spaced .dv-groupview .dv-content-container{background-color:var(--dv-tabs-and-actions-container-background-color);border-bottom-left-radius:var(--dv-border-radius);border-bottom-right-radius:var(--dv-border-radius)}.dockview-theme-solarized-light-spaced{--dv-color-sol-base3: #fdf6e3;--dv-color-sol-base2: #eee8d5;--dv-color-sol-base1: #93a1a1;--dv-color-sol-base00: #657b83;--dv-color-sol-base01: #586e75;--dv-color-sol-blue: #268bd2;--dv-drag-over-background-color: rgba(38, 139, 210, .1);--dv-group-view-background-color: var(--dv-color-sol-base2);--dv-tabs-and-actions-container-background-color: var(--dv-color-sol-base3);--dv-activegroup-visiblepanel-tab-background-color: #e8e2d0;--dv-activegroup-hiddenpanel-tab-background-color: var( --dv-color-sol-base3 );--dv-inactivegroup-visiblepanel-tab-background-color: #e8e2d0;--dv-inactivegroup-hiddenpanel-tab-background-color: var( --dv-color-sol-base3 );--dv-activegroup-visiblepanel-tab-color: var(--dv-color-sol-base01);--dv-activegroup-hiddenpanel-tab-color: var(--dv-color-sol-base00);--dv-inactivegroup-visiblepanel-tab-color: var(--dv-color-sol-base1);--dv-inactivegroup-hiddenpanel-tab-color: rgba(147, 161, 161, .6);--dv-separator-border: transparent;--dv-paneview-active-outline-color: var(--dv-color-sol-blue);--dv-active-sash-color: var(--dv-color-sol-blue);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .08);--dv-floating-border: 1px solid rgba(0, 0, 0, .1);--dv-scrollbar-background-color: rgba(101, 123, 131, .25);--dv-floating-group-border: 2px solid rgba(238, 232, 213, .5)}.dockview-theme-github-dark{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--dv-floating-border: 1px solid rgba(255, 255, 255, .1);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-spacing-padding: 0px;--dv-tab-border-radius: 0px;--dv-sash-border-radius: 0px;--dv-dropdown-border-radius: 0px;--dv-tab-close-icon-size: inherit;--dv-floating-group-border: none;--dv-drag-over-border: none;--dv-floating-group-dragging-opacity: .5;--dv-floating-titlebar-height: 22px;--dv-floating-titlebar-background-color: var( --dv-tabs-and-actions-container-background-color );--dv-floating-titlebar-border-bottom: var(--dv-floating-border);--dv-tab-group-color-grey: #5f6368;--dv-tab-group-color-blue: #1a73e8;--dv-tab-group-color-red: #d93025;--dv-tab-group-color-yellow: #f9ab00;--dv-tab-group-color-green: #188038;--dv-tab-group-color-pink: #d01884;--dv-tab-group-color-purple: #a142f4;--dv-tab-group-color-cyan: #007b83;--dv-tab-group-color-orange: #e8710a;--dv-tab-group-chip-padding: 4px 8px;--dv-tab-group-chip-border-radius: 6px;--dv-tab-group-chip-font-size: 11px;--dv-tab-group-line-height: 2px;--dv-tab-group-line-opacity: .6}.dockview-theme-github-dark .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-github-dark{--dv-color-gh-canvas-default: #0d1117;--dv-color-gh-canvas-subtle: #161b22;--dv-color-gh-canvas-inset: #010409;--dv-color-gh-border: #30363d;--dv-color-gh-border-muted: #21262d;--dv-color-gh-fg-default: #e6edf3;--dv-color-gh-fg-muted: #8b949e;--dv-color-gh-fg-subtle: #6e7681;--dv-color-gh-accent: #58a6ff;--dv-group-view-background-color: var(--dv-color-gh-canvas-default);--dv-tabs-and-actions-container-background-color: var( --dv-color-gh-canvas-subtle );--dv-activegroup-visiblepanel-tab-background-color: var( --dv-color-gh-canvas-default );--dv-activegroup-hiddenpanel-tab-background-color: var( --dv-color-gh-canvas-subtle );--dv-inactivegroup-visiblepanel-tab-background-color: var( --dv-color-gh-canvas-default );--dv-inactivegroup-hiddenpanel-tab-background-color: var( --dv-color-gh-canvas-subtle );--dv-activegroup-visiblepanel-tab-color: var(--dv-color-gh-fg-default);--dv-activegroup-hiddenpanel-tab-color: var(--dv-color-gh-fg-muted);--dv-inactivegroup-visiblepanel-tab-color: var(--dv-color-gh-fg-subtle);--dv-inactivegroup-hiddenpanel-tab-color: rgba(110, 118, 129, .5);--dv-separator-border: var(--dv-color-gh-border);--dv-paneview-active-outline-color: var(--dv-color-gh-accent);--dv-active-sash-color: var(--dv-color-gh-accent);--dv-scrollbar-background-color: rgba(48, 54, 61, .7);--dv-drag-over-background-color: rgba(88, 166, 255, .15)}.dockview-theme-github-dark-spaced{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--dv-floating-border: 1px solid rgba(255, 255, 255, .1);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-spacing-padding: 0px;--dv-tab-border-radius: 0px;--dv-sash-border-radius: 0px;--dv-dropdown-border-radius: 0px;--dv-tab-close-icon-size: inherit;--dv-floating-group-border: none;--dv-drag-over-border: none;--dv-floating-group-dragging-opacity: .5;--dv-floating-titlebar-height: 22px;--dv-floating-titlebar-background-color: var( --dv-tabs-and-actions-container-background-color );--dv-floating-titlebar-border-bottom: var(--dv-floating-border);--dv-tab-group-color-grey: #5f6368;--dv-tab-group-color-blue: #1a73e8;--dv-tab-group-color-red: #d93025;--dv-tab-group-color-yellow: #f9ab00;--dv-tab-group-color-green: #188038;--dv-tab-group-color-pink: #d01884;--dv-tab-group-color-purple: #a142f4;--dv-tab-group-color-cyan: #007b83;--dv-tab-group-color-orange: #e8710a;--dv-tab-group-chip-padding: 4px 8px;--dv-tab-group-chip-border-radius: 6px;--dv-tab-group-chip-font-size: 11px;--dv-tab-group-line-height: 2px;--dv-tab-group-line-opacity: .6;--dv-spacing-padding: 10px;--dv-tab-font-size: 12px;--dv-border-radius: 12px;--dv-tab-margin: .5rem .25rem;--dv-tabs-and-actions-container-height: 44px;--dv-tab-border-radius: 8px;--dv-sash-border-radius: 4px;--dv-dropdown-border-radius: 8px;--dv-tab-close-icon-size: 8px;--dv-floating-group-border: 2px solid var(--dv-group-view-background-color);--dv-floating-titlebar-background-color: var( --dv-group-view-background-color );--dv-floating-titlebar-border-bottom: none;box-sizing:border-box;padding:var(--dv-spacing-padding);background-color:var(--dv-group-view-background-color)}.dv-shell .dockview-theme-github-dark-spaced{padding:0}.dockview-theme-github-dark-spaced .dv-resize-container:has(>.dv-groupview){border-radius:8px}.dockview-theme-github-dark-spaced .dv-sash{border-radius:var(--dv-sash-border-radius)}.dockview-theme-github-dark-spaced .dv-drop-target-anchor{border-radius:calc(var(--dv-border-radius) / 4)}.dockview-theme-github-dark-spaced .dv-drop-target-anchor.dv-drop-target-content{border-radius:var(--dv-border-radius)}.dockview-theme-github-dark-spaced .dv-resize-container{border-radius:var(--dv-border-radius)!important;border:none}.dockview-theme-github-dark-spaced .dv-resize-container .dv-groupview{border:var(--dv-floating-group-border)}.dockview-theme-github-dark-spaced .dv-resize-container>.dv-grid-view{box-sizing:border-box;padding:var(--dv-spacing-padding)}.dockview-theme-github-dark-spaced .dv-resize-container-with-titlebar>.dv-grid-view{padding-top:0}.dockview-theme-github-dark-spaced .dv-resize-container-with-titlebar>.dv-floating-titlebar{border-top-left-radius:var(--dv-border-radius);border-top-right-radius:var(--dv-border-radius)}.dockview-theme-github-dark-spaced .dv-tabs-overflow-container,.dockview-theme-github-dark-spaced .dv-tabs-overflow-dropdown-default{border-radius:var(--dv-dropdown-border-radius);height:unset!important}.dockview-theme-github-dark-spaced .dv-render-overlay{border-bottom-left-radius:var(--dv-border-radius);border-bottom-right-radius:var(--dv-border-radius)}.dockview-theme-github-dark-spaced .dv-tab{border-radius:var(--dv-tab-border-radius)}.dockview-theme-github-dark-spaced .dv-tab .dv-svg{height:var(--dv-tab-close-icon-size);width:var(--dv-tab-close-icon-size)}.dockview-theme-github-dark-spaced .dv-tabs-container-vertical .dv-tab{margin:.25rem .5rem}.dockview-theme-github-dark-spaced .dv-groupview{border-radius:var(--dv-border-radius)}.dockview-theme-github-dark-spaced .dv-groupview .dv-tabs-and-actions-container{padding:0px calc(var(--dv-border-radius) / 2);border-top-left-radius:var(--dv-border-radius);border-top-right-radius:var(--dv-border-radius)}.dockview-theme-github-dark-spaced .dv-groupview .dv-tabs-and-actions-container.dv-groupview-header-vertical{padding:calc(var(--dv-border-radius) / 2) 0}.dockview-theme-github-dark-spaced .dv-groupview .dv-content-container{background-color:var(--dv-tabs-and-actions-container-background-color);border-bottom-left-radius:var(--dv-border-radius);border-bottom-right-radius:var(--dv-border-radius)}.dockview-theme-github-dark-spaced{--dv-color-gh-canvas-default: #0d1117;--dv-color-gh-canvas-subtle: #161b22;--dv-color-gh-canvas-inset: #010409;--dv-color-gh-border: #30363d;--dv-color-gh-border-muted: #21262d;--dv-color-gh-fg-default: #e6edf3;--dv-color-gh-fg-muted: #8b949e;--dv-color-gh-fg-subtle: #6e7681;--dv-color-gh-accent: #58a6ff;--dv-drag-over-background-color: rgba(88, 166, 255, .1);--dv-group-view-background-color: var(--dv-color-gh-canvas-inset);--dv-tabs-and-actions-container-background-color: var( --dv-color-gh-canvas-subtle );--dv-activegroup-visiblepanel-tab-background-color: var( --dv-color-gh-border );--dv-activegroup-hiddenpanel-tab-background-color: var( --dv-color-gh-canvas-subtle );--dv-inactivegroup-visiblepanel-tab-background-color: var( --dv-color-gh-border );--dv-inactivegroup-hiddenpanel-tab-background-color: var( --dv-color-gh-canvas-subtle );--dv-activegroup-visiblepanel-tab-color: var(--dv-color-gh-fg-default);--dv-activegroup-hiddenpanel-tab-color: var(--dv-color-gh-fg-muted);--dv-inactivegroup-visiblepanel-tab-color: var(--dv-color-gh-fg-subtle);--dv-inactivegroup-hiddenpanel-tab-color: rgba(110, 118, 129, .5);--dv-separator-border: transparent;--dv-paneview-active-outline-color: var(--dv-color-gh-accent);--dv-active-sash-color: var(--dv-color-gh-accent);--dv-scrollbar-background-color: rgba(48, 54, 61, .7);--dv-floating-group-border: 2px solid var(--dv-color-gh-canvas-inset)}.dockview-theme-github-light{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--dv-floating-border: 1px solid rgba(255, 255, 255, .1);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-spacing-padding: 0px;--dv-tab-border-radius: 0px;--dv-sash-border-radius: 0px;--dv-dropdown-border-radius: 0px;--dv-tab-close-icon-size: inherit;--dv-floating-group-border: none;--dv-drag-over-border: none;--dv-floating-group-dragging-opacity: .5;--dv-floating-titlebar-height: 22px;--dv-floating-titlebar-background-color: var( --dv-tabs-and-actions-container-background-color );--dv-floating-titlebar-border-bottom: var(--dv-floating-border);--dv-tab-group-color-grey: #5f6368;--dv-tab-group-color-blue: #1a73e8;--dv-tab-group-color-red: #d93025;--dv-tab-group-color-yellow: #f9ab00;--dv-tab-group-color-green: #188038;--dv-tab-group-color-pink: #d01884;--dv-tab-group-color-purple: #a142f4;--dv-tab-group-color-cyan: #007b83;--dv-tab-group-color-orange: #e8710a;--dv-tab-group-chip-padding: 4px 8px;--dv-tab-group-chip-border-radius: 6px;--dv-tab-group-chip-font-size: 11px;--dv-tab-group-line-height: 2px;--dv-tab-group-line-opacity: .6}.dockview-theme-github-light .dv-drop-target-container .dv-drop-target-anchor.dv-drop-target-anchor-container-changed{opacity:0;transition:none}.dockview-theme-github-light{--dv-color-gh-light-canvas-default: #ffffff;--dv-color-gh-light-canvas-subtle: #f6f8fa;--dv-color-gh-light-canvas-inset: #f0f6ff;--dv-color-gh-light-border: #d0d7de;--dv-color-gh-light-fg-default: #1f2328;--dv-color-gh-light-fg-muted: #656d76;--dv-color-gh-light-fg-subtle: #6e7781;--dv-color-gh-light-accent: #0969da;--dv-group-view-background-color: var(--dv-color-gh-light-canvas-default);--dv-tabs-and-actions-container-background-color: var( --dv-color-gh-light-canvas-subtle );--dv-activegroup-visiblepanel-tab-background-color: var( --dv-color-gh-light-canvas-default );--dv-activegroup-hiddenpanel-tab-background-color: var( --dv-color-gh-light-canvas-subtle );--dv-inactivegroup-visiblepanel-tab-background-color: var( --dv-color-gh-light-canvas-default );--dv-inactivegroup-hiddenpanel-tab-background-color: var( --dv-color-gh-light-canvas-subtle );--dv-activegroup-visiblepanel-tab-color: var( --dv-color-gh-light-fg-default );--dv-activegroup-hiddenpanel-tab-color: var(--dv-color-gh-light-fg-muted);--dv-inactivegroup-visiblepanel-tab-color: var( --dv-color-gh-light-fg-subtle );--dv-inactivegroup-hiddenpanel-tab-color: rgba(110, 118, 129, .4);--dv-separator-border: var(--dv-color-gh-light-border);--dv-paneview-active-outline-color: var(--dv-color-gh-light-accent);--dv-active-sash-color: var(--dv-color-gh-light-accent);--dv-scrollbar-background-color: rgba(208, 215, 222, .5);--dv-drag-over-background-color: rgba(9, 105, 218, .1);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .08);--dv-floating-border: 1px solid rgba(0, 0, 0, .1)}.dockview-theme-github-light-spaced{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--dv-floating-border: 1px solid rgba(255, 255, 255, .1);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-spacing-padding: 0px;--dv-tab-border-radius: 0px;--dv-sash-border-radius: 0px;--dv-dropdown-border-radius: 0px;--dv-tab-close-icon-size: inherit;--dv-floating-group-border: none;--dv-drag-over-border: none;--dv-floating-group-dragging-opacity: .5;--dv-floating-titlebar-height: 22px;--dv-floating-titlebar-background-color: var( --dv-tabs-and-actions-container-background-color );--dv-floating-titlebar-border-bottom: var(--dv-floating-border);--dv-tab-group-color-grey: #5f6368;--dv-tab-group-color-blue: #1a73e8;--dv-tab-group-color-red: #d93025;--dv-tab-group-color-yellow: #f9ab00;--dv-tab-group-color-green: #188038;--dv-tab-group-color-pink: #d01884;--dv-tab-group-color-purple: #a142f4;--dv-tab-group-color-cyan: #007b83;--dv-tab-group-color-orange: #e8710a;--dv-tab-group-chip-padding: 4px 8px;--dv-tab-group-chip-border-radius: 6px;--dv-tab-group-chip-font-size: 11px;--dv-tab-group-line-height: 2px;--dv-tab-group-line-opacity: .6;--dv-spacing-padding: 10px;--dv-tab-font-size: 12px;--dv-border-radius: 12px;--dv-tab-margin: .5rem .25rem;--dv-tabs-and-actions-container-height: 44px;--dv-tab-border-radius: 8px;--dv-sash-border-radius: 4px;--dv-dropdown-border-radius: 8px;--dv-tab-close-icon-size: 8px;--dv-floating-group-border: 2px solid var(--dv-group-view-background-color);--dv-floating-titlebar-background-color: var( --dv-group-view-background-color );--dv-floating-titlebar-border-bottom: none;box-sizing:border-box;padding:var(--dv-spacing-padding);background-color:var(--dv-group-view-background-color)}.dv-shell .dockview-theme-github-light-spaced{padding:0}.dockview-theme-github-light-spaced .dv-resize-container:has(>.dv-groupview){border-radius:8px}.dockview-theme-github-light-spaced .dv-sash{border-radius:var(--dv-sash-border-radius)}.dockview-theme-github-light-spaced .dv-drop-target-anchor{border-radius:calc(var(--dv-border-radius) / 4)}.dockview-theme-github-light-spaced .dv-drop-target-anchor.dv-drop-target-content{border-radius:var(--dv-border-radius)}.dockview-theme-github-light-spaced .dv-resize-container{border-radius:var(--dv-border-radius)!important;border:none}.dockview-theme-github-light-spaced .dv-resize-container .dv-groupview{border:var(--dv-floating-group-border)}.dockview-theme-github-light-spaced .dv-resize-container>.dv-grid-view{box-sizing:border-box;padding:var(--dv-spacing-padding)}.dockview-theme-github-light-spaced .dv-resize-container-with-titlebar>.dv-grid-view{padding-top:0}.dockview-theme-github-light-spaced .dv-resize-container-with-titlebar>.dv-floating-titlebar{border-top-left-radius:var(--dv-border-radius);border-top-right-radius:var(--dv-border-radius)}.dockview-theme-github-light-spaced .dv-tabs-overflow-container,.dockview-theme-github-light-spaced .dv-tabs-overflow-dropdown-default{border-radius:var(--dv-dropdown-border-radius);height:unset!important}.dockview-theme-github-light-spaced .dv-render-overlay{border-bottom-left-radius:var(--dv-border-radius);border-bottom-right-radius:var(--dv-border-radius)}.dockview-theme-github-light-spaced .dv-tab{border-radius:var(--dv-tab-border-radius)}.dockview-theme-github-light-spaced .dv-tab .dv-svg{height:var(--dv-tab-close-icon-size);width:var(--dv-tab-close-icon-size)}.dockview-theme-github-light-spaced .dv-tabs-container-vertical .dv-tab{margin:.25rem .5rem}.dockview-theme-github-light-spaced .dv-groupview{border-radius:var(--dv-border-radius)}.dockview-theme-github-light-spaced .dv-groupview .dv-tabs-and-actions-container{padding:0px calc(var(--dv-border-radius) / 2);border-top-left-radius:var(--dv-border-radius);border-top-right-radius:var(--dv-border-radius)}.dockview-theme-github-light-spaced .dv-groupview .dv-tabs-and-actions-container.dv-groupview-header-vertical{padding:calc(var(--dv-border-radius) / 2) 0}.dockview-theme-github-light-spaced .dv-groupview .dv-content-container{background-color:var(--dv-tabs-and-actions-container-background-color);border-bottom-left-radius:var(--dv-border-radius);border-bottom-right-radius:var(--dv-border-radius)}.dockview-theme-github-light-spaced{--dv-color-gh-light-canvas-default: #ffffff;--dv-color-gh-light-canvas-subtle: #f6f8fa;--dv-color-gh-light-border: #d0d7de;--dv-color-gh-light-fg-default: #1f2328;--dv-color-gh-light-fg-muted: #656d76;--dv-color-gh-light-fg-subtle: #6e7781;--dv-color-gh-light-accent: #0969da;--dv-drag-over-background-color: rgba(9, 105, 218, .08);--dv-group-view-background-color: var(--dv-color-gh-light-canvas-subtle);--dv-tabs-and-actions-container-background-color: var( --dv-color-gh-light-canvas-default );--dv-activegroup-visiblepanel-tab-background-color: var( --dv-color-gh-light-border );--dv-activegroup-hiddenpanel-tab-background-color: var( --dv-color-gh-light-canvas-default );--dv-inactivegroup-visiblepanel-tab-background-color: var( --dv-color-gh-light-border );--dv-inactivegroup-hiddenpanel-tab-background-color: var( --dv-color-gh-light-canvas-default );--dv-activegroup-visiblepanel-tab-color: var( --dv-color-gh-light-fg-default );--dv-activegroup-hiddenpanel-tab-color: var(--dv-color-gh-light-fg-muted);--dv-inactivegroup-visiblepanel-tab-color: var( --dv-color-gh-light-fg-subtle );--dv-inactivegroup-hiddenpanel-tab-color: rgba(110, 118, 129, .4);--dv-separator-border: transparent;--dv-paneview-active-outline-color: var(--dv-color-gh-light-accent);--dv-active-sash-color: var(--dv-color-gh-light-accent);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .08);--dv-floating-border: 1px solid rgba(0, 0, 0, .1);--dv-scrollbar-background-color: rgba(208, 215, 222, .5);--dv-floating-group-border: 2px solid rgba(208, 215, 222, .5)}.dockview-theme-abyss-spaced{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--dv-floating-border: 1px solid rgba(255, 255, 255, .1);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-spacing-padding: 0px;--dv-tab-border-radius: 0px;--dv-sash-border-radius: 0px;--dv-dropdown-border-radius: 0px;--dv-tab-close-icon-size: inherit;--dv-floating-group-border: none;--dv-drag-over-border: none;--dv-floating-group-dragging-opacity: .5;--dv-floating-titlebar-height: 22px;--dv-floating-titlebar-background-color: var( --dv-tabs-and-actions-container-background-color );--dv-floating-titlebar-border-bottom: var(--dv-floating-border);--dv-tab-group-color-grey: #5f6368;--dv-tab-group-color-blue: #1a73e8;--dv-tab-group-color-red: #d93025;--dv-tab-group-color-yellow: #f9ab00;--dv-tab-group-color-green: #188038;--dv-tab-group-color-pink: #d01884;--dv-tab-group-color-purple: #a142f4;--dv-tab-group-color-cyan: #007b83;--dv-tab-group-color-orange: #e8710a;--dv-tab-group-chip-padding: 4px 8px;--dv-tab-group-chip-border-radius: 6px;--dv-tab-group-chip-font-size: 11px;--dv-tab-group-line-height: 2px;--dv-tab-group-line-opacity: .6;--dv-spacing-padding: 10px;--dv-tab-font-size: 12px;--dv-border-radius: 12px;--dv-tab-margin: .5rem .25rem;--dv-tabs-and-actions-container-height: 44px;--dv-tab-border-radius: 8px;--dv-sash-border-radius: 4px;--dv-dropdown-border-radius: 8px;--dv-tab-close-icon-size: 8px;--dv-floating-group-border: 2px solid var(--dv-group-view-background-color);--dv-floating-titlebar-background-color: var( --dv-group-view-background-color );--dv-floating-titlebar-border-bottom: none;box-sizing:border-box;padding:var(--dv-spacing-padding);background-color:var(--dv-group-view-background-color)}.dv-shell .dockview-theme-abyss-spaced{padding:0}.dockview-theme-abyss-spaced .dv-resize-container:has(>.dv-groupview){border-radius:8px}.dockview-theme-abyss-spaced .dv-sash{border-radius:var(--dv-sash-border-radius)}.dockview-theme-abyss-spaced .dv-drop-target-anchor{border-radius:calc(var(--dv-border-radius) / 4)}.dockview-theme-abyss-spaced .dv-drop-target-anchor.dv-drop-target-content{border-radius:var(--dv-border-radius)}.dockview-theme-abyss-spaced .dv-resize-container{border-radius:var(--dv-border-radius)!important;border:none}.dockview-theme-abyss-spaced .dv-resize-container .dv-groupview{border:var(--dv-floating-group-border)}.dockview-theme-abyss-spaced .dv-resize-container>.dv-grid-view{box-sizing:border-box;padding:var(--dv-spacing-padding)}.dockview-theme-abyss-spaced .dv-resize-container-with-titlebar>.dv-grid-view{padding-top:0}.dockview-theme-abyss-spaced .dv-resize-container-with-titlebar>.dv-floating-titlebar{border-top-left-radius:var(--dv-border-radius);border-top-right-radius:var(--dv-border-radius)}.dockview-theme-abyss-spaced .dv-tabs-overflow-container,.dockview-theme-abyss-spaced .dv-tabs-overflow-dropdown-default{border-radius:var(--dv-dropdown-border-radius);height:unset!important}.dockview-theme-abyss-spaced .dv-render-overlay{border-bottom-left-radius:var(--dv-border-radius);border-bottom-right-radius:var(--dv-border-radius)}.dockview-theme-abyss-spaced .dv-tab{border-radius:var(--dv-tab-border-radius)}.dockview-theme-abyss-spaced .dv-tab .dv-svg{height:var(--dv-tab-close-icon-size);width:var(--dv-tab-close-icon-size)}.dockview-theme-abyss-spaced .dv-tabs-container-vertical .dv-tab{margin:.25rem .5rem}.dockview-theme-abyss-spaced .dv-groupview{border-radius:var(--dv-border-radius)}.dockview-theme-abyss-spaced .dv-groupview .dv-tabs-and-actions-container{padding:0px calc(var(--dv-border-radius) / 2);border-top-left-radius:var(--dv-border-radius);border-top-right-radius:var(--dv-border-radius)}.dockview-theme-abyss-spaced .dv-groupview .dv-tabs-and-actions-container.dv-groupview-header-vertical{padding:calc(var(--dv-border-radius) / 2) 0}.dockview-theme-abyss-spaced .dv-groupview .dv-content-container{background-color:var(--dv-tabs-and-actions-container-background-color);border-bottom-left-radius:var(--dv-border-radius);border-bottom-right-radius:var(--dv-border-radius)}.dockview-theme-abyss-spaced{--dv-color-abyss-dark: rgb(11, 6, 17);--dv-color-abyss: #16121f;--dv-color-abyss-light: #201d2b;--dv-color-abyss-lighter: #2a2837;--dv-color-abyss-accent: rgb(91, 30, 207);--dv-color-abyss-primary-text: white;--dv-color-abyss-secondary-text: rgb(148, 151, 169);--dv-drag-over-background-color: "";--dv-group-view-background-color: var(--dv-color-abyss-dark);--dv-tabs-and-actions-container-background-color: var(--dv-color-abyss);--dv-activegroup-visiblepanel-tab-background-color: var( --dv-color-abyss-lighter );--dv-activegroup-hiddenpanel-tab-background-color: var( --dv-color-abyss-light );--dv-inactivegroup-visiblepanel-tab-background-color: var( --dv-color-abyss-lighter );--dv-inactivegroup-hiddenpanel-tab-background-color: var( --dv-color-abyss-light );--dv-tab-divider-color: transparent;--dv-activegroup-visiblepanel-tab-color: var(--dv-color-abyss-primary-text);--dv-activegroup-hiddenpanel-tab-color: var( --dv-color-abyss-secondary-text );--dv-inactivegroup-visiblepanel-tab-color: var( --dv-color-abyss-primary-text );--dv-inactivegroup-hiddenpanel-tab-color: var( --dv-color-abyss-secondary-text );--dv-separator-border: transparent;--dv-paneview-header-border-color: rgb(51, 51, 51);--dv-active-sash-color: var(--dv-color-abyss-accent);--dv-floating-group-border: 2px solid var(--dv-color-abyss-dark)}.dockview-theme-light-spaced{--dv-paneview-active-outline-color: dodgerblue;--dv-tabs-and-actions-container-font-size: 13px;--dv-tabs-and-actions-container-height: 35px;--dv-drag-over-background-color: rgba(83, 89, 93, .5);--dv-drag-over-border-color: transparent;--dv-tabs-container-scrollbar-color: #888;--dv-icon-hover-background-color: rgba(90, 93, 94, .31);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 2px 8px rgba(0, 0, 0, .25);--dv-floating-border: 1px solid rgba(255, 255, 255, .1);--dv-overlay-z-index: 999;--dv-tab-font-size: inherit;--dv-border-radius: 0px;--dv-tab-margin: 0;--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-duration: .1s;--dv-active-sash-transition-delay: .5s;--dv-spacing-padding: 0px;--dv-tab-border-radius: 0px;--dv-sash-border-radius: 0px;--dv-dropdown-border-radius: 0px;--dv-tab-close-icon-size: inherit;--dv-floating-group-border: none;--dv-drag-over-border: none;--dv-floating-group-dragging-opacity: .5;--dv-floating-titlebar-height: 22px;--dv-floating-titlebar-background-color: var( --dv-tabs-and-actions-container-background-color );--dv-floating-titlebar-border-bottom: var(--dv-floating-border);--dv-tab-group-color-grey: #5f6368;--dv-tab-group-color-blue: #1a73e8;--dv-tab-group-color-red: #d93025;--dv-tab-group-color-yellow: #f9ab00;--dv-tab-group-color-green: #188038;--dv-tab-group-color-pink: #d01884;--dv-tab-group-color-purple: #a142f4;--dv-tab-group-color-cyan: #007b83;--dv-tab-group-color-orange: #e8710a;--dv-tab-group-chip-padding: 4px 8px;--dv-tab-group-chip-border-radius: 6px;--dv-tab-group-chip-font-size: 11px;--dv-tab-group-line-height: 2px;--dv-tab-group-line-opacity: .6;--dv-spacing-padding: 10px;--dv-tab-font-size: 12px;--dv-border-radius: 12px;--dv-tab-margin: .5rem .25rem;--dv-tabs-and-actions-container-height: 44px;--dv-tab-border-radius: 8px;--dv-sash-border-radius: 4px;--dv-dropdown-border-radius: 8px;--dv-tab-close-icon-size: 8px;--dv-floating-group-border: 2px solid var(--dv-group-view-background-color);--dv-floating-titlebar-background-color: var( --dv-group-view-background-color );--dv-floating-titlebar-border-bottom: none;box-sizing:border-box;padding:var(--dv-spacing-padding);background-color:var(--dv-group-view-background-color)}.dv-shell .dockview-theme-light-spaced{padding:0}.dockview-theme-light-spaced .dv-resize-container:has(>.dv-groupview){border-radius:8px}.dockview-theme-light-spaced .dv-sash{border-radius:var(--dv-sash-border-radius)}.dockview-theme-light-spaced .dv-drop-target-anchor{border-radius:calc(var(--dv-border-radius) / 4)}.dockview-theme-light-spaced .dv-drop-target-anchor.dv-drop-target-content{border-radius:var(--dv-border-radius)}.dockview-theme-light-spaced .dv-resize-container{border-radius:var(--dv-border-radius)!important;border:none}.dockview-theme-light-spaced .dv-resize-container .dv-groupview{border:var(--dv-floating-group-border)}.dockview-theme-light-spaced .dv-resize-container>.dv-grid-view{box-sizing:border-box;padding:var(--dv-spacing-padding)}.dockview-theme-light-spaced .dv-resize-container-with-titlebar>.dv-grid-view{padding-top:0}.dockview-theme-light-spaced .dv-resize-container-with-titlebar>.dv-floating-titlebar{border-top-left-radius:var(--dv-border-radius);border-top-right-radius:var(--dv-border-radius)}.dockview-theme-light-spaced .dv-tabs-overflow-container,.dockview-theme-light-spaced .dv-tabs-overflow-dropdown-default{border-radius:var(--dv-dropdown-border-radius);height:unset!important}.dockview-theme-light-spaced .dv-render-overlay{border-bottom-left-radius:var(--dv-border-radius);border-bottom-right-radius:var(--dv-border-radius)}.dockview-theme-light-spaced .dv-tab{border-radius:var(--dv-tab-border-radius)}.dockview-theme-light-spaced .dv-tab .dv-svg{height:var(--dv-tab-close-icon-size);width:var(--dv-tab-close-icon-size)}.dockview-theme-light-spaced .dv-tabs-container-vertical .dv-tab{margin:.25rem .5rem}.dockview-theme-light-spaced .dv-groupview{border-radius:var(--dv-border-radius)}.dockview-theme-light-spaced .dv-groupview .dv-tabs-and-actions-container{padding:0px calc(var(--dv-border-radius) / 2);border-top-left-radius:var(--dv-border-radius);border-top-right-radius:var(--dv-border-radius)}.dockview-theme-light-spaced .dv-groupview .dv-tabs-and-actions-container.dv-groupview-header-vertical{padding:calc(var(--dv-border-radius) / 2) 0}.dockview-theme-light-spaced .dv-groupview .dv-content-container{background-color:var(--dv-tabs-and-actions-container-background-color);border-bottom-left-radius:var(--dv-border-radius);border-bottom-right-radius:var(--dv-border-radius)}.dockview-theme-light-spaced{--dv-drag-over-background-color: "";--dv-group-view-background-color: #f6f5f9;--dv-tabs-and-actions-container-background-color: white;--dv-activegroup-visiblepanel-tab-background-color: #ededf0;--dv-activegroup-hiddenpanel-tab-background-color: #f9f9fa;--dv-inactivegroup-visiblepanel-tab-background-color: #ededf0;--dv-inactivegroup-hiddenpanel-tab-background-color: #f9f9fa;--dv-tab-divider-color: transparent;--dv-activegroup-visiblepanel-tab-color: rgb(104, 107, 130);--dv-activegroup-hiddenpanel-tab-color: rgb(148, 151, 169);--dv-inactivegroup-visiblepanel-tab-color: rgb(104, 107, 130);--dv-inactivegroup-hiddenpanel-tab-color: rgb(148, 151, 169);--dv-separator-border: transparent;--dv-paneview-header-border-color: rgb(51, 51, 51);--dv-active-sash-color: rgb(91, 30, 207);--dv-floating-box-shadow: 0 8px 32px rgba(0, 0, 0, .12), 0 2px 8px rgba(0, 0, 0, .08);--dv-floating-border: 1px solid rgba(0, 0, 0, .1);--dv-scrollbar-background-color: rgba(0, 0, 0, .25);--dv-floating-group-border: 2px solid rgba(255, 255, 255, .1)}.dockview-spaced{--dv-spacing-padding: 10px;--dv-tab-font-size: 12px;--dv-border-radius: 12px;--dv-tab-margin: .5rem .25rem;--dv-tabs-and-actions-container-height: 44px;--dv-tab-border-radius: 8px;--dv-sash-border-radius: 4px;--dv-dropdown-border-radius: 8px;--dv-tab-close-icon-size: 8px;--dv-floating-group-border: 2px solid var(--dv-group-view-background-color);--dv-floating-titlebar-background-color: var( --dv-group-view-background-color );--dv-floating-titlebar-border-bottom: none;box-sizing:border-box;padding:var(--dv-spacing-padding);background-color:var(--dv-group-view-background-color)}.dv-shell .dockview-spaced{padding:0}.dockview-spaced .dv-resize-container:has(>.dv-groupview){border-radius:8px}.dockview-spaced .dv-sash{border-radius:var(--dv-sash-border-radius)}.dockview-spaced .dv-drop-target-anchor{border-radius:calc(var(--dv-border-radius) / 4)}.dockview-spaced .dv-drop-target-anchor.dv-drop-target-content{border-radius:var(--dv-border-radius)}.dockview-spaced .dv-resize-container{border-radius:var(--dv-border-radius)!important;border:none}.dockview-spaced .dv-resize-container .dv-groupview{border:var(--dv-floating-group-border)}.dockview-spaced .dv-resize-container>.dv-grid-view{box-sizing:border-box;padding:var(--dv-spacing-padding)}.dockview-spaced .dv-resize-container-with-titlebar>.dv-grid-view{padding-top:0}.dockview-spaced .dv-resize-container-with-titlebar>.dv-floating-titlebar{border-top-left-radius:var(--dv-border-radius);border-top-right-radius:var(--dv-border-radius)}.dockview-spaced .dv-tabs-overflow-container,.dockview-spaced .dv-tabs-overflow-dropdown-default{border-radius:var(--dv-dropdown-border-radius);height:unset!important}.dockview-spaced .dv-render-overlay{border-bottom-left-radius:var(--dv-border-radius);border-bottom-right-radius:var(--dv-border-radius)}.dockview-spaced .dv-tab{border-radius:var(--dv-tab-border-radius)}.dockview-spaced .dv-tab .dv-svg{height:var(--dv-tab-close-icon-size);width:var(--dv-tab-close-icon-size)}.dockview-spaced .dv-tabs-container-vertical .dv-tab{margin:.25rem .5rem}.dockview-spaced .dv-groupview{border-radius:var(--dv-border-radius)}.dockview-spaced .dv-groupview .dv-tabs-and-actions-container{padding:0px calc(var(--dv-border-radius) / 2);border-top-left-radius:var(--dv-border-radius);border-top-right-radius:var(--dv-border-radius)}.dockview-spaced .dv-groupview .dv-tabs-and-actions-container.dv-groupview-header-vertical{padding:calc(var(--dv-border-radius) / 2) 0}.dockview-spaced .dv-groupview .dv-content-container{background-color:var(--dv-tabs-and-actions-container-background-color);border-bottom-left-radius:var(--dv-border-radius);border-bottom-right-radius:var(--dv-border-radius)}.dv-context-menu{min-width:160px;overflow:hidden;background:var(--dv-context-menu-background-color, var(--dv-activegroup-hiddenpanel-tab-background-color));color:var(--dv-context-menu-color, var(--dv-activegroup-hiddenpanel-tab-color));border:1px solid var(--dv-tab-divider-color);border-radius:var(--dv-border-radius);box-shadow:var(--dv-floating-box-shadow);padding:4px 0}.dv-context-menu-item{height:25px;padding:0 12px;display:flex;align-items:center;cursor:pointer;font-size:var(--dv-tabs-and-actions-container-font-size);white-space:nowrap;user-select:none}.dv-context-menu-item:hover{background:var(--dv-icon-hover-background-color)}.dv-context-menu-item.dv-context-menu-item--disabled{opacity:.4;cursor:default;pointer-events:none}.dv-context-menu-separator{height:1px;background:var(--dv-tab-divider-color);margin:4px 0}.dv-context-menu-rename{padding:8px 12px 4px}.dv-context-menu-rename-input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid var(--dv-tab-divider-color);border-radius:var(--dv-border-radius);background:inherit;color:var(--dv-activegroup-visiblepanel-tab-color);font-size:var(--dv-tabs-and-actions-container-font-size);outline:none}.dv-context-menu-rename-input:focus{border-color:var(--dv-activegroup-visiblepanel-tab-color)}.dv-context-menu-rename-input::placeholder{color:var(--dv-activegroup-hiddenpanel-tab-color)}.dv-context-menu-color-picker{display:flex;flex-direction:row;gap:6px;padding:8px 12px;align-items:center}.dv-context-menu-color-swatch{width:20px;height:20px;border-radius:50%;cursor:pointer;border:2px solid transparent;flex-shrink:0;background-color:var(--dv-tab-group-color)}.dv-context-menu-color-swatch:hover{opacity:.85}.dv-context-menu-color-swatch.dv-context-menu-color-swatch--selected{outline:2px solid var(--dv-tab-divider-color);outline-offset:2px}.dv-tab-group-indicator-none .dv-groupview-header-bottom .dv-tab-group-underline{top:auto;bottom:0}.dv-groupview.dv-groupview-header-bottom.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab:after,.dv-groupview.dv-groupview-header-bottom.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab:after{top:0;bottom:auto}.dv-drop-target-container{position:absolute;z-index:9999;top:0;left:0;height:100%;width:100%;pointer-events:none;overflow:hidden;--dv-transition-duration: .3s}.dv-drop-target-container .dv-drop-target-anchor{position:relative;border:var(--dv-drag-over-border);background-color:var(--dv-drag-over-background-color);opacity:1;will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden;contain:layout paint;transition:opacity var(--dv-transition-duration) ease-in,top var(--dv-transition-duration) ease-out,left var(--dv-transition-duration) ease-out,width var(--dv-transition-duration) ease-out,height var(--dv-transition-duration) ease-out}.dv-drop-target{position:relative;--dv-transition-duration: 70ms}.dv-drop-target>.dv-drop-target-dropzone{position:absolute;left:0;top:0;height:100%;width:100%;z-index:1000;pointer-events:none}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection{position:relative;box-sizing:border-box;height:100%;width:100%;border:var(--dv-drag-over-border);background-color:var(--dv-drag-over-background-color);transition:top var(--dv-transition-duration) ease-out,left var(--dv-transition-duration) ease-out,width var(--dv-transition-duration) ease-out,height var(--dv-transition-duration) ease-out,opacity var(--dv-transition-duration) ease-out;will-change:transform;pointer-events:none}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection.dv-drop-target-top.dv-drop-target-small-vertical{border-top:1px solid var(--dv-drag-over-border-color)}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection.dv-drop-target-bottom.dv-drop-target-small-vertical{border-bottom:1px solid var(--dv-drag-over-border-color)}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection.dv-drop-target-left.dv-drop-target-small-horizontal{border-left:1px solid var(--dv-drag-over-border-color)}.dv-drop-target>.dv-drop-target-dropzone>.dv-drop-target-selection.dv-drop-target-right.dv-drop-target-small-horizontal{border-right:1px solid var(--dv-drag-over-border-color)}.dv-dockview{position:relative;background-color:var(--dv-group-view-background-color)}.dv-dockview .dv-watermark-container{position:absolute;top:0;left:0;height:100%;width:100%;z-index:1}.dv-dockview .dv-overlay-render-container{position:relative}.dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{background-color:var(--dv-activegroup-visiblepanel-tab-background-color);color:var(--dv-activegroup-visiblepanel-tab-color)}.dv-groupview.dv-active-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-inactive-tab{background-color:var(--dv-activegroup-hiddenpanel-tab-background-color);color:var(--dv-activegroup-hiddenpanel-tab-color)}.dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-active-tab{background-color:var(--dv-inactivegroup-visiblepanel-tab-background-color);color:var(--dv-inactivegroup-visiblepanel-tab-color)}.dv-groupview.dv-inactive-group>.dv-tabs-and-actions-container .dv-tabs-container>.dv-tab.dv-inactive-tab{background-color:var(--dv-inactivegroup-hiddenpanel-tab-background-color);color:var(--dv-inactivegroup-hiddenpanel-tab-color)}.dv-tab.dv-tab-dragging{background-color:var(--dv-activegroup-visiblepanel-tab-background-color);color:var(--dv-activegroup-visiblepanel-tab-color)}.dv-groupview{display:flex;height:100%;background-color:var(--dv-group-view-background-color);overflow:hidden;flex-direction:column}.dv-groupview:focus{outline:none}.dv-groupview>.dv-content-container{flex-grow:1;min-height:0;outline:none}.dv-groupview.dv-groupview-header-bottom{flex-direction:column-reverse}.dv-groupview.dv-groupview-header-left{flex-direction:row}.dv-groupview.dv-groupview-header-right{flex-direction:row-reverse}.dv-groupview.dv-groupview-edge.dv-edge-collapsed>.dv-content-container{display:none}.dv-root-wrapper,.dv-grid-view,.dv-branch-node{height:100%;width:100%}.dv-debug .dv-resize-container .dv-resize-handle-top{background-color:red}.dv-debug .dv-resize-container .dv-resize-handle-bottom{background-color:green}.dv-debug .dv-resize-container .dv-resize-handle-left{background-color:#ff0}.dv-debug .dv-resize-container .dv-resize-handle-right{background-color:#00f}.dv-debug .dv-resize-container .dv-resize-handle-topleft,.dv-debug .dv-resize-container .dv-resize-handle-topright,.dv-debug .dv-resize-container .dv-resize-handle-bottomleft,.dv-debug .dv-resize-container .dv-resize-handle-bottomright{background-color:#0ff}.dv-floating-overlay-host{position:absolute;pointer-events:none}.dv-floating-overlay-host>.dv-resize-container{pointer-events:auto}.dv-resize-container>.dv-grid-view{width:100%;height:100%}.dv-resize-container-with-titlebar{display:flex;flex-direction:column}.dv-resize-container-with-titlebar>.dv-floating-titlebar{flex:0 0 auto}.dv-resize-container-with-titlebar>.dv-grid-view{height:auto;flex:1 1 0;min-height:0}.dv-floating-titlebar{box-sizing:border-box;flex-shrink:0;height:var(--dv-floating-titlebar-height, 22px);background-color:var(--dv-floating-titlebar-background-color);border-bottom:var(--dv-floating-titlebar-border-bottom, none);user-select:none;touch-action:none}.dv-floating-titlebar.dv-draggable{cursor:grab}.dv-resize-container{--dv-overlay-z-index: var(--dv-overlay-z-index, 999);position:absolute;z-index:calc(var(--dv-overlay-z-index) - 2);background-color:var(--dv-group-view-background-color);border:var(--dv-floating-border);box-shadow:var(--dv-floating-box-shadow);will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden}.dv-resize-container.dv-hidden{display:none}.dv-resize-container.dv-resize-container-dragging{opacity:var(--dv-floating-group-dragging-opacity);will-change:transform,opacity}.dv-resize-container .dv-resize-handle-top,.dv-resize-container .dv-resize-handle-bottom,.dv-resize-container .dv-resize-handle-left,.dv-resize-container .dv-resize-handle-right,.dv-resize-container .dv-resize-handle-topleft,.dv-resize-container .dv-resize-handle-topright,.dv-resize-container .dv-resize-handle-bottomleft,.dv-resize-container .dv-resize-handle-bottomright{touch-action:none}.dv-resize-container .dv-resize-handle-top{height:4px;width:calc(100% - 8px);left:4px;top:-2px;z-index:var(--dv-overlay-z-index);position:absolute;cursor:ns-resize}.dv-resize-container .dv-resize-handle-bottom{height:4px;width:calc(100% - 8px);left:4px;bottom:-2px;z-index:var(--dv-overlay-z-index);position:absolute;cursor:ns-resize}.dv-resize-container .dv-resize-handle-left{height:calc(100% - 8px);width:4px;left:-2px;top:4px;z-index:var(--dv-overlay-z-index);position:absolute;cursor:ew-resize}.dv-resize-container .dv-resize-handle-right{height:calc(100% - 8px);width:4px;right:-2px;top:4px;z-index:var(--dv-overlay-z-index);position:absolute;cursor:ew-resize}.dv-resize-container .dv-resize-handle-topleft{height:4px;width:4px;top:-2px;left:-2px;z-index:var(--dv-overlay-z-index);position:absolute;cursor:nw-resize}.dv-resize-container .dv-resize-handle-topright{height:4px;width:4px;right:-2px;top:-2px;z-index:var(--dv-overlay-z-index);position:absolute;cursor:ne-resize}.dv-resize-container .dv-resize-handle-bottomleft{height:4px;width:4px;left:-2px;bottom:-2px;z-index:var(--dv-overlay-z-index);position:absolute;cursor:sw-resize}.dv-resize-container .dv-resize-handle-bottomright{height:4px;width:4px;right:-2px;bottom:-2px;z-index:var(--dv-overlay-z-index);position:absolute;cursor:se-resize}@media(pointer:coarse){.dv-resize-container .dv-resize-handle-top,.dv-resize-container .dv-resize-handle-bottom{height:16px;width:calc(100% - 48px);left:24px}.dv-resize-container .dv-resize-handle-top{top:-10px}.dv-resize-container .dv-resize-handle-bottom{bottom:-10px}.dv-resize-container .dv-resize-handle-left,.dv-resize-container .dv-resize-handle-right{width:16px;height:calc(100% - 48px);top:24px}.dv-resize-container .dv-resize-handle-left{left:-10px}.dv-resize-container .dv-resize-handle-right{right:-10px}.dv-resize-container .dv-resize-handle-topleft,.dv-resize-container .dv-resize-handle-topright,.dv-resize-container .dv-resize-handle-bottomleft,.dv-resize-container .dv-resize-handle-bottomright{height:24px;width:24px}.dv-resize-container .dv-resize-handle-topleft{top:-12px;left:-12px}.dv-resize-container .dv-resize-handle-topright{top:-12px;right:-12px}.dv-resize-container .dv-resize-handle-bottomleft{bottom:-12px;left:-12px}.dv-resize-container .dv-resize-handle-bottomright{bottom:-12px;right:-12px}}.dv-render-overlay{--dv-overlay-z-index: var(--dv-overlay-z-index, 999);position:absolute;z-index:1;width:100%;height:100%;contain:layout paint;isolation:isolate;will-change:transform;transform:translateZ(0);backface-visibility:hidden}.dv-render-overlay.dv-render-overlay-float{z-index:calc(var(--dv-overlay-z-index) - 1)}.dv-debug .dv-render-overlay{outline:1px solid red;outline-offset:-1}.dv-pane-container{height:100%;width:100%}.dv-pane-container.dv-animated .dv-view{will-change:transform;transform:translateZ(0);backface-visibility:hidden;transition:transform .15s ease-out}.dv-pane-container .dv-view{overflow:hidden;display:flex;flex-direction:column;padding:0!important}.dv-pane-container .dv-view:not(:first-child):before{background-color:transparent!important}.dv-pane-container .dv-view:not(:first-child) .dv-pane>.dv-pane-header{border-top:1px solid var(--dv-paneview-header-border-color)}.dv-pane-container .dv-view .dv-default-header{background-color:var(--dv-group-view-background-color);color:var(--dv-activegroup-visiblepanel-tab-color);display:flex;padding:0 8px;cursor:pointer}.dv-pane-container .dv-view .dv-default-header .dv-pane-header-icon{display:flex;justify-content:center;align-items:center}.dv-pane-container .dv-view .dv-default-header>span{padding-left:8px;flex-grow:1}.dv-pane-container:first-of-type>.dv-pane>.dv-pane-header{border-top:none!important}.dv-pane-container .dv-pane{display:flex;flex-direction:column;overflow:hidden;height:100%}.dv-pane-container .dv-pane .dv-pane-header{box-sizing:border-box;user-select:none;position:relative;outline:none}.dv-pane-container .dv-pane .dv-pane-header.dv-pane-draggable{cursor:pointer}.dv-pane-container .dv-pane .dv-pane-header:focus:before,.dv-pane-container .dv-pane .dv-pane-header:focus-within:before{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;content:"";pointer-events:none;outline:1px solid;outline-width:-1px;outline-style:solid;outline-offset:-1px;outline-color:var(--dv-paneview-active-outline-color)}.dv-pane-container .dv-pane .dv-pane-body{overflow-y:auto;overflow-x:hidden;flex-grow:1;position:relative;outline:none}.dv-pane-container .dv-pane .dv-pane-body:focus:before,.dv-pane-container .dv-pane .dv-pane-body:focus-within:before{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;content:"";pointer-events:none;outline:1px solid;outline-width:-1px;outline-style:solid;outline-offset:-1px;outline-color:var(--dv-paneview-active-outline-color)}.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-enabled{background-color:#000}.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-disabled{background-color:orange}.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-maximum{background-color:green}.dv-debug .dv-split-view-container .dv-sash-container .dv-sash.dv-minimum{background-color:red}.dv-split-view-container{position:relative;overflow:hidden;height:100%;width:100%}.dv-split-view-container.dv-splitview-disabled>.dv-sash-container>.dv-sash{pointer-events:none}.dv-split-view-container.dv-animation .dv-view,.dv-split-view-container.dv-animation .dv-sash{will-change:transform;transform:translateZ(0);backface-visibility:hidden;transition:transform .15s ease-out}.dv-split-view-container.dv-horizontal{height:100%}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash{height:100%;width:4px}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-enabled{cursor:ew-resize}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-disabled{cursor:default}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-maximum{cursor:w-resize}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-minimum{cursor:e-resize}.dv-split-view-container.dv-horizontal>.dv-view-container>.dv-view:not(:first-child):before{height:100%;width:1px}.dv-split-view-container.dv-vertical{width:100%}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash{width:100%;height:4px}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-enabled{cursor:ns-resize}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-disabled{cursor:default}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-maximum{cursor:n-resize}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-minimum{cursor:s-resize}.dv-split-view-container.dv-vertical>.dv-view-container>.dv-view{width:100%}.dv-split-view-container.dv-vertical>.dv-view-container>.dv-view:not(:first-child):before{height:1px;width:100%}.dv-split-view-container .dv-sash-container{height:100%;width:100%;position:absolute}.dv-split-view-container .dv-sash-container .dv-sash{position:absolute;z-index:99;outline:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;touch-action:none;background-color:var(--dv-sash-color, transparent)}.dv-split-view-container .dv-sash-container .dv-sash:not(.disabled):active,.dv-split-view-container .dv-sash-container .dv-sash:not(.disabled):hover{background-color:var(--dv-active-sash-color, transparent);transition-property:background-color;transition-timing-function:ease-in-out;transition-duration:var(--dv-active-sash-transition-duration, .1s);transition-delay:var(--dv-active-sash-transition-delay, .5s)}@media(pointer:coarse){.dv-split-view-container .dv-sash-container>.dv-sash:not(.dv-disabled):before{content:"";position:absolute;background:transparent}.dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash:not(.dv-disabled):before{inset:0 -10px}.dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash:not(.dv-disabled):before{inset:-10px 0}}.dv-split-view-container .dv-view-container{position:relative;height:100%;width:100%}.dv-split-view-container .dv-view-container .dv-view{height:100%;box-sizing:border-box;overflow:auto;position:absolute}.dv-split-view-container.dv-separator-border .dv-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--dv-separator-border)}.dv-dragged{transform:translateZ(0)}.dv-tab-ghost-drag{position:relative}.dv-tab-ghost-drag:after{position:absolute;content:"";height:100%;width:100%;top:0;left:0;pointer-events:none;outline:1px solid var(--dv-tab-divider-color)!important;outline-offset:-1px;z-index:5}.dv-tab{flex-shrink:0}.dv-tab:focus-within,.dv-tab:focus{position:relative}.dv-tab:focus-within:after,.dv-tab:focus:after{position:absolute;content:"";height:100%;width:100%;top:0;left:0;pointer-events:none;outline:1px solid var(--dv-tab-divider-color)!important;outline-offset:-1px;z-index:5}.dv-tab.dv-tab-dragging .dv-default-tab-action{background-color:var(--dv-activegroup-visiblepanel-tab-color)}.dv-tab.dv-active-tab .dv-default-tab .dv-default-tab-action{visibility:visible}.dv-tab.dv-inactive-tab .dv-default-tab .dv-default-tab-action{visibility:hidden}.dv-tab.dv-inactive-tab .dv-default-tab:hover .dv-default-tab-action{visibility:visible}@media(hover:none){.dv-tab.dv-inactive-tab .dv-default-tab .dv-default-tab-action{visibility:visible}}.dv-tab .dv-default-tab{position:relative;height:100%;width:100%;display:flex;align-items:center;white-space:nowrap;text-overflow:ellipsis}.dv-tab .dv-default-tab .dv-default-tab-content{flex-grow:1;margin-right:4px}.dv-tab .dv-default-tab .dv-default-tab-action{padding:4px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.dv-tab .dv-default-tab .dv-default-tab-action:hover{border-radius:2px;background-color:var(--dv-icon-hover-background-color)}@media(pointer:coarse){.dv-tab .dv-default-tab .dv-default-tab-action{padding:8px}}.dv-tabs-overflow-dropdown-default{height:100%;color:var(--dv-activegroup-hiddenpanel-tab-color);margin:var(--dv-tab-margin);display:flex;align-items:center;flex-shrink:0;padding:.25rem .5rem;cursor:pointer}.dv-tabs-overflow-dropdown-default>span{padding-left:.25rem}.dv-tabs-overflow-dropdown-default>svg{transform:rotate(90deg)}.dv-tabs-overflow-dropdown-default:hover{border-radius:2px;background-color:var(--dv-icon-hover-background-color)}.dv-tabs-container{display:flex;position:relative;height:100%;overflow:auto;scrollbar-width:thin;will-change:scroll-position;transform:translateZ(0);overscroll-behavior:contain;touch-action:pan-x}.dv-tabs-container.dv-tabs-container-vertical{width:100%;height:fit-content;max-height:100%;writing-mode:vertical-rl;touch-action:pan-y}.dv-tabs-container.dv-horizontal .dv-tab:not(:first-child):before,.dv-tabs-container.dv-vertical .dv-tab:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--dv-tab-divider-color)}.dv-tabs-container.dv-horizontal .dv-tab:not(:first-child):before{width:1px;height:100%}.dv-tabs-container.dv-vertical .dv-tab:not(:first-child):before{width:100%;height:1px}.dv-tabs-container::-webkit-scrollbar{height:3px}.dv-tabs-container::-webkit-scrollbar-track{background:transparent}.dv-tabs-container::-webkit-scrollbar-thumb{background:var(--dv-tabs-container-scrollbar-color)}.dv-scrollable>.dv-tabs-container{overflow:hidden}.dv-tab{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;outline:none;padding:.25rem .5rem;cursor:pointer;position:relative;box-sizing:border-box;font-size:var(--dv-tab-font-size);margin:var(--dv-tab-margin);touch-action:none}.dv-tab.dv-tab--shifting{will-change:transform,margin-left,margin-right,margin-top,margin-bottom;transition:transform var(--dv-transition-duration, .2s) ease-out,margin-left var(--dv-transition-duration, .2s) ease-out,margin-right var(--dv-transition-duration, .2s) ease-out,margin-top var(--dv-transition-duration, .2s) ease-out,margin-bottom var(--dv-transition-duration, .2s) ease-out}.dv-tab.dv-tab--dragging,.dv-tab.dv-tab--group-collapsed{width:0!important;min-width:0!important;padding:0!important;margin:0!important;overflow:hidden;opacity:0;pointer-events:none;transition:width var(--dv-transition-duration, .2s) ease-out,padding var(--dv-transition-duration, .2s) ease-out,margin var(--dv-transition-duration, .2s) ease-out,opacity var(--dv-transition-duration, .2s) ease-out}.dv-tab.dv-tab--group-expanding{transition:width var(--dv-transition-duration, .2s) ease-out,padding var(--dv-transition-duration, .2s) ease-out,margin var(--dv-transition-duration, .2s) ease-out,opacity var(--dv-transition-duration, .2s) ease-out}@media(prefers-reduced-motion:reduce){.dv-tab,.dv-tab-group-chip{transition:none!important}}.dv-tab-group-chip{display:inline-flex;align-items:center;align-self:center;padding:var(--dv-tab-group-chip-padding);margin:0 8px;border-radius:var(--dv-tab-group-chip-border-radius);font-size:var(--dv-tab-group-chip-font-size);cursor:pointer;user-select:none;white-space:nowrap;box-sizing:border-box;line-height:1;touch-action:none;background-color:var(--dv-tab-group-color);color:#fff}.dv-tab-group-chip.dv-tab-group-chip--accent-off{background-color:transparent;color:inherit}.dv-tab-group-chip.dv-tab-group-chip--shifting{will-change:margin-left;transition:margin-left var(--dv-transition-duration, .2s) ease-out}.dv-tab-group-chip.dv-tab-group-chip--dragging{width:0!important;min-width:0!important;padding:0!important;margin:0!important;overflow:hidden;opacity:0;pointer-events:none;transition:width var(--dv-transition-duration, .2s) ease-out,padding var(--dv-transition-duration, .2s) ease-out,margin var(--dv-transition-duration, .2s) ease-out,opacity var(--dv-transition-duration, .2s) ease-out}.dv-tab-group-chip .dv-tab-group-chip-label--empty{display:none}.dv-tab-group-chip:has(.dv-tab-group-chip-label--empty){position:relative;width:12px;height:12px;padding:0;border-radius:50%}.dv-tab-group-chip:has(.dv-tab-group-chip-label--empty):before{content:"";position:absolute;inset:-8px}.dv-tab-group-underline{position:absolute;bottom:0;opacity:var(--dv-tab-group-line-opacity);pointer-events:none;z-index:10}.dv-groupview-header-bottom .dv-tab-group-underline{bottom:auto;top:0}.dv-tabs-container-vertical .dv-tab-group-underline{bottom:auto;left:0}.dv-tabs-container-vertical .dv-tab-group-chip{margin:8px 0}.dv-tabs-container-vertical .dv-tab{padding:.5rem .25rem}.dv-tabs-container-vertical .dv-tab.dv-tab--group-collapsed{height:0!important;min-height:0!important;width:auto!important;min-width:initial!important;transition:height var(--dv-transition-duration, .2s) ease-out,padding var(--dv-transition-duration, .2s) ease-out,margin var(--dv-transition-duration, .2s) ease-out,opacity var(--dv-transition-duration, .2s) ease-out}.dv-tabs-container-vertical .dv-tab.dv-tab--group-expanding{transition:height var(--dv-transition-duration, .2s) ease-out,padding var(--dv-transition-duration, .2s) ease-out,margin var(--dv-transition-duration, .2s) ease-out,opacity var(--dv-transition-duration, .2s) ease-out}.dv-tabs-container-vertical .dv-tab.dv-tab--dragging{height:0!important;min-height:0!important;width:auto!important;min-width:initial!important;transition:height var(--dv-transition-duration, .2s) ease-out,padding var(--dv-transition-duration, .2s) ease-out,margin var(--dv-transition-duration, .2s) ease-out,opacity var(--dv-transition-duration, .2s) ease-out}.dv-tabs-overflow-container{flex-direction:column;height:unset;font-size:var(--dv-tabs-and-actions-container-font-size);max-height:min(50vh,400px);overflow-y:auto;border:1px solid var(--dv-tab-divider-color);background-color:var(--dv-group-view-background-color)}.dv-tabs-overflow-container::-webkit-scrollbar{width:6px}.dv-tabs-overflow-container::-webkit-scrollbar-track{background:transparent}.dv-tabs-overflow-container::-webkit-scrollbar-thumb{background:var(--dv-tabs-container-scrollbar-color);border-radius:3px}.dv-tabs-overflow-container{scrollbar-width:thin}.dv-tabs-overflow-container .dv-tab:not(:last-child){border-bottom:1px solid var(--dv-tab-divider-color)}.dv-tabs-overflow-container .dv-active-tab{background-color:var(--dv-activegroup-visiblepanel-tab-background-color);color:var(--dv-activegroup-visiblepanel-tab-color)}.dv-tabs-overflow-container .dv-inactive-tab{background-color:var(--dv-activegroup-hiddenpanel-tab-background-color);color:var(--dv-activegroup-hiddenpanel-tab-color)}.dv-tabs-overflow-container .dv-tabs-overflow-group-header{display:flex;align-items:center;gap:6px;padding:4px 8px;font-size:.8em;font-weight:600;color:var(--dv-activegroup-hiddenpanel-tab-color);cursor:pointer;border-bottom:1px solid var(--dv-tab-divider-color)}.dv-tabs-overflow-container .dv-tabs-overflow-group-header:hover{background-color:var(--dv-icon-hover-background-color)}.dv-tabs-overflow-container .dv-tabs-overflow-group-color{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0;background-color:var(--dv-tab-group-color)}.dv-tabs-overflow-container .dv-tabs-overflow-group-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dv-tabs-overflow-container .dv-tabs-overflow-group-collapsed-badge{font-size:.75em;font-weight:400;opacity:.7;padding:1px 4px;border-radius:3px;background-color:var(--dv-tab-divider-color)}.dv-tabs-overflow-container .dv-tab.dv-tab--grouped{padding-left:16px}.dv-tabs-and-actions-container{display:flex;background-color:var(--dv-tabs-and-actions-container-background-color);flex-shrink:0;box-sizing:border-box;height:var(--dv-tabs-and-actions-container-height);font-size:var(--dv-tabs-and-actions-container-font-size)}.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-scrollable,.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container{flex-grow:1}.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container .dv-tab{flex-grow:1;padding:0}.dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-void-container{flex-grow:0}.dv-tabs-and-actions-container .dv-void-container{display:flex;flex-grow:1;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;touch-action:none}.dv-tabs-and-actions-container .dv-void-container.dv-draggable{cursor:grab}.dv-tabs-and-actions-container .dv-right-actions-container{display:flex}.dv-tabs-and-actions-container .dv-right-actions-container.dv-right-actions-container-vertical{flex-direction:column}.dv-tabs-and-actions-container.dv-groupview-header-vertical{flex-direction:column;height:auto;width:var(--dv-tabs-and-actions-container-height)}.dv-watermark{display:flex;height:100%}.dockview-theme-vgai{--dv-group-view-background-color: var(--vgai-bg-1);--dv-tabs-and-actions-container-background-color: var(--vgai-bg-2);--dv-activegroup-visiblepanel-tab-background-color: transparent;--dv-activegroup-hiddenpanel-tab-background-color: transparent;--dv-inactivegroup-visiblepanel-tab-background-color: transparent;--dv-inactivegroup-hiddenpanel-tab-background-color: transparent;--dv-activegroup-visiblepanel-tab-color: var(--vgai-text-1);--dv-activegroup-hiddenpanel-tab-color: var(--vgai-text-2);--dv-inactivegroup-visiblepanel-tab-color: var(--vgai-text-2);--dv-inactivegroup-hiddenpanel-tab-color: var(--vgai-text-3);--dv-tab-divider-color: var(--vgai-border-1);--dv-separator-border: transparent;--dv-paneview-header-border-color: var(--vgai-border-1);--dv-paneview-active-outline-color: var(--vgai-accent);--dv-tabs-and-actions-container-height: var(--vgai-panel-header-height);--dv-tabs-and-actions-container-font-size: var(--vgai-font-md);--dv-tab-font-size: var(--vgai-font-md);--dv-icon-hover-background-color: var(--vgai-bg-3);--dv-drag-over-background-color: var(--vgai-accent-muted);--dv-drag-over-border-color: var(--vgai-accent);--dv-sash-color: transparent;--dv-active-sash-color: transparent;--dv-active-sash-transition-delay: 0s;--dv-active-sash-transition-duration: .1s;--dv-floating-border: var(--vgai-stroke-resting) solid var(--vgai-border-2);--dv-floating-box-shadow: var(--vgai-shadow-lg);--dv-floating-titlebar-height: 20px;--dv-border-radius: 0;--dv-tab-border-radius: 0;--dv-tab-margin: 0;--dv-spacing-padding: 0;--dv-scrollbar-background-color: color-mix(in srgb, var(--vgai-content-primary) 28%, transparent);font-family:var(--vgai-font-sans)}.vgai-workspace-dock{position:relative;flex:1;min-width:0;min-height:0;pointer-events:auto;overflow:hidden;background:var(--vgai-bg-1)}.vgai-workspace-dock>.dockview-theme-vgai{width:100%;height:100%}.vgai-dock-panel,.vgai-dock-document,.vgai-dock-document-content{min-width:0;min-height:0;width:100%;height:100%}.vgai-dock-panel,.vgai-dock-document,.vgai-dock-document-content{display:flex;flex-direction:column;overflow:hidden;background:var(--vgai-bg-1);pointer-events:auto}.vgai-dock-document-toolbar{flex:0 0 auto;min-height:var(--vgai-local-toolbar-height);border-bottom:var(--vgai-stroke-resting) solid var(--vgai-border-1);background:var(--vgai-bg-1);pointer-events:auto}.vgai-dock-empty{padding:var(--vgai-space-6);color:var(--vgai-text-3);background:var(--vgai-bg-1)}.vgai-dock-tab{display:flex;align-items:center;height:100%;min-width:0}.vgai-dock-tab>.dv-default-tab{min-width:0}.dockview-theme-vgai .dv-tab:has(.vgai-dock-tab[data-document-family=world])+.dv-tab:has(.vgai-dock-tab[data-document-family=resource]) .vgai-dock-tab{position:relative;margin-left:var(--vgai-space-4)}.dockview-theme-vgai .dv-tab:has(.vgai-dock-tab[data-document-family=world])+.dv-tab:has(.vgai-dock-tab[data-document-family=resource]) .vgai-dock-tab:before{position:absolute;top:50%;left:calc(-1 * var(--vgai-space-3));width:var(--vgai-stroke-resting);height:16px;background:var(--vgai-border-2);content:"";transform:translateY(-50%);pointer-events:none}.dockview-theme-vgai .dv-tab{padding:0 10px;border-radius:0;font-weight:400;transition:background-color 80ms ease,color 80ms ease}.dockview-theme-vgai .dv-tabs-and-actions-container{border-bottom:var(--vgai-stroke-resting) solid var(--vgai-border-1)}.dockview-theme-vgai .dv-tab.dv-inactive-tab:hover{color:var(--vgai-text-1);background:var(--vgai-bg-3)}.dockview-theme-vgai .dv-tabs-and-actions-container:not(.dv-single-tab) .dv-tabs-container{gap:2px;padding:0 3px}.dockview-theme-vgai .dv-tabs-container.dv-horizontal .dv-tab:not(:first-child):before{display:none}.dockview-theme-vgai .dv-tabs-and-actions-container.dv-single-tab.dv-full-width-single-tab .dv-tabs-container .dv-tab{margin:0;padding:0 12px;border-radius:0;font-weight:600;letter-spacing:.01em}.vgai-dock-tab-dirty{width:6px;height:6px;margin-right:6px;flex:0 0 auto;border-radius:50%;background:var(--vgai-warn)}.vgai-dock-tab-unsaved{gap:4px;padding:0 5px 0 8px;color:var(--vgai-text-1);background:var(--vgai-warn-muted)}.vgai-dock-tab-unsaved-label{margin-right:2px;color:var(--vgai-warn);font-weight:600}.vgai-dock-tab-unsaved button{height:20px;padding:0 5px;border:var(--vgai-stroke-resting) solid var(--vgai-border-2);border-radius:3px;color:var(--vgai-text-1);background:var(--vgai-bg-2);font:inherit;cursor:pointer}.vgai-dock-tab-unsaved button:hover:not(:disabled),.vgai-dock-tab-unsaved button:focus-visible{border-color:var(--vgai-accent);color:var(--vgai-content-primary)}.vgai-dock-tab-unsaved button:disabled{opacity:.6;cursor:default}.vgai-dock-tab-badge{min-width:14px;height:14px;margin-right:5px;padding:0 3px;border-radius:7px;font-size:9px;line-height:14px;text-align:center;color:var(--vgai-bg-0);background:var(--vgai-text-2)}.vgai-dock-tab-badge-warn{background:var(--vgai-warn)}.vgai-dock-tab-badge-error{background:var(--vgai-danger)}.dockview-theme-vgai .dv-tabs-container .dv-tab.dv-active-tab{box-shadow:none;font-weight:500}.dockview-theme-vgai .dv-tabs-and-actions-container:not(.dv-single-tab) .dv-tabs-container .dv-tab.dv-active-tab:before{position:absolute;right:10px;bottom:0;left:10px;display:block;width:auto;height:var(--vgai-stroke-active);border-radius:2px 2px 0 0;background:var(--vgai-accent);content:""}.dockview-theme-vgai .dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash{background:linear-gradient(to right,transparent 1.5px,var(--vgai-border-1) 1.5px 2.5px,transparent 2.5px)}.dockview-theme-vgai .dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash{background:linear-gradient(to bottom,transparent 1.5px,var(--vgai-border-1) 1.5px 2.5px,transparent 2.5px)}.dockview-theme-vgai .dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash:hover,.dockview-theme-vgai .dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-active{background:linear-gradient(to right,transparent 1px,var(--vgai-accent) 1px 3px,transparent 3px)}.dockview-theme-vgai .dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash:hover,.dockview-theme-vgai .dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-active{background:linear-gradient(to bottom,transparent 1px,var(--vgai-accent) 1px 3px,transparent 3px)}
@@ -0,0 +1 @@
1
+ import{k as f,n as b,o as S,p as A,w as D,I,q as h,r as m,t as y,u as R,v as w,W as x,x as O,y as W,z as k,A as C,B as g,C as $,D as G,E as M}from"./index-CQEfi217.js";class j extends g.Component{constructor(){super(...arguments),this.state={crashed:!1}}static getDerivedStateFromError(){return{crashed:!0}}componentDidCatch(t){this.props.onCaught(t)}render(){return this.state.crashed?null:this.props.children}}function v(e,t,a){e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.width="100%",e.style.height="100%",e.style.zIndex=String(t.zOrder??0),e.style.pointerEvents=a}async function z(e,t,a,o){const r=await W(e,a),n=document.createElement("div");v(n,e,"none"),t.appendChild(n),f.log(`react sibling "${e.id}": no native Game beside an ingest world — useGameState unavailable`,"ingest");const s=k.createRoot(n);let d=null;if(C.flushSync(()=>{s.render(g.createElement(j,{onCaught:i=>{d=i},children:g.createElement(r)}))}),d!==null)throw s.unmount(),n.remove(),d instanceof Error?d:new Error(String(d));let u;return o&&(u=$(n).nodes.size>0?new G(n,o,{}):new M(n,o,{overlay:await y(e.id),persist:p=>m(e.id,p),destination:h(e.id)})),{worldId:e.id,...u?{authoring:u}:{},dispose(){s.unmount(),n.remove()}}}async function P(e,t,a,o,r){const n=document.createElement("div");v(n,t,"auto"),a.appendChild(n);try{const s=a.clientWidth||800,d=a.clientHeight||600,{session:u}=await A(e,t,o,n,s,d),i=u.game.roots[0],p=i.mounted.authoring;let c;if(r)if(p)c=D(p,r);else if(i.kind==="threejs")c=new I(r,i.threeRoot(),{overlay:await y(i.id),persist:l=>m(i.id,l),destination:h(i.id)});else if(i.kind==="pixijs"){const l=R(i.physics2d??w());c=new x(i.pixiRoot(),l,r,{overlay:await y(i.id),persist:E=>m(i.id,E),destination:h(i.id)})}else c=O(r,`${t.id} (no authoring surface)`);return{worldId:t.id,...c?{authoring:c}:{},setPaused(l){l?u.pause():u.resume()},dispose(){u.stop(),n.remove()}}}catch(s){throw n.remove(),s}}function T(e){throw new Error(`sibling world "${e.id}" (kind: ${e.surface}, adapter identity: "${e.adapter.identity}") has no known composite-sibling mount path — every currently-resolvable identity (default-three/default-pixi/default-react/module) is routed above; this is reached only for a genuinely unroutable shape (docs/WAVE5-MULTIWORLD-INGEST-DESIGN.md D-V7, updated by docs/WAVE6-DOCTOR-DESIGN.md D-B3).`)}async function B(e,t,a,o,r){if(t.adapter.type==="module"||t.adapter.identity==="threejs"||t.adapter.identity==="pixijs")return P(e,t,a,o,r);if(t.adapter.identity==="react")return z(t,a,o,r);T(t)}async function L(e,t,a,o,r){const n=[];for(const s of e.roots)if(s.id!==t)try{n.push(await B(e,s,a,o,r))}catch(d){f.error(`Composite sibling "${s.id}" failed to mount: ${d}`,"ingest"),b({worldId:s.id,kind:s.surface,identity:s.adapter.identity,message:S(d)})}return n}export{L as mountIngestSiblings};
@@ -0,0 +1 @@
1
+ import{a as c,m as l,l as f,b as m,R as p,f as h,V as g}from"./index-CQEfi217.js";import{createGameRuntime as y}from"./create-runtime-DbTlBlKG.js";import"./game-loop-DMIgSMV-.js";function v(e){if(e.determinism?.seededRandom!==!0)return;const t=e.url?E(e.url):void 0;return e.explicitSeed??t??e.determinism.defaultSeed}function E(e){const t=new URLSearchParams(e.search).get(p);if(t===null||t==="")return;const r=Number(t);return Number.isFinite(r)?r:void 0}function b(){return typeof window<"u"}function R(e){if(typeof e!="object"||e===null)return!1;const t=e.roots;return!Array.isArray(t)||t.length===0?!1:t.every(r=>{if(typeof r!="object"||r===null)return!1;const n=r.adapter;if(typeof n!="object"||n===null)return!1;const i=n.type;return i==="builtin"||i==="module"||i==="ingest"})}function M(e){return R(e)?e:f(e)}function $(e,t){if(t?.adapter)return t.adapter;if(e.adapter.type==="module")throw new Error(`mountManifestWorlds: world "${e.id}" (threejs) declares a { module } adapter ("${e.adapter.module}") — mountManifestWorlds never imports an arbitrary module path itself (no \`/@fs/\`, no dev server). Import the module yourself and supply the constructed adapter via entries["${e.id}"] = { kind: 'threejs', adapter }.`);if(e.adapter.type==="ingest")throw new Error(`mountManifestWorlds: world "${e.id}" (threejs) declares an { ingest } adapter — ingest roots require the editor's dev-server-backed mount machinery (an EditorStore plus iframe/DOM capture, see adapter-resolver.ts's resolveIngestThreeAdapter) and are not supported by mountManifestWorlds (docs/WAVE3-ADAPTER-PLUMBING-DESIGN.md D-Z7 — no porting aids, no hosted ingest routes).`);if(e.entry!==void 0){if(!t?.setup)throw new Error(`mountManifestWorlds: world "${e.id}" (threejs) declares \`entry\` "${e.entry}" — supply entries["${e.id}"] = { kind: 'threejs', setup } (the entry module's exported \`setup\` function) or { kind: 'threejs', adapter } for full control. Got ${t===void 0?"no entry at all":"an entry with neither `setup` nor `adapter`"}.`);return h(e.id,t.setup)}if(e.scene!==void 0)return new g({id:e.id,scenePath:e.scene,componentRegistry:t?.componentRegistry});throw new Error(`mountManifestWorlds: world "${e.id}" is default-three with neither \`scene\` nor \`entry\` — this should have been rejected by manifest validation.`)}function j(e,t){if(t?.adapter)return t.adapter;throw new Error(`mountManifestWorlds: world "${e.id}" (pixijs) has no entries["${e.id}"] — a pixijs world always needs a caller-supplied, already-constructed adapter (entries["${e.id}"] = { kind: 'pixijs', adapter }, e.g. \`new PixiSceneGameAdapter(...)\` built from your own already-imported '@engine/world2d') — mountManifestWorlds never value-imports pixi.js (mirrors create-runtime.ts's own pixi-free-core discipline).`)}function A(e,t){if(t?.adapter)return t.adapter;throw new Error(`mountManifestWorlds: world "${e.id}" (react) has no entries["${e.id}"] — a react world always needs a caller-supplied, already-constructed \`ReactRootAdapter\` (entries["${e.id}"] = { kind: 'react', adapter }, mounting via your own already-imported react-dom \`createRoot\` + your own \`<GameProvider>\`) — mountManifestWorlds never value-imports react/react-dom (mirrors create-runtime.ts's own react-free-core discipline; see docs/REACT-STATE-BRIDGE.md §2-3).`)}function S(e,t){if(t!==void 0&&t.kind!==e.surface)throw new Error(`mountManifestWorlds: entries["${e.id}"] declares kind "${t.kind}" but the manifest's root "${e.id}" uses surface "${e.surface}" — fix the entries key (or the manifest) so the two agree.`);const r={id:e.id,zOrder:e.zOrder,pausable:e.pausable,loop:e.loop};return e.surface==="threejs"?{...r,kind:"threejs",adapter:$(e,t)}:e.surface==="pixijs"?{...r,kind:"pixijs",adapter:j(e,t)}:e.surface==="react"?{...r,kind:"react",adapter:A(e,t)}:m(e.surface,"mountManifestWorlds")}async function D(e){const t=M(e.manifest);if(t.roots.length===0)throw new Error("mountManifestWorlds: manifest declares no roots — nothing to mount.");const r=e.entries??{},n=t.roots.map(s=>S(s,r[s.id])),i=e.seedUrl??(b()?window.location:void 0),d=v({determinism:t.determinism,explicitSeed:e.seed,url:i}),a=await y({container:e.container,roots:n,width:e.width??t.resolution?.width,height:e.height??t.resolution?.height,headless:e.headless,seed:d});t.determinism?.seededRandom;const o=c(a.game);if(o){t.server&&o.setRoomDeclared(!0);const s=l({registry:o,manifest:t,url:e.debugBridge?.url,window:e.debugBridge?.window});if(s){const u=a.stop;a.stop=()=>{s.uninstall(),u()}}}return a}export{D as mountManifestWorlds,v as resolveDeterminismSeed,M as resolveManifest};
@@ -0,0 +1 @@
1
+ import{B as s,z as l}from"./index-CQEfi217.js";var n=new Map;function a(){return globalThis.IS_REACT_ACT_ENVIRONMENT}var m=({callback:e,children:r})=>{let t=s.useRef();return s.useLayoutEffect(()=>{t.current!==e&&(t.current=e,e())},[e]),r};typeof Promise.withResolvers>"u"&&(Promise.withResolvers=()=>{let e=null,r=null;return{promise:new Promise((t,o)=>{e=t,r=o}),resolve:e,reject:r}});var E=async(e,r,t)=>{let o=await c(r,t);if(a()){o.render(e);return}let{promise:u,resolve:i}=Promise.withResolvers();return o.render(s.createElement(m,{callback:i},e)),u},p=(e,r)=>{let t=n.get(e);t&&(t.unmount(),n.delete(e))},c=async(e,r)=>{let t=n.get(e);return t||(t=l.createRoot(e,r),n.set(e,t)),t};export{E as renderElement,p as unmountElement};
@@ -0,0 +1 @@
1
+ import{ag as a,bV as s,bW as e,bX as t}from"./index-CQEfi217.js";a.add(s,e);a.add(t);
@@ -0,0 +1 @@
1
+ import{am as O,an as ie,ao as le,s as de,o as W,k as R,n as ce,ap as J,D as G,aq as ue,ar as pe,as as he,at as fe,y as me,au as we,av as ge,aw as ye,ax as be,ay as ve,az as Ie,aA as ee,aB as te,aC as xe,aD as Se,aE as Ee,c as Ce,B as I,aF as ke,aG as j,aH as h,aI as Pe,aJ as Me,aK as V,aL as F,aM as $e,aN as Re,aO as ze,aP as We,aQ as K,aR as De,aS as q,aT as X,aU as Ae,aV as je,aW as Oe,aX as Te,aY as z,aZ as Be}from"./index-CQEfi217.js";import{c as Ve,a as Fe}from"./game-loop-DMIgSMV-.js";const _e={width:null,height:null};let T=_e;const H=new Set;function oe(){return T}function L(e,o){const n=e===null?null:Math.max(1,Math.round(e)),r=o===null?null:Math.max(1,Math.round(o));if(!(T.width===n&&T.height===r)){T={width:n,height:r};for(const a of H)a()}}function Ge(){L(null,null)}function re(e){return H.add(e),()=>H.delete(e)}const U=new Map;function He(e,o){return`${e}\0${o}`}function Le(e){const o=e.title?.split("/").filter(Boolean).at(-1)?.trim();if(o)return o;const n=e.modulePath.split("/").pop()??e.modulePath;return n.replace(/\.stories\.[^.]+$/i,"").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[-_]+/g," ").trim()||n}const Ne=1;function ne(e){const o=[];for(const{worldId:n,adapter:r}of e.childAdapters()){if(!(r instanceof O))continue;const a=r.inspector.get(n,"kind");a!=="react"&&a!=="pixijs"||r.inspector.get(n,"reason")!==void 0||o.push({worldId:n,kind:a,path:r.inspector.get(n,"path"),zOrder:Number(r.inspector.get(n,"zOrder")??0),pausable:r.inspector.get(n,"pausable")!==!1})}return o}function Ze(e){return ne(e)}function Ke(){const e=Ve({fixedTimestep:.016666666666666666,maxSubSteps:8,update:()=>{}});return Ce({loop:e,assets:Fe()})}class qe extends I.Component{constructor(){super(...arguments),this.state={crashed:!1}}static getDerivedStateFromError(){return{crashed:!0}}componentDidCatch(o){this.props.onCaught(o)}render(){return this.state.crashed?null:this.props.children}}function Xe(e,o){return{id:e,surface:"react",description:void 0,adapter:{type:"builtin",identity:"react",surface:"react"},scene:void 0,entry:o,zOrder:0,pausable:!0,loop:"gated",capabilities:{local:"first-party",hosted:"first-party"}}}function se(e,o){e.style.display=xe(o)?"none":"block",e.style.pointerEvents=Se(o)?"auto":"none"}function Ue(e,o,n){const r=document.createElement("div");return r.dataset.worldId=o,r.style.position="absolute",r.style.top="0",r.style.left="0",r.style.width="100%",r.style.height="100%",r.style.zIndex=String(n),r.style.contain="layout paint",se(r,o),N(r),e.appendChild(r),r}function N(e){e.style.transform=ee(te())??"",e.style.transformOrigin="0 0";const o=oe();e.style.width=o.width===null?"100%":`${o.width}px`,e.style.height=o.height===null?"100%":`${o.height}px`}async function Ye(e,o,n,r){if(!e.path)throw new Error(`design-time react layer "${e.worldId}": no \`entry\` declared — nothing to mount.`);await pe({rootPath:n});const a=he(e.worldId),s=fe(e.worldId);if(s){const t=He(n,e.worldId),d=U.get(t),u=a.find(c=>c.id===d)??s;let P=!1,y=null;const S=async(c,b=c.args)=>{const E=await Ee(o,c.modulePath,c.name,c.Component,b);if(E){if(P){E.unmount();return}y=E,r.notifyIngestEdit()}};if(await S(u),!y)throw new Error(`design-time react root "${e.worldId}": default CSF story "${u.name}" was superseded before it mounted.`);const A=new Map(a.map(c=>[c.id,c])),B=new Map;for(const c of a){const b=B.get(c.modulePath);b?b.push(c):B.set(c.modulePath,[c])}const Z=new G(o,r,{worldId:e.worldId,portableStories:a.map(c=>({id:c.id,label:c.label,args:c.args})),portableDocuments:[...B.entries()].map(([c,b])=>({id:`portable-document:${c}`,label:Le(b[0]),path:c,storyIds:b.map(E=>E.id)})),activePortableStoryId:u.id,onPortableStoryApplied:c=>{const b=(c?A.get(c):null)??s;U.set(t,b.id),S(b).catch(E=>{R.error(`[design-time-layers] React root "${e.worldId}" failed applying portable story "${b.name}": ${W(E)}`,"authoring")})},onPortableStoryArgsChanged:(c,b)=>{const E=A.get(c);E&&S(E,b).catch(ae=>{R.error(`[design-time-layers] React root "${e.worldId}" failed updating portable story "${E.name}" args: ${W(ae)}`,"authoring")})}});return{adapter:Z,dispose:()=>{P=!0,Z.disposeReactRootAdapter(),y?.unmount()}}}R.warn(`[design-time-layers] React root "${e.worldId}" has no portable CSF preview. Add a *.stories.tsx module with parameters.vgai.root set to this root id. Falling back to the deprecated inert-Game preview for compatibility.`,"authoring");const f=Xe(e.worldId,e.path),v=await me(f,n),C=await we(n,e.worldId),{createElement:l,createRoot:p,flushSync:i}=await ge(),m=Ke(),g=[ye(e.worldId)??{}],w={},x=p(o),M={entryStory:null,isolation:null},$=t=>{const{entryStory:d,isolation:u}=M,P=u?u.story:d,y=u?w?.[u.componentKey]:void 0,S=u?y?l(y,{...P?.props??{}}):null:l(v,{...P?.props??{}});x.render(l(qe,{key:u?`isolate:${u.componentKey}:${u.story?.id??""}`:P?`story:${P.id}`:"__none__",onCaught:t,children:l(C,{game:m},S)}))};let k=null;if(i(()=>{$(t=>{k=t})}),k!==null)throw x.unmount(),k instanceof Error?k:new Error(String(k));const D=new G(o,r,{storySources:g,worldId:e.worldId,onStoryApplied:t=>{M.entryStory=t,$(d=>{R.error(`[design-time-layers] world "${e.worldId}" crashed applying story "${t?.id??"(cleared)"}": ${W(d)}`,"authoring")})},onIsolate:t=>{M.isolation=t,$(d=>{R.error(`[design-time-layers] world "${e.worldId}" crashed isolating "${t?.componentKey??"(cleared)"}": ${W(d)}`,"authoring")})}});return{adapter:D,dispose:()=>{D.disposeReactRootAdapter(),x.unmount()}}}function Qe(e){const o=e.getBoundingClientRect();return{width:Math.max(1,Math.round(o.width)||e.clientWidth||300),height:Math.max(1,Math.round(o.height)||e.clientHeight||200)}}async function Je(e,o,n,r){if(!e.path)throw new Error(`design-time pixi layer "${e.worldId}": no \`scene\` declared — nothing to mount (B1 display-only mount supports scene-based pixi roots only, not \`entry\`).`);const a=await be(e.path),s=await ve(r),f=document.createElement("canvas");f.style.width="100%",f.style.height="100%",f.style.display="block",o.appendChild(f);const{width:v,height:C}=Qe(n),p=await new Ie({id:e.worldId,sceneData:a,registry:s}).mount({canvas:f,width:v,height:C,transparent:!0});return p.update?.(0),{dispose:()=>p.dispose(),pick:(m,g)=>{const w=f.getBoundingClientRect();if(w.width===0||w.height===0)return null;const x=p.ctx.app.renderer.screen,M=(m-w.left)/w.width*x.width,$=(g-w.top)/w.height*x.height;for(const k of p.stage.children)if(k.getBounds().containsPoint(M,$))return e.worldId;return null}}}let _=!1;function Y(){_||(_=!0,queueMicrotask(()=>{_=!1,window.dispatchEvent(new CustomEvent(ue))}))}function et(e,o,n,r){if(ie(),Ge(),n.playState!=="stopped"){let t=!1,d=!1;const u=n.subscribe(()=>{t||d||n.playState!=="stopped"||(d=!0,t||Y())});return()=>{t=!0,u()}}const a=le()?.rootPath,s=r?[...r]:ne(o);if(s.length===0||!a)return()=>{};const v=de(s.map(t=>({id:t.worldId,zOrder:t.zOrder}))).map(t=>s.find(d=>d.worldId===t.id)),C=new Map(v.map(t=>[t.worldId,t])),l=new Map,p=[],i=new Set;let m=!1,g=!1,w=!1;function x(){for(const t of p.splice(0))try{t()}catch(d){R.error(`[design-time-layers] dispose failed: ${d}`,"authoring")}for(const t of l.values())t.remove();l.clear()}function M(){x();for(const t of i){const d=C.get(t);if(!d)continue;const u={id:d.worldId,kind:d.kind,entryOrScenePath:d.path,zOrder:d.zOrder,pausable:d.pausable};o.replaceChild(t,new O(n,u,"Design-time layer suspended by play mode — Stop restores it."))}i.clear(),n.notifyIngestEdit()}v.forEach((t,d)=>{const u=Ue(e,t.worldId,Ne+d);l.set(t.worldId,u),(t.kind==="react"?Ye(t,u,a,n):Je(t,u,e,a)).then(y=>{if(m||g){y.dispose();return}if(y.adapter)o.replaceChild(t.worldId,y.adapter),i.add(t.worldId);else if(y.pick){const S={id:t.worldId,kind:t.kind,entryOrScenePath:t.path,zOrder:t.zOrder,pausable:t.pausable};o.replaceChild(t.worldId,new O(n,S,void 0,y.pick)),i.add(t.worldId)}p.push(y.dispose),n.notifyIngestEdit()}).catch(y=>{if(u.remove(),l.delete(t.worldId),m||g)return;const S=W(y);R.error(`[design-time-layers] world "${t.worldId}" (${t.kind}) failed to mount: ${S}`,"authoring");const A={id:t.worldId,kind:t.kind,entryOrScenePath:t.path,zOrder:t.zOrder,pausable:t.pausable};o.replaceChild(t.worldId,new O(n,A,S)),ce({worldId:t.worldId,kind:t.kind,identity:t.kind==="react"?"default-react":"default-pixi",message:S}),n.notifyIngestEdit()})});const $=J(()=>{for(const t of l.values())N(t)}),k=re(()=>{for(const t of l.values())N(t)}),D=n.subscribe(()=>{if(!g&&n.playState!=="stopped"){g=!0,M();return}if(g&&!w&&n.playState==="stopped"&&!m){w=!0,m||Y();return}if(!g){for(const[t,d]of l)se(d,t);for(const{worldId:t,adapter:d}of o.childAdapters()){if(!i.has(t)||!(d instanceof G))continue;const u=d.isolatedNodeId;u&&!n.selectedEntityIds.has(u)&&d.stories.isolate?.(null)}}});return()=>{m=!0,D(),$(),k(),x()}}const Q={fill:null,desktop:{width:1440,height:900},tablet:{width:768,height:1024},mobile:{width:390,height:844}};function tt({containerRef:e,context:o}){const n=ke();I.useSyncExternalStore(n.subscribe,n.getSnapshot);const r=I.useSyncExternalStore(J,te),a=I.useSyncExternalStore(re,oe),s=I.useCallback(l=>{const p=e.current;if(!p)return;const i=Math.min(4,Math.max(.1,l)),m=p.clientWidth/2,g=p.clientHeight/2,w=(m-r.x)/r.zoom,x=(g-r.y)/r.zoom;j(m-w*i,g-x*i,i)},[e,r]),f=I.useCallback(()=>{const l=e.current,p=[...n.selectedEntityIds].at(-1);if(!l||!p)return;const i=o?.adapter.rects?.rect(p);if(!i||i.width<=0||i.height<=0)return;const m=Math.max(1,l.clientWidth-96),g=Math.max(1,l.clientHeight-96),w=Math.min(4,Math.max(.1,Math.min(m/i.width,g/i.height)));j(l.clientWidth/2-(i.x+i.width/2)*w,l.clientHeight/2-(i.y+i.height/2)*w,w)},[e,o,n]),v=I.useCallback(l=>{const p=e.current,i=Q[l];if(!p||i===null){L(null,null),j(0,0,1);return}L(i.width,i.height);const m=Math.min(1,Math.max(.1,Math.min((p.clientWidth-96)/i.width,(p.clientHeight-96)/i.height)));j((p.clientWidth-i.width*m)/2,(p.clientHeight-i.height*m)/2,m)},[e]);if(o?.kind!=="react"||!o.adapter.rects)return null;const C=Object.entries(Q).find(([,l])=>l===null?a.width===null:l.width===a.width&&l.height===a.height)?.[0]??"fill";return h.jsxs(h.Fragment,{children:[a.width!==null&&a.height!==null&&h.jsx("div",{"data-testid":"react-canvas-device-frame",style:{position:"absolute",left:0,top:0,zIndex:0,width:a.width,height:a.height,transform:ee(r),transformOrigin:"0 0",pointerEvents:"none",background:"#fff",boxShadow:"0 0 0 1px #ffffff40, 0 8px 30px #0009"}}),h.jsxs(Pe,{label:"React canvas view","data-testid":"react-canvas-zoom-controls",className:"vgai-react-canvas-controls",children:[h.jsxs(Me,{"aria-label":"Responsive viewport",title:"Responsive viewport",value:C,onChange:l=>v(l.target.value),className:"vgai-react-viewport-select",children:[h.jsx("option",{value:"fill",children:"Fill"}),h.jsx("option",{value:"desktop",children:"Desktop · 1440×900"}),h.jsx("option",{value:"tablet",children:"Tablet · 768×1024"}),h.jsx("option",{value:"mobile",children:"Mobile · 390×844"})]}),h.jsx(V,{"aria-label":"Zoom out",title:"Zoom out",size:"comfortable",onClick:()=>s(r.zoom/1.2),children:h.jsx(F,{icon:$e,size:"md"})}),h.jsxs(Re,{variant:"ghost","aria-label":"Reset zoom to 100%",title:"Reset zoom to 100%",size:"comfortable",onClick:()=>s(1),children:[Math.round(r.zoom*100),"%"]}),h.jsx(V,{"aria-label":"Zoom in",title:"Zoom in",size:"comfortable",onClick:()=>s(r.zoom*1.2),children:h.jsx(F,{icon:ze,size:"md"})}),h.jsx(V,{"aria-label":"Zoom to selection",title:"Zoom to selection",size:"comfortable",onClick:f,children:h.jsx(F,{icon:We,size:"md"})})]})]})}function ot(e){return`workspace:world:${e}`}function rt({active:e,composite:o,descriptor:n,store:r}){const a=I.useRef(null),s=I.useRef(null);I.useSyncExternalStore(r.subscribe,r.getSnapshot),I.useEffect(()=>{!e||s.current||!a.current||(s.current=et(a.current,o,r,[n]))},[e,o,n,r]),I.useEffect(()=>()=>{s.current?.(),s.current=null},[]);const f=Oe(Te(r),r.selectedEntityIds),v=f?.worldId===n.worldId?f:null;return h.jsxs("div",{ref:a,"data-testid":`world-document:${n.worldId}`,style:{position:"absolute",inset:0,overflow:"hidden",pointerEvents:"auto",backgroundColor:z.surface.raised,backgroundImage:`linear-gradient(45deg, ${z.surface.chrome} 25%, transparent 25%, transparent 75%, ${z.surface.chrome} 75%), linear-gradient(45deg, ${z.surface.chrome} 25%, transparent 25%, transparent 75%, ${z.surface.chrome} 75%)`,backgroundPosition:"0 0, 8px 8px",backgroundSize:"16px 16px"},children:[h.jsx(Be,{}),h.jsx(tt,{containerRef:a,context:v})]})}function at(e,o){const n=je(),r=[],a=[];for(const s of o.childAdapters())s.role==="world"&&s.kind==="threejs"&&a.push(K(s.worldId,X));for(const s of Ze(o)){const f=ot(s.worldId);a.push(K(s.worldId,f)),r.push(f);const v=C=>h.jsx(rt,{...C,composite:o,descriptor:s,store:e});De({id:f,title:s.worldId,kind:"world",provenance:{rootId:s.worldId,...s.path?{sourcePath:s.path}:{}},Content:v,closeable:!1,onActivate:()=>e.setActiveViewportTab("scene")})}return n?q(n):q(X),()=>{for(const s of a)s();for(const s of r)Ae(s,{discardDirty:!0})}}export{at as installWorldDocuments,ot as worldDocumentId};
package/dist/index.html CHANGED
@@ -11,27 +11,29 @@
11
11
  <title>VGAI Scene Editor</title>
12
12
  <style>
13
13
  * { margin: 0; padding: 0; box-sizing: border-box; }
14
- html, body { width: 100%; height: 100%; overflow: hidden; background: #1a1a1a; display: flex; flex-direction: column; }
14
+ html, body { width: 100%; height: 100%; overflow: hidden; background: #1a1a1a; }
15
+ #editor-chrome-root { width: 100%; height: 100%; display: flex; flex-direction: column; min-height: 0; }
15
16
  #editor-main { flex: 1; position: relative; min-height: 0; overflow: hidden; }
16
17
  #editor-root {
17
18
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
18
19
  pointer-events: none; z-index: 10;
19
20
  }
20
- #editor-bottom {
21
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
22
- font-size: 13px;
23
- color: #c5c8ce;
24
- }
25
- *::-webkit-scrollbar { display: none; }
26
- * { scrollbar-width: none; }
27
- @keyframes editor-spin { to { transform: rotate(360deg); } }
21
+ /* Scrollbar policy, @keyframes editor-spin/blink, and the vgai-* design
22
+ tokens live in the runtime-injected `<style id="vgai-editor-theme">`
23
+ sheet (packages/editor/src/theme-css.ts, installed from main.tsx) —
24
+ single source of truth, see EDITOR-STYLE-AUDIT.md C-12/C-9. This
25
+ static <style> block keeps only the pre-paint shell layout that must
26
+ be present before any script runs. */
28
27
  </style>
29
- <script type="module" crossorigin src="/assets/index-_bCaipUk.js"></script>
28
+ <script type="module" crossorigin src="/assets/index-CQEfi217.js"></script>
29
+ <link rel="stylesheet" crossorigin href="/assets/index-Dvi-V0NE.css">
30
30
  </head>
31
31
  <body>
32
- <div id="editor-main">
33
- <div id="editor-root"></div>
32
+ <div id="editor-chrome-root">
33
+ <div id="editor-main">
34
+ <div id="editor-root"></div>
35
+ </div>
36
+ <div id="editor-bottom"></div>
34
37
  </div>
35
- <div id="editor-bottom"></div>
36
38
  </body>
37
39
  </html>
@@ -1,18 +1,19 @@
1
1
  {
2
- "manifestVersion": 1,
2
+ "manifestVersion": 2,
3
3
  "name": "pmndrs/racing-game (vendored bundle)",
4
4
  "version": "0.1.0",
5
5
  "engine": {
6
6
  "version": "0.1.0"
7
7
  },
8
- "worlds": [
8
+ "roots": [
9
9
  {
10
10
  "id": "racing-game",
11
- "kind": "threejs",
12
11
  "description": "REAL, UNMODIFIED marquee game (pmndrs/racing-game — React 18 + @react-three/fiber + three r0.139) ingested at the zero-source-diff bar. See UPSTREAM.md. Mounted today via the dedicated marquee-proof.html capture harness, not the generic resolver (docs/CLI-ON-FOLDER-DESIGN.md §1H — a stretch goal, not this manifest's job).",
13
12
  "adapter": {
13
+ "surface": "threejs",
14
14
  "ingest": {
15
- "strategy": "iframe-reachable"
15
+ "strategy": "iframe-reachable",
16
+ "entryHtml": "index.html"
16
17
  }
17
18
  }
18
19
  }
@@ -1,18 +1,19 @@
1
1
  {
2
- "manifestVersion": 1,
2
+ "manifestVersion": 2,
3
3
  "name": "dgreenheck/simcity-threejs-clone (vendored bundle)",
4
4
  "version": "0.1.0",
5
5
  "engine": {
6
6
  "version": "0.1.0"
7
7
  },
8
- "worlds": [
8
+ "roots": [
9
9
  {
10
10
  "id": "simcity",
11
- "kind": "threejs",
12
11
  "description": "REAL, UNMODIFIED single-player three.js game (dgreenheck/simcity-threejs-clone — vanilla three r0.155, no React) ingested at the zero-source-diff bar. See UPSTREAM.md. Mounted today via the dedicated simcity-proof.html capture harness, not the generic resolver (docs/CLI-ON-FOLDER-DESIGN.md §1H — a stretch goal, not this manifest's job).",
13
12
  "adapter": {
13
+ "surface": "threejs",
14
14
  "ingest": {
15
- "strategy": "iframe-reachable"
15
+ "strategy": "iframe-reachable",
16
+ "entryHtml": "index.html"
16
17
  }
17
18
  }
18
19
  }
@@ -1,18 +1,19 @@
1
1
  {
2
- "manifestVersion": 1,
2
+ "manifestVersion": 2,
3
3
  "name": "colyseus/realtime-tanks-demo (vendored bundle, web-threejs client)",
4
4
  "version": "0.1.0",
5
5
  "engine": {
6
6
  "version": "0.1.0"
7
7
  },
8
- "worlds": [
8
+ "roots": [
9
9
  {
10
10
  "id": "tanks",
11
- "kind": "threejs",
12
11
  "description": "REAL, UNMODIFIED server-authoritative multiplayer three.js client (colyseus/realtime-tanks-demo web-threejs client — vanilla three r0.170) ingested at the zero-source-diff bar, captured as a single client against the upstream Colyseus server run locally. See UPSTREAM.md. Mounted today via a dedicated capture harness, not the generic resolver (docs/CLI-ON-FOLDER-DESIGN.md §1H — a stretch goal, not this manifest's job).",
13
12
  "adapter": {
13
+ "surface": "threejs",
14
14
  "ingest": {
15
- "strategy": "iframe-reachable"
15
+ "strategy": "iframe-reachable",
16
+ "entryHtml": "index.html"
16
17
  }
17
18
  }
18
19
  }