@volter/game-editor 0.5.68 → 0.5.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BUNDLED_NOTICES +10941 -5080
- package/LICENSE +9 -10
- package/LICENSE-BLENDER +2 -2
- package/NOTICE +2 -2
- package/additions/canvas/package.json +8 -0
- package/additions/canvas/src/canvas-mount.ts +46 -0
- package/additions/canvas/src/scene2d.tsx +18 -0
- package/catalog/entries/bake.json +1 -1
- package/catalog/entries/blender.json +3 -3
- package/catalog/entries/music.json +5 -5
- package/catalog/project-source/LICENSE +6 -6
- package/catalog/project-source/src/contributions/bake.kind.ts +2 -2
- package/catalog/project-source/src/contributions/builder-document.tsx +1 -1
- package/catalog/project-source/src/contributions/builder-ui.tsx +3 -3
- package/catalog/project-source/src/contributions/module-source.ts +4 -4
- package/catalog/project-source/src/lib/reflections/volume-reflection-material.ts +59 -59
- package/catalog/project-source/src/lib/static-batch/Frozen.tsx +1 -1
- package/catalog/project-source/src/lib/static-batch/mutation-watch.ts +1 -1
- package/catalog/project-source/src/tools/bake-preview.tool.ts +9 -9
- package/dist/.vite/manifest.json +4026 -4026
- package/dist/assets/{AssetBudgetPanel-P2PeL_X5.js → AssetBudgetPanel-DpXsaQ6w.js} +4 -4
- package/dist/assets/AudioViewer-BdTHfNhD.js +1 -0
- package/dist/assets/{CanvasBoardDocument-BFJdTVGp.js → CanvasBoardDocument-DY-7zohc.js} +1 -1
- package/dist/assets/CanvasSceneViewport-57CEFqSM.js +1 -0
- package/dist/assets/ColorInput-Co6tCY9p.js +1 -0
- package/dist/assets/{EntityModelDocument-Du8wIbyK.js → EntityModelDocument-C-lhKrxv.js} +1 -1
- package/dist/assets/{EnvironmentAssetDocument-_SttfMY_.js → EnvironmentAssetDocument-BNe6ANTN.js} +1 -1
- package/dist/assets/{GameplaySessionTimeline-CWudWnfd.js → GameplaySessionTimeline-CryFYfYN.js} +1 -1
- package/dist/assets/ImageViewer-DiD2yIG4.js +1 -0
- package/dist/assets/{InspectorCanvasPreview-CEr_Kxna.js → InspectorCanvasPreview-BrFjhoiD.js} +1 -1
- package/dist/assets/InspectorObjectPreview-BBVO8bDT.js +1 -0
- package/dist/assets/JsonAssetDocument-xyXetSbl.js +2 -0
- package/dist/assets/{LiveModuleDocument-BWjOzO_6.js → LiveModuleDocument-BiAunjHS.js} +1 -1
- package/dist/assets/{LutAssetDocument-DIc6nsht.js → LutAssetDocument-5sW-5rb0.js} +1 -1
- package/dist/assets/{ModelAssetDocument-_CqTsX_A.js → ModelAssetDocument-Bdy7x47a.js} +1 -1
- package/dist/assets/{NonThreeAuthoringBootstrap-C-V23E1e.js → NonThreeAuthoringBootstrap-BP-1bVEr.js} +1 -1
- package/dist/assets/Object3DDocumentToolbar-CvnSLDPI.js +1 -0
- package/dist/assets/Object3DDocumentViewport-BE_OPc8T.js +2 -0
- package/dist/assets/{Object3DPreview-BPHEr3vI.js → Object3DPreview-D3w_dKrX.js} +1 -1
- package/dist/assets/OnlineAssetDetail-BnT8_p1W.js +1 -0
- package/dist/assets/PlayBar-C8Mn-EI0.js +1 -0
- package/dist/assets/{QuarksAssetDocument-4Dne3EHx.js → QuarksAssetDocument-DLMH5Csk.js} +1 -1
- package/dist/assets/ReactCanvasControls-rNz8syVB.js +1 -0
- package/dist/assets/RootSelectionOverlay-Cn2Rbr1N.js +1 -0
- package/dist/assets/{ShaderAssetDocument-W3ZjLCkt.js → ShaderAssetDocument-CsJCsNfA.js} +4 -4
- package/dist/assets/ShadowEditor-jB05hr1W.js +1 -0
- package/dist/assets/{SourceAssetViewer-BGUeDAEv.js → SourceAssetViewer-D0NgGrER.js} +1 -1
- package/dist/assets/StageHost-B3Yt4I7r.js +2 -0
- package/dist/assets/{StoryPreviewMount-Di8uMovM.js → StoryPreviewMount-CzzRn24c.js} +1 -1
- package/dist/assets/ThreeBoardDocument-BoHTN4Vl.js +2 -0
- package/dist/assets/{ThreeIsolationSceneContent-BAKurKW5.js → ThreeIsolationSceneContent-BM-0S6J5.js} +1 -1
- package/dist/assets/{ToolObject3DPreview-CffvGJ1h.js → ToolObject3DPreview-BeM_kx_u.js} +1 -1
- package/dist/assets/Toolbar-BZyog9MR.js +1 -0
- package/dist/assets/{TransientHint-CgmkrmKF.js → TransientHint-RJEkOJoy.js} +1 -1
- package/dist/assets/VideoViewer-CxajgKrf.js +1 -0
- package/dist/assets/ViewportShadingMenu-S2lADFJg.js +1 -0
- package/dist/assets/active-ingest-CjZtqL7Q.js +3 -0
- package/dist/assets/{animation-clock-fLmY_3--.js → animation-clock-CWVW-mqY.js} +1 -1
- package/dist/assets/animation-mixers.service-CpoYw8cs.js +1 -0
- package/dist/assets/animation-timeline.utility-CEerojaB.js +1 -0
- package/dist/assets/{asset-budget-asset.menu-BDRDWrvx.js → asset-budget-asset.menu-Bk6scVWQ.js} +1 -1
- package/dist/assets/{asset-budget.action-tQmNGQHC.js → asset-budget.action-DtBDSfDj.js} +1 -1
- package/dist/assets/{asset-budget.document-BthgX37Z.js → asset-budget.document-R2zyoJ8E.js} +1 -1
- package/dist/assets/{asset-budget.menu-DfyWVH6p.js → asset-budget.menu-D6jza5Bc.js} +1 -1
- package/dist/assets/asset-editor-persistence-DrgwOZIW.js +1 -0
- package/dist/assets/asset-loaders-CUeYIjeH.js +2 -0
- package/dist/assets/{asset-preview-Cv7tfD98.js → asset-preview-CQfnI2cX.js} +1 -1
- package/dist/assets/{audio-unlock.service-BvHvZjzx.js → audio-unlock.service-W3UBKsw9.js} +1 -1
- package/dist/assets/audio.utility-qrXBdGXg.js +1 -0
- package/dist/assets/autoplay.service-DQD3Swo9.js +1 -0
- package/dist/assets/{babylon-authoring-adapter-Cg5ALSpr.js → babylon-authoring-adapter-CS9LZNmz.js} +1 -1
- package/dist/assets/binding-resolver-B9VI52zt.js +2 -0
- package/dist/assets/blender-emscripten-engine-Cd6az4pU.js +2 -0
- package/dist/assets/{blender-node-editor.document-B92MO51u.js → blender-node-editor.document-BWLFvA2g.js} +1 -1
- package/dist/assets/{blender-properties-tab-CDVyDAbf.js → blender-properties-tab-BSmWG9d0.js} +1 -1
- package/dist/assets/{blender-runtime-host-CuniE0sy.js → blender-runtime-host-Cbkie7m4.js} +2 -2
- package/dist/assets/{blender-runtime-skin-B_tOz5j5.js → blender-runtime-skin-C_ATCb-z.js} +7 -7
- package/dist/assets/{blender-runtime.document-DxUwLiEW.js → blender-runtime.document-P9zdgwMt.js} +7 -7
- package/dist/assets/{blender-timeline.document-BdEEoQbK.js → blender-timeline.document-DRwySEJO.js} +1 -1
- package/dist/assets/{blender-uv-editor.document-EMSUlRh4.js → blender-uv-editor.document-CmLoL2Vo.js} +1 -1
- package/dist/assets/blender-version.status-CP4Jqkry.js +1 -0
- package/dist/assets/blender-wali-engine-CZcS3eAd.js +2 -0
- package/dist/assets/{blender.command-BkBML2SY.js → blender.command-BYGm0Q_s.js} +1 -1
- package/dist/assets/blender.status-BMETIbb2.js +1 -0
- package/dist/assets/board-guides-BG-MHK2G.js +1 -0
- package/dist/assets/body-marks-C1LxJtQb.js +1 -0
- package/dist/assets/{bridge.command-VnplZ81v.js → bridge.command-DpUNErKN.js} +3 -3
- package/dist/assets/{browserAll-BCmkqg8n.js → browserAll-DES3i79H.js} +1 -1
- package/dist/assets/{build-player.document-DV7YcJQt.js → build-player.document-B42HrdSU.js} +1 -1
- package/dist/assets/build-profiles.document-Di5CQoH9.js +2 -0
- package/dist/assets/build-progress.status-B4te7-3j.js +1 -0
- package/dist/assets/{build-session-BGe0eGrQ.js → build-session-Yw4JoE8T.js} +2 -2
- package/dist/assets/{build.action-Bdj4ZEL_.js → build.action-B-DBpUj6.js} +1 -1
- package/dist/assets/{build.command-DAWiYvPa.js → build.command-CfWoHNp0.js} +1 -1
- package/dist/assets/build.header-BaURztYD.js +1 -0
- package/dist/assets/{build.menu-BiRNC_xc.js → build.menu-BFBn-dPJ.js} +1 -1
- package/dist/assets/{build.service-Dw9K6VSF.js → build.service-D8gYWB3n.js} +1 -1
- package/dist/assets/{camera-C-qXzXFf.js → camera-C-uR_xQp.js} +1 -1
- package/dist/assets/{camera-runtime.inspector-BDrwWRlU.js → camera-runtime.inspector-BOGGEqVq.js} +1 -1
- package/dist/assets/{canvas-design-mount-DLn49Zle.js → canvas-design-mount-DamLAaWn.js} +4 -4
- package/dist/assets/canvas-entry-runtime-a6N7Rsrj.js +2 -0
- package/dist/assets/{canvas-preview-frames-B5xFRjhQ.js → canvas-preview-frames-XbrKuyJu.js} +1 -1
- package/dist/assets/{canvas-story-capture.service-DQ_leYyi.js → canvas-story-capture.service-DYRdEzkG.js} +2 -2
- package/dist/assets/capability-coverage-7wKVA3PF.js +7 -0
- package/dist/assets/{collaboration-presence-BOS1t8wI.js → collaboration-presence-DaVKEfxs.js} +1 -1
- package/dist/assets/{collider-Bf4Uk6LW.js → collider-BEwlgkG5.js} +1 -1
- package/dist/assets/component-board.service-BWSBM2Bb.js +2 -0
- package/dist/assets/{component-board.service-DFSSCaCf.js → component-board.service-C9ZouakC.js} +2 -2
- package/dist/assets/{component-board.service-CpVXGhz5.js → component-board.service-D2eGKqHf.js} +2 -2
- package/dist/assets/component-contracts.service-D0uElctD.js +1 -0
- package/dist/assets/component-instance-root-C1Xf4SwR.js +1 -0
- package/dist/assets/{component-verbs.command-DGzZAV_Z.js → component-verbs.command-N-Tj8KOS.js} +1 -1
- package/dist/assets/{component-verbs.service-D1rVRogp.js → component-verbs.service-CWh4mQ7X.js} +1 -1
- package/dist/assets/{config-D-EAAhqP.js → config-hmmj-QHZ.js} +4 -4
- package/dist/assets/{configurations-_HZOWZPy.js → configurations-B9Pi_eRN.js} +1 -1
- package/dist/assets/connection.status-C2HPxoww.js +1 -0
- package/dist/assets/{constraint-5KLYpGm7.js → constraint-Bp1l8hY-.js} +1 -1
- package/dist/assets/constraints.inspector-D-h1f3K2.js +1 -0
- package/dist/assets/{content-bounds-DKBD7nsv.js → content-bounds-7UyI42Vj.js} +1 -1
- package/dist/assets/{contract-system-adapters-h6OUBRYA.js → contract-system-adapters-Bq1LGdjs.js} +1 -1
- package/dist/assets/coverage.service-BiBikIsV.js +3 -0
- package/dist/assets/{create-runtime-Bg2uYMfh.js → create-runtime-Cx-q5z2y.js} +2 -2
- package/dist/assets/curve-Co_mro-I.js +1 -0
- package/dist/assets/{data-asset-7Nfmx-28.js → data-asset-Ckx4D_U_.js} +1 -1
- package/dist/assets/data-check-core-CHqar_E8.js +1 -0
- package/dist/assets/data-ref-70PUrMuT.js +1 -0
- package/dist/assets/debug-bridge-CarsgKpm.js +1 -0
- package/dist/assets/debug-registry-DgYNlhH_.js +1 -0
- package/dist/assets/{deferred-ingest-play-Bej67_y9.js → deferred-ingest-play-Bpdhu2i-.js} +2 -2
- package/dist/assets/{design-time-canvas-mount-CFW9ZWuk.js → design-time-canvas-mount-Ca9Q75Ui.js} +2 -2
- package/dist/assets/design-time-layers-BIb71snu.js +1 -0
- package/dist/assets/{design-time-mount.service-DJeAPUB_.js → design-time-mount.service-DL6ZK2TQ.js} +2 -2
- package/dist/assets/{design-time-mount.service-_R1UDCw3.js → design-time-mount.service-zKUVjKAu.js} +2 -2
- package/dist/assets/design-time-react-mount-NrWimSxY.js +1 -0
- package/dist/assets/{document-preview-three-5cbuuJMH.js → document-preview-three-DoDs6q1q.js} +1 -1
- package/dist/assets/{dom-authoring-adapter-CoESNvrM.js → dom-authoring-adapter-adLQog9l.js} +1 -1
- package/dist/assets/{draco3d-Sk9K4AUT.js → draco3d-aUvQF1Zx.js} +1 -1
- package/dist/assets/{edit-mode-audio.service-CH6J-8N7.js → edit-mode-audio.service-CHZ1ultu.js} +1 -1
- package/dist/assets/edit-mode-authoring-ZQuUwc6e.js +1 -0
- package/dist/assets/{edit-mode-networking.service-C4o2pGHX.js → edit-mode-networking.service-C7fk2fL1.js} +1 -1
- package/dist/assets/editor-api-C8MUOrwt.js +1 -0
- package/dist/assets/{editor-layers-B4oYfpj8.js → editor-layers-CGX7iCSP.js} +1 -1
- package/dist/assets/editor-presentation-activity-CqJH4G9t.js +1 -0
- package/dist/assets/{editor-shell-store-Bh1S7M54.js → editor-shell-store-BRqB1JZO.js} +1 -1
- package/dist/assets/{entity-object-B_5Gc0Ky.js → entity-object--ZpqIat7.js} +1 -1
- package/dist/assets/{extend-DcEyE5jI.js → extend-BZQIQ18F.js} +1 -1
- package/dist/assets/{fork-menu-CKjNh3MO.js → fork-menu-CziehkPx.js} +1 -1
- package/dist/assets/{frame-debugger-store-D5YViF_8.js → frame-debugger-store-BOQjrPsh.js} +1 -1
- package/dist/assets/game-audio-BeCyd0Ha.js +1 -0
- package/dist/assets/{game-contract-seams-C0AVYwvO.js → game-contract-seams-Dgqv6S8X.js} +1 -1
- package/dist/assets/{game-css-scope-transform-8GOvVu1s.js → game-css-scope-transform-anfk8vP_.js} +2 -2
- package/dist/assets/game-document.service-CqmgrRUA.js +1 -0
- package/dist/assets/game-eval.command-CoetFm6_.js +2 -0
- package/dist/assets/game-module-access-Cg1EB8Mx.js +1 -0
- package/dist/assets/game-network-BqI-Ehz0.js +22 -0
- package/dist/assets/{gameplay-export-K5AcStVC.js → gameplay-export-D0hZoeSg.js} +1 -1
- package/dist/assets/gameplay-replay-BHz6VAVa.js +1 -0
- package/dist/assets/{gameplay.command-DoWqBWhH.js → gameplay.command-CPc9GKuW.js} +1 -1
- package/dist/assets/generation-CdOATubd.css +1 -0
- package/dist/assets/{generation-jobs-CiabIfR0.js → generation-jobs-D-zXQNZI.js} +1 -1
- package/dist/assets/generation.service-Bwt9lQEG.js +1 -0
- package/dist/assets/{generations-DU9rCeQR.js → generations-d-U9lCVo.js} +1 -1
- package/dist/assets/generations.status-BQ8xhaLN.js +1 -0
- package/dist/assets/hierarchy-marks-CndAXtie.js +1 -0
- package/dist/assets/hierarchy-marks-CsTaTkc7.js +1 -0
- package/dist/assets/hosted-asset-materialization-r2vKfJGY.js +2 -0
- package/dist/assets/{ibl-override-material-CiKkaOTW.js → ibl-override-material-CMo_a49U.js} +1 -1
- package/dist/assets/index-BMxv2MNV.js +1 -0
- package/dist/assets/index-BPVnvJfX.js +1 -0
- package/dist/assets/{index-C4AUQbmq.js → index-BqzpzjSB.js} +1 -1
- package/dist/assets/{index-CC1puVjo.js → index-CMU7lnXk.js} +1 -1
- package/dist/assets/index-CPiRKiDC.css +1 -0
- package/dist/assets/{index-CaG87ZF-.js → index-Cr9NTnJp.js} +271 -270
- package/dist/assets/index-DSMLYme2.js +1 -0
- package/dist/assets/index-DoGlzvsX.js +1 -0
- package/dist/assets/{index-BsYc2Oyj.js → index-dlvCCB72.js} +1 -1
- package/dist/assets/{index-Kb9_s5aP.js → index-xjc_62Ha.js} +1 -1
- package/dist/assets/{index-C20Flc1s.js → index-z0_InXxO.js} +2 -2
- package/dist/assets/{inference-diagnostics-MGcIHEX6.js → inference-diagnostics-D5jfxI5p.js} +1 -1
- package/dist/assets/{ingest-boot-viewport-D2okO6JI.js → ingest-boot-viewport-Be0v44yf.js} +1 -1
- package/dist/assets/ingest-siblings-BowXSozE.js +1 -0
- package/dist/assets/ingest-source-persistence-BGIvThcv.js +1 -0
- package/dist/assets/ingest.service-wVm-ZcTI.js +1 -0
- package/dist/assets/{inspect-C8RP8G5F.js → inspect-CN92MgRT.js} +1 -1
- package/dist/assets/inspection-D8fZOHCM.js +1 -0
- package/dist/assets/instances.command-B6gJuL1Z.js +1 -0
- package/dist/assets/{json-history-resource-CTXRV4GD.js → json-history-resource-C9G_vCX9.js} +1 -1
- package/dist/assets/{layered-pick-B_-BRrRD.js → layered-pick-D9tIz_m7.js} +1 -1
- package/dist/assets/{light-CskDQ8gF.js → light-BGbl1a8K.js} +1 -1
- package/dist/assets/{live-project-verbs-BOAQN3ME.js → live-project-verbs-p1sdTwhF.js} +1 -1
- package/dist/assets/{machine.document-BxOoCOo9.js → machine.document-C1acXU7l.js} +1 -1
- package/dist/assets/{machines.finder-CqEceWzS.js → machines.finder-sOxNTYPx.js} +1 -1
- package/dist/assets/material-D7289cYI.js +1 -0
- package/dist/assets/{material-factory-qB9pzcQf.js → material-factory-D0T-DH8c.js} +1 -1
- package/dist/assets/{mesh-5--4qA-C.js → mesh-1A-HHxD6.js} +1 -1
- package/dist/assets/model-asset-sections-D1uxOu2v.css +1 -0
- package/dist/assets/model-asset-sections.service-DF-mllTL.js +1 -0
- package/dist/assets/{model-inspection-MrJY0U_-.js → model-inspection-CuVwNVvv.js} +1 -1
- package/dist/assets/{model-thumbnail-uk-2sblh.js → model-thumbnail-xm1Fabi2.js} +1 -1
- package/dist/assets/{models.finder-rk8dhgO8.js → models.finder-DrvU1qGk.js} +1 -1
- package/dist/assets/module-mode-BHOAAbgO.js +2 -0
- package/dist/assets/mount-canvas-ingest-root-aVZkVNh4.js +2 -0
- package/dist/assets/mount-dom-ingest-root-eOOGPaxi.js +2 -0
- package/dist/assets/{mount-ingest-root-BC3-1Cw1.js → mount-ingest-root-BsWbEvr_.js} +2 -2
- package/dist/assets/{mount-manifest-QJOB11Kv.js → mount-manifest-t6ipNsoF.js} +1 -1
- package/dist/assets/mount-readiness-DyAd17pe.js +4 -0
- package/dist/assets/mount-three-ingest-root-DIR0wKrN.js +1 -0
- package/dist/assets/{mounted-authoring-B7RL_V28.js → mounted-authoring-DX3DC9PJ.js} +1 -1
- package/dist/assets/{mounted-story-viewport-source-CnYhX3vW.js → mounted-story-viewport-source-D8FqGpci.js} +1 -1
- package/dist/assets/{native-debug-module-B-rWJfWE.js → native-debug-module-CB738yQu.js} +1 -1
- package/dist/assets/{navigation-BVu-aVmF.js → navigation-B9ihB0qU.js} +1 -1
- package/dist/assets/{navmesh.menu-C3M63eR4.js → navmesh.menu-CPxr9LPT.js} +1 -1
- package/dist/assets/{navmesh.service-B0H1fUfn.js → navmesh.service-BAtili_Y.js} +1 -1
- package/dist/assets/network-observer.service-CqTuZNtI.js +1 -0
- package/dist/assets/network.utility-CclYEmfV.js +1 -0
- package/dist/assets/object-marks-BnvSuCTt.js +1 -0
- package/dist/assets/{object3d-authoring-subject-BDrxd1GA.js → object3d-authoring-subject-XccsO0xG.js} +1 -1
- package/dist/assets/{object3d-document-session-registry-OjqzJ86S.js → object3d-document-session-registry-BWeuL0nf.js} +2 -2
- package/dist/assets/{oid-transform-Bzc2ZJSH.js → oid-transform-BYeAsBKI.js} +1 -1
- package/dist/assets/{particles-Be7AvO4c.js → particles-BXiQDiB-.js} +1 -1
- package/dist/assets/{performance-profiler-OwnXQX0M.js → performance-profiler-CMbwGBuk.js} +1 -1
- package/dist/assets/pixi-authoring-adapter-CPsN0Yk7.js +1 -0
- package/dist/assets/pixi-live-write-target-BUbt5ixX.js +1 -0
- package/dist/assets/{play.command-CIGRq8ow.js → play.command-Bz5Ra6Uj.js} +2 -2
- package/dist/assets/pose-guard-CLabLSzf.js +1 -0
- package/dist/assets/presentation-C7ZHYsKF.js +1 -0
- package/dist/assets/{product-BN31wSnB.js → product-MSpbAqgo.js} +1 -1
- package/dist/assets/{profiler.action-D57Kj9ym.js → profiler.action-1Jbc-7Q4.js} +1 -1
- package/dist/assets/{profiler.menu-Dh9Q5DDx.js → profiler.menu-C544DxWZ.js} +1 -1
- package/dist/assets/profiler.utility-QnzedS3X.js +1 -0
- package/dist/assets/{project-authoring-session-LCJAwGrD.js → project-authoring-session-BhNfg7TY.js} +2 -2
- package/dist/assets/project-provenance-BGnJXJwa.js +1 -0
- package/dist/assets/{properties-bone-constraints.inspector-CaIDq5nN.js → properties-bone-constraints.inspector-DRCPfugt.js} +1 -1
- package/dist/assets/{properties-bone.inspector-D2fcQGMF.js → properties-bone.inspector-CYHeZX0p.js} +1 -1
- package/dist/assets/{properties-collection.inspector-CF5AtTAd.js → properties-collection.inspector-DtGhPkiU.js} +1 -1
- package/dist/assets/{properties-constraints.inspector-Bj2itDrS.js → properties-constraints.inspector-TIyIV777.js} +1 -1
- package/dist/assets/{properties-data.inspector-BfRqk0Xo.js → properties-data.inspector-vA0MTaup.js} +1 -1
- package/dist/assets/{properties-material.inspector-Bf8H0mvu.js → properties-material.inspector-C73spBQh.js} +1 -1
- package/dist/assets/{properties-modifiers.inspector-BKShc1TH.js → properties-modifiers.inspector-9oyLBBE0.js} +1 -1
- package/dist/assets/{properties-object.inspector-YBh8ABnN.js → properties-object.inspector-7BuiUgbd.js} +1 -1
- package/dist/assets/{properties-output.inspector-CVkzfs-l.js → properties-output.inspector-CjYAggz2.js} +1 -1
- package/dist/assets/{properties-particles.inspector-ChDpAq-2.js → properties-particles.inspector-DpSfjykX.js} +1 -1
- package/dist/assets/{properties-physics.inspector-BLEM7aMj.js → properties-physics.inspector-BUTvmfU9.js} +1 -1
- package/dist/assets/{properties-render.inspector-vU4D9xLL.js → properties-render.inspector-CEdsDqbI.js} +1 -1
- package/dist/assets/{properties-scene.inspector-C-DoN-kL.js → properties-scene.inspector-4kp0sLNw.js} +1 -1
- package/dist/assets/{properties-texture.inspector-DySxy1oU.js → properties-texture.inspector-Ckpqy9eo.js} +1 -1
- package/dist/assets/{properties-view-layer.inspector-DEKxMahJ.js → properties-view-layer.inspector-CQIFbY8-.js} +1 -1
- package/dist/assets/{properties-world.inspector-m5qL_TQV.js → properties-world.inspector-xZgNV6rI.js} +1 -1
- package/dist/assets/r3f-design-session-D8VF-hty.js +2 -0
- package/dist/assets/{r3f-physics-binding-Bgzzd4ol.js → r3f-physics-binding-oippu1v_.js} +1 -1
- package/dist/assets/{r3f-source-authoring-adapter-C8oMjdTL.js → r3f-source-authoring-adapter-CZJX6VLM.js} +1 -1
- package/dist/assets/react-canvas-navigation-DuzvnFoN.js +1 -0
- package/dist/assets/react-inspector.service-CV4p6nrb.js +1 -0
- package/dist/assets/react-story-board-mhldts6w.js +1 -0
- package/dist/assets/{react-three-rapier.esm-BR2ttgLS.js → react-three-rapier.esm-Bo9LjrZe.js} +1 -1
- package/dist/assets/react-world-authoring-adapter-CuyruDfq.js +1 -0
- package/dist/assets/{realm-services-DefTrXnY.js → realm-services-BtiLE3a-.js} +1 -1
- package/dist/assets/reflection-probe-capture.inspector-mrrOHs-9.js +1 -0
- package/dist/assets/{reflection-probe-BHNGwVyz.js → reflection-probe-sIto9mh0.js} +1 -1
- package/dist/assets/registry-DpUr2YIM.js +1 -0
- package/dist/assets/{relative-import-specifier-DQzkawgj.js → relative-import-specifier-CyT6yU4l.js} +1 -1
- package/dist/assets/{render-env-BZ7LsGfk.js → render-env-C63BGT5v.js} +1 -1
- package/dist/assets/{render-features-C7QwmhCo.js → render-features-CBl6rom9.js} +1 -1
- package/dist/assets/{render-settings-BBvkacR3.js → render-settings-DjarlnjI.js} +1 -1
- package/dist/assets/resolve-three-OiswFiIS.js +702 -0
- package/dist/assets/root-seam-contract-BYLQx4CQ.js +1 -0
- package/dist/assets/{run-selection-BUeubtHj.js → run-selection-BMu0v3qC.js} +1 -1
- package/dist/assets/scene-capture-BLf3lJ44.js +1 -0
- package/dist/assets/scene-document.service-CjPDph5k.js +2 -0
- package/dist/assets/{scene-framing-PVMqGU8h.js → scene-framing-BhNk0WhI.js} +1 -1
- package/dist/assets/{scene-index--lRWLEmW.js → scene-index-DHeKmalD.js} +1 -1
- package/dist/assets/{scene-query-s1y04OVB.js → scene-query-ByZtXA2m.js} +1 -1
- package/dist/assets/seeded-random-DmdE0u-C.js +1 -0
- package/dist/assets/{session-CTXsU1lK.js → session-CeyQA0Dv.js} +35 -35
- package/dist/assets/{setup-renderer-OOw1SykJ.js → setup-renderer-Bf8g2S0f.js} +1 -1
- package/dist/assets/{source-object3d-authoring-adapter-RmutT5Dt.js → source-object3d-authoring-adapter-IDRws2Nk.js} +1 -1
- package/dist/assets/{source-persistence-backend-HviqjKZ2.js → source-persistence-backend-Dzc6MsmN.js} +1 -1
- package/dist/assets/{spark-renderer-lifecycle-DfYpvEJa.js → spark-renderer-lifecycle-B6Axb6jm.js} +1 -1
- package/dist/assets/{stage-keyboard-DDi7S27C.js → stage-keyboard-CpnIYiph.js} +1 -1
- package/dist/assets/stage-overlay-set-BrJzOTCe.js +1 -0
- package/dist/assets/stage-presence-markers-BFTl9Djp.js +1 -0
- package/dist/assets/stage-transform-tools-QaenmSrC.js +1 -0
- package/dist/assets/standard-viewport-dressing-DuKH01r4.js +24 -0
- package/dist/assets/{state-watch.action-DEdb1mNa.js → state-watch.action-BaRZ6YII.js} +1 -1
- package/dist/assets/{state-watch.menu-jWbUM3kw.js → state-watch.menu-DR2AtQ6r.js} +1 -1
- package/dist/assets/state-watch.utility-VW8H9Fgi.js +1 -0
- package/dist/assets/{story-capture-Dj1xkeKH.js → story-capture-BEVV48wm.js} +1 -1
- package/dist/assets/story-documents-DndjqJ7Y.js +3 -0
- package/dist/assets/{story-documents.service-BzQCuNBu.js → story-documents.service-CPrZ7gRM.js} +1 -1
- package/dist/assets/{story-documents.service-iNP-ORNr.js → story-documents.service-wCVmBPhh.js} +1 -1
- package/dist/assets/{story-media-presence-zTPlU9HR.js → story-media-presence-BSX78yVJ.js} +1 -1
- package/dist/assets/{story-pixi-preview-B7THvSl7.js → story-pixi-preview-D4FuH7lJ.js} +1 -1
- package/dist/assets/{story-presentation-BLXYPadR.js → story-presentation-2AxtnKGb.js} +1 -1
- package/dist/assets/story-three-preview-DjObHSAF.js +2 -0
- package/dist/assets/{structural-ids-Br2zjINh.js → structural-ids-BOo2BRoY.js} +1 -1
- package/dist/assets/studio-environment-B--4k2mN.js +2 -0
- package/dist/assets/{surface-state-D9j6qNu8.js → surface-state-CQHVfsma.js} +1 -1
- package/dist/assets/{syntactic-prop-specs-BTnsMOvH.js → syntactic-prop-specs-CewRyC4c.js} +1 -1
- package/dist/assets/team-playtest.service-B9m6CNk7.js +1 -0
- package/dist/assets/{three-oYrcK5SQ.js → three-B86IzdNg.js} +1 -1
- package/dist/assets/three-authoring-adapter-BD8_MtYK.js +1 -0
- package/dist/assets/three-authoring.service-BjJ9wetk.js +2 -0
- package/dist/assets/{three-ingest-runtime-CXKjNysA.js → three-ingest-runtime-CXySzulx.js} +1 -1
- package/dist/assets/{three-integration-CuAnYaTW.js → three-integration-nl5TC6EF.js} +2 -2
- package/dist/assets/three-integration.service-BEk5QkKM.js +1 -0
- package/dist/assets/three-projection-core-D4m8lsPU.js +1 -0
- package/dist/assets/{three-state-wXRU3rLr.js → three-state-C36FeFK4.js} +1 -1
- package/dist/assets/{three-story-capture.service-DMJRcqjr.js → three-story-capture.service-C0icETyL.js} +2 -2
- package/dist/assets/{three-story-model-DgiAP-oQ.js → three-story-model-CqWu9S2a.js} +1 -1
- package/dist/assets/three-viewport-presentation-CCMgGLI2.js +141 -0
- package/dist/assets/tools-BnE3UWVA.js +1 -0
- package/dist/assets/transform-mode-request-CIgYj1Qb.js +1 -0
- package/dist/assets/transport-strip-B1AJKpn-.js +1 -0
- package/dist/assets/transport.header-D-n6dQ5n.js +1 -0
- package/dist/assets/{trigger-volume-DP0G1VBe.js → trigger-volume-BLkHmfm9.js} +1 -1
- package/dist/assets/tuples-uyiMYXrv.js +1 -0
- package/dist/assets/ui-board-document-6e4w4a8B.js +2 -0
- package/dist/assets/{user-data-CqOoAowZ.js → user-data-BXFD1jg-.js} +1 -1
- package/dist/assets/user-data-CODoGZqA.js +1 -0
- package/dist/assets/{utility-view-state-Db97zwDz.js → utility-view-state-I_o0WThv.js} +1 -1
- package/dist/assets/viewport-door-AsLxGhLN.js +1 -0
- package/dist/assets/{viewport-root-presentation-B35t51xX.js → viewport-root-presentation-B1qtThOB.js} +1 -1
- package/dist/assets/{viewport-surface-status-D5kZtFW5.js → viewport-surface-status-CWmQeKTO.js} +1 -1
- package/dist/assets/{webworkerAll-CfKEb4Ao.js → webworkerAll-DC445ANd.js} +1 -1
- package/dist/assets/worker-jepHAPPr.js +2 -0
- package/dist/assets/workspace-arrangement-dkubzCff.js +1 -0
- package/dist/assets/world-documents-psBK5u_2.js +1 -0
- package/dist/assets/world-root-stage-binding-BrvO8VMz.js +1 -0
- package/dist/assets/{xstate-animation-binding-aQEmNSpm.js → xstate-animation-binding-ChVFHSlM.js} +1 -1
- package/dist/assets/{xstate-animation-meta-CnMX1Sc1.js → xstate-animation-meta-D7xnhyCE.js} +1 -1
- package/dist/volter-shared-react.json +10 -0
- package/dist/volter-shared-three.json +3 -0
- package/dist-node/cli.js +247 -209
- package/dist-node/create.js +90 -74
- package/package.json +20 -19
- package/src/contributions.d.ts +1 -1
- package/src/index.ts +10 -10
- package/starter/cube.py +1 -1
- package/template/.agents/references/project-manual.md +17 -18
- package/template/.agents/skills/editor/SKILL.md +6 -6
- package/template/.agents/skills/editor/agents/openai.yaml +3 -3
- package/template/.agents/skills/editor/references/editor-control.md +62 -62
- package/template/.agents/skills/{vgai-3d-models → volter-3d-models}/SKILL.md +3 -3
- package/template/.agents/skills/{vgai-ingest-existing-game → volter-ingest-existing-game}/SKILL.md +3 -3
- package/template/.agents/skills/{vgai-music → volter-music}/SKILL.md +7 -7
- package/template/{.github/skills/vgai-threejs-authoring → .agents/skills/volter-threejs-authoring}/SKILL.md +9 -9
- package/template/.agents/skills/volter-threejs-authoring/agents/openai.yaml +4 -0
- package/template/{.claude/skills/vgai-threejs-authoring → .agents/skills/volter-threejs-authoring}/references/helper-catalog.md +1 -1
- package/template/.claude/skills/editor/SKILL.md +6 -6
- package/template/.claude/skills/editor/agents/openai.yaml +3 -3
- package/template/.claude/skills/editor/references/editor-control.md +62 -62
- package/template/{.github/skills/vgai-3d-models → .claude/skills/volter-3d-models}/SKILL.md +3 -3
- package/template/{.github/skills/vgai-ingest-existing-game → .claude/skills/volter-ingest-existing-game}/SKILL.md +3 -3
- package/template/.claude/skills/{vgai-threejs-authoring → volter-threejs-authoring}/SKILL.md +9 -9
- package/template/.claude/skills/volter-threejs-authoring/agents/openai.yaml +4 -0
- package/template/{.agents/skills/vgai-threejs-authoring → .claude/skills/volter-threejs-authoring}/references/helper-catalog.md +1 -1
- package/template/.github/copilot-instructions.md +1 -1
- package/template/.github/skills/editor/SKILL.md +6 -6
- package/template/.github/skills/editor/agents/openai.yaml +3 -3
- package/template/.github/skills/editor/references/editor-control.md +62 -62
- package/template/{.claude/skills/vgai-3d-models → .github/skills/volter-3d-models}/SKILL.md +3 -3
- package/template/{.claude/skills/vgai-ingest-existing-game → .github/skills/volter-ingest-existing-game}/SKILL.md +3 -3
- package/template/{.agents/skills/vgai-threejs-authoring → .github/skills/volter-threejs-authoring}/SKILL.md +9 -9
- package/template/.github/skills/volter-threejs-authoring/agents/openai.yaml +4 -0
- package/template/.github/skills/{vgai-threejs-authoring → volter-threejs-authoring}/references/helper-catalog.md +1 -1
- package/template/.mcp.json +3 -3
- package/template/AGENTS.md +25 -25
- package/template/DEVLOG.md +1 -1
- package/template/IDIOMS.md +3 -3
- package/template/LICENSE +3 -3
- package/template/README.md +12 -13
- package/template/check-idioms.ts +71 -95
- package/template/manifest-entry-modules-plugin.ts +17 -4
- package/template/package.json +13 -15
- package/template/server/colyseus-setup.ts +1 -9
- package/template/server/main.ts +4 -9
- package/template/server/rooms/arena-room.ts +10 -10
- package/template/server/rooms/game-room.ts +10 -10
- package/template/server/rooms.ts +3 -5
- package/template/src/bot/QaTester.tsx +1 -1
- package/template/src/bot/bot-station.ts +2 -2
- package/template/src/bot/tester-station.ts +1 -1
- package/template/src/contributions/README.md +1 -1
- package/template/src/contributions/analytics.analytics.tsx +1 -1
- package/template/src/contributions/data.document.tsx +2 -2
- package/template/src/contributions/pages.finder.ts +1 -1
- package/template/src/contributions/tester.inspector.tsx +2 -2
- package/template/src/contributions/use-game-modules.ts +1 -1
- package/template/src/input.ts +1 -1
- package/template/src/lib/reflections/volume-reflection-material.ts +59 -59
- package/template/src/lib/static-batch/Frozen.tsx +1 -1
- package/template/src/lib/static-batch/mutation-watch.ts +1 -1
- package/template/src/main.ts +19 -38
- package/template/src/manifest-entry-modules.d.ts +12 -1
- package/template/src/net/NetworkedPlayers.tsx +3 -3
- package/template/src/prefabs/HeroBox.stories.tsx +1 -1
- package/template/src/world.tsx +1 -1
- package/template/tsconfig.json +1 -1
- package/template/validate-manifest.ts +3 -3
- package/template/vite.config.ts +12 -12
- package/template/{vgai.adapter.ts → volter.adapter.ts} +1 -1
- package/template/{vgai.project.json → volter.project.json} +2 -2
- package/template-dotfiles/gitignore +27 -27
- package/workbench/src/media/game-cover.css +11 -11
- package/workbench/src/product.contribution.ts +28 -28
- package/workbench/src/{vgaiGameSkew.ts → volterGameSkew.ts} +16 -16
- package/dist/assets/AudioViewer-xFb5Wv7A.js +0 -1
- package/dist/assets/CanvasSceneViewport-vqBlOz8P.js +0 -1
- package/dist/assets/ColorInput-CX1UZjYO.js +0 -1
- package/dist/assets/ImageViewer-shZzMd91.js +0 -1
- package/dist/assets/InspectorObjectPreview-BMOvJaOw.js +0 -1
- package/dist/assets/JsonAssetDocument-D_HXneWE.js +0 -2
- package/dist/assets/Object3DDocumentToolbar-BfPH9jz5.js +0 -1
- package/dist/assets/Object3DDocumentViewport-BaXWtATg.js +0 -2
- package/dist/assets/OnlineAssetDetail-BxibUH6K.js +0 -1
- package/dist/assets/PlayBar-DRANyO01.js +0 -1
- package/dist/assets/ReactCanvasControls-K98jOX9b.js +0 -1
- package/dist/assets/RootSelectionOverlay-BQC12Gdd.js +0 -1
- package/dist/assets/ShadowEditor-DP1LWynl.js +0 -1
- package/dist/assets/StageHost-V_0opXFt.js +0 -2
- package/dist/assets/ThreeBoardDocument-tgcaZDqQ.js +0 -2
- package/dist/assets/Toolbar-uLgsrB2z.js +0 -1
- package/dist/assets/VideoViewer-ClUJ6_uy.js +0 -1
- package/dist/assets/ViewportShadingMenu-Bdkc6jcd.js +0 -1
- package/dist/assets/active-ingest-CnAeQcuQ.js +0 -3
- package/dist/assets/animation-mixers.service-DiecMX_A.js +0 -1
- package/dist/assets/animation-timeline.utility-C71vPJgs.js +0 -1
- package/dist/assets/asset-editor-persistence-BQgjOCrm.js +0 -1
- package/dist/assets/asset-loaders-5PIUVvmH.js +0 -2
- package/dist/assets/audio.utility-D9Vk_WYS.js +0 -1
- package/dist/assets/autoplay.service-CFJoLPLw.js +0 -1
- package/dist/assets/binding-resolver-C_9MBSMa.js +0 -2
- package/dist/assets/blender-emscripten-engine-BeWFjMn-.js +0 -2
- package/dist/assets/blender-version.status-DtfwUahB.js +0 -1
- package/dist/assets/blender-wali-engine-da698rDf.js +0 -2
- package/dist/assets/blender.status-ujwGU6dU.js +0 -1
- package/dist/assets/board-guides-_3R1t_-2.js +0 -1
- package/dist/assets/body-marks-RKb_LTwL.js +0 -1
- package/dist/assets/build-profiles.document-CZxDuhzz.js +0 -2
- package/dist/assets/build-progress.status-Dk5u3C67.js +0 -1
- package/dist/assets/build.header--xqH6uTP.js +0 -1
- package/dist/assets/canvas-entry-runtime-DVeh71nC.js +0 -2
- package/dist/assets/capability-coverage-DQgg6UJe.js +0 -7
- package/dist/assets/component-board.service-DgujG90T.js +0 -2
- package/dist/assets/component-contracts.service-Bc_2Xxh_.js +0 -1
- package/dist/assets/component-instance-root-df4ofoOR.js +0 -1
- package/dist/assets/connection.status-CCX-mgmr.js +0 -1
- package/dist/assets/constraints.inspector-CwEEREsf.js +0 -1
- package/dist/assets/coverage.service-CV7b5Sqn.js +0 -3
- package/dist/assets/curve-BKuiAPpj.js +0 -1
- package/dist/assets/data-check-core-CQEjuFyt.js +0 -1
- package/dist/assets/data-ref-DyFQqqX6.js +0 -1
- package/dist/assets/debug-bridge-CESAxmlz.js +0 -1
- package/dist/assets/debug-registry-l7k5Hjc8.js +0 -1
- package/dist/assets/design-time-layers-CQgnmqc8.js +0 -1
- package/dist/assets/design-time-react-mount-CFvIk_rV.js +0 -1
- package/dist/assets/edit-mode-authoring-DBjaBTxM.js +0 -1
- package/dist/assets/editor-api-D2azVray.js +0 -1
- package/dist/assets/editor-presentation-activity-C7SNSmTd.js +0 -1
- package/dist/assets/game-audio-CaGKzia4.js +0 -1
- package/dist/assets/game-document.service-FdG_gFPU.js +0 -1
- package/dist/assets/game-eval.command-4wa9vqWE.js +0 -2
- package/dist/assets/game-module-access-DulnT3NH.js +0 -1
- package/dist/assets/game-network-Bo_nlDR5.js +0 -22
- package/dist/assets/gameplay-replay-CnWnlogY.js +0 -1
- package/dist/assets/generation-DhwCUHPf.css +0 -1
- package/dist/assets/generation.service-D2yeZaJu.js +0 -1
- package/dist/assets/generations.status-3CrPw_n5.js +0 -1
- package/dist/assets/hierarchy-marks-BLPfSIym.js +0 -1
- package/dist/assets/hierarchy-marks-C25dY2fR.js +0 -1
- package/dist/assets/hosted-asset-materialization-DYdcFlDf.js +0 -2
- package/dist/assets/index-B5WjeCHm.css +0 -1
- package/dist/assets/index-BcH5GC3b.js +0 -1
- package/dist/assets/index-CwCDkEl1.js +0 -1
- package/dist/assets/index-n3QdTv-T.js +0 -1
- package/dist/assets/index.module-Ycad3DJq.js +0 -1
- package/dist/assets/ingest-siblings-CkxW__go.js +0 -1
- package/dist/assets/ingest-source-persistence-6peGfPAS.js +0 -1
- package/dist/assets/ingest.service-Cc73WMIW.js +0 -1
- package/dist/assets/inspection-CObLhnrs.js +0 -1
- package/dist/assets/instances.command-CxKGnrNl.js +0 -1
- package/dist/assets/material-BwFzKPi0.js +0 -1
- package/dist/assets/model-asset-sections-CFvvihfx.css +0 -1
- package/dist/assets/model-asset-sections.service-TZ2SaBmH.js +0 -1
- package/dist/assets/module-mode-B79jV5tQ.js +0 -2
- package/dist/assets/mount-canvas-ingest-root-BhaYNuhY.js +0 -2
- package/dist/assets/mount-dom-ingest-root-BQb1u0LX.js +0 -2
- package/dist/assets/mount-readiness-Ds0HvvLH.js +0 -4
- package/dist/assets/mount-three-ingest-root-DIDBfvIH.js +0 -1
- package/dist/assets/network-observer.service-CiR4Q9Q0.js +0 -1
- package/dist/assets/network.utility-CNG3eJ0E.js +0 -1
- package/dist/assets/object-marks-DwvIEBOK.js +0 -1
- package/dist/assets/pixi-authoring-adapter-B42K4md-.js +0 -1
- package/dist/assets/pixi-live-write-target-D56tQEe_.js +0 -1
- package/dist/assets/pose-guard-DILO6gGq.js +0 -1
- package/dist/assets/presentation-DGBuGP6i.js +0 -1
- package/dist/assets/profiler.utility-DLNySW3w.js +0 -1
- package/dist/assets/project-provenance-4ldz-EOG.js +0 -1
- package/dist/assets/r3f-design-session-C0DPEChS.js +0 -2
- package/dist/assets/react-canvas-navigation-Jowa_lJq.js +0 -1
- package/dist/assets/react-inspector.service-TfTdj_Qk.js +0 -1
- package/dist/assets/react-story-board-Bx7qYytV.js +0 -1
- package/dist/assets/react-world-authoring-adapter-C1jPW_cN.js +0 -1
- package/dist/assets/reflection-probe-capture.inspector-C-6zrzZb.js +0 -1
- package/dist/assets/registry-Z28XSZHF.js +0 -1
- package/dist/assets/resolve-three-C7zDbK29.js +0 -702
- package/dist/assets/root-seam-contract-rGNbiX6q.js +0 -1
- package/dist/assets/scene-capture-BTWgUzhI.js +0 -1
- package/dist/assets/scene-document.service-DJJp-la1.js +0 -2
- package/dist/assets/seeded-random-38To73fI.js +0 -1
- package/dist/assets/stage-overlay-set-olkNSZmq.js +0 -1
- package/dist/assets/stage-presence-markers-cznMN_qq.js +0 -1
- package/dist/assets/stage-transform-tools-BDUZqRIR.js +0 -1
- package/dist/assets/standard-viewport-dressing-BZyuxyVl.js +0 -24
- package/dist/assets/state-watch.utility-DDmn3G25.js +0 -1
- package/dist/assets/story-documents-8ehMyYHo.js +0 -3
- package/dist/assets/story-three-preview-B1nNiPwP.js +0 -2
- package/dist/assets/studio-environment-yaKaHPxH.js +0 -2
- package/dist/assets/team-playtest.service-Ds9tkO4q.js +0 -1
- package/dist/assets/three-authoring-adapter-BrkGH4cd.js +0 -1
- package/dist/assets/three-authoring.service-DoamZDMx.js +0 -2
- package/dist/assets/three-integration.service-Db-VabIm.js +0 -1
- package/dist/assets/three-projection-core-jBJVt6O0.js +0 -1
- package/dist/assets/three-viewport-presentation-CgO3eWJ-.js +0 -141
- package/dist/assets/tools-B_NJsk05.js +0 -1
- package/dist/assets/transform-mode-request-BnKpgRUW.js +0 -1
- package/dist/assets/transport-strip-a9yLoPsI.js +0 -1
- package/dist/assets/transport.header-CpfoppXc.js +0 -1
- package/dist/assets/tuples-CKsHOV9T.js +0 -1
- package/dist/assets/ui-board-document-DtTR_mBr.js +0 -2
- package/dist/assets/user-data-dHvLdpwM.js +0 -1
- package/dist/assets/viewport-door-DVkMQazS.js +0 -1
- package/dist/assets/worker-CC9Ug5Ei.js +0 -2
- package/dist/assets/workspace-arrangement-DIMM7ska.js +0 -1
- package/dist/assets/world-documents-C4t3iOD-.js +0 -1
- package/dist/assets/world-root-stage-binding-ydl3JN1a.js +0 -1
- package/dist/vgai-shared-react.json +0 -10
- package/dist/vgai-shared-three.json +0 -3
- package/template/.agents/skills/vgai-threejs-authoring/agents/openai.yaml +0 -4
- package/template/.claude/skills/vgai-threejs-authoring/agents/openai.yaml +0 -4
- package/template/.github/skills/vgai-threejs-authoring/agents/openai.yaml +0 -4
- package/template/server/loopback.ts +0 -76
- /package/dist/assets/{vgai-shared-fontawesome-CU65D4Ij.js → volter-shared-fontawesome-CU65D4Ij.js} +0 -0
- /package/dist/assets/{vgai-shared-jsx-dev-runtime-DFDKL7fx.js → volter-shared-jsx-dev-runtime-DFDKL7fx.js} +0 -0
- /package/dist/assets/{vgai-shared-jsx-runtime-DIqBpTut.js → volter-shared-jsx-runtime-DIqBpTut.js} +0 -0
- /package/dist/assets/{vgai-shared-react-BT7rMc2H.js → volter-shared-react-BT7rMc2H.js} +0 -0
- /package/dist/assets/{vgai-shared-react-dom-DFajMqMT.js → volter-shared-react-dom-DFajMqMT.js} +0 -0
- /package/dist/assets/{vgai-shared-react-dom-client-S0ozfl6_.js → volter-shared-react-dom-client-S0ozfl6_.js} +0 -0
- /package/dist/assets/{vgai-shared-three-DH4yxKwt.js → volter-shared-three-DH4yxKwt.js} +0 -0
- /package/template/{.vgai → .volter}/assets.json +0 -0
- /package/template/{.vgai → .volter}/provenance.json +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as Ie}from"./extends-CF3RwP-h.js";import{r as A,a as Vn}from"./index-nmcBqr7Y.js";import{a as Jy}from"./client-DNXj_opT.js";import{U as Id,S as No,W as Zx}from"./three.module-BLhyNg0e.js";import{u as ue,a as He,I as Jx,q as _d,G as vi,s as ir,J as e4,K as Hu,e as xi,o as Wn,v as Xr,F as t4,l as ev,k as S0,L as i4}from"./events-156d8d12.esm-CYeuVCYr.js";import{fo as W,aI as bi,fd as Be,d9 as ci,d5 as Bi,az as ql,da as wr,cm as we,dp as rt,cl as Ln,ez as Vu,fp as Ei,_ as qe,aV as Pn,cj as Ze,co as ze,bu as tv,au as Ir,dw as Ti,b0 as si,ed as Ns,cE as Xt,N as Ji,M as Ai,aM as nn,ex as xn,em as hi,B as Ar,fe as Ko,K as cr,bl as n4,f1 as Hr,cW as yi,e6 as Wu,cp as ta,bX as ul,aq as Qn,a$ as $i,bV as It,db as an,cZ as Rr,ey as iv,e$ as Xl,cg as Th,bh as jo,I as Kt,aP as wh,bg as s4,fx as Fi,c1 as ni,cN as C0,Z as r4,aY as o4,b5 as nv,am as a4,ca as ia,cb as l4,aZ as ks,eX as _r,Y as Yn,eW as cn,cv as bh,cs as T0,aT as sv,F as Zm,dk as Eu,dd as Jm,eC as c4,aE as u4,ev as rv,et as h4,j as f4,f7 as d4,l as m4,fq as g4,dq as p4,cV as A4,eq as ur,a3 as Yu,aa as ov,ff as Gi,c5 as w0,dI as eg,e8 as Ms,e2 as zo,bi as fi,e0 as y4,d$ as v4,dZ as E4,dY as x4,dS as I4,dP as _4,dN as S4,dM as C4,dE as T4,av,aw as Qo,H as w4,er as b4,eo as R4,d8 as Rh,bs as b0,bt as Sd,bA as Go,fA as D4,bW as Fs,dn as L4,ag as P4,V as lv,x as M4,y as B4,cr as k4,cq as cv,dv as uv,br as xu,fb as pn,du as Ku,aO as F4,c_ as hv,cR as O4,ao as fv,dx as Iu,fj as Wr,fw as ju,a9 as dv,an as U4,el as br,T as mv,ad as R0,fs as N4,ej as gv,aC as pv,aA as Av,fm as D0,R as yv,b4 as _u,E as z4,e5 as Fl,by as ou,P as Cd,es as vv,e3 as Ev,e9 as Q4,n as G4,ch as $4,cw as xv,cx as Iv,cP as H4,dg as V4,f6 as Su,c7 as Td,cc as W4,c3 as tg,eG as Y4,cu as K4,S as j4,d as q4,ee as Dh,i as X4,bI as Lh,cU as Z4,aS as J4,aW as eI}from"./three.core-3arARmh6.js";import{v as Ol,d as _v,C as tI,u as BM}from"./Gltf-GjdUJfpn.js";import{G as VF}from"./Gltf-GjdUJfpn.js";import{m as iI,t as nI}from"./BufferGeometryUtils-FJZNEiJN.js";import{OrthographicCamera as sI}from"./OrthographicCamera-QGDXU8-_.js";import{PerspectiveCamera as YF}from"./PerspectiveCamera-CzyDwUe8.js";import{E as na,M as rI}from"./OrbitControls-DqeA2OK1.js";import{O as jF}from"./OrbitControls-DqeA2OK1.js";import{_ as Sv}from"./index-
|
|
1
|
+
import{_ as Ie}from"./extends-CF3RwP-h.js";import{r as A,a as Vn}from"./index-nmcBqr7Y.js";import{a as Jy}from"./client-DNXj_opT.js";import{U as Id,S as No,W as Zx}from"./three.module-BLhyNg0e.js";import{u as ue,a as He,I as Jx,q as _d,G as vi,s as ir,J as e4,K as Hu,e as xi,o as Wn,v as Xr,F as t4,l as ev,k as S0,L as i4}from"./events-156d8d12.esm-CYeuVCYr.js";import{fo as W,aI as bi,fd as Be,d9 as ci,d5 as Bi,az as ql,da as wr,cm as we,dp as rt,cl as Ln,ez as Vu,fp as Ei,_ as qe,aV as Pn,cj as Ze,co as ze,bu as tv,au as Ir,dw as Ti,b0 as si,ed as Ns,cE as Xt,N as Ji,M as Ai,aM as nn,ex as xn,em as hi,B as Ar,fe as Ko,K as cr,bl as n4,f1 as Hr,cW as yi,e6 as Wu,cp as ta,bX as ul,aq as Qn,a$ as $i,bV as It,db as an,cZ as Rr,ey as iv,e$ as Xl,cg as Th,bh as jo,I as Kt,aP as wh,bg as s4,fx as Fi,c1 as ni,cN as C0,Z as r4,aY as o4,b5 as nv,am as a4,ca as ia,cb as l4,aZ as ks,eX as _r,Y as Yn,eW as cn,cv as bh,cs as T0,aT as sv,F as Zm,dk as Eu,dd as Jm,eC as c4,aE as u4,ev as rv,et as h4,j as f4,f7 as d4,l as m4,fq as g4,dq as p4,cV as A4,eq as ur,a3 as Yu,aa as ov,ff as Gi,c5 as w0,dI as eg,e8 as Ms,e2 as zo,bi as fi,e0 as y4,d$ as v4,dZ as E4,dY as x4,dS as I4,dP as _4,dN as S4,dM as C4,dE as T4,av,aw as Qo,H as w4,er as b4,eo as R4,d8 as Rh,bs as b0,bt as Sd,bA as Go,fA as D4,bW as Fs,dn as L4,ag as P4,V as lv,x as M4,y as B4,cr as k4,cq as cv,dv as uv,br as xu,fb as pn,du as Ku,aO as F4,c_ as hv,cR as O4,ao as fv,dx as Iu,fj as Wr,fw as ju,a9 as dv,an as U4,el as br,T as mv,ad as R0,fs as N4,ej as gv,aC as pv,aA as Av,fm as D0,R as yv,b4 as _u,E as z4,e5 as Fl,by as ou,P as Cd,es as vv,e3 as Ev,e9 as Q4,n as G4,ch as $4,cw as xv,cx as Iv,cP as H4,dg as V4,f6 as Su,c7 as Td,cc as W4,c3 as tg,eG as Y4,cu as K4,S as j4,d as q4,ee as Dh,i as X4,bI as Lh,cU as Z4,aS as J4,aW as eI}from"./three.core-3arARmh6.js";import{v as Ol,d as _v,C as tI,u as BM}from"./Gltf-GjdUJfpn.js";import{G as VF}from"./Gltf-GjdUJfpn.js";import{m as iI,t as nI}from"./BufferGeometryUtils-FJZNEiJN.js";import{OrthographicCamera as sI}from"./OrthographicCamera-QGDXU8-_.js";import{PerspectiveCamera as YF}from"./PerspectiveCamera-CzyDwUe8.js";import{E as na,M as rI}from"./OrbitControls-DqeA2OK1.js";import{O as jF}from"./OrbitControls-DqeA2OK1.js";import{_ as Sv}from"./index-Cr9NTnJp.js";import{g as oI}from"./_commonjsHelpers-D6-XlEtG.js";import{u as ds}from"./Fbo-BwAOPGSM.js";import{F as XF}from"./Fbo-BwAOPGSM.js";import{RoundedBox as JF,RoundedBoxGeometry as eO}from"./RoundedBox-DrJK5JOI.js";import"./index-D_NuPfjr.js";import"./index-CinJrH5C.js";import"./jsx-runtime-DPjLkJKQ.js";import"./index-bQE2NA0D.js";import"./index-CtzuWnCS.js";import"./index-FUuS4qwW.js";const Ul=new W,L0=new W,aI=new W,ig=new Be;function lI(r,e,t){const i=Ul.setFromMatrixPosition(r.matrixWorld);i.project(e);const n=t.width/2,s=t.height/2;return[i.x*n+n,-(i.y*s)+s]}function cI(r,e){const t=Ul.setFromMatrixPosition(r.matrixWorld),i=L0.setFromMatrixPosition(e.matrixWorld),n=t.sub(i),s=e.getWorldDirection(aI);return n.angleTo(s)>Math.PI/2}function uI(r,e,t,i){const n=Ul.setFromMatrixPosition(r.matrixWorld),s=n.clone();s.project(e),ig.set(s.x,s.y),t.setFromCamera(ig,e);const o=t.intersectObjects(i,!0);if(o.length){const a=o[0].distance;return n.distanceTo(t.ray.origin)<a}return!0}function hI(r,e){if(e instanceof Bi)return e.zoom;if(e instanceof ci){const t=Ul.setFromMatrixPosition(r.matrixWorld),i=L0.setFromMatrixPosition(e.matrixWorld),n=e.fov*Math.PI/180,s=t.distanceTo(i);return 1/(2*Math.tan(n/2)*s)}else return 1}function fI(r,e,t){if(e instanceof ci||e instanceof Bi){const i=Ul.setFromMatrixPosition(r.matrixWorld),n=L0.setFromMatrixPosition(e.matrixWorld),s=i.distanceTo(n),o=(t[1]-t[0])/(e.far-e.near),a=t[1]-o*e.far;return Math.round(o*s+a)}}const wd=r=>Math.abs(r)<1e-10?0:r;function Cv(r,e,t=""){let i="matrix3d(";for(let n=0;n!==16;n++)i+=wd(e[n]*r.elements[n])+(n!==15?",":")");return t+i}const dI=(r=>e=>Cv(e,r))([1,-1,1,1,1,-1,1,1,1,-1,1,1,1,-1,1,1]),mI=(r=>(e,t)=>Cv(e,r(t),"translate(-50%,-50%)"))(r=>[1/r,1/r,1/r,1,-1/r,-1/r,-1/r,-1,1/r,1/r,1/r,1,1,1,1,1]);function gI(r){return r&&typeof r=="object"&&"current"in r}const qu=A.forwardRef(({children:r,eps:e=.001,style:t,className:i,prepend:n,center:s,fullscreen:o,portal:a,distanceFactor:l,sprite:c=!1,transform:u=!1,occlude:h,onOcclude:f,castShadow:d,receiveShadow:g,material:m,geometry:p,zIndexRange:E=[16777271,0],calculatePosition:v=lI,as:y="div",wrapperClass:x,pointerEvents:I="auto",..._},S)=>{const{gl:C,camera:w,scene:T,size:D,raycaster:b,events:R,viewport:P}=ue(),[O]=A.useState(()=>document.createElement(y)),Q=A.useRef(null),V=A.useRef(null),K=A.useRef(0),k=A.useRef([0,0]),G=A.useRef(null),M=A.useRef(null),H=a?.current||R.connected||C.domElement.parentNode,Y=A.useRef(null),N=A.useRef(!1),z=A.useMemo(()=>h&&h!=="blending"||Array.isArray(h)&&h.length&&gI(h[0]),[h]);A.useLayoutEffect(()=>{const ee=C.domElement;h&&h==="blending"?(ee.style.zIndex=`${Math.floor(E[0]/2)}`,ee.style.position="absolute",ee.style.pointerEvents="none"):(ee.style.zIndex=null,ee.style.position=null,ee.style.pointerEvents=null)},[h]),A.useLayoutEffect(()=>{if(V.current){const ee=Q.current=Jy.createRoot(O);if(T.updateMatrixWorld(),u)O.style.cssText="position:absolute;top:0;left:0;pointer-events:none;overflow:hidden;";else{const Z=v(V.current,w,D);O.style.cssText=`position:absolute;top:0;left:0;transform:translate3d(${Z[0]}px,${Z[1]}px,0);transform-origin:0 0;`}return H&&(n?H.prepend(O):H.appendChild(O)),()=>{H&&H.removeChild(O),ee.unmount()}}},[H,u]),A.useLayoutEffect(()=>{x&&(O.className=x)},[x]);const B=A.useMemo(()=>u?{position:"absolute",top:0,left:0,width:D.width,height:D.height,transformStyle:"preserve-3d",pointerEvents:"none"}:{position:"absolute",transform:s?"translate3d(-50%,-50%,0)":"none",...o&&{top:-D.height/2,left:-D.width/2,width:D.width,height:D.height},...t},[t,s,o,D,u]),F=A.useMemo(()=>({position:"absolute",pointerEvents:I}),[I]);A.useLayoutEffect(()=>{if(N.current=!1,u){var ee;(ee=Q.current)==null||ee.render(A.createElement("div",{ref:G,style:B},A.createElement("div",{ref:M,style:F},A.createElement("div",{ref:S,className:i,style:t,children:r}))))}else{var Z;(Z=Q.current)==null||Z.render(A.createElement("div",{ref:S,style:B,className:i,children:r}))}});const U=A.useRef(!0);He(ee=>{if(V.current){w.updateMatrixWorld(),V.current.updateWorldMatrix(!0,!1);const Z=u?k.current:v(V.current,w,D);if(u||Math.abs(K.current-w.zoom)>e||Math.abs(k.current[0]-Z[0])>e||Math.abs(k.current[1]-Z[1])>e){const ne=cI(V.current,w);let ce=!1;z&&(Array.isArray(h)?ce=h.map(le=>le.current):h!=="blending"&&(ce=[T]));const me=U.current;if(ce){const le=uI(V.current,w,b,ce);U.current=le&&!ne}else U.current=!ne;me!==U.current&&(f?f(!U.current):O.style.display=U.current?"block":"none");const re=Math.floor(E[0]/2),te=h?z?[E[0],re]:[re-1,0]:E;if(O.style.zIndex=`${fI(V.current,w,te)}`,u){const[le,se]=[D.width/2,D.height/2],X=w.projectionMatrix.elements[5]*se,{isOrthographicCamera:j,top:oe,left:pe,bottom:_e,right:Ce}=w,ye=dI(w.matrixWorldInverse),Ne=j?`scale(${X})translate(${wd(-(Ce+pe)/2)}px,${wd((oe+_e)/2)}px)`:`translateZ(${X}px)`;let Te=V.current.matrixWorld;c&&(Te=w.matrixWorldInverse.clone().transpose().copyPosition(Te).scale(V.current.scale),Te.elements[3]=Te.elements[7]=Te.elements[11]=0,Te.elements[15]=1),O.style.width=D.width+"px",O.style.height=D.height+"px",O.style.perspective=j?"":`${X}px`,G.current&&M.current&&(G.current.style.transform=`${Ne}${ye}translate(${le}px,${se}px)`,M.current.style.transform=mI(Te,1/((l||10)/400)))}else{const le=l===void 0?1:hI(V.current,w)*l;O.style.transform=`translate3d(${Z[0]}px,${Z[1]}px,0) scale(${le})`}k.current=Z,K.current=w.zoom}}if(!z&&Y.current&&!N.current)if(u){if(G.current){const Z=G.current.children[0];if(Z!=null&&Z.clientWidth&&Z!=null&&Z.clientHeight){const{isOrthographicCamera:ne}=w;if(ne||p)_.scale&&(Array.isArray(_.scale)?_.scale instanceof W?Y.current.scale.copy(_.scale.clone().divideScalar(1)):Y.current.scale.set(1/_.scale[0],1/_.scale[1],1/_.scale[2]):Y.current.scale.setScalar(1/_.scale));else{const ce=(l||10)/400,me=Z.clientWidth*ce,re=Z.clientHeight*ce;Y.current.scale.set(me,re,1)}N.current=!0}}}else{const Z=O.children[0];if(Z!=null&&Z.clientWidth&&Z!=null&&Z.clientHeight){const ne=1/P.factor,ce=Z.clientWidth*ne,me=Z.clientHeight*ne;Y.current.scale.set(ce,me,1),N.current=!0}Y.current.lookAt(ee.camera.position)}});const J=A.useMemo(()=>({vertexShader:u?void 0:`
|
|
2
2
|
/*
|
|
3
3
|
This shader is from the THREE's SpriteMaterial.
|
|
4
4
|
We need to turn the backing plane into a Sprite
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.volter-console{display:flex;height:100%;flex-direction:column}.volter-console .volter-toolbar{flex:0 0 auto}.volter-console-filter{width:140px;margin-left:auto}.volter-console-list{min-height:0;flex:1;overflow-y:auto;font-family:var(--volter-font-mono);font-size:var(--volter-font-base);line-height:18px}.volter-console-empty{padding:var(--volter-space-6) var(--volter-space-4);color:var(--volter-content-dim);font-style:italic}.volter-console-row{display:flex;align-items:flex-start;padding:1px var(--volter-space-4);border-bottom:var(--volter-stroke-resting) solid var(--volter-boundary-default)}.volter-console-row[data-level=error]{background:var(--volter-danger-faint)}.volter-console-row:hover{background:var(--volter-neutral-hover)}.volter-console-count{flex:0 0 auto;margin-left:var(--volter-space-3);padding:0 var(--volter-space-2);color:var(--volter-content-muted);background:var(--volter-surface-raised);border-radius:var(--volter-radius-lg);font-size:var(--volter-font-sm)}.volter-console [data-console-level=info][aria-pressed=true]{color:var(--volter-content-primary)}.volter-console [data-console-level=warn][aria-pressed=true]{color:var(--volter-warn)}.volter-console [data-console-level=error][aria-pressed=true]{color:var(--volter-danger)}.volter-model-document-header{display:flex;align-items:center;gap:var(--volter-space-2);flex:1 1 auto;min-width:0}.volter-model-viewport-toolbar{position:static;min-height:auto;padding:0;border:0;background:transparent;box-shadow:none}.volter-model-viewport-toolbar--preview{margin-left:auto}.volter-model-viewport-toolbar>*{flex:0 0 auto}.volter-model-toolbar-labelled-control{display:inline-flex;align-items:center;gap:var(--volter-space-1);white-space:nowrap}.volter-model-preview-menu{width:250px;padding:var(--volter-space-3);gap:var(--volter-space-3)}.volter-model-preview-menu>label{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:var(--volter-space-2);color:var(--volter-text-2);font-size:var(--volter-font-xs)}.volter-model-preview-menu select{grid-column:2 / -1}.volter-model-preview-menu input[type=range]{width:120px}.volter-model-capture-preview{position:absolute;z-index:var(--volter-z-sticky);top:calc(var(--volter-space-3) + var(--volter-control-default-height) + var(--volter-space-2));right:var(--volter-space-3);width:min(420px,calc(100% - 2 * var(--volter-space-3)));padding:var(--volter-space-3)}.volter-model-capture-preview>div{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--volter-space-3)}.volter-model-capture-preview img{display:block;width:100%}.volter-model-toolbar-error{position:absolute;z-index:var(--volter-z-sticky);right:var(--volter-space-3);bottom:var(--volter-space-3);max-width:420px}@media(width<=720px){.volter-model-toolbar-labelled-control>span{display:none}}.volter-viewport-shading-segments{display:inline-flex}.volter-viewport-shading-segments>*{display:inline-flex}.volter-viewport-shading-segments>:not(:first-child) .volter-btn,.volter-viewport-shading-segments>.volter-btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:0}.volter-viewport-shading-segments>:not(:last-child) .volter-btn,.volter-viewport-shading-segments>.volter-btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.volter-viewport-shading-segments .volter-btn[aria-pressed=true]{position:relative;z-index:1}.volter-viewport-shading-glyph{width:var(--volter-icon-md);height:var(--volter-icon-md);overflow:visible}.volter-viewport-shading-options{display:grid;gap:var(--volter-space-2);padding:var(--volter-space-2) var(--volter-space-3)}.volter-viewport-shading-options>label{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:var(--volter-space-2);color:var(--volter-text-2);font-size:var(--volter-font-xs)}.volter-viewport-shading-options select{grid-column:2 / -1}.volter-viewport-shading-options input[type=range]{width:120px}.volter-viewport-overlays-glyph{width:var(--volter-icon-md);height:var(--volter-icon-md);overflow:visible}.volter-project-header{position:relative;display:flex;height:var(--volter-command-bar-height);flex:0 0 auto;align-items:center;padding:0 var(--volter-space-3);color:var(--volter-content-primary);background:var(--volter-surface-shell);border-bottom:var(--volter-stroke-resting) solid var(--volter-boundary-area);font-size:var(--volter-font-base);pointer-events:auto;user-select:none;box-sizing:border-box}.volter-project-header-left{position:relative;display:flex;min-width:0;flex:1;align-self:stretch;align-items:center}.volter-menu-trigger.volter-project-trigger{position:relative;display:flex;width:14px;min-width:0;align-items:center;justify-content:flex-start;padding:0;overflow:visible;white-space:nowrap}.volter-project-menu-name{display:block;max-width:320px;padding:var(--volter-space-3) var(--volter-space-4) var(--volter-space-1)}.volter-project-header-right .volter-btn[data-variant=ghost]{color:var(--volter-content-primary)}.volter-project-header-left .volter-text[data-variant=label]{font-weight:400}.volter-project-app-menus,.volter-project-transport{flex:0 0 auto}.volter-project-menu{position:absolute;top:100%;left:0;min-width:190px;margin-top:var(--volter-space-1)}.volter-project-path{display:block;max-width:320px;padding:var(--volter-space-2) var(--volter-space-4)}.volter-project-versions{display:grid;grid-template-columns:1fr auto;gap:var(--volter-space-2) var(--volter-space-6);padding:var(--volter-space-3) var(--volter-space-4) var(--volter-space-4);color:var(--volter-content-dim);font-size:var(--volter-font-sm)}.volter-project-header-right{min-width:0;flex:1;gap:var(--volter-space-2)}@media(max-width:680px){.volter-project-header{height:auto;min-height:var(--volter-command-bar-height);flex-wrap:wrap;gap:var(--volter-space-2) var(--volter-space-4);padding-block:4px}.volter-project-header-left{flex:1 1 100%}.volter-project-header-right{flex:1 1 auto;flex-wrap:wrap}}.volter-header-telemetry{min-width:0;flex:0 0 auto;overflow:visible}.volter-header-telemetry-button.volter-btn{min-width:0;height:var(--volter-control-compact-height);gap:var(--volter-space-2);padding-inline:var(--volter-space-2);font-variant-numeric:tabular-nums}.volter-header-audio{position:relative}.volter-audio-vu{display:flex;width:34px;height:12px;align-items:stretch;gap:var(--volter-space-1)}.volter-audio-vu>i{width:2px;flex:1 1 0;border-radius:1px;background:var(--volter-boundary-strong)}.volter-header-audio[data-available=true] .volter-audio-vu>i[data-filled=true]{background:var(--volter-accent)}.volter-header-audio[data-muted=true] .volter-audio-vu>i[data-filled=true]{background:var(--volter-content-muted)}.volter-header-performance{border-left:var(--volter-stroke-resting) solid var(--volter-boundary-default)}.volter-header-performance svg{display:block;overflow:visible}.volter-performance-graph{border-radius:var(--volter-radius-sm);background:color-mix(in srgb,var(--volter-surface-panel) 72%,transparent)}.volter-performance-budget{stroke:var(--volter-boundary-strong);stroke-dasharray:2 2;stroke-width:1}.volter-performance-sparkline{fill:none;stroke:var(--volter-accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5;vector-effect:non-scaling-stroke}.volter-header-performance[data-performance-tone=warning] .volter-performance-sparkline,.volter-header-performance[data-performance-tone=warning] .volter-header-fps{color:var(--volter-warn);stroke:var(--volter-warn)}.volter-header-performance[data-performance-tone=danger] .volter-performance-sparkline,.volter-header-performance[data-performance-tone=danger] .volter-header-fps{color:var(--volter-danger);stroke:var(--volter-danger)}.volter-performance-readout{display:grid;min-width:48px;line-height:1.05;text-align:right}.volter-header-fps{color:var(--volter-content-primary);font-family:var(--volter-font-mono);font-size:var(--volter-font-sm);font-weight:600}.volter-header-frame-ms{color:var(--volter-content-dim);font-family:var(--volter-font-mono);font-size:var(--volter-font-xs)}@media(max-width:1120px){.volter-header-performance svg,.volter-audio-vu{display:none}}.volter-project-header-cluster{display:flex;min-width:0}.volter-project-header-left .volter-project-header-cluster{flex:0 0 auto}.volter-project-header-right .volter-project-header-cluster{align-items:center;gap:var(--volter-space-2)}[data-volter-chrome=islands] .volter-project-header{z-index:var(--volter-z-sticky);align-items:flex-start;padding-top:var(--volter-space-4);background:transparent;border-bottom-color:transparent;pointer-events:none}[data-volter-chrome=islands] .volter-editor-shell:has(.volter-workspace-dock[data-volter-backdrop]) .volter-project-header{position:absolute;top:0;left:0;right:0}[data-volter-chrome=islands] .volter-project-header .volter-chrome-island{height:38px;align-items:center;padding:0 var(--volter-space-3)}[data-volter-chrome=islands] .volter-project-menu{pointer-events:auto}.volter-project-header{transition:margin-top var(--volter-duration-slow) var(--volter-ease-standard)}[data-volter-play-chrome=hidden] .volter-project-header{margin-top:calc(-1 * var(--volter-command-bar-height));background:transparent;border-bottom-color:transparent;pointer-events:none;transition:margin-top var(--volter-duration-base) var(--volter-ease-standard)}[data-volter-play-chrome=hidden] .volter-project-header-left,[data-volter-play-chrome=hidden] .volter-project-transport,[data-volter-play-chrome=hidden] .volter-project-header-right>:not(.volter-header-telemetry){transform:translateY(calc(-100% - 12px));opacity:0;visibility:hidden;pointer-events:none;transition:transform var(--volter-duration-base) var(--volter-ease-standard),opacity var(--volter-duration-base) var(--volter-ease-standard) .1s,visibility 0s linear .28s}[data-volter-play-chrome=hidden] .volter-header-telemetry{position:fixed;top:12px;right:12px;z-index:var(--volter-z-sticky);height:32px;padding:0 var(--volter-space-2);border:var(--volter-stroke-resting) solid var(--volter-boundary-default);border-radius:var(--volter-radius-lg);background:var(--volter-surface-chrome);box-shadow:var(--volter-shadow-sm);pointer-events:auto}[data-volter-play-chrome=hidden][data-volter-play-revealed] .volter-project-header{margin-top:0;background:var(--volter-surface-shell);border-bottom-color:var(--volter-boundary-default);pointer-events:auto;transition:margin-top var(--volter-duration-base) var(--volter-ease-standard)}[data-volter-play-chrome=hidden][data-volter-play-revealed] .volter-project-header-left,[data-volter-play-chrome=hidden][data-volter-play-revealed] .volter-project-transport,[data-volter-play-chrome=hidden][data-volter-play-revealed] .volter-project-header-right>:not(.volter-header-telemetry){transform:none;opacity:1;visibility:visible;pointer-events:auto;transition:transform var(--volter-duration-base) var(--volter-ease-standard),opacity var(--volter-duration-fast) var(--volter-ease-standard),visibility 0s}[data-volter-play-chrome=hidden][data-volter-play-revealed] .volter-header-telemetry{position:static;height:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}@media(prefers-reduced-motion:reduce){.volter-project-header,[data-volter-play-chrome=hidden] .volter-project-header,[data-volter-play-chrome=hidden] .volter-project-header-left,[data-volter-play-chrome=hidden] .volter-project-transport,[data-volter-play-chrome=hidden] .volter-project-header-right>*{transition:none}}.volter-divider.volter-project-menu-rule{align-self:center;margin-inline:var(--volter-space-4);background:var(--volter-boundary-divider)}.volter-workspace-tabs{display:flex;background:var(--volter-surface-chrome);height:22px;align-items:center;align-self:flex-start;margin-top:var(--volter-space-1);flex:1 1 0;min-width:0;overflow-x:auto;overflow-y:hidden;box-shadow:var(--volter-widget-emboss-shadow)}.volter-project-header .volter-project-header-left .volter-workspace-tabs{scrollbar-width:none}.volter-project-header .volter-project-header-left .volter-workspace-tabs::-webkit-scrollbar{display:none}.volter-workspace-tab{appearance:none;border:0;margin:0;flex:0 0 auto;height:var(--volter-control-compact-height);padding:0 var(--volter-space-5);background:transparent;color:var(--volter-content-dim);font:inherit;font-size:var(--volter-font-base);white-space:nowrap;border-radius:var(--volter-radius-sm) var(--volter-radius-sm) 0 0;cursor:default}.volter-workspace-tab:hover{color:var(--volter-content-primary)}.volter-workspace-tab[aria-selected=true]{background:var(--volter-surface-panel);color:var(--volter-content-primary)}.volter-worktree-switcher{display:flex;min-width:0;flex:0 0 auto;margin-left:var(--volter-space-2);align-items:center}.volter-menu-trigger.volter-worktree-trigger{position:relative;display:inline-flex;width:14px;min-width:0;align-items:center;justify-content:center;padding:0;gap:var(--volter-space-2)}.volter-worktree-dirty-dot{width:6px;height:6px;flex:0 0 auto;border-radius:var(--volter-radius-full);background:var(--volter-warn)}.volter-worktree-trigger .volter-worktree-dirty-dot{position:absolute;top:2px;right:1px;width:5px;height:5px}.volter-worktree-menu{width:min(520px,calc(100vw - 24px));padding:var(--volter-space-2)}.volter-worktree-version-control{max-height:min(460px,48vh);overflow:auto;padding:0 var(--volter-space-3) var(--volter-space-2)}.volter-worktree-version-control details>summary{padding-block:var(--volter-space-2)}.volter-worktree-search{display:flex;align-items:center;gap:var(--volter-space-2);padding:var(--volter-space-1) var(--volter-space-1) var(--volter-space-2)}.volter-worktree-search .volter-input{min-width:0;flex:1}.volter-worktree-results{max-height:min(420px,60vh);overflow:auto}.volter-worktree-section-label{padding:var(--volter-space-2) var(--volter-space-4) var(--volter-space-1);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.volter-worktree-menu-item[data-current]:disabled{color:var(--volter-content-primary)}.volter-worktree-menu-item[data-current]:disabled:hover{background:var(--volter-selection-bg)}.volter-worktree-menu-item,.volter-worktree-create-command{min-width:0;min-height:46px;align-items:center;gap:var(--volter-space-2);padding-block:var(--volter-space-2);padding-inline:var(--volter-space-3);white-space:normal}.volter-worktree-row-shell{display:flex;min-width:0;align-items:center}.volter-worktree-row-shell>.volter-worktree-menu-item{min-width:0;flex:1}.volter-worktree-row-icon{display:inline-flex;width:18px;flex:0 0 18px;align-items:center;justify-content:center;color:var(--volter-content-muted)}.volter-worktree-row-copy{display:grid;min-width:0;flex:1;gap:1px}.volter-worktree-row-title,.volter-worktree-row-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.volter-worktree-presence{display:inline-flex;flex:0 0 auto;align-items:center;padding-left:5px}.volter-worktree-avatar{--volter-participant-color: var(--volter-content-muted);display:inline-flex;width:22px;height:22px;margin-left:-5px;align-items:center;justify-content:center;border:2px solid var(--volter-surface-overlay);border-radius:var(--volter-radius-full);background:var(--volter-participant-color);color:#fff;font-size:8px;font-weight:700;letter-spacing:-.01em}.volter-worktree-avatar[data-kind=agent]{border-radius:7px}.volter-worktree-avatar[data-status=needs-input]{box-shadow:0 0 0 2px var(--volter-warn)}.volter-worktree-avatar[data-status=idle],.volter-worktree-avatar[data-status=done]{opacity:.62}.volter-worktree-avatar-more{--volter-participant-color: var(--volter-surface-raised);color:var(--volter-content-muted)}.volter-worktree-row-title{display:flex;align-items:center;gap:var(--volter-space-2);font-size:var(--volter-font-base)}.volter-worktree-row-detail{color:var(--volter-content-dim);font-size:var(--volter-font-xs)}.volter-worktree-empty,.volter-worktree-error,.volter-worktree-more{padding:var(--volter-space-3) var(--volter-space-4)}.volter-worktree-delegate{display:grid;gap:var(--volter-space-2);padding:var(--volter-space-3)}.volter-worktree-delegate textarea{min-height:72px;resize:vertical}.volter-worktree-delegate label{display:grid;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:var(--volter-space-2);color:var(--volter-content-dim);font-size:var(--volter-font-xs)}.volter-worktree-delegate select{min-width:0}.volter-worktree-delegate-open{width:100%;justify-content:center}.volter-collaboration-header{display:flex;min-width:0;align-items:center}.volter-collaboration-header-trigger{display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--volter-space-2)}.volter-collaboration-header-count{min-width:1ch;color:var(--volter-content-dim);font-variant-numeric:tabular-nums;text-align:center}.volter-collaboration-header-menu{width:min(360px,calc(100vw - 24px));padding:var(--volter-space-2)}.volter-session-access-control{padding:var(--volter-space-2)}.volter-collaboration-header-label{padding:var(--volter-space-2) var(--volter-space-3);font-weight:600;text-transform:uppercase}.volter-collaboration-header-person{display:flex;min-width:0;align-items:center;gap:var(--volter-space-2);padding-block:var(--volter-space-2)}.volter-collaboration-header-elsewhere{padding-inline:var(--volter-space-3)}.volter-collaboration-header-dot{width:9px;height:9px;flex:0 0 auto;border-radius:var(--volter-radius-full)}.volter-collaboration-header-copy{display:grid;min-width:0;flex:1}.volter-collaboration-header-copy>span{overflow:hidden;color:var(--volter-content-dim);font-size:var(--volter-font-xs);text-overflow:ellipsis;white-space:nowrap}.volter-collaboration-header-actions{display:flex;flex-wrap:wrap;gap:var(--volter-space-2);padding:var(--volter-space-2)}.volter-shell,.volter-splash,.volter-account{--volter-shell-radius: 12px;--volter-shell-radius-sm: 8px;--volter-shell-font-xs: 11px;--volter-shell-font-sm: 12px;--volter-shell-font-base: 13px;--volter-shell-font-md: 14px;--volter-shell-font-lg: 16px;--volter-shell-font-xl: 20px;--volter-shell-font-display: 36px;--volter-shell-line: 1.55;--volter-shell-card-highlight: inset 0 1px 0 rgb(255 255 255 / 5%);--volter-shell-ease: cubic-bezier(.2, .85, .25, 1)}.volter-shell{position:absolute;inset:0;overflow:auto;color:var(--volter-content-primary);background:color-mix(in srgb,var(--volter-surface-shell) 42%,black);font-size:var(--volter-shell-font-base);line-height:var(--volter-shell-line);pointer-events:auto;-webkit-font-smoothing:antialiased}.volter-shell:before{content:"";position:fixed;inset:0;background:radial-gradient(1150px 640px at 50% -16%,color-mix(in srgb,var(--volter-accent) 22%,transparent),transparent 62%),radial-gradient(720px 420px at 50% -4%,rgb(255 255 255 / 5%),transparent 58%),radial-gradient(900px 560px at -12% 112%,color-mix(in srgb,var(--volter-accent) 5%,transparent),transparent 55%),radial-gradient(135% 105% at 50% 40%,transparent 50%,rgb(0 0 0 / 50%) 100%);pointer-events:none}.volter-shell:after{content:"";position:fixed;inset:0;background-image:radial-gradient(rgb(255 255 255 / 5%) 1px,transparent 1px);background-size:26px 26px;mask-image:linear-gradient(180deg,rgb(0 0 0 / 65%),transparent 52%);pointer-events:none}.volter-shell-container{position:relative;z-index:var(--volter-z-base);width:100%;max-width:1120px;margin:0 auto;padding:0 40px 96px;box-sizing:border-box}.volter-shell-header{display:flex;align-items:center;justify-content:space-between;gap:var(--volter-space-8);min-height:72px;margin-bottom:40px}.volter-shell .volter-btn.volter-shell-brand{display:inline-flex;height:auto;align-items:center;gap:var(--volter-space-5);padding:var(--volter-space-2) var(--volter-space-3);margin-left:-6px}.volter-shell-brand-mark{display:grid;place-items:center;width:30px;height:30px}.volter-shell-wordmark{color:var(--volter-content-primary);font-size:15px;font-weight:var(--volter-font-weight-bold);letter-spacing:.22em}.volter-shell-header-actions{display:flex;align-items:center;gap:var(--volter-space-4)}.volter-shell .volter-btn.volter-shell-account-pill{height:32px;padding:0 14px;border-radius:var(--volter-radius-full);font-size:var(--volter-shell-font-sm)}.volter-shell-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--volter-space-10);margin-bottom:32px;flex-wrap:wrap}.volter-shell-hero-heading{margin:0;font-size:var(--volter-shell-font-display);font-weight:650;letter-spacing:-.03em;line-height:var(--volter-leading-snug);color:#fff;text-shadow:0 2px 24px color-mix(in srgb,var(--volter-accent) 24%,transparent)}.volter-shell-hero-actions{display:flex;align-items:center;gap:var(--volter-space-5)}.volter-shell .volter-chip,.volter-account .volter-chip{display:inline-flex;width:fit-content;align-items:center;gap:var(--volter-space-3);height:22px;padding:0 var(--volter-space-5);color:var(--volter-content-muted);background:var(--volter-surface-inset);border:1px solid var(--volter-boundary-default);border-radius:var(--volter-radius-full);font-family:var(--volter-font-mono);font-size:var(--volter-shell-font-xs);letter-spacing:.02em;white-space:nowrap;box-sizing:border-box}.volter-shell .volter-chip[data-variant=tag],.volter-account .volter-chip[data-variant=tag]{padding:0 7px;border-radius:var(--volter-radius-sm)}.volter-shell .volter-chip[data-tone=accent],.volter-account .volter-chip[data-tone=accent]{color:var(--volter-accent);background:var(--volter-accent-muted);border-color:transparent}.volter-shell .volter-chip[data-tone=success],.volter-account .volter-chip[data-tone=success]{color:var(--volter-success);background:var(--volter-success-muted);border-color:transparent}.volter-shell .volter-chip[data-tone=warn],.volter-account .volter-chip[data-tone=warn]{color:var(--volter-warn);background:var(--volter-warn-muted);border-color:transparent}.volter-shell .volter-btn.volter-shell-cta{height:32px;padding:0 14px;border-radius:var(--volter-shell-radius-sm);font-size:var(--volter-shell-font-base);font-weight:var(--volter-font-weight-semibold)}.volter-shell .volter-btn[data-variant=primary],.volter-account .volter-btn[data-variant=primary]{color:#fff;background:linear-gradient(180deg,#ffffff24,#fff0 52%),color-mix(in srgb,var(--volter-accent) 76%,#1d4ed8);border:1px solid color-mix(in srgb,var(--volter-accent) 74%,white 8%);box-shadow:inset 0 1px #ffffff38,0 1px 2px #0006,0 6px 16px #00000052}.volter-shell .volter-btn[data-variant=primary]:hover:not(:disabled),.volter-account .volter-btn[data-variant=primary]:hover:not(:disabled){filter:brightness(1.09);box-shadow:inset 0 1px #ffffff52,0 2px 4px #0000006b,0 8px 22px #0000006b}.volter-shell .volter-btn.volter-shell-cta-hero{height:38px;padding:0 18px;gap:var(--volter-space-4);border-radius:9px;font-size:var(--volter-font-lg)}.volter-shell .volter-btn.volter-shell-cta-hero[data-variant=primary]{color:#fff;background:linear-gradient(180deg,#ffffff24,#fff0 52%),color-mix(in srgb,var(--volter-accent) 76%,#1d4ed8);border:1px solid color-mix(in srgb,var(--volter-accent) 74%,white 8%);box-shadow:inset 0 1px #ffffff38,0 1px 2px #00000073,0 8px 20px #0006}.volter-shell .volter-btn.volter-shell-cta-hero[data-variant=primary]:hover:not(:disabled){filter:brightness(1.09);box-shadow:inset 0 1px #ffffff52,0 2px 4px #00000073,0 12px 28px #0000007f}.volter-shell .volter-btn:focus-visible,.volter-shell .volter-input:focus-visible,.volter-shell .volter-select:focus-visible,.volter-account .volter-btn:focus-visible,.volter-account .volter-input:focus-visible,.volter-account .volter-select:focus-visible{outline:var(--volter-focus-ring);outline-offset:2px}.volter-shell .volter-btn.volter-shell-cta[data-variant=ghost]{color:var(--volter-content-muted)}.volter-shell .volter-btn.volter-shell-cta[data-variant=ghost]:hover:not(:disabled){color:var(--volter-content-primary)}.volter-shell-card{position:relative;padding:28px;background:linear-gradient(180deg,#ffffff0d,#fff0 44%),color-mix(in srgb,white 3%,var(--volter-surface-panel));border:1px solid rgb(255 255 255 / 9%);border-radius:var(--volter-shell-radius);box-shadow:inset 0 1px #ffffff14,0 1px 2px #00000073,0 20px 48px #00000075;box-sizing:border-box}.volter-shell-section{margin-bottom:36px}.volter-shell-section-label{display:flex;align-items:center;gap:var(--volter-space-4);margin-bottom:14px;color:var(--volter-content-dim);font-size:var(--volter-shell-font-xs);font-weight:var(--volter-font-weight-semibold);letter-spacing:.09em;text-transform:uppercase}.volter-shell-section-label:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--volter-boundary-default),transparent)}.volter-shell-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;color:var(--volter-content-muted);background:var(--volter-surface-raised);border-radius:var(--volter-radius-full);font-size:var(--volter-font-sm);font-weight:var(--volter-font-weight-semibold);letter-spacing:0;box-sizing:border-box}.volter-shell-empty{display:flex;flex-direction:column;align-items:center;gap:var(--volter-space-4);padding:72px 32px 64px;text-align:center}.volter-shell-empty-mark{position:relative;display:grid;place-items:center;padding:18px}.volter-shell-empty-mark:before{content:"";position:absolute;inset:-46px;background:radial-gradient(closest-side,color-mix(in srgb,var(--volter-accent) 22%,transparent),transparent 74%);border-radius:var(--volter-radius-full);pointer-events:none}.volter-shell-empty-mark:after{content:"";position:absolute;bottom:-10px;width:96px;height:18px;background:radial-gradient(closest-side,rgb(0 0 0 / 55%),transparent 75%);border-radius:var(--volter-radius-full);pointer-events:none}.volter-shell-empty-title{margin:14px 0 0;color:var(--volter-content-primary);font-size:22px;font-weight:650;letter-spacing:-.02em}.volter-shell-empty-actions{display:flex;gap:var(--volter-space-5);margin-top:18px}.volter-shell-footer{display:flex;justify-content:flex-end;margin-top:72px}.volter-shell-footer .volter-chip{height:20px;padding:0 7px;color:color-mix(in srgb,var(--volter-content-dim) 72%,transparent);background:#ffffff08;border-color:#ffffff12;font-size:var(--volter-font-sm)}.volter-shell-notice{display:flex;align-items:center;flex-wrap:wrap;gap:var(--volter-space-6);padding:var(--volter-space-6) var(--volter-space-8);margin-bottom:var(--volter-space-12);color:var(--volter-content-muted);background:var(--volter-accent-muted);border:1px solid color-mix(in srgb,var(--volter-accent) 18%,transparent);border-radius:var(--volter-shell-radius-sm);font-size:var(--volter-shell-font-sm)}.volter-shell-notice-icon{color:var(--volter-accent)}.volter-shell .volter-error-card{display:flex;gap:var(--volter-space-8);align-items:flex-start;padding:22px 24px;margin-bottom:28px;background:linear-gradient(180deg,color-mix(in srgb,var(--volter-danger) 7%,rgb(255 255 255 / 3%)),#fff0 46%),color-mix(in srgb,white 3%,var(--volter-surface-panel));border:1px solid color-mix(in srgb,var(--volter-danger) 28%,rgb(255 255 255 / 8%));border-radius:var(--volter-shell-radius);box-shadow:inset 0 1px color-mix(in srgb,var(--volter-danger) 20%,rgb(255 255 255 / 8%)),0 1px 2px #00000073,0 20px 48px #00000075}.volter-shell[data-testid=project-detection-error] .volter-error-card{max-width:880px;margin-inline:auto}.volter-shell .volter-shell-brand-static{display:inline-flex;align-items:center;gap:var(--volter-space-5)}.volter-shell[data-testid=project-detection-error] .volter-shell-notice,.volter-shell[data-testid=project-detection-error] .volter-startup-error-actions{max-width:880px;margin-inline:auto}.volter-shell[data-testid=project-detection-error]:before{background:radial-gradient(1150px 640px at 50% -16%,color-mix(in srgb,var(--volter-danger) 15%,transparent),transparent 62%),radial-gradient(720px 420px at 50% -4%,rgb(255 255 255 / 4%),transparent 58%),radial-gradient(900px 560px at -12% 112%,color-mix(in srgb,var(--volter-danger) 4%,transparent),transparent 55%),radial-gradient(135% 105% at 50% 40%,transparent 50%,rgb(0 0 0 / 52%) 100%)}.volter-shell .volter-error-card-icon{display:grid;place-items:center;flex:none;width:34px;height:34px;margin-top:var(--volter-space-1);color:var(--volter-danger);background:linear-gradient(180deg,rgb(255 255 255 / 8%),transparent 55%),var(--volter-danger-muted);border:1px solid color-mix(in srgb,var(--volter-danger) 34%,transparent);border-radius:var(--volter-shell-radius-sm);box-shadow:0 0 18px color-mix(in srgb,var(--volter-danger) 22%,transparent);font-size:var(--volter-shell-font-base);box-sizing:border-box}.volter-shell .volter-error-card-body{flex:1;min-width:0}.volter-shell .volter-error-card-title{margin:0 0 var(--volter-space-2);color:var(--volter-content-primary);font-size:15px;font-weight:var(--volter-font-weight-semibold);letter-spacing:-.01em;line-height:var(--volter-leading-normal)}.volter-shell .volter-error-card-guidance{margin:0 0 var(--volter-space-4);color:var(--volter-content-muted);font-size:var(--volter-shell-font-base)}.volter-shell .volter-error-card-message{max-height:176px;padding:var(--volter-space-5) var(--volter-space-6);overflow:auto;color:var(--volter-danger);background:color-mix(in srgb,black 30%,var(--volter-surface-inset));border:1px solid var(--volter-boundary-default);border-radius:var(--volter-shell-radius-sm);font-family:var(--volter-font-mono);font-size:var(--volter-shell-font-sm);line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.volter-shell .volter-error-card-recovery-label{margin:14px 0 6px;color:var(--volter-content-dim);font-size:var(--volter-shell-font-xs);font-weight:var(--volter-font-weight-semibold);letter-spacing:.09em;text-transform:uppercase}.volter-shell .volter-error-card-command{display:flex;align-items:center;gap:var(--volter-space-4);padding:8px 8px 8px 14px;background:var(--volter-surface-inset);border:1px solid var(--volter-boundary-default);border-radius:var(--volter-shell-radius-sm)}.volter-shell .volter-error-card-command>code{flex:1;color:var(--volter-content-primary);font-family:var(--volter-font-mono);font-size:var(--volter-shell-font-sm);overflow-wrap:anywhere}.volter-shell .volter-error-card-actions{display:flex;gap:var(--volter-space-5);margin-top:14px}.volter-splash{position:absolute;inset:0;display:grid;place-items:center;background:color-mix(in srgb,var(--volter-surface-shell) 42%,black);color:var(--volter-content-primary);pointer-events:auto;overflow:hidden}.volter-splash:before{content:"";position:absolute;inset:0;background:radial-gradient(1000px 640px at 50% 34%,color-mix(in srgb,var(--volter-accent) 18%,transparent),transparent 62%),radial-gradient(520px 340px at 50% 40%,rgb(255 255 255 / 5%),transparent 60%),radial-gradient(135% 105% at 50% 45%,transparent 48%,rgb(0 0 0 / 55%) 100%);pointer-events:none}.volter-splash:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgb(255 255 255 / 4%) 1px,transparent 1px);background-size:26px 26px;mask-image:radial-gradient(640px 420px at 50% 40%,rgb(0 0 0 / 80%),transparent 78%);pointer-events:none}.volter-splash-stack{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--volter-space-8);min-width:260px;animation:volter-shell-rise .6s var(--volter-shell-var(--volter-ease-standard)) both}.volter-splash-logo{position:relative;display:grid;place-items:center;width:72px;height:72px;margin-bottom:var(--volter-space-3)}.volter-splash-logo:before{content:"";position:absolute;inset:-42px;background:radial-gradient(closest-side,color-mix(in srgb,var(--volter-accent) 24%,transparent),transparent 74%);border-radius:var(--volter-radius-full)}.volter-splash-logo:after{content:"";position:absolute;bottom:-12px;width:84px;height:16px;background:radial-gradient(closest-side,rgb(0 0 0 / 55%),transparent 75%);border-radius:var(--volter-radius-full)}.volter-splash-title{color:#ffffffe0;font-size:var(--volter-font-xl);font-weight:var(--volter-font-weight-semibold);letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;text-shadow:0 1px 18px color-mix(in srgb,var(--volter-accent) 30%,transparent)}.volter-splash-progress{position:relative;width:232px;height:3px;margin-top:var(--volter-space-3);overflow:hidden;background:color-mix(in srgb,var(--volter-accent) 14%,rgb(255 255 255 / 5%));border-radius:var(--volter-radius-full);box-shadow:0 0 18px color-mix(in srgb,var(--volter-accent) 38%,transparent)}.volter-splash-progress:after{content:"";position:absolute;inset:0;width:52%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--volter-accent) 80%,white),transparent);border-radius:inherit;animation:volter-splash-sweep 1.4s ease-in-out infinite}.volter-splash-status{color:var(--volter-content-dim);font-size:var(--volter-shell-font-sm);letter-spacing:.01em}.volter-splash-note{max-width:42ch;color:var(--volter-content-dim);font-size:var(--volter-shell-font-xs, var(--volter-shell-font-sm));line-height:var(--volter-leading-relaxed);text-align:center;opacity:.8}@keyframes volter-splash-sweep{0%{transform:translate(-110%)}to{transform:translate(360%)}}.volter-shell-rise{animation:volter-shell-rise .48s var(--volter-shell-var(--volter-ease-standard)) both}.volter-shell-rise[data-rise="2"]{animation-delay:60ms}.volter-shell-rise[data-rise="3"]{animation-delay:.12s}.volter-shell-rise[data-rise="4"]{animation-delay:.18s}@keyframes volter-shell-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.volter-account{font-size:var(--volter-shell-font-base);line-height:var(--volter-shell-line)}.volter-account{height:100%;padding:32px 40px 64px;overflow:auto;box-sizing:border-box;color:var(--volter-content-primary);background:radial-gradient(1000px 560px at 50% -10%,color-mix(in srgb,var(--volter-accent) 20%,transparent),transparent 62%),radial-gradient(640px 380px at 50% -2%,rgb(255 255 255 / 5%),transparent 58%),radial-gradient(135% 105% at 50% 40%,transparent 50%,rgb(0 0 0 / 45%) 100%),color-mix(in srgb,var(--volter-surface-shell) 42%,black)}.volter-shell .volter-account{height:auto;padding:0;overflow:visible;background:none}[data-volter-chrome=islands] .volter-dock-document-content .volter-account{--volter-content-primary: var(--volter-content-primary-on-bright);--volter-content-muted: var(--volter-content-muted-on-bright);--volter-content-dim: var(--volter-content-dim-on-bright);--volter-content-text-shadow: var(--volter-content-text-shadow-on-bright);--volter-content-frost-bg: var(--volter-content-frost-bg-on-bright);--volter-text-1: var(--volter-content-primary);--volter-text-2: var(--volter-content-muted);--volter-text-3: var(--volter-content-dim);text-shadow:var(--volter-content-text-shadow, none);background:var(--volter-glass-regular-bg, var(--volter-surface-panel));backdrop-filter:var(--volter-glass-regular-backdrop-filter, none);-webkit-backdrop-filter:var(--volter-glass-regular-backdrop-filter, none)}[data-volter-chrome=islands] .volter-workspace-task-overlay .volter-dock-document-content .volter-account{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}[data-volter-chrome=islands] .volter-dock-document-content .volter-account .volter-account-card{background:color-mix(in srgb,currentColor 5%,transparent);border-color:color-mix(in srgb,currentColor 18%,transparent);box-shadow:none}.volter-account-stack{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:var(--volter-space-10)}.volter-account-identity{display:flex;align-items:center;gap:var(--volter-space-8);padding:var(--volter-space-3) var(--volter-space-1) var(--volter-space-5);margin-bottom:var(--volter-space-3)}.volter-account-avatar{display:grid;place-items:center;flex:none;width:56px;height:56px;color:var(--volter-content-on-accent);background:linear-gradient(180deg,rgb(255 255 255 / 24%),transparent 55%),linear-gradient(135deg,color-mix(in srgb,var(--volter-accent) 88%,white),color-mix(in srgb,var(--volter-accent) 68%,black));border-radius:var(--volter-radius-full);font-size:22px;font-weight:var(--volter-font-weight-semibold);letter-spacing:.02em;text-transform:uppercase;box-shadow:inset 0 1px #ffffff4d,0 0 0 1px #ffffff1a,0 6px 18px #00000073,0 0 32px color-mix(in srgb,var(--volter-accent) 26%,transparent)}.volter-account-identity-main{flex:1;min-width:0}.volter-account-identity-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--volter-space-2) var(--volter-space-5)}.volter-account-identity-email{margin:0;color:#fff;font-size:20px;font-weight:650;letter-spacing:-.02em;line-height:var(--volter-leading-snug);overflow-wrap:anywhere;text-shadow:0 2px 18px color-mix(in srgb,var(--volter-accent) 22%,transparent)}.volter-account-plan-chips{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--volter-space-4)}.volter-account-identity-note{margin:3px 0 0;color:var(--volter-content-dim);font-size:var(--volter-shell-font-xs);font-weight:var(--volter-font-weight-semibold);letter-spacing:.08em;text-transform:uppercase}.volter-account .volter-btn.volter-account-signout{flex:none;color:var(--volter-content-muted)}.volter-account .volter-btn.volter-account-signout:hover:not(:disabled){color:var(--volter-content-primary)}.volter-account .volter-chip{height:24px;padding:0 var(--volter-space-5);font-weight:var(--volter-font-weight-semibold);letter-spacing:0}.volter-account-signin-stack{display:flex;flex-direction:column;align-items:center;gap:var(--volter-space-10);max-width:720px;margin:0 auto;padding-top:var(--volter-space-8)}.volter-account-signin-stack>.volter-provider-connections{width:100%;box-sizing:border-box}.volter-account-signin-hero{display:flex;flex-direction:column;align-items:center;gap:var(--volter-space-2);padding-top:var(--volter-space-10);text-align:center}.volter-account-signin-mark{position:relative;display:grid;place-items:center;padding:var(--volter-space-8)}.volter-account-signin-mark:before{content:"";position:absolute;inset:-54px;background:radial-gradient(closest-side,color-mix(in srgb,var(--volter-accent) 28%,transparent),transparent 76%);border-radius:var(--volter-radius-full);pointer-events:none}.volter-account-signin-mark:after{content:"";position:absolute;bottom:-8px;width:84px;height:16px;background:radial-gradient(closest-side,rgb(0 0 0 / 55%),transparent 75%);border-radius:var(--volter-radius-full);pointer-events:none}.volter-account-signin-card{display:flex;flex-direction:column;gap:var(--volter-space-8);width:min(400px,100%);padding:28px;box-sizing:border-box}.volter-account-signin-title{margin:var(--volter-space-5) 0 0;color:#fff;font-size:var(--volter-font-heading);font-weight:650;letter-spacing:-.02em;line-height:var(--volter-leading-snug);text-shadow:0 2px 24px color-mix(in srgb,var(--volter-accent) 24%,transparent)}.volter-account .volter-btn[data-variant=primary]{color:#fff;background:linear-gradient(180deg,#ffffff24,#fff0 52%),color-mix(in srgb,var(--volter-accent) 76%,#1d4ed8);border:1px solid color-mix(in srgb,var(--volter-accent) 74%,white 8%);box-shadow:inset 0 1px #ffffff38,0 1px 2px #0006,0 6px 16px #00000052}.volter-account .volter-btn[data-variant=primary]:hover:not(:disabled){filter:brightness(1.09);box-shadow:inset 0 1px #ffffff52,0 2px 4px #0000006b,0 8px 22px #0000006b}.volter-account-signin-card .volter-btn[data-variant=primary]{width:100%;height:38px;border-radius:9px;font-size:var(--volter-shell-font-base);font-weight:var(--volter-font-weight-semibold)}.volter-account-signin-points{display:flex;flex-direction:column;gap:var(--volter-space-4);width:min(400px,100%);margin:0;padding:0 var(--volter-space-2);list-style:none;color:var(--volter-content-dim);font-size:var(--volter-shell-font-base);box-sizing:border-box}.volter-account-signin-points li{display:flex;align-items:baseline;gap:var(--volter-space-5)}.volter-account-signin-points li:before{content:"✓";flex:none;color:var(--volter-success);font-size:var(--volter-shell-font-sm);font-weight:var(--volter-font-weight-semibold)}.volter-account .volter-field{display:flex;flex-direction:column;gap:7px}.volter-account .volter-field-label{color:var(--volter-content-muted);font-size:var(--volter-shell-font-sm);font-weight:var(--volter-font-weight-semibold)}.volter-account .volter-input,.volter-account .volter-select{height:34px;padding:0 var(--volter-space-6);border-radius:var(--volter-shell-radius-sm);font-size:var(--volter-shell-font-base)}.volter-account .volter-select{padding-right:30px}.volter-account-help{margin:0;color:var(--volter-content-dim);font-size:var(--volter-shell-font-sm);line-height:var(--volter-leading-relaxed)}.volter-account-infostrip{display:flex;align-items:flex-start;gap:var(--volter-space-4);padding:0 var(--volter-space-1);color:var(--volter-content-dim);font-size:var(--volter-shell-font-xs);line-height:var(--volter-leading-relaxed);text-align:left}.volter-account-infostrip-icon{flex:none;margin-top:var(--volter-space-1);color:color-mix(in srgb,var(--volter-accent) 70%,var(--volter-content-dim))}.volter-account-card{padding:var(--volter-space-12);background:linear-gradient(180deg,#ffffff0d,#fff0 44%),color-mix(in srgb,white 3%,var(--volter-surface-panel));border:1px solid rgb(255 255 255 / 9%);border-radius:var(--volter-shell-radius);box-shadow:inset 0 1px #ffffff14,0 1px 2px #00000073,0 20px 48px #00000075;box-sizing:border-box}.volter-account-card-title{margin:0 0 var(--volter-space-2);color:var(--volter-content-primary);font-size:var(--volter-shell-font-md);font-weight:var(--volter-font-weight-semibold);letter-spacing:-.005em}.volter-account-card-sub{margin:0 0 var(--volter-space-8);color:var(--volter-content-dim);font-size:var(--volter-shell-font-sm);max-width:560px}.volter-account-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--volter-space-6)}.volter-account-card-head .volter-account-card-title{margin:0}.volter-account-credit-figure{display:flex;align-items:baseline;gap:var(--volter-space-4);margin:var(--volter-space-5) 0 var(--volter-space-6)}.volter-account-credit-number{color:#fff;font-size:28px;font-weight:650;letter-spacing:-.02em;line-height:var(--volter-leading-tight);font-variant-numeric:tabular-nums}.volter-account-credit-unit{color:var(--volter-content-dim);font-size:var(--volter-shell-font-sm)}.volter-account .volter-meter{position:relative;height:8px;margin:var(--volter-space-1) 0 var(--volter-space-5);overflow:hidden;background:#00000061;border-radius:var(--volter-radius-full);box-shadow:inset 0 1px 2px #0000007f,inset 0 0 0 1px #ffffff0d;box-sizing:border-box}.volter-account .volter-meter-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(180deg,color-mix(in srgb,var(--volter-accent) 78%,white),var(--volter-accent));border-radius:inherit;box-shadow:0 0 12px color-mix(in srgb,var(--volter-accent) 55%,transparent);transition:width var(--volter-duration-slow) var(--volter-shell-var(--volter-ease-standard))}.volter-account .volter-meter-fill[data-part=reserved]{background:color-mix(in srgb,var(--volter-accent) 38%,transparent);box-shadow:none}.volter-account .volter-meter[data-state=over] .volter-meter-fill{background:linear-gradient(180deg,color-mix(in srgb,var(--volter-danger) 80%,white),var(--volter-danger));box-shadow:0 0 12px color-mix(in srgb,var(--volter-danger) 55%,transparent)}.volter-account-cycle-line{margin:0 0 var(--volter-space-6);color:var(--volter-content-dim);font-size:var(--volter-shell-font-sm);font-variant-numeric:tabular-nums}.volter-account-cycle-over{color:var(--volter-danger);font-weight:var(--volter-font-weight-semibold)}.volter-account-legend{display:flex;align-items:center;flex-wrap:wrap;gap:var(--volter-space-3) var(--volter-space-8)}.volter-account-legend-item{display:inline-flex;align-items:center;gap:7px;color:var(--volter-content-muted);font-size:var(--volter-shell-font-sm);font-variant-numeric:tabular-nums}.volter-account-legend-dot{flex:none;width:8px;height:8px;border-radius:var(--volter-radius-full);box-sizing:border-box}.volter-account-legend-item[data-part=used] .volter-account-legend-dot{background:var(--volter-accent)}.volter-account-legend[data-state=over] .volter-account-legend-item[data-part=used] .volter-account-legend-dot{background:var(--volter-danger)}.volter-account-legend-item[data-part=reserved] .volter-account-legend-dot{background:color-mix(in srgb,var(--volter-accent) 38%,transparent)}.volter-account-legend-item[data-part=purchased] .volter-account-legend-dot{background:transparent;border:1px solid var(--volter-boundary-strong)}.volter-account-expiry{margin-top:var(--volter-space-5)}.volter-account-card-footer{display:flex;align-items:center;flex-wrap:wrap;gap:var(--volter-space-4);margin-top:18px;padding-top:14px;border-top:1px solid rgb(255 255 255 / 7%)}.volter-account .volter-btn.volter-account-quiet-danger{color:var(--volter-content-dim)}.volter-account .volter-btn.volter-account-quiet-danger:hover:not(:disabled){color:var(--volter-danger);background:var(--volter-danger-muted)}.volter-account-providers-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--volter-space-8)}.volter-account-providers-header .volter-status-dot{flex-shrink:0;white-space:nowrap}.volter-account-provider-list{display:flex;flex-direction:column;margin-top:var(--volter-space-2);border-top:1px solid rgb(255 255 255 / 7%)}.volter-account-provider{display:flex;align-items:center;gap:var(--volter-space-8);padding:14px 2px;border-top:1px solid rgb(255 255 255 / 7%)}.volter-account-provider:first-child{border-top:0}.volter-account-provider-monogram{display:grid;place-items:center;flex:none;width:38px;height:38px;color:var(--volter-content-primary);background:linear-gradient(180deg,rgb(255 255 255 / 6%),transparent 60%),var(--volter-surface-raised);border:1px solid var(--volter-boundary-default);border-radius:10px;font-size:var(--volter-shell-font-md);font-weight:var(--volter-font-weight-semibold)}.volter-account-provider[data-configured=true] .volter-account-provider-monogram{color:var(--volter-accent);border-color:#579eff59;background:linear-gradient(180deg,rgb(87 158 255 / 12%),transparent 70%),var(--volter-surface-raised)}.volter-account-provider-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--volter-space-1)}.volter-account-provider-name{display:flex;align-items:center;gap:var(--volter-space-4);color:var(--volter-content-primary);font-size:var(--volter-shell-font-base);font-weight:var(--volter-font-weight-semibold)}.volter-account-provider-dot{flex:none;width:6px;height:6px;background:var(--volter-success);border-radius:var(--volter-radius-full)}.volter-account-provider-key{color:var(--volter-content-dim);font-family:var(--volter-font-mono);font-size:var(--volter-shell-font-xs)}.volter-account-provider-source{color:var(--volter-content-dim);font-size:var(--volter-shell-font-xs)}.volter-account-provider-warning{color:var(--volter-warn);font-size:var(--volter-shell-font-xs)}.volter-account-provider-actions{display:flex;align-items:center;gap:var(--volter-space-4)}.volter-account-provider-form{display:flex;flex-direction:column;gap:var(--volter-space-6);width:min(360px,48%)}.volter-account-provider-form .volter-tool-actions,.volter-account-provider-form-actions{display:flex;gap:var(--volter-space-4)}.volter-account .volter-status-dot{display:inline-flex;align-items:center;gap:var(--volter-space-3);color:var(--volter-content-dim);font-size:var(--volter-shell-font-xs);font-weight:var(--volter-font-weight-regular)}.volter-account .volter-status-dot:before{content:"";width:6px;height:6px;background:var(--volter-content-dim);border-radius:var(--volter-radius-full)}.volter-account .volter-status-dot[data-state=on]{color:var(--volter-success)}.volter-account .volter-status-dot[data-state=on]:before{background:var(--volter-success);box-shadow:0 0 6px var(--volter-success)}.volter-account-switch-row{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-top:1px solid rgb(255 255 255 / 7%);cursor:pointer}.volter-account-switch-row:first-of-type{border-top:0}.volter-account-switch-copy{display:flex;flex-direction:column;gap:var(--volter-space-1)}.volter-account-switch-copy>strong{color:var(--volter-content-primary);font-size:var(--volter-shell-font-base);font-weight:var(--volter-font-weight-semibold)}.volter-account-switch-copy>small{color:var(--volter-content-dim);font-size:var(--volter-shell-font-sm)}.volter-account-switch-row .volter-checkbox{appearance:none;flex:none;width:34px;height:20px;margin:1px 0 0;background:#0000004d;border:1px solid rgb(255 255 255 / 14%);border-radius:var(--volter-radius-full);cursor:pointer;position:relative;box-shadow:inset 0 1px 2px #00000059;transition:background .16s var(--volter-ease-standard),border-color .16s var(--volter-ease-standard)}.volter-account-switch-row .volter-checkbox:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--volter-content-muted);border-radius:var(--volter-radius-full);transition:transform .16s var(--volter-shell-var(--volter-ease-standard)),background .16s var(--volter-ease-standard)}.volter-account-switch-row .volter-checkbox:checked{background:linear-gradient(180deg,#fff3,#fff0 55%),var(--volter-accent);border-color:color-mix(in srgb,var(--volter-accent) 80%,white 10%);box-shadow:0 0 10px color-mix(in srgb,var(--volter-accent) 35%,transparent)}.volter-account-switch-row .volter-checkbox:checked:after{transform:translate(14px);background:var(--volter-content-on-accent)}.volter-account-switch-row .volter-checkbox:focus-visible{outline:var(--volter-focus-ring);outline-offset:2px}.volter-account-policy-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-left:48px;padding:var(--volter-space-2) 0 var(--volter-space-6)}.volter-account-limit-field{max-width:320px;margin-left:48px;padding:4px 0 14px}.volter-account-usage{display:flex;flex-direction:column;margin-top:var(--volter-space-2)}.volter-account-usage-row{display:flex;align-items:center;justify-content:space-between;gap:var(--volter-space-8);padding:11px 2px;border-top:1px solid rgb(255 255 255 / 7%);font-size:var(--volter-shell-font-base)}.volter-account-usage-row:first-child{border-top:0}.volter-account-usage-row>span{color:var(--volter-content-muted)}.volter-account-usage-row>strong{color:var(--volter-content-primary);font-variant-numeric:tabular-nums;font-weight:var(--volter-font-weight-semibold)}.volter-account-input-suffix{display:flex;align-items:center;gap:var(--volter-space-4)}.volter-account-input-suffix .volter-input{flex:1;min-width:0}.volter-account-suffix{flex:none;color:var(--volter-content-dim);font-size:var(--volter-shell-font-sm)}.volter-account-status{display:flex;align-items:center;gap:var(--volter-space-5);padding:var(--volter-space-6) var(--volter-space-8);color:var(--volter-content-primary);background:var(--volter-surface-chrome);backdrop-filter:var(--volter-content-frost-filter, none);-webkit-backdrop-filter:var(--volter-content-frost-filter, none);border:1px solid var(--volter-boundary-default);border-radius:var(--volter-shell-radius-sm);font-size:var(--volter-shell-font-sm);animation:volter-shell-rise var(--volter-duration-slow) var(--volter-shell-var(--volter-ease-standard)) both}.volter-account-status:before{content:"";flex:none;width:6px;height:6px;background:var(--volter-accent);border-radius:var(--volter-radius-full)}.volter-account-device-code{display:flex;flex-direction:column;gap:var(--volter-space-3);padding:14px 16px;background:var(--volter-surface-inset);backdrop-filter:var(--volter-content-frost-filter, none);-webkit-backdrop-filter:var(--volter-content-frost-filter, none);border:1px solid var(--volter-boundary-default);border-radius:var(--volter-shell-radius-sm);text-align:center}.volter-account-device-code>strong{color:var(--volter-content-primary);font-family:var(--volter-font-mono);font-size:22px;letter-spacing:.28em}.volter-account-device-code>span{color:var(--volter-content-dim);font-size:var(--volter-shell-font-sm)}@media(max-width:860px){.volter-shell-container{padding:0 20px 64px}.volter-account-identity{flex-wrap:wrap}.volter-account-policy-fields{grid-template-columns:minmax(0,1fr);margin-left:0}.volter-account-limit-field{margin-left:0}.volter-shell-hero{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.volter-shell-rise,.volter-splash-stack,.volter-account-status{animation:none}.volter-splash-progress:after{animation:none;width:100%;background:var(--volter-accent-muted)}.volter-account .volter-meter-fill,.volter-account-switch-row .volter-checkbox,.volter-account-switch-row .volter-checkbox:after{transition:none}}.volter-asset-library-panel{width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}.volter-asset-library-navigator{display:flex;flex-direction:column;width:100%;height:100%;min-width:0;min-height:0;color:var(--volter-text-1)}.volter-asset-library-navigator__controls{display:flex;flex-direction:column;gap:5px;padding:var(--volter-space-3);border-bottom:1px solid var(--volter-structural-divider)}.volter-asset-library-navigator__search-row{display:flex;gap:var(--volter-space-2)}.volter-asset-library-navigator__search-row>.volter-input{width:100%;min-width:0;box-sizing:border-box}.volter-asset-library-navigator__filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--volter-space-2)}.volter-asset-library-navigator__filters .volter-select{width:100%;min-width:0}.volter-asset-library-navigator__status{color:var(--volter-text-3);font-size:var(--volter-font-sm)}.volter-asset-import-jobs{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:var(--volter-space-2);color:var(--volter-text-2);font-size:var(--volter-font-sm)}.volter-asset-import-jobs>span{display:inline-flex;min-width:0;align-items:center;gap:var(--volter-space-2);padding:var(--volter-space-1) var(--volter-space-2);border:1px solid var(--volter-border-1);border-radius:var(--volter-radius-sm, 3px);background:var(--volter-bg-1)}.volter-asset-import-jobs [data-status=failed],.volter-asset-import-error{color:var(--volter-danger, var(--volter-text-1))}.volter-asset-library-navigator__results{flex:1;min-height:0;overflow:auto;padding:var(--volter-space-4);display:grid;grid-template-columns:repeat(auto-fill,minmax(66px,1fr));grid-auto-rows:min-content;align-content:start;gap:var(--volter-space-3);background:var(--volter-content-frost-bg, transparent);backdrop-filter:var(--volter-content-frost-filter, none);-webkit-backdrop-filter:var(--volter-content-frost-filter, none)}.volter-asset-library-navigator__filter-drawer{min-height:0;max-height:58%;overflow:auto;border-bottom:1px solid var(--volter-structural-divider)}.volter-asset-library-navigator__filter-heading{position:sticky;z-index:1;top:0;display:flex;align-items:center;justify-content:space-between;padding:5px 7px;border-bottom:1px solid var(--volter-structural-divider);background:var(--volter-surface-sticky);backdrop-filter:var(--volter-surface-sticky-backdrop-filter, none);-webkit-backdrop-filter:var(--volter-surface-sticky-backdrop-filter, none);color:var(--volter-text-2);font-size:var(--volter-font-sm);font-weight:650}.volter-asset-library-navigator__source-filters{display:block;overflow:visible;padding:var(--volter-space-5);border:0}.volter-asset-library-navigator__save-search{width:calc(100% - 12px);margin:var(--volter-space-3) var(--volter-space-3) 0}.volter-asset-library-card{width:100%;min-width:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:3px;border:0;border-radius:var(--volter-radius-sm, 3px);background:transparent;color:var(--volter-text-1);text-align:center;cursor:pointer;user-select:none}.volter-asset-library-card .volter-project-asset-entry__preview{width:100%;aspect-ratio:1 / 1;margin:0 auto;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--volter-radius-sm, 3px);pointer-events:none;position:relative}.volter-asset-library-card .volter-project-asset-entry__preview>img{width:100%;height:100%;object-fit:contain}.volter-asset-library-card__name,.volter-asset-library-card__meta{width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis}.volter-asset-library-card__name{min-height:26px;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:var(--volter-font-sm);line-height:13px;font-weight:550}.volter-asset-library-card__meta{color:var(--volter-text-3);font-size:var(--volter-font-xs);white-space:nowrap}.volter-asset-library-navigator__load-more{grid-column:1 / -1;justify-self:center}.volter-project-assets-toolbar{flex:0 0 auto;border-bottom:1px solid var(--volter-structural-divider)}.volter-project-assets-toolbar__row{width:100%;min-width:0;min-height:28px;box-sizing:border-box;gap:var(--volter-space-2);padding:var(--volter-space-1) var(--volter-space-2);border:0;background:transparent}.volter-project-assets-toolbar__row+.volter-project-assets-toolbar__row{border-top:1px solid var(--volter-structural-divider)}.volter-project-assets-toolbar__select{min-width:0;flex:1 1 64px;width:64px}.volter-content-filter-chip{flex:0 0 auto;border:1px solid var(--volter-boundary-default);border-radius:var(--volter-radius-full);padding-inline:8px;color:var(--volter-text-2)}.volter-content-filter-inline{flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none}.volter-component-thumbnail{width:100%;height:100%;object-fit:cover}.volter-component-thumbnail-fallback{display:contents}.volter-project-assets-toolbar__more{position:relative;flex:0 0 auto}.volter-project-assets-toolbar__menu{position:absolute;z-index:var(--volter-z-dropdown);top:calc(100% + 3px);right:0;min-width:170px}.volter-project-assets-results{box-shadow:inset 0 1px 0 var(--volter-border-1);background:var(--volter-content-frost-bg, transparent);backdrop-filter:var(--volter-content-frost-filter, none);-webkit-backdrop-filter:var(--volter-content-frost-filter, none)}.volter-content-result-section{display:contents}.volter-content-section-heading{grid-column:1 / -1;display:flex;align-items:center;min-width:0;min-height:18px;gap:7px;margin-top:var(--volter-space-1);color:var(--volter-text-3);font-size:var(--volter-font-xs);font-weight:650;letter-spacing:.08em;line-height:var(--volter-leading-tight);text-transform:uppercase}.volter-content-section-heading:after{content:"";min-width:8px;flex:1 1 auto;border-top:1px solid var(--volter-structural-divider)}.volter-content-section-heading[data-level=section]{min-height:22px;margin-top:var(--volter-space-3);color:var(--volter-text-2);font-size:var(--volter-font-sm)}.volter-content-section-heading[data-level=category]{padding-inline-start:2px}.volter-project-asset-entry{box-sizing:border-box;border:0;background:transparent}.volter-project-asset-entry:hover{background:transparent}.volter-project-asset-entry[data-selected=true]{background:var(--volter-selection-bg);box-shadow:none}.volter-project-asset-entry__preview{box-sizing:border-box;border:1px solid var(--volter-border-1);background:linear-gradient(45deg,rgb(255 255 255 / 2%) 25%,transparent 25%) 0 0 / 12px 12px,linear-gradient(-45deg,rgb(255 255 255 / 2%) 25%,transparent 25%) 0 6px / 12px 12px,var(--volter-bg-inset);transition:border-color 90ms var(--volter-ease-standard),box-shadow 90ms var(--volter-ease-standard)}.volter-project-asset-entry:hover .volter-project-asset-entry__preview{border-color:var(--volter-boundary-strong)}.volter-project-asset-entry[data-selected=true] .volter-project-asset-entry__preview{border-color:var(--volter-border-1)}.volter-project-asset-entry__kind{position:absolute;right:4px;bottom:4px;width:18px;height:18px;display:grid;place-items:center;border:1px solid var(--volter-boundary-default);border-radius:var(--volter-radius-sm);background:var(--volter-surface-overlay);box-shadow:var(--volter-shadow-sm)}.volter-project-asset-entry[data-view=list]{border-color:transparent;background:transparent}.volter-project-asset-entry[data-view=list] .volter-project-asset-entry__preview{border:0;background:transparent}.volter-folder-preview{position:relative;width:100%;height:100%}.volter-folder-preview__grid{position:absolute;inset:0;display:grid;gap:var(--volter-space-1);animation:volter-folder-preview-fade .12s var(--volter-ease-out)}.volter-folder-preview__grid[data-count="1"]{grid-template:1fr / 1fr}.volter-folder-preview__grid[data-count="2"]{grid-template:1fr / 1fr 1fr}.volter-folder-preview__grid[data-count="3"],.volter-folder-preview__grid[data-count="4"]{grid-template:1fr 1fr / 1fr 1fr}.volter-folder-preview__grid[data-count="3"]>:first-child{grid-row:span 2}.volter-folder-preview__cell{position:relative;display:flex;min-width:0;min-height:0;align-items:center;justify-content:center;overflow:hidden;background:var(--volter-bg-inset)}.volter-folder-preview__cell img{width:100%;height:100%;object-fit:cover}.volter-folder-preview__cell img[data-fit=contain]{object-fit:contain}.volter-folder-preview__chip,.volter-folder-preview__count{position:absolute;bottom:3px;display:inline-flex;align-items:center;padding:2px 5px;border-radius:var(--volter-radius-full);background:color-mix(in srgb,var(--volter-bg-0) 82%,transparent);color:var(--volter-text-2);font-size:var(--volter-font-xs);line-height:var(--volter-leading-tight);pointer-events:none;animation:volter-folder-preview-fade .12s var(--volter-ease-out)}.volter-folder-preview__chip{left:3px;padding:var(--volter-space-1) var(--volter-space-2);font-size:var(--volter-font-sm)}.volter-folder-preview__count{right:3px;font-variant-numeric:tabular-nums}.volter-folder-preview__fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;animation:volter-folder-preview-fade .12s var(--volter-ease-out)}.volter-folder-preview__empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--volter-text-3);animation:volter-folder-preview-fade .12s var(--volter-ease-out)}.volter-folder-preview__empty-glyph{font-size:17px;opacity:.7}.volter-folder-preview__empty-caption{font-size:var(--volter-font-xs);letter-spacing:.05em;text-transform:uppercase}@keyframes volter-folder-preview-fade{0%{opacity:0}}.volter-asset-editor button:focus-visible,.volter-asset-browser button:focus-visible,.volter-asset-editor input:focus-visible{outline:0;box-shadow:0 0 0 2px var(--volter-accent)}.volter-asset-card__preview{position:relative;width:100%;aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--volter-radius-sm, 3px);box-shadow:inset 0 0 0 1px var(--volter-border-1)}.volter-asset-card__fallback{position:absolute;right:4px;bottom:4px;padding:var(--volter-space-1) var(--volter-space-2);border-radius:var(--volter-radius-sm);background:color-mix(in srgb,var(--volter-bg-0) 88%,transparent);color:var(--volter-text-2);font-size:var(--volter-font-xs)}.volter-asset-card__preview img{width:100%;height:100%;object-fit:contain}.volter-asset-card__name{margin-top:7px;min-height:34px;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:var(--volter-font-md);line-height:17px;font-weight:550;min-width:0;overflow-wrap:anywhere;word-break:break-word}.volter-asset-card__meta,.volter-asset-card__badges{display:flex;gap:5px;align-items:center;margin-top:var(--volter-space-2);color:var(--volter-text-3);font-size:var(--volter-font-sm)}.volter-asset-badge{padding:1px 5px;border-radius:var(--volter-radius-full);background:var(--volter-bg-3);color:var(--volter-text-2);font-size:var(--volter-font-sm);white-space:nowrap}.volter-asset-facet-title{margin:12px 0 5px;color:var(--volter-text-3);font-size:var(--volter-font-sm);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.volter-asset-facet-check{display:flex;align-items:center;gap:var(--volter-space-3);min-height:28px;color:var(--volter-text-2);font-size:var(--volter-font-base)}.volter-asset-facet-check .volter-select{min-width:0;flex:1}.volter-asset-context-menu{position:fixed;min-width:190px}.volter-asset-context-menu .volter-menu-item{min-height:var(--volter-control-comfortable-height);justify-content:space-between;gap:var(--volter-space-6)}.volter-asset-context-menu kbd{color:var(--volter-text-3);font:inherit}.volter-asset-editor{width:100%;height:100%;min-width:0;min-height:0;display:flex;flex-direction:column;position:relative}.volter-asset-editor__toolbar{min-height:40px;display:flex;align-items:center;gap:7px;padding:var(--volter-space-3) var(--volter-space-5);border-bottom:1px solid var(--volter-structural-divider)}.volter-asset-editor__commands{flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:5px}.volter-asset-editor__toolbar button,.volter-asset-editor__toolbar select{min-height:26px;border:1px solid var(--volter-boundary-default);border-radius:var(--volter-radius-sm);background:var(--volter-bg-3);color:var(--volter-text-1)}.volter-asset-editor__viewport{flex:1;min-width:0;min-height:0;overflow:auto;position:relative}.volter-asset-editor__viewport--fill{overflow:hidden}.volter-asset-transparency-well{background-color:var(--volter-bg-inset);background-image:linear-gradient(45deg,#2a2a2a 25%,transparent 25%,transparent 75%,#2a2a2a 75%),linear-gradient(45deg,#2a2a2a 25%,transparent 25%,transparent 75%,#2a2a2a 75%);background-position:0 0,8px 8px;background-size:16px 16px}.volter-object3d-studio-stage{background-color:var(--volter-object3d-stage-base, #1d232b);background-image:radial-gradient(90% 72% at 50% 36%,color-mix(in srgb,var(--volter-accent) 16%,rgb(122 148 177 / 22%)),transparent 62%),radial-gradient(70% 42% at 50% 92%,rgb(124 151 181 / 10%),transparent 72%),radial-gradient(140% 112% at 50% 44%,transparent 42%,rgb(0 0 0 / 58%) 100%),linear-gradient(180deg,var(--volter-object3d-stage-top, color-mix(in srgb, var(--volter-surface-raised) 82%, #394451)) 0%,var(--volter-object3d-stage-bottom, color-mix(in srgb, var(--volter-surface-shell) 76%, #11151b)) 100%)}.volter-object3d-studio-stage[data-volter-chromeless=true]{--volter-object3d-stage-base: rgb(29 35 43 / 34%);--volter-object3d-stage-top: rgb(57 68 81 / 40%);--volter-object3d-stage-bottom: rgb(17 21 27 / 52%)}.volter-object3d-asset-workspace{position:absolute;inset:0;display:flex;min-width:0;min-height:0;flex-direction:column}.volter-behavior-document{position:absolute;inset:0;min-width:0;min-height:0}.volter-behavior-document__empty{display:grid;width:100%;height:100%;place-items:center;color:var(--volter-text-2)}.volter-inspector-icon-strip{display:flex;flex-wrap:wrap;align-items:center;gap:var(--volter-space-1);padding:var(--volter-space-1) var(--volter-space-2);border-bottom:1px solid var(--volter-structural-divider)}.volter-inspector-icon-strip .volter-btn[data-variant=ghost]{color:var(--volter-content-dim)}.volter-inspector-icon-strip .volter-btn[data-variant=ghost]:hover:not(:disabled){color:var(--volter-content-primary)}.volter-inspector-properties{display:flex;align-items:stretch;min-height:100%}[data-volter-inspector-presentation=properties]{flex:1 1 auto;min-height:0}[data-volter-inspector-presentation=properties]>.volter-inspector-properties-fill{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.volter-inspector-properties-rail{display:flex;flex-direction:column;gap:var(--volter-stroke-resting);padding-top:var(--volter-space-4);padding-left:var(--volter-stroke-resting);--volter-properties-tab-plate-radius: 2px;width:28px;box-sizing:border-box;background:var(--volter-surface-shell);position:sticky;top:0;align-self:stretch;flex:0 0 auto}.volter-inspector-properties-rail-separator{flex:0 0 auto;height:6.5px}.volter-inspector-properties-rail .volter-btn[data-icon][data-size]{width:27px;height:27px;min-width:0;min-height:0;padding:0;border-radius:0}.volter-inspector-properties-rail .volter-btn[data-variant=ghost]{color:var(--volter-content-dim);background:var(--volter-surface-chrome)}.volter-inspector-properties-rail .volter-btn[data-variant=ghost]:hover:not(:disabled){color:var(--volter-content-primary)}.volter-inspector-properties-rail .volter-btn[aria-selected=true],.volter-inspector-properties-rail .volter-btn[data-variant=ghost][aria-selected=true]{color:var(--volter-content-primary);background:var(--volter-surface-panel)}.volter-inspector-properties-rail .volter-btn[data-icon][data-size][aria-selected=true]{--volter-plate-corner: calc(var(--volter-properties-tab-plate-radius) + var(--volter-stroke-resting));background-clip:padding-box;border-radius:var(--volter-plate-corner) 0 0 var(--volter-plate-corner)}.volter-inspector-properties-rail .volter-btn [data-volter-tone]{opacity:.8}.volter-inspector-properties-rail .volter-btn[aria-selected=true] [data-volter-tone]{opacity:1}.volter-inspector-identity[data-volter-identity-layout=properties]{display:flex;flex-direction:column;gap:var(--volter-space-8);padding:var(--volter-space-1) 0 var(--volter-space-5)}.volter-inspector-breadcrumb{display:flex;align-items:center;gap:var(--volter-space-4);min-height:var(--volter-control-default-height)}.volter-inspector-breadcrumb-chain{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--volter-font-base);color:var(--volter-content-primary)}.volter-inspector-datablock{display:flex;align-items:stretch;min-width:0}.volter-inspector-datablock-kind{display:flex;flex:0 0 auto;align-items:center;justify-content:center;min-width:calc(var(--volter-control-default-height) + var(--volter-space-5));height:var(--volter-control-default-height);background:var(--volter-widget-menu);color:var(--volter-content-primary);border:var(--volter-stroke-resting) solid var(--volter-border-1);border-radius:var(--volter-radius-sm) 0 0 var(--volter-radius-sm);border-right:0;box-shadow:var(--volter-widget-emboss-shadow)}.volter-inspector-datablock .volter-input,.volter-inspector-datablock [data-testid=ingest-name]{border-radius:0 var(--volter-radius-sm) var(--volter-radius-sm) 0}.volter-inspector-datablock [data-testid=ingest-name][data-readonly=true]{display:flex;align-items:center;height:var(--volter-control-default-height);padding:0 var(--volter-space-3);background:var(--volter-input-surface, var(--volter-bg-inset));border:var(--volter-stroke-resting) solid var(--volter-input-border, var(--volter-border-1));box-sizing:border-box;box-shadow:var(--volter-input-shadow, none)}.volter-inspector-properties-body{flex:1 1 auto;min-width:0;padding:var(--volter-space-4)}.volter-inspector-properties-body .volter-section{background:var(--volter-surface-section);border:var(--volter-stroke-resting) solid var(--volter-surface-section-edge);border-radius:var(--volter-radius-sm);margin-bottom:var(--volter-space-1);overflow:hidden}.volter-inspector-properties-body .volter-section-header{background:transparent}.volter-inspector-properties-body .volter-section:last-child{margin-bottom:0}.volter-inspector-properties-body .volter-inspector-tool-section{padding:0;margin-top:0;border-top:0}.volter-inspector-properties-body .volter-section-glyph{display:none}.volter-inspector-properties-body .volter-section-trigger{gap:var(--volter-space-3);padding-inline:var(--volter-space-2) var(--volter-space-4);font-weight:400;--volter-section-disclosure-size: var(--volter-icon-lg)}.volter-mini-inspector{position:relative;display:flex;flex-direction:column;width:100%;min-height:0;border-radius:inherit;overflow-y:auto;pointer-events:auto}.volter-mini-inspector-minimize{position:absolute;top:var(--volter-space-1);right:var(--volter-space-1);z-index:1;color:var(--volter-content-dim)}.volter-mini-inspector-preview{position:relative;width:100%;aspect-ratio:1 / 1;max-height:180px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--volter-bg-inset);color:var(--volter-content-dim);cursor:pointer}.volter-mini-inspector-preview[aria-label]{cursor:pointer}.volter-mini-inspector-preview:focus-visible{outline:var(--volter-focus-ring);outline-offset:-2px}.volter-mini-inspector-preview .volter-editor-icon{font-size:var(--volter-font-xl, 24px)}.volter-mini-inspector-identity{display:flex;align-items:center;gap:var(--volter-space-2);padding:var(--volter-space-2)}.volter-mini-inspector-actions{display:flex;justify-content:flex-end;padding:0 var(--volter-space-2) var(--volter-space-2)}.volter-inspector-pill{display:flex;align-items:center;gap:var(--volter-space-1);width:100%;height:100%;padding:var(--volter-space-1)}.volter-inspector-pill-open{display:flex;align-items:center;gap:var(--volter-space-2);min-width:0;flex:1;height:100%;border:0;background:transparent;color:var(--volter-content-primary);cursor:pointer;text-align:left}.volter-inspector-pill-open:focus-visible{outline:var(--volter-focus-ring);outline-offset:2px;border-radius:var(--volter-radius-full)}.volter-inspector-pill-thumb{position:relative;width:42px;height:42px;flex:0 0 42px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--volter-radius-full);background:var(--volter-bg-inset);border:1px solid var(--volter-boundary-default);color:var(--volter-content-dim);pointer-events:none}.volter-inspector-pill-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--volter-font-md);font-weight:600}.volter-workspace-task-overlay{position:absolute;top:72px;bottom:64px;left:50%;z-index:var(--volter-z-modal);width:min(760px,calc(100% - 96px));min-height:320px;overflow:hidden;transform:translate(-50%);display:flex;flex-direction:column;border:var(--volter-stroke-resting) solid var(--volter-boundary-default);border-radius:var(--volter-radius-lg);box-shadow:var(--volter-shadow-lg)}.volter-workspace-task-overlay-header{min-height:var(--volter-panel-header-height);box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:var(--volter-space-3);padding:var(--volter-space-1) var(--volter-space-3);color:var(--volter-content-primary);font-size:var(--volter-font-md);font-weight:650}.volter-workspace-task-overlay-body,.volter-workspace-task-overlay-body>.volter-dock-document{min-height:0;flex:1}@media(max-width:720px){.volter-workspace-task-overlay{top:56px;bottom:52px;width:calc(100% - 32px)}}.volter-dock-panel,.volter-dock-document,.volter-dock-document-content{min-width:0;min-height:0;width:100%;height:100%}.volter-dock-panel,.volter-dock-document,.volter-dock-document-content{display:flex;flex-direction:column;overflow:hidden;pointer-events:auto}.volter-dock-document-content{position:relative}.volter-dock-document-toolbar{flex:0 0 auto;display:flex;align-items:center;gap:var(--volter-space-2);min-height:var(--volter-local-toolbar-height);background:var(--volter-surface-header);border-bottom:var(--volter-stroke-resting) solid var(--volter-structural-divider);pointer-events:auto}.volter-dock-document-shelf{position:absolute;left:var(--volter-space-4);top:var(--volter-viewport-overlay-top, var(--volter-space-4));z-index:calc(var(--volter-z-dropdown, 1000) - 1);isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;gap:var(--volter-space-2);pointer-events:auto}.volter-dock-document-shelf .volter-floating-toolbar,.volter-dock-document-shelf .volter-floating-toolbar>*{display:flex;flex-direction:column;align-items:stretch}.volter-dock-document-shelf:not(:empty){--volter-control-compact-height: var(--volter-tool-size, 36px);--volter-control-default-height: var(--volter-tool-size, 36px);--volter-control-comfortable-height: var(--volter-tool-size, 36px);--volter-tool-glyph-size: var(--volter-icon-2xl);--volter-icon-sm: var(--volter-tool-glyph-size);--volter-icon-md: var(--volter-tool-glyph-size);width:var(--volter-tool-width, 40px);align-items:stretch}.volter-dock-document-shelf .volter-btn[data-icon=true][data-size],.volter-dock-document-shelf .volter-floating-toolbar .volter-btn[data-icon=true][data-shape]{width:var(--volter-tool-width, 40px);height:var(--volter-tool-size, 36px)}.volter-dock-document-shelf .volter-toolbar.volter-floating-toolbar{padding-inline:0}.volter-dock-document-shelf .volter-split-button{width:var(--volter-tool-width, 40px)}.volter-dock-document-shelf .volter-split-button>*{min-width:0;flex:1 1 auto}.volter-dock-document-shelf .volter-split-button>*+*{flex:0 0 13px}.volter-dock-document-shelf .volter-split-button .volter-btn[data-icon=true][data-size]{width:auto;min-width:0}.volter-dock-document-shelf .volter-btn[data-variant=ghost]:not([aria-pressed=true]):not(:disabled){background:var(--volter-widget-menu);border-color:var(--volter-boundary-default);color:var(--volter-content-primary)}.volter-dock-document-shelf .volter-btn[data-variant=ghost]:not([aria-pressed=true]):not(:disabled):hover{background:var(--volter-widget-menu-hover)}.volter-dock-document-shelf .volter-floating-toolbar{gap:0}.volter-dock-document-shelf :is(.volter-floating-toolbar,.volter-document-shelf-tools)>*+*{margin-block-start:calc(-1 * var(--volter-stroke-resting))}.volter-dock-document-shelf .volter-toolbar-divider{width:100%;height:var(--volter-tool-gap, var(--volter-space-1));background:none;border:0;margin-block-start:0}.volter-dock-document-shelf{gap:var(--volter-tool-gap, var(--volter-space-2))}.volter-dock-document-shelf .volter-floating-toolbar{padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.volter-dock-document-shelf[role=toolbar]>*{box-shadow:var(--volter-widget-emboss-shadow)}.volter-dock-document-shelf .volter-viewport-toolbar{position:static}.volter-dock-document-content[data-volter-stage-bar]{--volter-stage-bar-control: var(--volter-control-comfortable-height, 28px);--volter-stage-bar-inset: var(--volter-space-1);--volter-stage-bar-height: calc(var(--volter-stage-bar-control) + 2 * var(--volter-stage-bar-inset));--volter-viewport-overlay-top: calc(var(--volter-stage-bar-height) + var(--volter-space-2))}.volter-dock-document-content[data-volter-stage-bar=pills]{--volter-stage-bar-inset: var(--volter-space-2)}.volter-stage-bar{position:absolute;top:0;left:0;right:0;height:var(--volter-stage-bar-height);padding-inline:var(--volter-space-2);display:flex;align-items:center;justify-content:space-between;gap:var(--volter-space-2);z-index:calc(var(--volter-z-dropdown, 1000) - 1);pointer-events:none}.volter-stage-bar[data-form=strip]{pointer-events:auto;background:var(--volter-surface-header);border-bottom:var(--volter-stroke-resting) solid var(--volter-structural-divider)}.volter-stage-bar-group{display:flex;align-items:center;gap:var(--volter-space-2);min-width:0;pointer-events:auto}.volter-stage-bar-slot{display:contents}.volter-stage-bar .volter-viewport-toolbar{position:static}.volter-stage-bar :is(.volter-floating-toolbar,.volter-toolbar){height:var(--volter-stage-bar-control);align-items:center}.volter-stage-bar[data-form=strip] :is(.volter-floating-toolbar,.volter-toolbar){padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.volter-stage-bar[data-form=pills] :is(.volter-floating-toolbar,.volter-toolbar){padding:0;border:0;background:none;box-shadow:none;gap:var(--volter-space-2)}.volter-stage-bar[data-form=pills] .volter-stage-display>*,.volter-stage-bar[data-form=pills] .volter-transform-header-controls>*{display:inline-flex;align-items:center;height:var(--volter-stage-bar-control);padding-inline:var(--volter-space-1);border-radius:var(--volter-radius-full);background:var(--volter-island-surface, var(--volter-surface-overlay))}.volter-stage-bar[data-form=pills] .volter-viewport-toolbar-left{display:inline-flex;align-items:center;height:var(--volter-stage-bar-control);padding-inline:var(--volter-space-1);border-radius:var(--volter-radius-full);background:var(--volter-island-surface, var(--volter-surface-overlay))}.volter-dock-document-content[data-volter-stage-rail=empty]{--volter-stage-name-left: var(--volter-space-2)}.volter-viewport-view-pill .volter-btn[data-testid=viewport-view-name]{border-radius:var(--volter-radius-sm);background:var(--volter-island-surface, var(--volter-surface-overlay))}.volter-dock-document-toolbar-own{flex:1 1 auto;min-width:0}.volter-toolbar.volter-transform-header-controls{flex:0 0 auto;gap:var(--volter-space-3);border:0}.volter-toolbar.volter-transform-header-controls>*{flex:0 0 auto}.volter-transform-orientation-trigger{display:inline-flex;align-items:center;gap:var(--volter-space-1);white-space:nowrap}[data-volter-chrome=islands] .volter-regular-panel-portal{color:var(--volter-content-primary);text-shadow:var(--volter-content-text-shadow, none);background:var( --volter-glass-regular-panel-adaptive-bg, var(--volter-glass-regular-panel-bg, var(--volter-surface-panel)) );backdrop-filter:var(--volter-glass-regular-panel-backdrop-filter, none);-webkit-backdrop-filter:var(--volter-glass-regular-panel-backdrop-filter, none);border-color:color-mix(in srgb,var(--volter-content-primary) 22%,transparent)}[data-volter-chrome=islands] .volter-regular-panel-portal .volter-content-frost{background:var( --volter-glass-regular-content-adaptive-bg, var(--volter-content-frost-bg, transparent) );backdrop-filter:none;-webkit-backdrop-filter:none}.volter-regular-panel-portal>.volter-surface{background:transparent}.volter-dock-document,.volter-dock-document-content,.volter-dock-document-toolbar{background:transparent}@keyframes volter-play-dissolve{0%{opacity:1;transform:none;filter:blur(0) brightness(1)}42%{opacity:1;transform:translate(var(--volter-play-dx, 0px),var(--volter-play-dy, 0px)) scale(.985);filter:blur(2px) brightness(1.06)}to{opacity:0;transform:translate(var(--volter-play-dx, 0px),var(--volter-play-dy, 0px)) scale(.985);filter:blur(8px) brightness(1)}}@keyframes volter-play-materialize{0%{opacity:0;transform:translate(var(--volter-play-dx, 0px),var(--volter-play-dy, 0px)) scale(.985);filter:blur(6px) brightness(1.02)}to{opacity:1;transform:none;filter:blur(0) brightness(1)}}.volter-play-chrome-exit,.volter-play-chrome-enter{--volter-play-dx: 0px;--volter-play-dy: 0px;--volter-play-stagger: 0ms}.volter-play-chrome-exit{animation:volter-play-dissolve var(--volter-play-dissolve-duration) var(--volter-ease-standard) both;animation-delay:var(--volter-play-stagger, 0ms);pointer-events:none}.volter-play-chrome-enter{animation:volter-play-materialize var(--volter-play-materialize-duration) var(--volter-ease-standard) both}.volter-dock-document-toolbar,.volter-editor-bottom-bar{transition:transform var(--volter-duration-slow) var(--volter-ease-standard),opacity var(--volter-duration-slow) var(--volter-ease-standard)}[data-volter-play-chrome=hidden] .volter-dock-document-toolbar:not([data-runtime-toolbar]){opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none;transition:transform var(--volter-duration-base) var(--volter-ease-standard),opacity var(--volter-duration-base) var(--volter-ease-standard) .1s,visibility 0s linear .28s}[data-volter-play-chrome=hidden] .volter-editor-bottom-bar{opacity:0;visibility:hidden;transform:translateY(calc(100% + 8px));pointer-events:none;transition:transform var(--volter-duration-base) var(--volter-ease-standard),opacity var(--volter-duration-base) var(--volter-ease-standard) .1s,visibility 0s linear .28s}[data-volter-play-chrome=hidden][data-volter-play-revealed] .volter-dock-document-toolbar,[data-volter-play-chrome=hidden][data-volter-play-revealed] .volter-editor-bottom-bar{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:transform var(--volter-duration-base) var(--volter-ease-standard),opacity var(--volter-duration-fast) var(--volter-ease-standard),visibility 0s}.volter-glass-island.volter-play-restart-pill{position:fixed;top:14px;left:50%;z-index:40;display:none;align-items:center;gap:var(--volter-space-2);padding:6px 14px;border-radius:var(--volter-radius-full);font:inherit;font-size:var(--volter-font-md);line-height:var(--volter-leading-tight);color:var(--volter-content-muted);cursor:pointer}.volter-editor-theme[data-volter-play-chrome=hidden]:not([data-volter-play-revealed]) .volter-glass-island.volter-play-restart-pill{display:flex;animation:volter-restart-pill-in var(--volter-duration-slow) var(--volter-ease-standard) both}.volter-glass-island.volter-play-restart-pill:hover{color:var(--volter-content-primary)}@keyframes volter-restart-pill-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.volter-play-chrome-exit,.volter-play-chrome-enter,.volter-editor-theme[data-volter-play-chrome=hidden]:not([data-volter-play-revealed]) .volter-glass-island.volter-play-restart-pill{animation:none}.volter-play-chrome-exit{opacity:0}.volter-dock-document-toolbar,.volter-editor-bottom-bar,[data-volter-play-chrome=hidden] .volter-dock-document-toolbar,[data-volter-play-chrome=hidden] .volter-editor-bottom-bar{transition:none}}.volter-editor-theme{--volter-bg-0: var(--volter-surface-shell);--volter-bg-1: var(--volter-surface-panel);--volter-bg-2: var(--volter-surface-chrome);--volter-bg-3: var(--volter-surface-raised);--volter-bg-inset: var(--volter-surface-inset);--volter-border-1: var(--volter-boundary-default);--volter-border-2: var(--volter-boundary-strong);--volter-text-1: var(--volter-content-primary);--volter-text-2: var(--volter-content-muted);--volter-text-3: var(--volter-content-dim);--volter-asset-icon-folder: #e8a740;--volter-asset-icon-model: #6bc5f7;--volter-asset-icon-prefab: #3b82f6;--volter-asset-icon-component: #9ca3af;--volter-asset-icon-audio: #34d399;--volter-asset-icon-image: #f472b6;--volter-asset-icon-video: #c084fc;--volter-asset-icon-json: #fbbf24;--volter-asset-icon-unknown: #6b7280;--volter-asset-icon-source: #fb923c;text-shadow:var(--volter-content-text-shadow, none);font-family:var(--volter-font-sans);font-size:var(--volter-font-base);line-height:var(--volter-leading-normal);color:var(--volter-content-primary)}.volter-content-frost{background:var(--volter-content-frost-bg, transparent);backdrop-filter:var(--volter-content-frost-filter, none);-webkit-backdrop-filter:var(--volter-content-frost-filter, none);border-radius:var(--volter-radius-md)}.volter-editor-theme [data-volter-adaptive-ink=bright]{--volter-backdrop-dim: none;--volter-content-primary: var(--volter-content-primary-on-bright);--volter-content-muted: var(--volter-content-muted-on-bright);--volter-content-dim: var(--volter-content-dim-on-bright);--volter-content-text-shadow: var(--volter-content-text-shadow-on-bright);--volter-content-frost-bg: var(--volter-content-frost-bg-on-bright);--volter-island-border-color: color-mix( in srgb, var(--volter-content-primary-on-bright) 30%, transparent );--volter-text-1: var(--volter-content-primary);--volter-text-2: var(--volter-content-muted);--volter-text-3: var(--volter-content-dim);--dv-activegroup-visiblepanel-tab-color: var(--volter-content-primary);--dv-activegroup-hiddenpanel-tab-color: var(--volter-content-muted);--dv-inactivegroup-visiblepanel-tab-color: var(--volter-content-muted);--dv-inactivegroup-hiddenpanel-tab-color: var(--volter-content-dim);text-shadow:var(--volter-content-text-shadow, none)}.volter-editor-theme [data-volter-panel-backdrop-policy=dark-frost]{--volter-content-primary: #f4f8ff;--volter-content-muted: #c3cedd;--volter-content-dim: #94a2b5;--volter-content-text-shadow: 0 1px 3px rgb(0 0 0 / 72%);--volter-text-1: var(--volter-content-primary);--volter-text-2: var(--volter-content-muted);--volter-text-3: var(--volter-content-dim);--dv-activegroup-visiblepanel-tab-color: var(--volter-content-primary);--dv-activegroup-hiddenpanel-tab-color: var(--volter-content-muted);--dv-inactivegroup-visiblepanel-tab-color: var(--volter-content-muted);--dv-inactivegroup-hiddenpanel-tab-color: var(--volter-content-dim)}.volter-editor-shell button,.volter-editor-shell input,.volter-editor-shell select,.volter-editor-shell textarea{font-family:inherit}.volter-editor-shell button{font-size:inherit}.volter-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.volter-tooltip-anchor{position:relative;display:inline-flex}.volter-tooltip{position:fixed;z-index:var(--volter-z-dropdown);display:flex;align-items:center;gap:var(--volter-space-4);padding:var(--volter-space-2) var(--volter-space-4);color:var(--volter-content-primary);background:var(--volter-surface-inset);border:var(--volter-stroke-resting) solid var(--volter-boundary-default);border-radius:var(--volter-radius-md);box-shadow:var(--volter-shadow-sm);font-size:var(--volter-font-base);white-space:nowrap;pointer-events:none}.volter-tooltip kbd{padding:1px var(--volter-space-3);color:var(--volter-content-primary);background:var(--volter-surface-raised);border:var(--volter-stroke-resting) solid var(--volter-boundary-default);border-radius:var(--volter-radius-sm);font-family:var(--volter-font-mono);font-size:var(--volter-font-sm)}[data-volter-chrome=islands] .volter-tooltip{--volter-content-primary: var(--volter-content-primary-on-bright);--volter-content-muted: var(--volter-content-muted-on-bright);--volter-content-dim: var(--volter-content-dim-on-bright);--volter-content-text-shadow: var(--volter-content-text-shadow-on-bright);--volter-text-1: var(--volter-content-primary);--volter-text-2: var(--volter-content-muted);--volter-text-3: var(--volter-content-dim);text-shadow:var(--volter-content-text-shadow, none);background:var(--volter-glass-regular-bg, var(--volter-surface-chrome));border-color:var(--volter-border-1);backdrop-filter:var(--volter-glass-regular-backdrop-filter, none);-webkit-backdrop-filter:var(--volter-glass-regular-backdrop-filter, none)}[data-volter-chrome=islands] .volter-tooltip kbd{color:inherit;background:color-mix(in srgb,currentColor 10%,transparent);border-color:color-mix(in srgb,currentColor 28%,transparent)}.volter-btn{display:inline-flex;width:max-content;max-width:100%;align-items:center;justify-content:center;gap:var(--volter-space-2);font-family:var(--volter-font-sans);font-size:var(--volter-font-md);line-height:var(--volter-leading-tight);border-radius:var(--volter-radius-sm);cursor:pointer;border:1px solid transparent;box-sizing:border-box;transition:background-color .12s var(--volter-ease-standard),border-color .12s var(--volter-ease-standard),color .12s var(--volter-ease-standard),filter .12s var(--volter-ease-standard)}.volter-btn[data-size=compact]{height:var(--volter-control-compact-height);padding-top:0;padding-bottom:0;font-size:var(--volter-font-base)}.volter-btn:not([data-size]),.volter-btn[data-size=default]{height:var(--volter-control-default-height);padding-top:0;padding-bottom:0;font-size:var(--volter-font-base)}.volter-btn[data-size=comfortable]{height:var(--volter-control-comfortable-height);padding-top:0;padding-bottom:0;font-size:var(--volter-font-md)}.volter-btn[data-variant=primary]{background:var(--volter-accent);color:var(--volter-content-on-accent);border-color:var(--volter-accent);padding:var(--volter-space-3) var(--volter-space-6);font-weight:600}.volter-btn[data-variant=primary]:hover:not(:disabled){filter:brightness(1.08)}.volter-btn[data-variant=primary]:active:not(:disabled){filter:brightness(.92)}.volter-btn:not([data-variant]),.volter-btn[data-variant=secondary]{background:var(--volter-widget-regular);color:var(--volter-content-primary);border-color:var(--volter-boundary-default);padding-inline:var(--volter-space-4);box-shadow:var(--volter-widget-emboss-shadow)}.volter-btn:not([data-variant]):hover:not(:disabled),.volter-btn[data-variant=secondary]:hover:not(:disabled){background:var(--volter-widget-regular-hover);border-color:var(--volter-boundary-strong)}.volter-btn:is(:not([data-variant]),[data-variant=secondary]):is([aria-haspopup=menu],[aria-haspopup=listbox],[aria-haspopup=dialog]){background:var(--volter-widget-menu)}.volter-btn:is(:not([data-variant]),[data-variant=secondary]):is([aria-haspopup=menu],[aria-haspopup=listbox],[aria-haspopup=dialog]):hover:not(:disabled){background:var(--volter-widget-menu-hover)}.volter-btn:not([data-variant]):active:not(:disabled),.volter-btn[data-variant=secondary]:active:not(:disabled){background:var(--volter-surface-inset)}.volter-btn[data-variant=outline]{background:transparent;color:var(--volter-content-primary);border-color:var(--volter-boundary-default);padding-inline:var(--volter-space-4)}.volter-btn[data-variant=outline]:hover:not(:disabled){background:var(--volter-neutral-hover);border-color:var(--volter-boundary-strong)}.volter-btn[data-variant=outline]:active:not(:disabled){background:var(--volter-neutral-active)}.volter-btn[data-variant=ghost]{background:transparent;color:var(--volter-content-muted);border-color:transparent;padding-inline:var(--volter-space-3)}.volter-btn[data-variant=ghost]:hover:not(:disabled){color:var(--volter-content-primary);background:var(--volter-neutral-hover)}.volter-btn[data-variant=ghost]:active:not(:disabled){background:var(--volter-neutral-active)}.volter-btn[data-variant=danger]{color:var(--volter-content-primary);background:var(--volter-danger-muted);border-color:var(--volter-danger);padding-inline:var(--volter-space-4);font-weight:600}.volter-btn[data-variant=danger]:hover:not(:disabled){filter:brightness(1.12)}.volter-btn[data-variant=danger]:active:not(:disabled){filter:brightness(.9)}.volter-btn[data-variant=success]{color:var(--volter-content-on-accent);background:var(--volter-success);border-color:var(--volter-success);padding-inline:var(--volter-space-4);font-weight:600}.volter-btn[data-variant=success]:hover:not(:disabled){filter:brightness(1.1)}.volter-btn[data-variant=success]:active:not(:disabled){filter:brightness(.92)}.volter-btn[aria-pressed=true]{color:var(--volter-content-on-selection, var(--volter-content-primary));background:var(--volter-selection-bg);border-color:var(--volter-selection-border)}.volter-btn[aria-busy=true]{cursor:progress}.volter-btn.volter-sprite-frame-option{width:100%;min-width:0;height:72px;flex-direction:column;gap:var(--volter-space-1);padding:var(--volter-space-1);background:var(--volter-surface-inset);border-color:var(--volter-boundary-default)}.volter-btn.volter-sprite-frame-option[aria-pressed=true]{background:var(--volter-selection-bg);border-color:var(--volter-selection-border)}.volter-btn[data-icon=true]{width:var(--volter-control-default-height);padding:0}.volter-btn[data-icon=true][data-size=compact]{width:var(--volter-control-compact-height)}.volter-btn[data-icon=true][data-size=comfortable]{width:var(--volter-control-comfortable-height)}.volter-btn[data-icon=true][data-label-placement=below]{width:68px;min-width:68px;height:42px;flex-direction:column;gap:3px;padding:4px 8px 3px}.volter-icon-button-label{max-width:100%;min-width:0;overflow:hidden;font-size:var(--volter-font-xs);line-height:var(--volter-leading-tight);text-overflow:ellipsis;white-space:nowrap}.volter-btn:disabled,.volter-btn[aria-disabled=true]{opacity:.4;cursor:not-allowed;filter:none}.volter-btn:focus-visible{outline:var(--volter-focus-ring);outline-offset:1px}.volter-machine-list-entry{display:block;width:100%;height:auto;justify-content:flex-start;border-left:var(--volter-stroke-active) solid transparent;padding:var(--volter-space-3) var(--volter-space-4);text-align:left}.volter-machine-list-entry[data-selected=true]{border-left-color:var(--volter-selection-indicator);background:var(--volter-selection-bg)}.volter-performance-overlay{pointer-events:auto;display:grid;grid-template-columns:repeat(5,auto);width:auto;height:auto;gap:var(--volter-space-5);border-color:var(--volter-boundary-default);background:var(--volter-surface-overlay);color:var(--volter-content-primary);padding:var(--volter-space-3) var(--volter-space-4);font-family:var(--volter-font-mono);font-size:var(--volter-font-sm)}.volter-performance-overlay[data-enabled=true]{border-color:var(--volter-accent)}.volter-hud-overlay{background:var(--volter-surface-overlay);border-radius:var(--volter-radius-md)}.volter-hud-overlay[data-hud-border=strong]{border:var(--volter-stroke-resting) solid var(--volter-boundary-strong)}.volter-hud-overlay[data-hud-border=default]{border:var(--volter-stroke-resting) solid var(--volter-boundary-default)}.volter-hud-overlay[data-hud-shadow=true]{box-shadow:var(--volter-shadow-sm)}.volter-field-trigger{width:100%;justify-content:space-between;overflow:hidden;font-family:var(--volter-font-mono);text-align:left}.volter-inspector-group-trigger{width:100%;height:auto;justify-content:flex-start;padding:var(--volter-space-4);font-weight:600;text-align:left;text-transform:uppercase;letter-spacing:.4px}.volter-hierarchy-more{width:100%;height:var(--volter-tree-row-height);justify-content:flex-start;font-style:italic;text-align:left}.volter-btn.volter-tree-caret{width:var(--volter-tree-indent);height:18px;flex:0 0 var(--volter-tree-indent);padding-inline:0;font-size:var(--volter-icon-xs)}.volter-chat-icon{width:var(--volter-control-default-height);padding-inline:0}.volter-chat-session-row{width:100%;height:auto;justify-content:flex-start;padding:var(--volter-space-4);text-align:left}.volter-chat-session-row[data-selected=true]{background:var(--volter-surface-raised)}.volter-chat-harness-trigger{max-width:190px;overflow:hidden;white-space:nowrap}.volter-chat-header-trigger{min-width:0;flex:1;justify-content:flex-start;overflow:hidden;text-align:left}.volter-input{background:var(--volter-input-surface, var(--volter-bg-inset));color:var(--volter-text-1);border:1px solid var(--volter-input-border, var(--volter-border-1));border-radius:var(--volter-radius-sm);box-shadow:var(--volter-input-shadow, none);padding:var(--volter-space-1) var(--volter-space-3);font-size:var(--volter-font-base);font-family:var(--volter-font-sans);outline:none;min-width:0;min-height:var(--volter-control-default-height);box-sizing:border-box}.volter-input::placeholder{color:var(--volter-content-placeholder);opacity:1}input.volter-input,select.volter-input{height:var(--volter-control-default-height);padding-block:0}.volter-input:hover:not(:disabled){border-color:var(--volter-border-2)}.volter-input:focus-visible{border-color:var(--volter-accent);outline:var(--volter-focus-ring);outline-offset:-1px}.volter-input[aria-invalid=true]{border-color:var(--volter-danger)}.volter-input[data-tone=danger]{color:var(--volter-danger)}.volter-input[data-state=editing]{border-color:var(--volter-accent)}.volter-input[data-emphasis=strong]{font-size:var(--volter-font-md);font-weight:600}.volter-input[data-emphasis=semibold]{font-weight:600}.volter-input[data-monospace=true]{font-family:var(--volter-font-mono)}.volter-input[data-density=compact],.volter-select[data-density=compact]{min-height:var(--volter-control-compact-height);font-size:var(--volter-font-sm)}.volter-input[data-density=comfortable],.volter-select[data-density=comfortable]{min-height:var(--volter-control-comfortable-height);font-size:var(--volter-font-md)}.volter-input[data-density=compact-tall],.volter-select[data-density=compact-tall]{min-height:var(--volter-control-comfortable-height);font-size:var(--volter-font-sm)}.volter-input[data-leading-icon=true]{padding-left:calc(var(--volter-space-12) + 1px)}.volter-input[data-variant=entity-name]{min-height:var(--volter-control-comfortable-height);padding:var(--volter-space-2) var(--volter-space-3);font-size:var(--volter-font-lg);font-weight:600}.volter-input[data-variant=tree-edit]{min-height:var(--volter-control-compact-height);padding:0 var(--volter-space-2);border-color:var(--volter-accent);font-size:var(--volter-font-lg);outline:none}.volter-input[data-variant=prominent]{min-height:var(--volter-command-bar-height);padding:var(--volter-space-5) calc(var(--volter-space-6) + var(--volter-space-1));border:0;border-bottom:var(--volter-stroke-resting) solid var(--volter-boundary-strong);border-radius:0;font-size:var(--volter-font-xl)}.volter-input[data-variant=prominent]:focus-visible{outline-offset:-2px}.volter-input[data-variant=seamless]{padding:var(--volter-space-4);color:var(--volter-content-primary);background:transparent;border:0;border-radius:0}.volter-input[data-dynamic=true],.volter-select[data-dynamic=true]{color:var(--volter-dynamic);background-color:var(--volter-dynamic-muted);border-color:var(--volter-dynamic)}.volter-input[data-mixed=true],.volter-select[data-mixed=true]{color:var(--volter-content-dim);font-style:italic}.volter-input:disabled{opacity:.5;cursor:not-allowed}.volter-select{appearance:none;-webkit-appearance:none;background-color:var(--volter-input-surface, var(--volter-bg-inset));background-image:var(--volter-select-chevron);background-repeat:no-repeat;background-position:right 6px center;background-size:8px 5px;color:var(--volter-text-1);border:1px solid var(--volter-input-border, var(--volter-border-1));border-radius:var(--volter-radius-sm);box-shadow:var(--volter-input-shadow, none);padding:var(--volter-space-1) var(--volter-space-6) var(--volter-space-1) var(--volter-space-3);font-size:var(--volter-font-base);font-family:var(--volter-font-sans);outline:none;min-height:var(--volter-control-default-height);box-sizing:border-box;cursor:pointer}.volter-select:hover:not(:disabled){border-color:var(--volter-border-2)}.volter-select:focus-visible{border-color:var(--volter-accent);outline:var(--volter-focus-ring);outline-offset:-1px}.volter-select:disabled{opacity:.5;cursor:not-allowed}.volter-select option{background:var(--volter-bg-2);color:var(--volter-text-1)}.volter-textarea{display:block;width:100%;min-height:calc(var(--volter-control-default-height) * 2);resize:vertical;line-height:var(--volter-leading-normal)}.volter-textarea[data-variant=code]{padding:var(--volter-space-5);font-family:var(--volter-font-mono);font-size:var(--volter-font-base);line-height:var(--volter-leading-relaxed)}.volter-textarea[data-variant=inline-editor]{padding:var(--volter-space-1);color:var(--volter-content-primary);background:var(--volter-input-surface, var(--volter-surface-inset));border:var(--volter-stroke-active) solid var(--volter-accent);font:inherit;font-size:var(--volter-font-lg);line-height:1.3;outline:none}.volter-tool-page{width:100%;max-width:960px;min-height:100%;margin:0 auto;padding:var(--volter-space-6);color:var(--volter-content-primary);box-sizing:border-box}.volter-tool-header{max-width:720px;margin-bottom:var(--volter-space-5)}.volter-tool-eyebrow{margin-bottom:var(--volter-space-2);color:var(--volter-content-dim);font-size:var(--volter-font-sm);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.volter-tool-title{margin:0 0 var(--volter-space-2);font-size:var(--volter-font-xl)}.volter-tool-description{margin:0;color:var(--volter-content-muted);line-height:var(--volter-leading-relaxed)}.volter-tool-card{padding:var(--volter-space-5);border:var(--volter-stroke-resting) solid var(--volter-boundary-default);border-radius:var(--volter-radius-md);background:var(--volter-surface-panel)}.volter-tool-form{display:grid;max-width:720px;gap:var(--volter-space-4)}.volter-tool-field{display:grid;min-width:0;gap:var(--volter-space-2)}.volter-tool-field>.volter-input,.volter-tool-field>.volter-select{width:100%}.volter-tool-field-label{color:var(--volter-content-primary);font-weight:500}.volter-tool-help{color:var(--volter-content-dim);font-size:var(--volter-font-sm);line-height:var(--volter-leading-normal)}.volter-tool-advanced{padding:var(--volter-space-3);border:var(--volter-stroke-resting) solid var(--volter-boundary-default);border-radius:var(--volter-radius-sm);background:var(--volter-surface-inset)}.volter-tool-advanced>summary{color:var(--volter-content-muted);cursor:pointer;font-weight:500}.volter-tool-advanced[open]>summary{margin-bottom:var(--volter-space-3);color:var(--volter-content-primary)}.volter-tool-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--volter-space-3);padding-top:var(--volter-space-1)}.volter-cost-disclosure{display:grid;gap:var(--volter-space-1);padding:var(--volter-space-3) var(--volter-space-4);border:var(--volter-stroke-resting) solid var(--volter-boundary-default);border-left:var(--volter-stroke-active) solid var(--volter-accent);border-radius:var(--volter-radius-sm);background:var(--volter-surface-inset)}.volter-cost-disclosure[data-route=mock]{border-left-color:var(--volter-success)}.volter-cost-disclosure[data-route=managed]{border-left-color:var(--volter-accent)}.volter-cost-disclosure[data-route=direct]{border-left-color:var(--volter-warn)}.volter-cost-disclosure-title{font-weight:600}.volter-cost-disclosure-detail{color:var(--volter-content-muted);font-size:var(--volter-font-sm)}.volter-tool-confirmation{display:grid;gap:var(--volter-space-3);padding:var(--volter-space-4);border:var(--volter-stroke-resting) solid var(--volter-warn);border-radius:var(--volter-radius-sm);background:var(--volter-warn-muted)}.volter-tool-status{max-width:720px;margin-top:var(--volter-space-4);padding:var(--volter-space-3) var(--volter-space-4);border-radius:var(--volter-radius-sm);color:var(--volter-content-primary);background:var(--volter-surface-raised)}.volter-tool-status[data-tone=error]{color:var(--volter-danger);background:var(--volter-danger-faint)}.volter-tool-status[data-tone=success]{color:var(--volter-success);background:var(--volter-success-muted)}.volter-generation-job-meta{color:var(--volter-content-muted);font-size:var(--volter-font-sm)}.volter-generation-document{display:grid;width:100%;max-width:1120px;min-height:100%;margin:0 auto;padding:var(--volter-space-6);gap:var(--volter-space-4);color:var(--volter-content-primary);box-sizing:border-box}.volter-generation-document-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--volter-space-4)}.volter-generation-result{min-height:280px;padding:var(--volter-space-4);overflow:auto;border:var(--volter-stroke-resting) solid var(--volter-boundary-default);border-radius:var(--volter-radius-md);background:var(--volter-surface-inset)}.volter-generation-document-empty,.volter-generation-result-empty{padding:var(--volter-space-5);color:var(--volter-content-muted)}.volter-generation-native-result{margin:0;overflow:auto;color:var(--volter-content-muted);font-size:var(--volter-font-sm);white-space:pre-wrap;overflow-wrap:anywhere}.volter-generation-image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--volter-space-3)}.volter-generation-image-grid img,.volter-generation-panorama,.volter-generation-world-result img{display:block;width:100%;max-height:620px;border-radius:var(--volter-radius-sm);object-fit:contain}.volter-generation-media{display:block;width:min(100%,860px);margin:auto}.volter-generation-result-links,.volter-generation-world-result,.volter-generation-output-paths{display:grid;align-content:start;justify-items:start;gap:var(--volter-space-3)}.volter-generation-output-paths code{color:var(--volter-content-muted);overflow-wrap:anywhere}.volter-generation-document-footer{display:flex;justify-content:flex-end}.volter-generation-create-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--volter-space-2)}.volter-generation-create-card{display:grid;gap:var(--volter-space-1);padding:var(--volter-space-3);border:var(--volter-stroke-resting) solid var(--volter-boundary-default);border-radius:var(--volter-radius-sm);color:var(--volter-content-primary);text-align:left;background:var(--volter-surface-raised);cursor:pointer}.volter-generation-create-card:hover{border-color:var(--volter-boundary-strong);background:var(--volter-neutral-hover)}.volter-generation-create-card:focus-visible{outline:var(--volter-focus-ring);outline-offset:1px}.volter-generation-create-card span{color:var(--volter-content-muted);font-size:var(--volter-font-sm)}.volter-provider-connections{display:grid;gap:var(--volter-space-4)}@media(max-width:720px){.volter-tool-page,.volter-generation-document{padding:var(--volter-space-4)}.volter-generation-document-header{display:grid}}.volter-checkbox{accent-color:var(--volter-accent);width:13px;height:13px;cursor:pointer;margin:0}.volter-checkbox:focus-visible{outline:var(--volter-focus-ring);outline-offset:2px}.volter-checkbox:indeterminate{accent-color:var(--volter-warn)}.volter-checkbox:disabled{opacity:.5;cursor:not-allowed}.volter-color-swatch{width:var(--volter-control-compact-height);height:var(--volter-control-compact-height);flex:0 0 auto;padding:0;overflow:hidden;background:transparent;border:var(--volter-stroke-resting) solid var(--volter-boundary-default);border-radius:var(--volter-radius-sm);cursor:pointer}.volter-color-swatch:hover:not(:disabled){border-color:var(--volter-boundary-strong)}.volter-color-swatch:focus-visible,.volter-file-input:focus-visible,.volter-range:focus-visible{outline:var(--volter-focus-ring);outline-offset:2px}.volter-color-swatch:disabled,.volter-file-input:disabled,.volter-range:disabled{opacity:.5;cursor:not-allowed}.volter-file-input{color:var(--volter-content-muted);font:inherit}.volter-range{min-width:0;accent-color:var(--volter-accent)}.volter-number-input,.volter-color-input{display:flex;min-width:0;align-items:center;gap:var(--volter-space-2)}.volter-number-input-label{width:12px;flex:0 0 auto;color:var(--volter-content-muted);font-size:var(--volter-font-sm);font-weight:600;text-align:center;user-select:none}.volter-number-input-editor,.volter-number-input-scrub,.volter-color-input>.volter-input{width:100%;min-width:0}.volter-number-input-scrub{box-sizing:border-box;overflow:hidden;padding:var(--volter-space-1) var(--volter-space-3);color:var(--volter-content-primary);background:var(--volter-input-surface, var(--volter-surface-inset));border:var(--volter-stroke-resting) solid var(--volter-input-border, var(--volter-boundary-default));border-radius:var(--volter-radius-sm);box-shadow:var(--volter-input-shadow, none);font-size:var(--volter-font-base);text-overflow:ellipsis;white-space:nowrap;cursor:ew-resize;user-select:none}.volter-number-input-scrub:hover{border-color:var(--volter-boundary-strong)}.volter-scrub-label{transition:color .12s var(--volter-ease-standard),filter .12s var(--volter-ease-standard)}.volter-scrub-label{color:var(--volter-content-muted)}.volter-scrub-label:hover:not([data-disabled=true]){color:var(--volter-content-primary)}.volter-number-input-scrub[data-disabled]{opacity:.5;cursor:not-allowed}.volter-number-input-scrub[data-mixed=true],.volter-color-input>.volter-input[data-mixed=true]{color:var(--volter-content-dim);font-style:italic}.volter-color-input-mixed{width:var(--volter-control-compact-height);height:var(--volter-control-compact-height);flex:0 0 auto;border:var(--volter-stroke-resting) solid var(--volter-boundary-default);border-radius:var(--volter-radius-sm);background-color:var(--volter-surface-inset);background-image:linear-gradient(45deg,var(--volter-content-dim) 25%,transparent 25%,transparent 75%,var(--volter-content-dim) 75%),linear-gradient(45deg,var(--volter-content-dim) 25%,transparent 25%,transparent 75%,var(--volter-content-dim) 75%);background-position:0 0,4px 4px;background-size:8px 8px}.volter-section{border-bottom:var(--volter-stroke-resting) solid var(--volter-structural-divider)}.volter-section-header{display:flex;width:100%;min-height:var(--volter-control-default-height);align-items:center;gap:var(--volter-space-1);color:var(--volter-content-primary);background:var(--volter-surface-section)}.volter-section-trigger{display:flex;min-width:0;min-height:var(--volter-control-default-height);flex:1;align-items:center;gap:var(--volter-space-2);padding:var(--volter-space-2) var(--volter-space-4);color:inherit;background:transparent;border:0;font:inherit;font-size:var(--volter-font-base);font-weight:600;text-align:left;cursor:pointer}.volter-section-trigger:hover{background:var(--volter-neutral-hover)}.volter-section-trigger[data-volter-static],.volter-section-trigger[data-volter-static]:hover{cursor:default;background:transparent}.volter-section-trigger:focus-visible{outline:var(--volter-focus-ring);outline-offset:-2px}.volter-section-title{display:grid;min-width:0;flex:1}.volter-section-title>span,.volter-section-title>small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.volter-section-title>small{color:var(--volter-content-dim);font-size:var(--volter-font-sm);font-weight:400}.volter-section-actions{display:flex;flex:0 0 auto;align-items:center;gap:var(--volter-space-1);padding-right:var(--volter-space-2)}.volter-section-body{padding:0 var(--volter-space-4) var(--volter-space-4)}.volter-inspector-tool-section{padding:var(--volter-space-4);margin-top:var(--volter-space-2);border-top:var(--volter-stroke-resting) solid var(--volter-structural-divider)}.volter-xstate-node{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--volter-space-1);padding:var(--volter-space-3) var(--volter-space-5);color:var(--volter-content-primary);background:var(--volter-surface-panel);border:var(--volter-stroke-resting) solid var(--volter-boundary-default);font-size:var(--volter-font-base);text-align:left;transition:background .1s var(--volter-ease-standard),border-color .1s var(--volter-ease-standard),box-shadow .1s var(--volter-ease-standard)}.volter-xstate-node:hover{background:var(--volter-surface-chrome)}.volter-xstate-node[data-active=true]{border-color:var(--volter-success)}.volter-xstate-node[data-selected=true]{border-color:var(--volter-selection-border);box-shadow:0 0 0 var(--volter-stroke-resting) var(--volter-selection-border)}.volter-xstate-node-type{color:var(--volter-content-dim);transition:color .1s var(--volter-ease-standard)}.volter-xstate-node:hover .volter-xstate-node-type,.volter-xstate-node[data-selected=true] .volter-xstate-node-type{color:var(--volter-content-primary)}.volter-stack{display:flex;min-width:0;flex-direction:column}.volter-inline{display:flex;min-width:0}.volter-spacer{min-width:0;flex:1 1 auto}.volter-actions{flex:0 0 auto}.volter-divider{flex:0 0 auto;background:var(--volter-boundary-default)}.volter-divider[data-orientation=horizontal]{width:100%;height:var(--volter-stroke-resting)}.volter-divider[data-orientation=vertical]{width:var(--volter-stroke-resting);height:var(--volter-control-compact-height)}.volter-text{min-width:0;margin:0;color:var(--volter-content-primary);font-size:var(--volter-font-base);font-weight:400;line-height:1.35}.volter-text[data-variant=caption]{font-size:var(--volter-font-sm)}.volter-text[data-variant=body]{font-size:var(--volter-font-base)}.volter-text[data-variant=label]{font-size:var(--volter-font-base);font-weight:600}.volter-text[data-variant=title]{font-size:var(--volter-font-md);font-weight:600}.volter-text[data-variant=heading]{font-size:var(--volter-font-xl);font-weight:600}.volter-text[data-variant=display]{font-size:var(--volter-font-heading);font-weight:600}.volter-text[data-variant=code]{font-family:var(--volter-font-mono);font-size:var(--volter-font-base)}.volter-text[data-tone=muted]{color:var(--volter-content-muted)}.volter-text[data-tone=dim]{color:var(--volter-content-dim)}.volter-text[data-tone=accent]{color:var(--volter-accent)}.volter-text[data-tone=danger]{color:var(--volter-danger)}.volter-text[data-tone=warning]{color:var(--volter-warn)}.volter-text[data-tone=success]{color:var(--volter-success)}.volter-text[data-truncate=true]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.volter-text[data-selectable=true]{user-select:text}.volter-surface{min-width:0;color:var(--volter-content-primary);background:var(--volter-surface-panel);box-sizing:border-box}.volter-surface[data-variant=shell]{background:var(--volter-surface-shell)}.volter-surface[data-variant=panel]{background:var(--volter-surface-panel)}.volter-surface[data-variant=chrome]{background:var(--volter-surface-chrome)}.volter-surface[data-variant=raised]{background:var(--volter-surface-raised)}.volter-surface[data-variant=inset]{background:var(--volter-surface-inset)}.volter-surface[data-variant=overlay]{background:var(--volter-surface-overlay)}.volter-surface[data-border=true]{border:var(--volter-stroke-resting) solid var(--volter-boundary-default)}.volter-surface[data-scroll=true]{min-height:0;overflow:auto}.volter-dialog-scrim{position:fixed;inset:0;z-index:var(--volter-z-modal);display:flex;align-items:center;justify-content:center;padding:var(--volter-space-10);background:var(--volter-scrim);backdrop-filter:var(--volter-scrim-backdrop-filter, none);-webkit-backdrop-filter:var(--volter-scrim-backdrop-filter, none);pointer-events:auto;box-sizing:border-box}.volter-dialog-scrim[data-variant=command]{align-items:flex-start;padding-top:calc(var(--volter-space-12) + var(--volter-space-10) + var(--volter-space-8))}.volter-dialog{display:flex;width:min(520px,calc(100vw - 48px));max-height:calc(100vh - 48px);min-width:360px;flex-direction:column;overflow:hidden;color:var(--volter-content-primary);background:var(--volter-glass-regular-bg, var(--volter-surface-chrome));border:var(--volter-stroke-resting) solid var(--volter-boundary-default);border-radius:var(--volter-radius-lg);box-shadow:var(--volter-shadow-lg);box-sizing:border-box}.volter-dialog[data-size=compact]{width:min(420px,calc(100vw - 48px))}.volter-dialog[data-size=wide]{width:min(920px,calc(100vw - 48px));height:min(720px,calc(100vh - 48px))}.volter-dialog[data-variant=command]{width:min(500px,calc(100vw - 48px));max-height:min(480px,calc(100vh - 48px))}.volter-command-results{min-height:0;max-height:400px;flex:1;overflow-y:auto}.volter-command-category{padding:var(--volter-space-3) calc(var(--volter-space-6) + var(--volter-space-1)) var(--volter-space-1);color:var(--volter-content-muted);font-size:var(--volter-font-base);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.volter-command-row{display:flex;align-items:center;gap:var(--volter-space-4);padding:5px calc(var(--volter-space-6) + var(--volter-space-1));cursor:pointer}.volter-command-row[data-highlighted=true]{background:var(--volter-selection-bg)}.volter-command-icon{width:14px;flex-shrink:0;color:var(--volter-content-dim);font-size:var(--volter-font-sm);text-align:center}.volter-command-label{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.volter-command-shortcut{flex-shrink:0;color:var(--volter-content-dim);font-size:var(--volter-font-base)}.volter-command-empty{padding:var(--volter-space-8) calc(var(--volter-space-6) + var(--volter-space-1));color:var(--volter-content-dim);text-align:center}.volter-dialog-header{padding:var(--volter-space-8) var(--volter-space-10);border-bottom:var(--volter-stroke-resting) solid var(--volter-structural-divider)}.volter-dialog-body{min-height:0;padding:var(--volter-space-8) var(--volter-space-10);overflow:auto}.volter-dialog-footer{justify-content:flex-end;padding:var(--volter-space-6) var(--volter-space-10);border-top:var(--volter-stroke-resting) solid var(--volter-boundary-default)}.volter-dialog-field{display:grid;min-width:0;gap:var(--volter-space-2)}.volter-dialog-field>.volter-input{width:100%}.volter-joined-field{align-items:stretch;gap:0}.volter-joined-field>.volter-input{width:100%;border-top-right-radius:0;border-bottom-right-radius:0}.volter-joined-field-suffix{display:inline-flex;flex:0 0 auto;align-items:center;padding:0 var(--volter-space-4);color:var(--volter-content-dim);background:var(--volter-surface-raised);border:var(--volter-stroke-resting) solid var(--volter-boundary-default);border-left:0;border-radius:0 var(--volter-radius-sm) var(--volter-radius-sm) 0;white-space:nowrap}.volter-menu,.volter-popover,.volter-dialog{--volter-content-primary: var(--volter-content-primary-on-bright);--volter-content-muted: var(--volter-content-muted-on-bright);--volter-content-dim: var(--volter-content-dim-on-bright);--volter-content-text-shadow: var(--volter-content-text-shadow-on-bright);--volter-content-frost-bg: var(--volter-content-frost-bg-on-bright);--volter-text-1: var(--volter-content-primary);--volter-text-2: var(--volter-content-muted);--volter-text-3: var(--volter-content-dim);text-shadow:var(--volter-content-text-shadow, none);backdrop-filter:var(--volter-glass-regular-backdrop-filter, none);-webkit-backdrop-filter:var(--volter-glass-regular-backdrop-filter, none)}.volter-menu{background:var(--volter-glass-regular-bg, var(--volter-surface-shell));border:1px solid var(--volter-border-1);border-radius:var(--volter-radius-md);box-shadow:var(--volter-shadow-md);padding:var(--volter-space-2);z-index:var(--volter-z-dropdown)}.volter-menu-item{display:flex;align-items:center;width:100%;min-height:var(--volter-control-default-height);box-sizing:border-box;border:0;background:transparent;padding:var(--volter-space-2) var(--volter-space-4);border-radius:var(--volter-radius-sm);font-size:var(--volter-font-base);color:var(--volter-text-1);cursor:pointer;user-select:none;font-family:inherit;text-align:left;white-space:nowrap}.volter-menu-item:hover{background:var(--volter-selection-bg)}.volter-menu-item:focus-visible{outline:var(--volter-focus-ring);outline-offset:-1px}.volter-menu-item:disabled{color:var(--volter-text-3);cursor:default}.volter-menu-item:disabled:hover{background:transparent}.volter-menu-separator{height:var(--volter-stroke-resting);margin:var(--volter-space-1) var(--volter-space-2);border:0;background:var(--volter-boundary-default)}.volter-menu-trigger{height:100%;min-height:var(--volter-control-compact-height);border:0;border-radius:var(--volter-radius-sm);background:transparent;color:var(--volter-content-menu);padding:0 var(--volter-space-4);cursor:pointer;font:inherit}.volter-menu-trigger:hover,.volter-menu-trigger[aria-expanded=true]{color:var(--volter-text-1);background:var(--volter-bg-3)}.volter-menu-trigger:focus-visible{outline:var(--volter-focus-ring);outline-offset:-1px}[data-volter-chrome=islands] .volter-glass-regular-panel{color:var(--volter-content-primary);text-shadow:var(--volter-content-text-shadow, none);background:var( --volter-glass-regular-panel-adaptive-bg, var(--volter-glass-regular-panel-bg, var(--volter-surface-panel)) );backdrop-filter:var(--volter-glass-regular-panel-backdrop-filter, none);-webkit-backdrop-filter:var(--volter-glass-regular-panel-backdrop-filter, none);border:var(--volter-stroke-resting) solid color-mix(in srgb,var(--volter-content-primary) 22%,transparent);border-radius:var(--volter-radius-lg);box-shadow:var(--volter-card-specular-shadow, var(--volter-shadow-lg))}[data-volter-chrome=islands] .volter-glass-regular-panel .volter-content-frost{background:var( --volter-glass-regular-content-adaptive-bg, var(--volter-content-frost-bg, transparent) );backdrop-filter:none;-webkit-backdrop-filter:none}.volter-toolbar{display:flex;min-width:0;min-height:var(--volter-local-toolbar-height);align-items:center;gap:var(--volter-space-2);padding:0 var(--volter-space-3);color:var(--volter-content-primary);background:transparent;border-bottom:var(--volter-stroke-resting) solid var(--volter-structural-divider);box-sizing:border-box}.volter-toolbar[data-compact=true]{min-height:var(--volter-control-default-height);padding-inline:var(--volter-space-2)}.volter-toolbar-group{display:inline-flex;min-width:0;align-items:center;gap:var(--volter-space-2)}.volter-toolbar-divider{width:1px;height:16px;flex:0 0 auto;margin:0 var(--volter-space-1);background:var(--volter-boundary-default)}.volter-floating-toolbar{position:relative;min-height:auto;padding:var(--volter-space-2) var(--volter-space-3);border:var(--volter-stroke-resting) solid var(--volter-island-border-color, var(--volter-boundary-default));border-radius:var(--volter-island-radius, var(--volter-radius-md));background:var(--volter-ambient-lift, none),var(--volter-backdrop-dim, none),var(--volter-island-surface, color-mix(in srgb, var(--volter-surface-panel) 90%, transparent));box-shadow:var(--volter-island-shadow, var(--volter-shadow-sm));backdrop-filter:var(--volter-island-backdrop-filter, blur(8px));-webkit-backdrop-filter:var(--volter-island-backdrop-filter, blur(8px));text-shadow:var(--volter-content-text-shadow, none);pointer-events:auto}.volter-floating-toolbar .volter-btn[aria-pressed=true]{color:var(--volter-content-primary);background:var(--volter-selection-bg);border-color:transparent}.volter-floating-toolbar[data-selection-mode=single] .volter-btn[aria-pressed=true]{color:var(--volter-accent);background:var(--volter-neutral-active)}.volter-floating-toolbar .volter-btn[data-shape=segment]{width:calc(var(--volter-control-comfortable-height) + 12px)}.volter-floating-toolbar:before{content:"";position:absolute;inset:0;z-index:var(--volter-z-base);padding:1px;border-radius:inherit;background:var(--volter-island-specular-ring, none);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);pointer-events:none}.volter-floating-toolbar>*{position:relative;z-index:1}.volter-viewport-navigation{--volter-control-compact-height: 28px;--volter-control-default-height: 28px;--volter-control-comfortable-height: 28px}.volter-viewport-navigation .volter-btn[data-variant=ghost]{color:color-mix(in srgb,var(--volter-content-primary) 85.56%,transparent)}[data-volter-chrome=islands] .volter-chrome-island:not(:empty){position:relative;border:var(--volter-stroke-resting) solid var(--volter-island-border-color, var(--volter-boundary-default));border-radius:var(--volter-island-radius, var(--volter-radius-md));background:var(--volter-ambient-lift, none),var(--volter-backdrop-dim, none),var(--volter-island-surface, color-mix(in srgb, var(--volter-surface-panel) 90%, transparent));box-shadow:var(--volter-island-shadow, var(--volter-shadow-sm));backdrop-filter:var(--volter-island-backdrop-filter, blur(8px));-webkit-backdrop-filter:var(--volter-island-backdrop-filter, blur(8px));text-shadow:var(--volter-content-text-shadow, none);box-sizing:border-box;pointer-events:auto}[data-volter-chrome=islands] .volter-chrome-island:not(:empty):before{content:"";position:absolute;inset:0;z-index:0;padding:1px;border-radius:inherit;background:var(--volter-island-specular-ring, none);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);pointer-events:none}[data-volter-chrome=islands] .volter-chrome-island:not(:empty)>*{position:relative;z-index:1}[data-volter-chrome=islands] .volter-chrome-island[data-island-scale=compact]:not(:empty){border-radius:12px;box-shadow:var(--volter-shadow-sm)}[data-volter-chrome=islands] .volter-chrome-island[data-island-scale=compact]:not(:empty):before{opacity:.55}[data-volter-chrome=islands] .volter-camera-info.volter-chrome-island:not(:empty){pointer-events:none}[data-volter-chrome=islands] .volter-performance-overlay.volter-chrome-island[data-enabled=true]:not(:empty){border-color:var(--volter-accent)}[data-volter-chrome=islands] .volter-chrome-island .volter-btn,.volter-floating-toolbar .volter-btn{border-radius:var(--volter-island-control-radius, var(--volter-radius-sm))}[data-volter-chrome=islands] .volter-btn.volter-chrome-island:not(:empty){border-radius:var(--volter-island-control-radius, var(--volter-radius-sm))}[data-volter-chrome=islands] .volter-btn.volter-chrome-island[data-variant=primary]:not(:empty){background:var(--volter-island-primary-bg, var(--volter-accent))}.volter-split-button{display:inline-flex;min-width:0;align-items:stretch}.volter-split-button>.volter-btn:first-child,.volter-split-button>:first-child>.volter-btn{border-top-right-radius:0;border-bottom-right-radius:0}.volter-split-button>.volter-btn+.volter-btn,.volter-split-button>*+.volter-btn,.volter-split-button>*+*>.volter-btn{min-width:20px;padding-inline:var(--volter-space-1);border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.volter-keycap{padding:1px var(--volter-space-2);color:var(--volter-content-primary);background:var(--volter-surface-raised);border:var(--volter-stroke-resting) solid var(--volter-boundary-default);border-radius:var(--volter-radius-sm);font-family:var(--volter-font-mono);font-size:var(--volter-font-sm)}.volter-viewport-toolbar{position:absolute;top:var(--volter-viewport-overlay-top, var(--volter-space-4));z-index:calc(var(--volter-z-dropdown, 1000) - 1);isolation:isolate}.volter-viewport-toolbar-left{left:var(--volter-space-4)}.volter-viewport-toolbar-right{right:var(--volter-space-4)}[data-volter-chrome=islands]{--volter-viewport-overlay-hud-top: 54px}[data-volter-chrome=islands] .volter-editor-shell:has(.volter-workspace-dock[data-volter-backdrop]){--volter-viewport-overlay-top: 56px;--volter-viewport-overlay-hud-top: 102px}.volter-viewport-popover-anchor{position:relative;display:inline-flex;align-items:center}.volter-snap-popover{position:absolute;top:calc(100% + var(--volter-space-2));left:0;z-index:var(--volter-z-dropdown);width:170px;padding:var(--volter-space-4)}.volter-helpers-menu{position:absolute;top:calc(100% + var(--volter-space-2));right:0;z-index:var(--volter-z-dropdown);min-width:140px}.volter-menu-check{display:inline-flex;width:14px;flex:0 0 auto;justify-content:center;margin-right:var(--volter-space-2)}.volter-selectable{transition:background-color .12s var(--volter-ease-standard),border-color .12s var(--volter-ease-standard),color .12s var(--volter-ease-standard)}.volter-selectable:hover{background:var(--volter-neutral-hover)}.volter-selectable[data-selected=true]{background:var(--volter-selection-bg)}.volter-list-button{display:block;width:100%;min-width:0;border:0;border-left:var(--volter-stroke-active) solid transparent;background:transparent;color:var(--volter-content-muted);padding:var(--volter-space-3) var(--volter-space-4);text-align:left;font:inherit;cursor:pointer;box-sizing:border-box}.volter-list-button:hover{color:var(--volter-content-primary);background:var(--volter-neutral-hover)}.volter-list-button[data-selected=true]{color:var(--volter-content-primary);background:var(--volter-selection-bg)}.volter-list-button[data-selected=true][data-accent=bar]{border-left-color:var(--volter-selection-indicator)}.volter-list-button:disabled{opacity:.5;cursor:default}.volter-list-button:focus-visible{outline:var(--volter-focus-ring);outline-offset:-2px}.volter-playbar{pointer-events:auto}.volter-play-edit-regime{display:inline-flex;width:var(--volter-control-compact-height);height:var(--volter-control-compact-height);align-items:center;justify-content:center;color:var(--volter-warn)}.volter-play-edit-regime[data-regime=overlay]{color:var(--volter-success)}.volter-playbar-popover-anchor{position:relative}.volter-resolution-menu{z-index:var(--volter-z-dropdown);min-width:220px}.volter-resolution-menu [aria-checked=true]{color:var(--volter-content-primary);background:var(--volter-selection-bg)}.volter-camera-info{position:absolute;left:var(--volter-space-4);bottom:var(--volter-space-4);padding:var(--volter-space-2) var(--volter-space-3);border-radius:var(--volter-radius-md);backdrop-filter:blur(8px);pointer-events:none}.volter-camera-preview{position:absolute;z-index:calc(var(--volter-z-dropdown, 1000) - 2);left:var(--volter-space-4);bottom:52px;width:clamp(220px,26vw,360px);max-width:calc(100% - var(--volter-space-8));overflow:visible;border-radius:var(--volter-radius-md);background:transparent;box-shadow:var(--volter-shadow-md)}.volter-camera-preview-header{min-height:28px;flex-wrap:nowrap;padding:0 var(--volter-space-2);border:var(--volter-stroke-resting) solid var(--volter-boundary-default);border-bottom:0;border-radius:var(--volter-radius-md) var(--volter-radius-md) 0 0;background:var(--volter-surface-overlay);backdrop-filter:blur(12px)}.volter-camera-preview-title{min-width:0;flex:1}.volter-camera-preview-image{width:100%;min-height:120px;overflow:hidden;border:var(--volter-stroke-resting) solid var(--volter-boundary-default);border-top:0;border-radius:0 0 var(--volter-radius-md) var(--volter-radius-md);cursor:zoom-in}.volter-camera-preview-menu-anchor{position:relative;display:flex}.volter-camera-preview-menu{position:absolute;z-index:var(--volter-z-dropdown);top:calc(100% + var(--volter-space-1));right:0;display:grid;width:max-content;min-width:210px;padding:var(--volter-space-1)}.volter-camera-preview-menu .volter-btn{justify-content:flex-start}.volter-camera-view-banner{position:absolute;z-index:calc(var(--volter-z-dropdown, 1000) - 1);top:var(--volter-viewport-overlay-top, var(--volter-space-4));left:50%;max-width:calc(100% - 520px);padding:var(--volter-space-1) var(--volter-space-2);border-radius:var(--volter-radius-full);transform:translate(-50%);backdrop-filter:blur(12px)}.volter-camera-guides{position:absolute;z-index:calc(var(--volter-z-sticky, 100) - 1);inset:0;overflow:hidden;pointer-events:none}.volter-camera-guide{position:absolute;background:color-mix(in srgb,var(--volter-content-primary) 40%,transparent);box-shadow:0 0 1px color-mix(in srgb,var(--volter-surface-shell) 70%,transparent)}.volter-camera-guide-v1,.volter-camera-guide-v2{top:0;bottom:0;width:1px}.volter-camera-guide-v1{left:33.333%}.volter-camera-guide-v2{left:66.666%}.volter-camera-guide-h1,.volter-camera-guide-h2{right:0;left:0;height:1px}.volter-camera-guide-h1{top:33.333%}.volter-camera-guide-h2{top:66.666%}.volter-camera-safe-frame{position:absolute;inset:6%;border:1px solid color-mix(in srgb,var(--volter-content-primary) 48%,transparent)}.volter-camera-center-mark{position:absolute;top:50%;left:50%;width:18px;height:18px;transform:translate(-50%,-50%)}.volter-camera-center-mark:before,.volter-camera-center-mark:after{position:absolute;background:color-mix(in srgb,var(--volter-content-primary) 60%,transparent);content:""}.volter-camera-center-mark:before{top:8px;left:0;width:18px;height:1px}.volter-camera-center-mark:after{top:0;left:8px;width:1px;height:18px}@media(max-width:900px){.volter-camera-view-banner{top:calc(var(--volter-viewport-overlay-top, var(--volter-space-4)) + 44px);max-width:calc(100% - var(--volter-space-8))}}.volter-react-canvas-controls{position:absolute;right:var(--volter-space-6);bottom:var(--volter-space-6);z-index:var(--volter-z-sticky);overflow:visible}.volter-react-canvas-controls[data-board-zoom]{top:var(--volter-viewport-overlay-top, var(--volter-space-4));right:var(--volter-space-4);bottom:auto}.volter-canvas-scene-navigation{position:absolute;top:calc(var(--volter-viewport-overlay-top, var(--volter-space-4)) + 44px);left:var(--volter-space-4);z-index:calc(var(--volter-z-dropdown, 1000) - 1);overflow:visible}.volter-react-viewport-select{border-color:transparent;background-color:transparent}.volter-tabs{display:flex;height:var(--volter-panel-header-height);min-width:0;align-items:stretch;gap:var(--volter-space-1);padding-inline:var(--volter-space-2);overflow:hidden;background:var(--volter-surface-sticky);border-bottom:var(--volter-stroke-resting) solid var(--volter-structural-divider)}.volter-tab{position:relative;display:inline-flex;min-width:0;max-width:220px;align-items:center;gap:var(--volter-space-2);padding:0 var(--volter-space-4);color:var(--volter-content-muted);background:transparent;border:0;font:inherit;cursor:pointer}.volter-tab:hover{color:var(--volter-content-primary);background:var(--volter-surface-raised)}.volter-tab[data-selected=true]{color:var(--volter-content-primary);background:var(--volter-surface-panel)}.volter-tab[data-selected=true]:after{position:absolute;right:var(--volter-space-4);bottom:0;left:var(--volter-space-4);height:var(--volter-stroke-active);border-radius:2px 2px 0 0;background:var(--volter-selection-indicator);content:""}.volter-tab:focus-visible{outline:var(--volter-focus-ring);outline-offset:-2px}.volter-tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.volter-tab-dirty{width:6px;height:6px;flex:0 0 auto;border-radius:var(--volter-radius-full);background:var(--volter-warn)}.volter-tab-badge{display:inline-flex;width:max-content;max-width:100%;min-width:15px;height:15px;align-items:center;justify-content:center;padding:0 var(--volter-space-2);border-radius:var(--volter-radius-full);color:var(--volter-surface-shell);background:var(--volter-content-muted);font-size:var(--volter-font-xs);line-height:var(--volter-leading-tight);box-sizing:border-box}.volter-badge{display:inline-flex;flex:0 0 auto;align-self:center;width:fit-content;max-width:100%;min-width:0;min-height:18px;align-items:center;justify-content:center;padding:1px var(--volter-space-2);overflow:hidden;border-radius:var(--volter-radius-sm);color:var(--volter-surface-shell);background:var(--volter-content-muted);font-size:var(--volter-font-xs);line-height:var(--volter-leading-tight);white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;box-sizing:border-box}.volter-badge[data-shape=count]{min-width:15px;min-height:15px;height:15px;padding:0 var(--volter-space-2);border-radius:var(--volter-radius-full)}.volter-tree{min-width:0;color:var(--volter-content-primary)}.volter-tree-row{display:flex;height:var(--volter-tree-row-height);min-width:0;align-items:center;gap:var(--volter-space-2);padding-right:var(--volter-space-2);color:var(--volter-content-muted);border-left:var(--volter-stroke-active) solid transparent;box-sizing:border-box;cursor:default;user-select:none}.volter-tree-row[data-row-alt]{background:var(--volter-surface-row-alt)}.volter-tree-body[data-volter-region=outliner]{background-image:repeating-linear-gradient(to bottom,transparent 0,transparent var(--volter-tree-row-height),var(--volter-surface-row-alt) var(--volter-tree-row-height),var(--volter-surface-row-alt) calc(var(--volter-tree-row-height) * 2));background-attachment:local}.volter-tree-row:hover{color:var(--volter-content-primary);background:var(--volter-neutral-hover)}.volter-tree-row[data-selected=true]{color:var(--volter-content-primary);background-image:linear-gradient(var(--volter-tree-row-selected-bg),var(--volter-tree-row-selected-bg));background-repeat:no-repeat;background-position:0 1px;background-size:100% calc(100% - 2px)}.volter-tree-row[data-selection-active=true]{background-image:linear-gradient(var(--volter-tree-row-active-bg),var(--volter-tree-row-active-bg)),linear-gradient(var(--volter-tree-row-active-border),var(--volter-tree-row-active-border));background-position:1px 2px,0 1px;background-size:calc(100% - 2px) calc(100% - 4px),100% calc(100% - 2px)}.volter-tree-row[data-muted=true]{color:var(--volter-content-dim)}.volter-tree-row[data-dragging=true]{color:var(--volter-content-muted);background:var(--volter-neutral-hover);outline:1px dashed var(--volter-boundary-strong);outline-offset:-1px}.volter-tree-indent-guide{position:absolute;width:.5px;background:var(--volter-tree-indent-guide);pointer-events:none}.volter-tree-remote-selection{display:inline-flex;flex:0 0 auto;align-items:center}.volter-tree-remote-selection>span{width:7px;height:7px;margin-left:-2px;border:1px solid var(--volter-surface-panel);border-radius:var(--volter-radius-full)}.volter-tree-row:focus-visible{outline:var(--volter-focus-ring);outline-offset:-2px}.volter-tree-row{--volter-tree-glyph-plate-width: var(--volter-tree-indent);--volter-tree-glyph-plate-height: calc(var(--volter-tree-row-height) - var(--volter-space-1));--volter-tree-glyph-plate-radius: 5px}.volter-tree-type-glyph{position:relative;z-index:0}.volter-tree-type-glyph>*{opacity:.8}.volter-tree-row[data-selection-active=true] .volter-tree-type-glyph:before{content:"";position:absolute;z-index:-1;top:50%;left:50%;box-sizing:border-box;width:var(--volter-tree-glyph-plate-width);height:var(--volter-tree-glyph-plate-height);transform:translate(-50%,-50%);border:var(--volter-stroke-resting) solid color-mix(in srgb,var(--volter-content-muted) 20.3%,transparent);border-radius:var(--volter-tree-glyph-plate-radius);background:color-mix(in srgb,var(--volter-content-muted) 26%,transparent);pointer-events:none}.volter-tree-datablock{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex-shrink:0;vertical-align:middle;width:var(--volter-tree-glyph-plate-width);height:var(--volter-tree-glyph-plate-height);margin-left:var(--volter-tree-indent);font-size:var(--volter-icon-sm);border:var(--volter-stroke-resting) solid transparent;border-radius:var(--volter-tree-glyph-plate-radius)}.volter-tree-datablock>*{opacity:.8}.volter-tree-datablock[data-active=true]{background:var(--volter-tree-datablock-fill);border-color:var(--volter-tree-datablock-border)}.volter-tree-row-leading{display:inline-flex;width:14px;flex:0 0 auto;justify-content:center}.volter-tree-row-label{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.volter-tree-row-actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--volter-space-1)}.volter-tree-row .volter-btn[data-variant=ghost]:not(.volter-tree-caret){color:var(--volter-content-primary)}.volter-tree-row .volter-btn.volter-tree-caret{color:var(--volter-content-muted)}.volter-field-group{display:grid;gap:var(--volter-space-3);padding:var(--volter-space-4)}.volter-field-row{display:grid;grid-template-columns:minmax(64px,84px) minmax(0,1fr);min-width:0;align-items:center;gap:var(--volter-space-3)}.volter-field-row[data-compact=true]{grid-template-columns:minmax(52px,72px) minmax(0,1fr)}.volter-field-label{min-width:0;color:var(--volter-content-muted);font-size:var(--volter-font-base)}.volter-field-control{display:flex;min-width:0;align-items:center;gap:var(--volter-space-2)}.volter-field-hint{grid-column:2;color:var(--volter-content-dim);font-size:var(--volter-font-sm);line-height:1.35}.volter-state-surface{display:flex;min-width:0;min-height:120px;flex-direction:column;align-items:center;justify-content:center;gap:var(--volter-space-3);padding:var(--volter-space-8);color:var(--volter-content-muted);text-align:center;box-sizing:border-box}.volter-state-surface[data-compact=true]{min-height:64px;padding:var(--volter-space-4)}.volter-state-surface[data-tone=error]{color:var(--volter-danger)}.volter-state-surface[data-tone=success]{color:var(--volter-success)}.volter-state-surface[data-tone=loading] .volter-state-surface-icon{animation:volter-editor-spin .8s linear infinite}.volter-state-surface-icon{color:currentColor;font-size:var(--volter-font-2xl)}.volter-state-surface-title{color:var(--volter-content-primary);font-size:var(--volter-font-md)}.volter-state-surface-description{max-width:42ch;color:var(--volter-content-dim);line-height:var(--volter-leading-normal)}.volter-state-surface-action{margin-top:var(--volter-space-2)}.volter-banner{--volter-banner-tone-tint: var(--volter-accent-muted);display:flex;min-width:0;align-items:center;gap:var(--volter-space-3);padding:var(--volter-space-3) var(--volter-space-5);border-bottom:var(--volter-stroke-resting) solid var(--volter-accent);color:var(--volter-accent);background:var(--volter-banner-tone-tint);box-sizing:border-box}.volter-banner[data-tone=warning]{--volter-banner-tone-tint: var(--volter-warn-muted);color:var(--volter-warn);border-color:var(--volter-warn)}.volter-banner[data-tone=error]{--volter-banner-tone-tint: var(--volter-danger-faint);color:var(--volter-danger);border-color:var(--volter-danger)}.volter-banner[data-tone=success]{--volter-banner-tone-tint: var(--volter-success-muted);color:var(--volter-success);border-color:var(--volter-success)}[data-volter-chrome=islands] .volter-banner{background:linear-gradient(var(--volter-banner-tone-tint),var(--volter-banner-tone-tint)),var(--volter-island-surface, transparent);backdrop-filter:var(--volter-island-backdrop-filter, none);-webkit-backdrop-filter:var(--volter-island-backdrop-filter, none);text-shadow:var(--volter-content-text-shadow, none)}.volter-banner-icon{display:inline-flex;flex:0 0 auto}.volter-banner-content{min-width:0;flex:1;color:var(--volter-content-primary)}.volter-banner-actions{display:flex;flex:0 0 auto;align-items:center;gap:var(--volter-space-2)}.volter-popover{color:var(--volter-content-primary);background:var(--volter-glass-regular-bg, var(--volter-surface-chrome));border:var(--volter-stroke-resting) solid var(--volter-boundary-default);border-radius:var(--volter-radius-md);box-shadow:var(--volter-shadow-md)}.volter-drop-indicator{position:absolute;z-index:var(--volter-z-overlay-low);pointer-events:none;border:var(--volter-stroke-active) solid var(--volter-selection-border);background:var(--volter-selection-bg);box-sizing:border-box}.volter-drop-indicator[data-position=before]{inset:0 0 auto;height:var(--volter-stroke-active)}.volter-drop-indicator[data-position=after]{inset:auto 0 0;height:var(--volter-stroke-active)}.volter-drop-indicator[data-position=inside]{inset:1px;border-radius:var(--volter-radius-sm)}.volter-model-tree-item{text-align:left}.volter-btn.volter-project-tool-card{display:grid;width:100%;height:auto;align-items:start;justify-content:normal;gap:var(--volter-space-2);padding-block:var(--volter-space-3);text-align:left}.volter-resize-handle{position:relative;z-index:var(--volter-z-overlay-low);flex:0 0 5px;background:transparent;touch-action:none}.volter-resize-handle[data-orientation=vertical]{cursor:col-resize}.volter-resize-handle[data-orientation=horizontal]{cursor:row-resize}.volter-resize-handle:before{position:absolute;background:var(--volter-boundary-default);content:"";transition:background-color 80ms var(--volter-ease-standard),transform 80ms var(--volter-ease-standard)}.volter-resize-handle[data-orientation=vertical]:before{inset:0 auto 0 2px;width:1px}.volter-resize-handle[data-orientation=horizontal]:before{inset:2px 0 auto;height:1px}.volter-resize-handle:hover:before,.volter-resize-handle:focus-visible:before{background:var(--volter-selection-indicator)}.volter-resize-handle[data-orientation=vertical]:hover:before,.volter-resize-handle[data-orientation=vertical]:focus-visible:before{transform:scaleX(2)}.volter-resize-handle[data-orientation=horizontal]:hover:before,.volter-resize-handle[data-orientation=horizontal]:focus-visible:before{transform:scaleY(2)}.volter-editor-theme,.volter-editor-theme :where(*):not([data-volter-world-surface],[data-volter-world-surface] *){scrollbar-width:thin;scrollbar-color:var(--volter-bg-3) transparent}.volter-editor-theme::-webkit-scrollbar,.volter-editor-theme :where(*):not([data-volter-world-surface],[data-volter-world-surface] *)::-webkit-scrollbar{width:9px;height:9px}.volter-editor-theme::-webkit-scrollbar-track,.volter-editor-theme :where(*):not([data-volter-world-surface],[data-volter-world-surface] *)::-webkit-scrollbar-track{background:transparent}.volter-editor-theme::-webkit-scrollbar-thumb,.volter-editor-theme :where(*):not([data-volter-world-surface],[data-volter-world-surface] *)::-webkit-scrollbar-thumb{background-color:var(--volter-bg-3);border-radius:var(--volter-radius-full);border:2px solid var(--volter-bg-1);background-clip:padding-box}.volter-editor-theme::-webkit-scrollbar-thumb:hover,.volter-editor-theme :where(*):not([data-volter-world-surface],[data-volter-world-surface] *)::-webkit-scrollbar-thumb:hover{background-color:var(--volter-border-2)}.volter-editor-theme::-webkit-scrollbar-corner,.volter-editor-theme :where(*):not([data-volter-world-surface],[data-volter-world-surface] *)::-webkit-scrollbar-corner{background:transparent}@keyframes volter-editor-spin{to{transform:rotate(360deg)}}@keyframes volter-editor-blink{0%,to{opacity:1}50%{opacity:0}}.volter-anim-spin{animation:volter-editor-spin .8s linear infinite}.volter-anim-blink{animation:volter-editor-blink 1s step-end infinite}.volter-btn,.volter-list-button,.volter-split-button,.volter-menu,.volter-menu-trigger,.volter-field-trigger,.volter-inspector-group-trigger,.volter-status-action,.volter-toolbar,.volter-dock-document-toolbar,.volter-viewport-toolbar,.volter-floating-toolbar,.volter-playbar,.volter-project-assets-toolbar,.volter-section-header,.volter-tabs,.volter-tree-row,.volter-asset-tree-row,.volter-project-asset-entry,.volter-model-tree-item,.volter-number-input-label,.volter-number-input-scrub,.volter-scrub-label,.volter-resize-handle,[data-volter-noselect] button,[data-volter-noselect] [role=button]{user-select:none}[data-volter-noselect] input,[data-volter-noselect] textarea,[data-volter-noselect] [contenteditable=true],.volter-toolbar input,.volter-dock-document-toolbar input,.volter-project-assets-toolbar input,.volter-tree-row input,.volter-selectable-text{user-select:text}.volter-light-explorer{display:flex;flex-direction:column;min-width:0;height:100%;color:var(--volter-content-primary);background:var(--volter-surface-panel)}.volter-light-explorer-toolbar{display:flex;align-items:center;gap:var(--volter-space-2);min-height:38px;padding:var(--volter-space-2) var(--volter-space-3);border-bottom:var(--volter-stroke-resting) solid var(--volter-structural-divider)}.volter-light-explorer-toolbar>.volter-input{width:min(280px,38vw)}.volter-light-explorer-summary{margin-left:auto;color:var(--volter-content-muted);font-size:var(--volter-font-small);white-space:nowrap}.volter-light-explorer-scroll{min-height:0;flex:1;overflow:auto}.volter-light-explorer-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0;font-size:var(--volter-font-base)}.volter-light-explorer-table th{position:sticky;top:0;z-index:1;height:30px;padding:0 var(--volter-space-2);text-align:left;font-weight:var(--volter-font-weight-medium);color:var(--volter-content-muted);background:var(--volter-surface-raised);border-bottom:var(--volter-stroke-resting) solid var(--volter-structural-divider)}.volter-light-explorer-table td{height:34px;padding:var(--volter-space-1) var(--volter-space-2);border-bottom:var(--volter-stroke-resting) solid var(--volter-structural-divider);vertical-align:middle}.volter-light-explorer-table tbody tr[data-selected=true] td{background:var(--volter-selection-bg)}.volter-light-explorer-table tbody tr:hover td{background:var(--volter-neutral-hover)}.volter-light-explorer-table tbody tr[data-selected=true]:hover td{background:var(--volter-selection-bg)}.volter-light-explorer-check-column,.volter-light-explorer-table td:first-child,.volter-light-explorer-table td:last-child{width:54px;text-align:center}.volter-light-explorer-sort.volter-btn,.volter-light-explorer-name.volter-btn{justify-content:flex-start;min-width:0;padding-inline:0}.volter-light-explorer-name.volter-btn{width:100%;color:var(--volter-content-primary)}.volter-light-explorer-type,.volter-light-explorer-color span{color:var(--volter-content-muted);font-family:var(--volter-font-mono);font-size:var(--volter-font-small)}.volter-light-explorer-color{display:flex;align-items:center;gap:var(--volter-space-2);white-space:nowrap}.volter-light-explorer-table .volter-number-input{width:86px}.volter-light-explorer-unavailable{color:var(--volter-content-dim)}.volter-light-explorer-empty{padding:var(--volter-space-4);color:var(--volter-content-muted);font-style:italic}@media(prefers-reduced-motion:reduce){.volter-anim-spin,.volter-state-surface[data-tone=loading] .volter-state-surface-icon{animation-duration:1.6s;animation-timing-function:steps(8,end)}.volter-anim-blink{animation:none;opacity:1}.volter-resize-handle:before{transition-property:background-color}}.volter-project-work-conflict{color:var(--volter-warn);font-size:var(--volter-font-sm);text-align:left}
|