@mindexec/cli 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/README.md +275 -0
  2. package/codex-runtime.js +960 -0
  3. package/launch-bridge.cjs +162 -0
  4. package/package.json +61 -0
  5. package/port-guard.cjs +232 -0
  6. package/scripts/setup-tree-sitter-grammars.mjs +59 -0
  7. package/server.js +8422 -0
  8. package/start-bridge.bat +32 -0
  9. package/start-bridge.sh +81 -0
  10. package/tree-sitter-grammars/README.md +18 -0
  11. package/tree-sitter-grammars/tree-sitter-c_sharp.wasm +0 -0
  12. package/tree-sitter-grammars/tree-sitter-go.wasm +0 -0
  13. package/tree-sitter-grammars/tree-sitter-java.wasm +0 -0
  14. package/tree-sitter-grammars/tree-sitter-javascript.wasm +0 -0
  15. package/tree-sitter-grammars/tree-sitter-python.wasm +0 -0
  16. package/tree-sitter-grammars/tree-sitter-rust.wasm +0 -0
  17. package/tree-sitter-grammars/tree-sitter-tsx.wasm +0 -0
  18. package/tree-sitter-grammars/tree-sitter-typescript.wasm +0 -0
  19. package/wwwroot/MindExecution.Web.styles.css +3 -0
  20. package/wwwroot/_content/MindExecution.Plugins.Admin/css/admin-dashboard.css +546 -0
  21. package/wwwroot/_content/MindExecution.Plugins.Directory/MindExecution.Plugins.Directory.u7utcng611.bundle.scp.css +7 -0
  22. package/wwwroot/_content/MindExecution.Plugins.Directory/background.png +0 -0
  23. package/wwwroot/_content/MindExecution.Plugins.Directory/directory-manager.js +202 -0
  24. package/wwwroot/_content/MindExecution.Plugins.Directory/exampleJsInterop.js +6 -0
  25. package/wwwroot/_content/MindExecution.Plugins.YouTube/css/youtube-search.css +251 -0
  26. package/wwwroot/_content/MindExecution.Shared/MindExecution.Shared.wsano1j4wp.bundle.scp.css +4 -0
  27. package/wwwroot/_content/MindExecution.Shared/css/admin-dashboard.css +559 -0
  28. package/wwwroot/_content/MindExecution.Shared/css/app.css +1 -0
  29. package/wwwroot/_content/MindExecution.Shared/css/mind-map-overrides.css +2936 -0
  30. package/wwwroot/_content/MindExecution.Shared/fonts/NotoSansKR-Bold.ttf +0 -0
  31. package/wwwroot/_content/MindExecution.Shared/fonts/NotoSansKR-Regular.ttf +0 -0
  32. package/wwwroot/_content/MindExecution.Shared/js/agent-visualization.js +359 -0
  33. package/wwwroot/_content/MindExecution.Shared/js/background-themes.js +1721 -0
  34. package/wwwroot/_content/MindExecution.Shared/js/code-master.js +8316 -0
  35. package/wwwroot/_content/MindExecution.Shared/js/file-system-helper.js +639 -0
  36. package/wwwroot/_content/MindExecution.Shared/js/helpers/InfiniteGridHelper.js +109 -0
  37. package/wwwroot/_content/MindExecution.Shared/js/marked.min.js +69 -0
  38. package/wwwroot/_content/MindExecution.Shared/js/mind-map-core.js +7982 -0
  39. package/wwwroot/_content/MindExecution.Shared/js/mind-map-core.js.backup +1059 -0
  40. package/wwwroot/_content/MindExecution.Shared/js/mind-map-css3d-manager.js +15803 -0
  41. package/wwwroot/_content/MindExecution.Shared/js/mind-map-dev-guards.js +325 -0
  42. package/wwwroot/_content/MindExecution.Shared/js/mind-map-dnd.js +1430 -0
  43. package/wwwroot/_content/MindExecution.Shared/js/mind-map-dnd.js.bak +434 -0
  44. package/wwwroot/_content/MindExecution.Shared/js/mind-map-glow-shader.js +260 -0
  45. package/wwwroot/_content/MindExecution.Shared/js/mind-map-interactions.js +7640 -0
  46. package/wwwroot/_content/MindExecution.Shared/js/mind-map-lod-plan-worker.js +160 -0
  47. package/wwwroot/_content/MindExecution.Shared/js/mind-map-lod-renderer.js +9923 -0
  48. package/wwwroot/_content/MindExecution.Shared/js/mind-map-logic-workers.js +977 -0
  49. package/wwwroot/_content/MindExecution.Shared/js/mind-map-menu-manager.js +1431 -0
  50. package/wwwroot/_content/MindExecution.Shared/js/mind-map-multi-select.js +1716 -0
  51. package/wwwroot/_content/MindExecution.Shared/js/mind-map-node-search-worker.js +553 -0
  52. package/wwwroot/_content/MindExecution.Shared/js/mind-map-nodes.js +4541 -0
  53. package/wwwroot/_content/MindExecution.Shared/js/mind-map-object-manager.js +489 -0
  54. package/wwwroot/_content/MindExecution.Shared/js/mind-map-object-manager.js.backup +372 -0
  55. package/wwwroot/_content/MindExecution.Shared/js/mind-map-pipeline.js +2075 -0
  56. package/wwwroot/_content/MindExecution.Shared/js/mind-map-text-lod-system.js +646 -0
  57. package/wwwroot/_content/MindExecution.Shared/js/mind-map-text-overlay-v2.js +4323 -0
  58. package/wwwroot/_content/MindExecution.Shared/js/mind-map-texture-factory.js +2260 -0
  59. package/wwwroot/_content/MindExecution.Shared/js/mind-map-texture-factory.js.backup +1258 -0
  60. package/wwwroot/_content/MindExecution.Shared/js/mind-map-visibility-worker.js +890 -0
  61. package/wwwroot/_content/MindExecution.Shared/js/mindmap-toolbar.js +594 -0
  62. package/wwwroot/_content/MindExecution.Shared/js/native-drop-handler.js +170 -0
  63. package/wwwroot/_content/MindExecution.Shared/js/plan-master.js +788 -0
  64. package/wwwroot/_content/MindExecution.Shared/js/renderers/CSS3DRenderer.js +50 -0
  65. package/wwwroot/_content/MindExecution.Shared/js/texture-worker-manager.js +188 -0
  66. package/wwwroot/_content/MindExecution.Shared/js/texture-worker.js +208 -0
  67. package/wwwroot/_content/MindExecution.Shared/js/three.min.js +6 -0
  68. package/wwwroot/_content/MindExecution.Shared/js/titlebar-handler.js +191 -0
  69. package/wwwroot/_content/MindExecution.Shared/js/token-manager.js +37 -0
  70. package/wwwroot/_content/MindExecution.Shared/js/token-worker.js +28 -0
  71. package/wwwroot/_content/MindExecution.Shared/js/troika-bundle.js +5626 -0
  72. package/wwwroot/_content/MindExecution.Shared/js/troika-bundle.js.map +7 -0
  73. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/css/all.min.css +9 -0
  74. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/webfonts/fa-brands-400.ttf +0 -0
  75. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/webfonts/fa-brands-400.woff2 +0 -0
  76. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/webfonts/fa-regular-400.ttf +0 -0
  77. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/webfonts/fa-regular-400.woff2 +0 -0
  78. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/webfonts/fa-solid-900.ttf +0 -0
  79. package/wwwroot/_content/MindExecution.Shared/lib/font-awesome/webfonts/fa-solid-900.woff2 +0 -0
  80. package/wwwroot/_content/MindExecution.Shared/models/all-MiniLM-L6-v2-quantized.onnx +0 -0
  81. package/wwwroot/_content/MindExecution.Shared/models/vocab.txt +30522 -0
  82. package/wwwroot/_framework/Google.Protobuf.9h59ukbel7.dll +0 -0
  83. package/wwwroot/_framework/Markdig.d1j7v41cl1.dll +0 -0
  84. package/wwwroot/_framework/MessagePack.Annotations.l6qv48kgpt.dll +0 -0
  85. package/wwwroot/_framework/MessagePack.eqoptzx9d5.dll +0 -0
  86. package/wwwroot/_framework/Microsoft.AspNetCore.Authorization.k7dsih5y5g.dll +0 -0
  87. package/wwwroot/_framework/Microsoft.AspNetCore.Components.6nyje9sa0g.dll +0 -0
  88. package/wwwroot/_framework/Microsoft.AspNetCore.Components.Authorization.iycd6unprw.dll +0 -0
  89. package/wwwroot/_framework/Microsoft.AspNetCore.Components.Web.487u3twia4.dll +0 -0
  90. package/wwwroot/_framework/Microsoft.AspNetCore.Components.WebAssembly.d0gcnmlxxz.dll +0 -0
  91. package/wwwroot/_framework/Microsoft.AspNetCore.Metadata.h4yevl9adi.dll +0 -0
  92. package/wwwroot/_framework/Microsoft.CSharp.qrvp77qmhs.dll +0 -0
  93. package/wwwroot/_framework/Microsoft.Data.Sqlite.jdlxgv2jtg.dll +0 -0
  94. package/wwwroot/_framework/Microsoft.EntityFrameworkCore.4gjazp7kjf.dll +0 -0
  95. package/wwwroot/_framework/Microsoft.EntityFrameworkCore.Abstractions.gocudnvz7b.dll +0 -0
  96. package/wwwroot/_framework/Microsoft.EntityFrameworkCore.Relational.lt4rsvinuo.dll +0 -0
  97. package/wwwroot/_framework/Microsoft.EntityFrameworkCore.Sqlite.69luj0fa9r.dll +0 -0
  98. package/wwwroot/_framework/Microsoft.Extensions.Caching.Abstractions.364t4jh3zz.dll +0 -0
  99. package/wwwroot/_framework/Microsoft.Extensions.Caching.Memory.izlxhpzosu.dll +0 -0
  100. package/wwwroot/_framework/Microsoft.Extensions.Configuration.8zq7hh41o7.dll +0 -0
  101. package/wwwroot/_framework/Microsoft.Extensions.Configuration.Abstractions.8if74zs6ea.dll +0 -0
  102. package/wwwroot/_framework/Microsoft.Extensions.Configuration.Json.duvlngw8i0.dll +0 -0
  103. package/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.Abstractions.t2hh9kvx0o.dll +0 -0
  104. package/wwwroot/_framework/Microsoft.Extensions.DependencyInjection.n4tg99oy8l.dll +0 -0
  105. package/wwwroot/_framework/Microsoft.Extensions.DependencyModel.h0d06ixk3e.dll +0 -0
  106. package/wwwroot/_framework/Microsoft.Extensions.Logging.Abstractions.rl32bkx2sd.dll +0 -0
  107. package/wwwroot/_framework/Microsoft.Extensions.Logging.dlht1xei0t.dll +0 -0
  108. package/wwwroot/_framework/Microsoft.Extensions.Options.qeunebioml.dll +0 -0
  109. package/wwwroot/_framework/Microsoft.Extensions.Primitives.18cr6vnuuz.dll +0 -0
  110. package/wwwroot/_framework/Microsoft.IO.RecyclableMemoryStream.r915vovvw4.dll +0 -0
  111. package/wwwroot/_framework/Microsoft.IdentityModel.Abstractions.1ejljk3erv.dll +0 -0
  112. package/wwwroot/_framework/Microsoft.IdentityModel.JsonWebTokens.1596zr8gne.dll +0 -0
  113. package/wwwroot/_framework/Microsoft.IdentityModel.Logging.229uyvpgio.dll +0 -0
  114. package/wwwroot/_framework/Microsoft.IdentityModel.Tokens.9sibtajc9f.dll +0 -0
  115. package/wwwroot/_framework/Microsoft.JSInterop.17lq4j1j7g.dll +0 -0
  116. package/wwwroot/_framework/Microsoft.JSInterop.WebAssembly.ryia5gxiad.dll +0 -0
  117. package/wwwroot/_framework/Microsoft.ML.OnnxRuntime.w9deo1m5ss.dll +0 -0
  118. package/wwwroot/_framework/Microsoft.ML.Tokenizers.cm2vuv2z61.dll +0 -0
  119. package/wwwroot/_framework/Microsoft.NET.StringTools.3qbrf4v2ki.dll +0 -0
  120. package/wwwroot/_framework/MimeMapping.og9ys58ylm.dll +0 -0
  121. package/wwwroot/_framework/MindExecution.Core.1q1trifbuu.dll +0 -0
  122. package/wwwroot/_framework/MindExecution.Kernel.gwwc40sc45.dll +0 -0
  123. package/wwwroot/_framework/MindExecution.Plugins.Admin.0jgrn1sckv.dll +0 -0
  124. package/wwwroot/_framework/MindExecution.Plugins.Business.13mme2qcag.dll +0 -0
  125. package/wwwroot/_framework/MindExecution.Plugins.Concept.dfp2mdt45q.dll +0 -0
  126. package/wwwroot/_framework/MindExecution.Plugins.Directory.3w4t6n3se0.dll +0 -0
  127. package/wwwroot/_framework/MindExecution.Plugins.PlanMaster.s0qpntz420.dll +0 -0
  128. package/wwwroot/_framework/MindExecution.Plugins.YouTube.iu11fq8d16.dll +0 -0
  129. package/wwwroot/_framework/MindExecution.Shared.7j27dcqnrc.dll +0 -0
  130. package/wwwroot/_framework/MindExecution.Web.pq1ty8ov2v.dll +0 -0
  131. package/wwwroot/_framework/Newtonsoft.Json.a56zs13vug.dll +0 -0
  132. package/wwwroot/_framework/SQLitePCLRaw.batteries_v2.rrd1nzawpp.dll +0 -0
  133. package/wwwroot/_framework/SQLitePCLRaw.core.1dxloztpfz.dll +0 -0
  134. package/wwwroot/_framework/SQLitePCLRaw.provider.e_sqlite3.oekyzl53i1.dll +0 -0
  135. package/wwwroot/_framework/Supabase.Core.s1pkj4aj0l.dll +0 -0
  136. package/wwwroot/_framework/Supabase.Functions.qz4nu782sg.dll +0 -0
  137. package/wwwroot/_framework/Supabase.Gotrue.twah27pkik.dll +0 -0
  138. package/wwwroot/_framework/Supabase.Postgrest.gmuuv369ih.dll +0 -0
  139. package/wwwroot/_framework/Supabase.Realtime.ox3kchdy3w.dll +0 -0
  140. package/wwwroot/_framework/Supabase.Storage.fnjnepaowr.dll +0 -0
  141. package/wwwroot/_framework/Supabase.azmaw5pgcz.dll +0 -0
  142. package/wwwroot/_framework/System.Collections.Concurrent.y1zmvuyipi.dll +0 -0
  143. package/wwwroot/_framework/System.Collections.Immutable.ug3j698qms.dll +0 -0
  144. package/wwwroot/_framework/System.Collections.NonGeneric.h66hj3863h.dll +0 -0
  145. package/wwwroot/_framework/System.Collections.Specialized.umr3y27ntj.dll +0 -0
  146. package/wwwroot/_framework/System.Collections.x53e19vfsj.dll +0 -0
  147. package/wwwroot/_framework/System.ComponentModel.Annotations.tz6gnt4ebt.dll +0 -0
  148. package/wwwroot/_framework/System.ComponentModel.Primitives.j7tiphu4rg.dll +0 -0
  149. package/wwwroot/_framework/System.ComponentModel.TypeConverter.ujlztox1gx.dll +0 -0
  150. package/wwwroot/_framework/System.ComponentModel.x9xz0ojfb6.dll +0 -0
  151. package/wwwroot/_framework/System.Console.ijzpqmj7ne.dll +0 -0
  152. package/wwwroot/_framework/System.Data.Common.1r0sqffq1p.dll +0 -0
  153. package/wwwroot/_framework/System.Diagnostics.DiagnosticSource.9upoqwq09o.dll +0 -0
  154. package/wwwroot/_framework/System.Diagnostics.Process.m99azzntjm.dll +0 -0
  155. package/wwwroot/_framework/System.Diagnostics.TraceSource.pl7wv26myr.dll +0 -0
  156. package/wwwroot/_framework/System.Diagnostics.Tracing.crlhfx6tut.dll +0 -0
  157. package/wwwroot/_framework/System.Drawing.Primitives.22e4y9ikq9.dll +0 -0
  158. package/wwwroot/_framework/System.Drawing.mi7d8hwowb.dll +0 -0
  159. package/wwwroot/_framework/System.Formats.Asn1.jx23sjiqnn.dll +0 -0
  160. package/wwwroot/_framework/System.IO.Compression.6fyoii3uej.dll +0 -0
  161. package/wwwroot/_framework/System.IO.Pipelines.vg77t4cd4d.dll +0 -0
  162. package/wwwroot/_framework/System.IdentityModel.Tokens.Jwt.t67es60z5b.dll +0 -0
  163. package/wwwroot/_framework/System.Linq.1bkoxlqgmq.dll +0 -0
  164. package/wwwroot/_framework/System.Linq.Expressions.24xqiypwdt.dll +0 -0
  165. package/wwwroot/_framework/System.Linq.Queryable.hvd01d6rsa.dll +0 -0
  166. package/wwwroot/_framework/System.Memory.8dx3lwgym4.dll +0 -0
  167. package/wwwroot/_framework/System.Net.Http.Json.3mhdm9l1rf.dll +0 -0
  168. package/wwwroot/_framework/System.Net.Http.eitrz660my.dll +0 -0
  169. package/wwwroot/_framework/System.Net.NetworkInformation.3pkuofcv9r.dll +0 -0
  170. package/wwwroot/_framework/System.Net.Ping.8clj5pklrp.dll +0 -0
  171. package/wwwroot/_framework/System.Net.Primitives.qrp4wcjz1p.dll +0 -0
  172. package/wwwroot/_framework/System.Net.WebSockets.Client.2u6pv01g69.dll +0 -0
  173. package/wwwroot/_framework/System.Net.WebSockets.qp6u31zvm5.dll +0 -0
  174. package/wwwroot/_framework/System.Numerics.Tensors.0c7z4mt3on.dll +0 -0
  175. package/wwwroot/_framework/System.Numerics.Vectors.kc7ufp2j4l.dll +0 -0
  176. package/wwwroot/_framework/System.ObjectModel.qv82fot1ib.dll +0 -0
  177. package/wwwroot/_framework/System.Private.CoreLib.rkafq04oma.dll +0 -0
  178. package/wwwroot/_framework/System.Private.Uri.t9542hmr6j.dll +0 -0
  179. package/wwwroot/_framework/System.Private.Xml.Linq.n8n3ptrbwu.dll +0 -0
  180. package/wwwroot/_framework/System.Private.Xml.rxd3tytisn.dll +0 -0
  181. package/wwwroot/_framework/System.Reactive.t3fuon548l.dll +0 -0
  182. package/wwwroot/_framework/System.Reflection.Emit.9tjhp6y0j3.dll +0 -0
  183. package/wwwroot/_framework/System.Reflection.Emit.ILGeneration.stxyk8zoo1.dll +0 -0
  184. package/wwwroot/_framework/System.Reflection.Emit.Lightweight.6xrd5v8vg0.dll +0 -0
  185. package/wwwroot/_framework/System.Reflection.Primitives.wgn8fpwwvv.dll +0 -0
  186. package/wwwroot/_framework/System.Runtime.InteropServices.JavaScript.sliym526xh.dll +0 -0
  187. package/wwwroot/_framework/System.Runtime.InteropServices.RuntimeInformation.oji7zut14z.dll +0 -0
  188. package/wwwroot/_framework/System.Runtime.InteropServices.te07xr2we9.dll +0 -0
  189. package/wwwroot/_framework/System.Runtime.Intrinsics.507y4h8nzq.dll +0 -0
  190. package/wwwroot/_framework/System.Runtime.Loader.v7gk4bse0k.dll +0 -0
  191. package/wwwroot/_framework/System.Runtime.Numerics.eqy5xjv3nd.dll +0 -0
  192. package/wwwroot/_framework/System.Runtime.Serialization.Formatters.zpkrub8lab.dll +0 -0
  193. package/wwwroot/_framework/System.Runtime.Serialization.Primitives.vhkpnbxjip.dll +0 -0
  194. package/wwwroot/_framework/System.Runtime.jn319d5nyg.dll +0 -0
  195. package/wwwroot/_framework/System.Security.Claims.0ztig1q9vo.dll +0 -0
  196. package/wwwroot/_framework/System.Security.Cryptography.vttizqc9ho.dll +0 -0
  197. package/wwwroot/_framework/System.Text.Encoding.Extensions.utdd47ny8f.dll +0 -0
  198. package/wwwroot/_framework/System.Text.Encodings.Web.wah8r1zoe0.dll +0 -0
  199. package/wwwroot/_framework/System.Text.Json.kxlfxj0wrs.dll +0 -0
  200. package/wwwroot/_framework/System.Text.RegularExpressions.dbqn58klox.dll +0 -0
  201. package/wwwroot/_framework/System.Threading.42ao9vi047.dll +0 -0
  202. package/wwwroot/_framework/System.Threading.Channels.hfa7j0uv2w.dll +0 -0
  203. package/wwwroot/_framework/System.Threading.Thread.caul0pdqul.dll +0 -0
  204. package/wwwroot/_framework/System.Transactions.Local.fimi2hamzo.dll +0 -0
  205. package/wwwroot/_framework/System.Web.HttpUtility.gq8yz50p2e.dll +0 -0
  206. package/wwwroot/_framework/System.Xml.Linq.kitin4zjoj.dll +0 -0
  207. package/wwwroot/_framework/System.Xml.ReaderWriter.kzvw3qgxb0.dll +0 -0
  208. package/wwwroot/_framework/System.Xml.XDocument.c539ki6cuq.dll +0 -0
  209. package/wwwroot/_framework/System.m05i39uvk9.dll +0 -0
  210. package/wwwroot/_framework/Websocket.Client.vapounvmnl.dll +0 -0
  211. package/wwwroot/_framework/blazor.boot.json +305 -0
  212. package/wwwroot/_framework/blazor.webassembly.js +1 -0
  213. package/wwwroot/_framework/dotnet.js +4 -0
  214. package/wwwroot/_framework/dotnet.native.vz0adxojrz.wasm +0 -0
  215. package/wwwroot/_framework/dotnet.native.xsn1d6x2kd.js +16 -0
  216. package/wwwroot/_framework/dotnet.runtime.dstopyvqzi.js +4 -0
  217. package/wwwroot/_framework/icudt_CJK.tjcz0u77k5.dat +0 -0
  218. package/wwwroot/_framework/icudt_EFIGS.tptq2av103.dat +0 -0
  219. package/wwwroot/_framework/icudt_no_CJK.lfu7j35m59.dat +0 -0
  220. package/wwwroot/_framework/netstandard.0xet7jg7ky.dll +0 -0
  221. package/wwwroot/_headers +40 -0
  222. package/wwwroot/_redirects +1 -0
  223. package/wwwroot/appsettings.json +71 -0
  224. package/wwwroot/icon-192.png +0 -0
  225. package/wwwroot/icon-512.png +0 -0
  226. package/wwwroot/index.html +710 -0
  227. package/wwwroot/js/marketing-tool.js +180 -0
  228. package/wwwroot/manifest.webmanifest +22 -0
  229. package/wwwroot/robots.txt +4 -0
  230. package/wwwroot/service-worker-assets.js +857 -0
  231. package/wwwroot/service-worker.js +33 -0
  232. package/wwwroot/sitemap.xml +27 -0
@@ -0,0 +1,2936 @@
1
+ /* =================================================================
2
+ CSS3D Performance Optimization for 60fps
3
+ ================================================================= */
4
+
5
+ /* ▼▼▼ [CRITICAL] Layout Containment - Isolate reflow/repaint ▼▼▼ */
6
+ .map-node,
7
+ .map-node-bubble,
8
+ .map-node-note,
9
+ .map-node-memo,
10
+ .map-node-file,
11
+ .map-node-image,
12
+ .map-node-code {
13
+ box-sizing: border-box !important;
14
+ /* contain: strict = size + layout + paint + style 모두 격리 */
15
+ /* 노드 내부 변경이 부모/형제 레이아웃에 영향을 주지 않음 */
16
+ contain: strict;
17
+ /* content-visibility: auto - 화면 밖 노드는 렌더링 건너뜀 */
18
+ /* contain-intrinsic-size로 예상 크기 힌트 제공 */
19
+ content-visibility: auto;
20
+ contain-intrinsic-size: 200px 100px;
21
+ }
22
+
23
+ /*
24
+ * CSS3D로 실제 표시되는 클론은 3D transform 아래에 놓이므로
25
+ * content-visibility:auto 가 페인트를 통째로 건너뛰는 경우가 있다.
26
+ * 템플릿 DOM에는 최적화를 유지하되, 렌더 중인 CSS3D 클론만 강제로 visible 처리한다.
27
+ */
28
+ .css3d-resolution-wrapper > .map-node,
29
+ .css3d-resolution-wrapper > .map-node-bubble,
30
+ .css3d-resolution-wrapper > .map-node-note,
31
+ .css3d-resolution-wrapper > .map-node-memo,
32
+ .css3d-resolution-wrapper > .map-node-file,
33
+ .css3d-resolution-wrapper > .map-node-image,
34
+ .css3d-resolution-wrapper > .map-node-code {
35
+ content-visibility: visible !important;
36
+ contain-intrinsic-size: auto !important;
37
+ }
38
+
39
+ .css3d-resolution-wrapper.node-type-image > .map-node,
40
+ .css3d-resolution-wrapper.node-type-video > .map-node,
41
+ .css3d-resolution-wrapper.node-type-embed > .map-node {
42
+ contain: none !important;
43
+ content-visibility: visible !important;
44
+ contain-intrinsic-size: auto !important;
45
+ isolation: isolate !important;
46
+ transform-style: flat !important;
47
+ transform: none !important;
48
+ will-change: auto !important;
49
+ -webkit-backface-visibility: visible !important;
50
+ backface-visibility: visible !important;
51
+ }
52
+
53
+ /* ▲▲▲ [CRITICAL] ▲▲▲ */
54
+
55
+ :root {
56
+ --mind-node-selection-edge: #2563eb;
57
+ --mind-node-selection-edge-rgb: 37, 99, 235;
58
+ --mind-node-selection-glow-rgb: 59, 130, 246;
59
+ --mind-node-selection-glow-soft-rgb: 191, 219, 254;
60
+ --node-selection-glow-rgb: 59, 130, 246;
61
+ --node-selection-glow-rgb-soft: 191, 219, 254;
62
+ }
63
+
64
+ html.mind-map-scroll-locked,
65
+ body.mind-map-scroll-locked {
66
+ height: 100%;
67
+ overflow: hidden !important;
68
+ overscroll-behavior: none;
69
+ }
70
+
71
+ /* ▼▼▼ [GPU Compositing] Force hardware acceleration ▼▼▼ */
72
+ .css3d-resolution-wrapper,
73
+ .map-node,
74
+ .map-node-bubble,
75
+ .map-node-note,
76
+ .map-node-memo,
77
+ .map-node-code {
78
+ -webkit-backface-visibility: hidden;
79
+ backface-visibility: hidden;
80
+ /* 텍스트 렌더링 품질 */
81
+ -webkit-font-smoothing: antialiased;
82
+ -moz-osx-font-smoothing: grayscale;
83
+ /* 서브픽셀 정렬로 흐림 방지 */
84
+ transform: translateZ(0);
85
+ }
86
+
87
+ .css3d-resolution-wrapper.node-type-image img,
88
+ .css3d-resolution-wrapper.node-type-video video,
89
+ .css3d-resolution-wrapper.node-type-embed iframe,
90
+ .css3d-resolution-wrapper.node-type-embed .embed-card {
91
+ -webkit-backface-visibility: visible !important;
92
+ backface-visibility: visible !important;
93
+ transform: none !important;
94
+ will-change: auto !important;
95
+ }
96
+
97
+ .css3d-resolution-wrapper.node-type-image .image-content,
98
+ .css3d-resolution-wrapper.node-type-video .video-content {
99
+ position: relative !important;
100
+ display: block !important;
101
+ overflow: hidden !important;
102
+ transform: none !important;
103
+ will-change: auto !important;
104
+ }
105
+
106
+ .css3d-resolution-wrapper.node-type-image .image-content > img,
107
+ .css3d-resolution-wrapper.node-type-video .video-content > video {
108
+ position: absolute !important;
109
+ inset: 0 !important;
110
+ display: block !important;
111
+ width: 100% !important;
112
+ height: 100% !important;
113
+ min-width: 100% !important;
114
+ min-height: 100% !important;
115
+ flex: none !important;
116
+ object-position: center center !important;
117
+ }
118
+
119
+ .css3d-resolution-wrapper.node-type-video .video-content > canvas.mind-map-video-proxy {
120
+ position: absolute !important;
121
+ inset: 0 !important;
122
+ display: none !important;
123
+ width: 100% !important;
124
+ height: 100% !important;
125
+ min-width: 100% !important;
126
+ min-height: 100% !important;
127
+ pointer-events: none !important;
128
+ background: transparent !important;
129
+ }
130
+
131
+ .css3d-resolution-wrapper.node-type-video .video-content.mind-map-video-proxy-active > canvas.mind-map-video-proxy {
132
+ display: block !important;
133
+ }
134
+
135
+ .css3d-resolution-wrapper.node-type-video .video-content.mind-map-video-proxy-active > video {
136
+ inset: auto !important;
137
+ left: -200vw !important;
138
+ top: -200vh !important;
139
+ width: 1px !important;
140
+ height: 1px !important;
141
+ min-width: 1px !important;
142
+ min-height: 1px !important;
143
+ opacity: 0 !important;
144
+ pointer-events: none !important;
145
+ }
146
+
147
+ body.mind-debug-video-hide-surface .css3d-resolution-wrapper.node-type-video .video-content > video {
148
+ display: none !important;
149
+ }
150
+
151
+ body.mind-debug-video-tint-layout .css3d-resolution-wrapper.node-type-video .video-content {
152
+ position: relative !important;
153
+ background: rgba(251, 113, 133, 0.24) !important;
154
+ outline: 2px dashed rgba(251, 113, 133, 0.92) !important;
155
+ outline-offset: -2px !important;
156
+ }
157
+
158
+ body.mind-debug-video-tint-layout .css3d-resolution-wrapper.node-type-video .video-content > video {
159
+ background: transparent !important;
160
+ }
161
+
162
+ body.mind-debug-video-tint-layout .css3d-resolution-wrapper.node-type-video .video-content::before {
163
+ content: '';
164
+ position: absolute;
165
+ left: var(--mind-debug-video-draw-left, 0px);
166
+ top: var(--mind-debug-video-draw-top, 0px);
167
+ width: var(--mind-debug-video-draw-width, 100%);
168
+ height: var(--mind-debug-video-draw-height, 100%);
169
+ border: 2px dashed rgba(45, 212, 191, 0.95);
170
+ background: rgba(45, 212, 191, 0.14);
171
+ box-sizing: border-box;
172
+ pointer-events: none;
173
+ z-index: 2;
174
+ }
175
+
176
+ body.mind-debug-video-tint-layout .css3d-resolution-wrapper.node-type-video .video-content::after {
177
+ content: attr(data-debug-video-layout);
178
+ position: absolute;
179
+ left: 6px;
180
+ bottom: 6px;
181
+ padding: 2px 6px;
182
+ border-radius: 4px;
183
+ background: rgba(15, 23, 42, 0.82);
184
+ color: #f8fafc;
185
+ font: 11px/1.25 Consolas, 'Courier New', monospace;
186
+ white-space: nowrap;
187
+ pointer-events: none;
188
+ z-index: 3;
189
+ }
190
+
191
+ /* ▲▲▲ [GPU Compositing] ▲▲▲ */
192
+
193
+ /* ▼▼▼ [Fix] Disable transform transition to prevent initial position tweening ▼▼▼ */
194
+ .css3d-resolution-wrapper {
195
+ -webkit-transition: none !important;
196
+ transition: none !important;
197
+ }
198
+ /* ▲▲▲ [Fix] ▲▲▲ */
199
+
200
+ body.is-zooming .css3d-resolution-wrapper,
201
+ body.is-panning .css3d-resolution-wrapper {
202
+ -webkit-transition: none !important;
203
+ transition: none !important;
204
+ }
205
+
206
+ body.is-zooming .css3d-resolution-wrapper.selected,
207
+ body.is-panning .css3d-resolution-wrapper.selected,
208
+ body.mindcanvas-is-moving .css3d-resolution-wrapper.selected,
209
+ body.mindcanvas-is-dense .css3d-resolution-wrapper.selected {
210
+ -webkit-filter: saturate(1.08) !important;
211
+ filter: saturate(1.08) !important;
212
+ }
213
+
214
+ body.is-resizing .css3d-resolution-wrapper {
215
+ -webkit-transition: none !important;
216
+ transition: none !important;
217
+ }
218
+
219
+ body.is-zooming .node-menu-wrapper,
220
+ body.is-panning .node-menu-wrapper,
221
+ body.is-zooming .map-node-memo__icon-popover,
222
+ body.is-panning .map-node-memo__icon-popover {
223
+ -webkit-backdrop-filter: none !important;
224
+ backdrop-filter: none !important;
225
+ -webkit-box-shadow: none !important;
226
+ box-shadow: none !important;
227
+ -webkit-transition: none !important;
228
+ transition: none !important;
229
+ }
230
+
231
+ .mindcanvas-node-toolbar,
232
+ .global-ai-input-shell {
233
+ position: relative;
234
+ isolation: isolate;
235
+ overflow: hidden;
236
+ }
237
+
238
+ .mindcanvas-toolbar-stack > .mindcanvas-node-toolbar {
239
+ pointer-events: auto;
240
+ }
241
+
242
+ .mindcanvas-node-toolbar {
243
+ border-color: rgba(203, 213, 225, 0.68) !important;
244
+ background:
245
+ linear-gradient(180deg, rgba(255, 255, 255, 0.62), rgba(241, 245, 249, 0.36)) !important;
246
+ -webkit-backdrop-filter: blur(18px) saturate(1.18);
247
+ backdrop-filter: blur(18px) saturate(1.18);
248
+ box-shadow:
249
+ 0 14px 28px rgba(15, 23, 42, 0.08),
250
+ 0 2px 10px rgba(148, 163, 184, 0.14),
251
+ inset 0 1px 0 rgba(255, 255, 255, 0.82),
252
+ inset 0 0 0 1px rgba(255, 255, 255, 0.22);
253
+ overflow: visible !important;
254
+ }
255
+
256
+ .mindcanvas-toolbar-button-shell {
257
+ position: relative;
258
+ display: inline-flex;
259
+ align-items: center;
260
+ justify-content: center;
261
+ flex: 0 0 auto;
262
+ }
263
+
264
+ .mindcanvas-node-toolbar > .mindcanvas-toolbar-button-shell:has(.mindcanvas-toolbar-hint) {
265
+ z-index: 90;
266
+ }
267
+
268
+ .mindcanvas-ai-task-template-anchor {
269
+ position: relative;
270
+ display: inline-flex;
271
+ align-items: center;
272
+ gap: 0;
273
+ z-index: 3;
274
+ }
275
+
276
+ .mindcanvas-ai-task-template-menu {
277
+ position: absolute;
278
+ top: calc(100% + 8px);
279
+ left: 50%;
280
+ z-index: 90;
281
+ display: grid;
282
+ min-width: 196px;
283
+ padding: 6px;
284
+ border-radius: 8px;
285
+ border: 1px solid rgba(203, 213, 225, 0.86);
286
+ background: rgba(255, 255, 255, 0.96);
287
+ box-shadow:
288
+ 0 20px 44px rgba(15, 23, 42, 0.16),
289
+ 0 4px 12px rgba(15, 23, 42, 0.08),
290
+ inset 0 1px 0 rgba(255, 255, 255, 0.92);
291
+ transform: translateX(-50%);
292
+ -webkit-backdrop-filter: blur(16px) saturate(1.08);
293
+ backdrop-filter: blur(16px) saturate(1.08);
294
+ }
295
+
296
+ .mindcanvas-ai-task-template-menu__item {
297
+ position: relative;
298
+ display: grid;
299
+ grid-template-columns: 22px minmax(0, 1fr);
300
+ align-items: center;
301
+ gap: 8px;
302
+ min-height: 34px;
303
+ padding: 0 10px;
304
+ border-radius: 6px;
305
+ color: #334155;
306
+ font-size: 12px;
307
+ font-weight: 700;
308
+ letter-spacing: 0;
309
+ text-align: left;
310
+ white-space: nowrap;
311
+ }
312
+
313
+ .mindcanvas-ai-task-template-menu__item:hover,
314
+ .mindcanvas-ai-task-template-menu__item:focus-visible {
315
+ background: rgba(219, 234, 254, 0.72);
316
+ color: #1d4ed8;
317
+ }
318
+
319
+ .mindcanvas-ai-task-template-menu__item i {
320
+ width: 18px;
321
+ text-align: center;
322
+ font-size: 13px;
323
+ }
324
+
325
+ .mindcanvas-ai-task-template-menu__hint {
326
+ position: absolute;
327
+ top: 50%;
328
+ left: calc(100% + 10px);
329
+ z-index: 130;
330
+ display: grid;
331
+ width: max-content;
332
+ min-width: 214px;
333
+ max-width: min(300px, calc(100vw - 32px));
334
+ padding: 9px 12px;
335
+ border-radius: 12px;
336
+ border: 1px solid rgba(203, 213, 225, 0.82);
337
+ background:
338
+ linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.88));
339
+ box-shadow:
340
+ 0 14px 38px rgba(15, 23, 42, 0.16),
341
+ 0 3px 10px rgba(15, 23, 42, 0.08),
342
+ inset 0 1px 0 rgba(255, 255, 255, 0.88);
343
+ color: #334155;
344
+ pointer-events: none;
345
+ white-space: normal;
346
+ opacity: 0;
347
+ visibility: hidden;
348
+ transform: translateX(-4px) translateY(-50%);
349
+ transition: opacity 120ms ease, transform 120ms ease, visibility 120ms ease;
350
+ -webkit-backdrop-filter: blur(16px) saturate(1.08);
351
+ backdrop-filter: blur(16px) saturate(1.08);
352
+ }
353
+
354
+ .mindcanvas-ai-task-template-menu__hint::before {
355
+ content: "";
356
+ position: absolute;
357
+ top: 50%;
358
+ left: -5px;
359
+ width: 10px;
360
+ height: 10px;
361
+ border-left: 1px solid rgba(203, 213, 225, 0.82);
362
+ border-bottom: 1px solid rgba(203, 213, 225, 0.82);
363
+ background: linear-gradient(225deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.88));
364
+ transform: translateY(-50%) rotate(45deg);
365
+ }
366
+
367
+ .mindcanvas-ai-task-template-menu__hint-title {
368
+ font-size: 13px;
369
+ font-weight: 800;
370
+ color: #0f172a;
371
+ }
372
+
373
+ .mindcanvas-ai-task-template-menu__hint-description {
374
+ margin-top: 4px;
375
+ font-size: 12px;
376
+ font-weight: 600;
377
+ line-height: 1.5;
378
+ color: #64748b;
379
+ }
380
+
381
+ .mindcanvas-ai-task-template-menu__item:hover .mindcanvas-ai-task-template-menu__hint,
382
+ .mindcanvas-ai-task-template-menu__item:focus-visible .mindcanvas-ai-task-template-menu__hint {
383
+ opacity: 1;
384
+ visibility: visible;
385
+ transform: translateX(0) translateY(-50%);
386
+ }
387
+
388
+ .mindcanvas-toolbar-button-shell:has(.mindcanvas-toolbar-menu) {
389
+ z-index: 120;
390
+ }
391
+
392
+ .mindcanvas-node-toolbar__button--active,
393
+ .mindcanvas-node-toolbar__button--menu[aria-expanded="true"] {
394
+ color: #1d4ed8 !important;
395
+ background: rgba(219, 234, 254, 0.78) !important;
396
+ box-shadow:
397
+ 0 8px 18px rgba(37, 99, 235, 0.12),
398
+ inset 0 1px 0 rgba(255, 255, 255, 0.72);
399
+ }
400
+
401
+ .mindcanvas-toolbar-menu {
402
+ position: absolute;
403
+ top: calc(100% + 9px);
404
+ left: 50%;
405
+ z-index: 120;
406
+ display: grid;
407
+ gap: 7px;
408
+ width: min(356px, calc(100vw - 32px));
409
+ padding: 10px;
410
+ border-radius: 8px;
411
+ border: 1px solid rgba(203, 213, 225, 0.88);
412
+ background: rgba(255, 255, 255, 0.97);
413
+ box-shadow:
414
+ 0 22px 48px rgba(15, 23, 42, 0.18),
415
+ 0 5px 14px rgba(15, 23, 42, 0.08),
416
+ inset 0 1px 0 rgba(255, 255, 255, 0.92);
417
+ transform: translateX(-50%);
418
+ -webkit-backdrop-filter: blur(18px) saturate(1.1);
419
+ backdrop-filter: blur(18px) saturate(1.1);
420
+ }
421
+
422
+ .mindcanvas-toolbar-menu--tools {
423
+ width: min(320px, calc(100vw - 32px));
424
+ }
425
+
426
+ .mindcanvas-toolbar-menu__title {
427
+ padding: 0 2px 2px;
428
+ color: #0f172a;
429
+ font-size: 12px;
430
+ font-weight: 850;
431
+ letter-spacing: 0;
432
+ }
433
+
434
+ .mindcanvas-toolbar-menu__format-list {
435
+ display: grid;
436
+ grid-template-columns: repeat(3, minmax(0, 1fr));
437
+ gap: 6px;
438
+ }
439
+
440
+ .mindcanvas-toolbar-menu__format {
441
+ display: inline-flex;
442
+ align-items: center;
443
+ justify-content: center;
444
+ gap: 5px;
445
+ min-height: 30px;
446
+ padding: 0 7px;
447
+ border-radius: 6px;
448
+ border: 1px solid rgba(203, 213, 225, 0.78);
449
+ background: rgba(248, 250, 252, 0.9);
450
+ color: #334155;
451
+ font-size: 11px;
452
+ font-weight: 780;
453
+ white-space: nowrap;
454
+ }
455
+
456
+ .mindcanvas-toolbar-menu__format i {
457
+ width: 13px;
458
+ text-align: center;
459
+ color: #2563eb;
460
+ }
461
+
462
+ .mindcanvas-toolbar-menu__action {
463
+ display: grid;
464
+ grid-template-columns: 28px minmax(0, 1fr);
465
+ align-items: center;
466
+ gap: 9px;
467
+ min-height: 46px;
468
+ width: 100%;
469
+ padding: 8px 10px;
470
+ border: 1px solid transparent;
471
+ border-radius: 7px;
472
+ background: transparent;
473
+ color: #334155;
474
+ text-align: left;
475
+ cursor: pointer;
476
+ }
477
+
478
+ .mindcanvas-toolbar-menu__action:hover,
479
+ .mindcanvas-toolbar-menu__action:focus-visible {
480
+ border-color: rgba(191, 219, 254, 0.8);
481
+ background: rgba(239, 246, 255, 0.86);
482
+ color: #1d4ed8;
483
+ outline: none;
484
+ }
485
+
486
+ .mindcanvas-toolbar-menu__action--primary {
487
+ border-color: rgba(147, 197, 253, 0.68);
488
+ background: rgba(239, 246, 255, 0.82);
489
+ }
490
+
491
+ .mindcanvas-toolbar-menu__action i,
492
+ .mindcanvas-toolbar-menu__guide i {
493
+ width: 22px;
494
+ color: #2563eb;
495
+ text-align: center;
496
+ font-size: 14px;
497
+ }
498
+
499
+ .mindcanvas-toolbar-menu__action span {
500
+ display: grid;
501
+ min-width: 0;
502
+ gap: 2px;
503
+ }
504
+
505
+ .mindcanvas-toolbar-menu__action strong {
506
+ color: inherit;
507
+ font-size: 12px;
508
+ font-weight: 820;
509
+ letter-spacing: 0;
510
+ line-height: 1.15;
511
+ }
512
+
513
+ .mindcanvas-toolbar-menu__action small {
514
+ color: #64748b;
515
+ font-size: 11px;
516
+ font-weight: 620;
517
+ line-height: 1.3;
518
+ }
519
+
520
+ .mindcanvas-toolbar-menu__guide {
521
+ display: grid;
522
+ grid-template-columns: 28px minmax(0, 1fr);
523
+ align-items: center;
524
+ gap: 9px;
525
+ min-height: 30px;
526
+ padding: 4px 10px;
527
+ border-radius: 6px;
528
+ color: #475569;
529
+ font-size: 11px;
530
+ font-weight: 690;
531
+ line-height: 1.3;
532
+ }
533
+
534
+ .mindcanvas-toolbar-menu__section-label {
535
+ margin-top: 2px;
536
+ padding: 8px 2px 0;
537
+ border-top: 1px solid rgba(226, 232, 240, 0.9);
538
+ color: #64748b;
539
+ font-size: 10px;
540
+ font-weight: 840;
541
+ letter-spacing: 0;
542
+ text-transform: uppercase;
543
+ }
544
+
545
+ .mindcanvas-node-toolbar::before,
546
+ .global-ai-input-shell::before {
547
+ content: '';
548
+ position: absolute;
549
+ inset: 1px;
550
+ border-radius: inherit;
551
+ pointer-events: none;
552
+ background:
553
+ radial-gradient(circle at top left, rgba(255, 255, 255, 0.68), transparent 42%),
554
+ linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.03));
555
+ opacity: 0.9;
556
+ z-index: 0;
557
+ }
558
+
559
+ .mindcanvas-node-toolbar > *,
560
+ .global-ai-input-shell > * {
561
+ position: relative;
562
+ z-index: 1;
563
+ }
564
+
565
+ .global-ai-input-shell {
566
+ overflow: visible;
567
+ border-color: rgba(203, 213, 225, 0.66) !important;
568
+ background:
569
+ linear-gradient(180deg, rgba(248, 250, 252, 0.62), rgba(226, 232, 240, 0.36)) !important;
570
+ -webkit-backdrop-filter: blur(22px) saturate(1.22);
571
+ backdrop-filter: blur(22px) saturate(1.22);
572
+ box-shadow:
573
+ 0 20px 40px rgba(15, 23, 42, 0.1),
574
+ 0 6px 18px rgba(148, 163, 184, 0.14),
575
+ inset 0 1px 0 rgba(255, 255, 255, 0.88),
576
+ inset 0 0 0 1px rgba(255, 255, 255, 0.16);
577
+ }
578
+
579
+ .global-ai-input-shell:hover,
580
+ .mindcanvas-node-toolbar:hover {
581
+ border-color: rgba(191, 219, 254, 0.74) !important;
582
+ box-shadow:
583
+ 0 24px 44px rgba(15, 23, 42, 0.12),
584
+ 0 8px 20px rgba(125, 211, 252, 0.12),
585
+ inset 0 1px 0 rgba(255, 255, 255, 0.92),
586
+ inset 0 0 0 1px rgba(255, 255, 255, 0.2);
587
+ }
588
+
589
+ .app-sidebar-glass {
590
+ position: fixed !important;
591
+ isolation: isolate;
592
+ overflow: hidden;
593
+ border-right-color: rgba(203, 213, 225, 0.54) !important;
594
+ background:
595
+ linear-gradient(180deg, rgba(255, 255, 255, 0.56), rgba(241, 245, 249, 0.3)) !important;
596
+ -webkit-backdrop-filter: blur(18px) saturate(1.16);
597
+ backdrop-filter: blur(18px) saturate(1.16);
598
+ box-shadow:
599
+ 0 10px 24px rgba(15, 23, 42, 0.05),
600
+ 0 2px 10px rgba(148, 163, 184, 0.1),
601
+ inset -1px 0 0 rgba(255, 255, 255, 0.3),
602
+ inset 0 1px 0 rgba(255, 255, 255, 0.7);
603
+ }
604
+
605
+ .mindcanvas-tabbar-shell .canvas-tab-bar {
606
+ position: relative;
607
+ isolation: isolate;
608
+ overflow: hidden;
609
+ }
610
+
611
+ .mindcanvas-tabbar-shell .canvas-tab-bar {
612
+ background:
613
+ linear-gradient(180deg, rgba(255, 255, 255, 0.58), rgba(241, 245, 249, 0.3)) !important;
614
+ border-bottom-color: rgba(203, 213, 225, 0.54) !important;
615
+ -webkit-backdrop-filter: blur(18px) saturate(1.16);
616
+ backdrop-filter: blur(18px) saturate(1.16);
617
+ box-shadow:
618
+ 0 8px 18px rgba(15, 23, 42, 0.05),
619
+ inset 0 1px 0 rgba(255, 255, 255, 0.76),
620
+ inset 0 -1px 0 rgba(255, 255, 255, 0.16);
621
+ }
622
+
623
+ .app-sidebar-glass::before,
624
+ .mindcanvas-tabbar-shell .canvas-tab-bar::before {
625
+ content: '';
626
+ position: absolute;
627
+ inset: 1px;
628
+ pointer-events: none;
629
+ background:
630
+ radial-gradient(circle at top left, rgba(255, 255, 255, 0.64), transparent 42%),
631
+ linear-gradient(180deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.03));
632
+ opacity: 0.92;
633
+ z-index: 0;
634
+ }
635
+
636
+ .app-sidebar-glass > *,
637
+ .mindcanvas-tabbar-shell .canvas-tab-bar > * {
638
+ position: relative;
639
+ z-index: 1;
640
+ }
641
+
642
+ .app-sidebar-glass .sidebar-icon-btn {
643
+ color: #5f6b7a;
644
+ border: 1px solid transparent;
645
+ background: rgba(255, 255, 255, 0.04);
646
+ }
647
+
648
+ .app-sidebar-glass .sidebar-icon-btn:hover {
649
+ color: #334155;
650
+ border-color: rgba(255, 255, 255, 0.28);
651
+ background: rgba(255, 255, 255, 0.28);
652
+ box-shadow: 0 6px 14px rgba(148, 163, 184, 0.12);
653
+ }
654
+
655
+ .app-sidebar-glass .sidebar-icon-btn.active,
656
+ .app-sidebar-glass .sidebar-icon-btn[aria-current="page"] {
657
+ background: rgba(255, 255, 255, 0.4);
658
+ color: #1d4ed8;
659
+ border-color: rgba(191, 219, 254, 0.44);
660
+ box-shadow:
661
+ 0 6px 14px rgba(59, 130, 246, 0.08),
662
+ inset 0 1px 0 rgba(255, 255, 255, 0.48);
663
+ }
664
+
665
+ .mindcanvas-tabbar-shell .canvas-tab {
666
+ color: #64748b;
667
+ border-right-color: rgba(203, 213, 225, 0.42);
668
+ transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
669
+ }
670
+
671
+ .mindcanvas-tabbar-shell .canvas-tab:hover {
672
+ background: rgba(255, 255, 255, 0.28);
673
+ color: #334155;
674
+ }
675
+
676
+ .mindcanvas-tabbar-shell .canvas-tab.active {
677
+ background: rgba(255, 255, 255, 0.44);
678
+ color: #1d4ed8;
679
+ box-shadow:
680
+ inset 0 -2px 0 rgba(59, 130, 246, 0.86),
681
+ inset 0 1px 0 rgba(255, 255, 255, 0.42);
682
+ }
683
+
684
+ .mindcanvas-tabbar-shell .canvas-tab .close-btn:hover,
685
+ .mindcanvas-tabbar-shell .canvas-tab-new:hover {
686
+ background: rgba(255, 255, 255, 0.28);
687
+ }
688
+
689
+ .mindcanvas-tabbar-shell .canvas-tab-new {
690
+ color: #7c8797;
691
+ }
692
+
693
+ @media (prefers-color-scheme: dark) {
694
+ .mindcanvas-node-toolbar {
695
+ border-color: rgba(71, 85, 105, 0.68) !important;
696
+ background:
697
+ linear-gradient(180deg, rgba(30, 41, 59, 0.62), rgba(15, 23, 42, 0.4)) !important;
698
+ box-shadow:
699
+ 0 14px 26px rgba(2, 6, 23, 0.34),
700
+ 0 24px 44px rgba(2, 6, 23, 0.26),
701
+ 0 2px 4px rgba(2, 6, 23, 0.18),
702
+ inset 0 0 0 1px rgba(148, 163, 184, 0.08);
703
+ }
704
+
705
+ .mindcanvas-ai-task-template-menu {
706
+ border-color: rgba(71, 85, 105, 0.86);
707
+ background: rgba(15, 23, 42, 0.96);
708
+ box-shadow:
709
+ 0 20px 44px rgba(2, 6, 23, 0.34),
710
+ 0 4px 12px rgba(2, 6, 23, 0.22),
711
+ inset 0 1px 0 rgba(255, 255, 255, 0.06);
712
+ }
713
+
714
+ .mindcanvas-ai-task-template-menu__item {
715
+ color: rgba(226, 232, 240, 0.86);
716
+ }
717
+
718
+ .mindcanvas-ai-task-template-menu__item:hover,
719
+ .mindcanvas-ai-task-template-menu__item:focus-visible {
720
+ background: rgba(37, 99, 235, 0.22);
721
+ color: #bfdbfe;
722
+ }
723
+
724
+ .mindcanvas-ai-task-template-menu__hint {
725
+ border-color: rgba(71, 85, 105, 0.82);
726
+ background:
727
+ linear-gradient(180deg, rgba(15, 23, 42, 0.92), rgba(30, 41, 59, 0.88));
728
+ box-shadow:
729
+ 0 14px 38px rgba(2, 6, 23, 0.32),
730
+ 0 3px 10px rgba(2, 6, 23, 0.22),
731
+ inset 0 1px 0 rgba(148, 163, 184, 0.16);
732
+ color: rgba(226, 232, 240, 0.86);
733
+ }
734
+
735
+ .mindcanvas-ai-task-template-menu__hint::before {
736
+ border-color: rgba(71, 85, 105, 0.82);
737
+ background: linear-gradient(225deg, rgba(15, 23, 42, 0.92), rgba(30, 41, 59, 0.88));
738
+ }
739
+
740
+ .mindcanvas-ai-task-template-menu__hint-title {
741
+ color: #f8fafc;
742
+ }
743
+
744
+ .mindcanvas-ai-task-template-menu__hint-description {
745
+ color: rgba(226, 232, 240, 0.78);
746
+ }
747
+
748
+ .mindcanvas-node-toolbar__button--active,
749
+ .mindcanvas-node-toolbar__button--menu[aria-expanded="true"] {
750
+ color: #bfdbfe !important;
751
+ background: rgba(37, 99, 235, 0.24) !important;
752
+ box-shadow:
753
+ 0 8px 18px rgba(2, 6, 23, 0.28),
754
+ inset 0 1px 0 rgba(255, 255, 255, 0.06);
755
+ }
756
+
757
+ .mindcanvas-toolbar-menu {
758
+ border-color: rgba(71, 85, 105, 0.86);
759
+ background: rgba(15, 23, 42, 0.96);
760
+ box-shadow:
761
+ 0 22px 48px rgba(2, 6, 23, 0.38),
762
+ 0 5px 14px rgba(2, 6, 23, 0.24),
763
+ inset 0 1px 0 rgba(255, 255, 255, 0.06);
764
+ }
765
+
766
+ .mindcanvas-toolbar-menu__title {
767
+ color: #f8fafc;
768
+ }
769
+
770
+ .mindcanvas-toolbar-menu__format {
771
+ border-color: rgba(71, 85, 105, 0.78);
772
+ background: rgba(30, 41, 59, 0.74);
773
+ color: rgba(226, 232, 240, 0.88);
774
+ }
775
+
776
+ .mindcanvas-toolbar-menu__format i,
777
+ .mindcanvas-toolbar-menu__action i,
778
+ .mindcanvas-toolbar-menu__guide i {
779
+ color: #93c5fd;
780
+ }
781
+
782
+ .mindcanvas-toolbar-menu__action {
783
+ color: rgba(226, 232, 240, 0.88);
784
+ }
785
+
786
+ .mindcanvas-toolbar-menu__action:hover,
787
+ .mindcanvas-toolbar-menu__action:focus-visible {
788
+ border-color: rgba(96, 165, 250, 0.34);
789
+ background: rgba(37, 99, 235, 0.2);
790
+ color: #bfdbfe;
791
+ }
792
+
793
+ .mindcanvas-toolbar-menu__action--primary {
794
+ border-color: rgba(96, 165, 250, 0.32);
795
+ background: rgba(37, 99, 235, 0.16);
796
+ }
797
+
798
+ .mindcanvas-toolbar-menu__action small,
799
+ .mindcanvas-toolbar-menu__guide {
800
+ color: rgba(203, 213, 225, 0.76);
801
+ }
802
+
803
+ .mindcanvas-toolbar-menu__section-label {
804
+ border-top-color: rgba(71, 85, 105, 0.78);
805
+ color: rgba(148, 163, 184, 0.86);
806
+ }
807
+
808
+ .global-ai-input-shell {
809
+ border-color: rgba(71, 85, 105, 0.72) !important;
810
+ background:
811
+ linear-gradient(180deg, rgba(30, 41, 59, 0.66), rgba(15, 23, 42, 0.44)) !important;
812
+ box-shadow:
813
+ 0 14px 26px rgba(2, 6, 23, 0.34),
814
+ 0 24px 44px rgba(2, 6, 23, 0.26),
815
+ 0 2px 4px rgba(2, 6, 23, 0.18),
816
+ inset 0 0 0 1px rgba(148, 163, 184, 0.08);
817
+ }
818
+
819
+ .app-sidebar-glass {
820
+ border-right-color: rgba(71, 85, 105, 0.52) !important;
821
+ background:
822
+ linear-gradient(180deg, rgba(30, 41, 59, 0.56), rgba(15, 23, 42, 0.34)) !important;
823
+ box-shadow:
824
+ 0 10px 22px rgba(2, 6, 23, 0.22),
825
+ 0 18px 34px rgba(2, 6, 23, 0.18),
826
+ inset -1px 0 0 rgba(148, 163, 184, 0.08),
827
+ inset 0 1px 0 rgba(255, 255, 255, 0.04);
828
+ }
829
+
830
+ .mindcanvas-tabbar-shell .canvas-tab-bar {
831
+ background:
832
+ linear-gradient(180deg, rgba(30, 41, 59, 0.58), rgba(15, 23, 42, 0.34)) !important;
833
+ border-bottom-color: rgba(71, 85, 105, 0.54) !important;
834
+ box-shadow:
835
+ 0 10px 22px rgba(2, 6, 23, 0.18),
836
+ inset 0 1px 0 rgba(255, 255, 255, 0.04),
837
+ inset 0 -1px 0 rgba(148, 163, 184, 0.06);
838
+ }
839
+
840
+ .mindcanvas-node-toolbar::before,
841
+ .global-ai-input-shell::before,
842
+ .app-sidebar-glass::before,
843
+ .mindcanvas-tabbar-shell .canvas-tab-bar::before {
844
+ background:
845
+ radial-gradient(circle at top left, rgba(255, 255, 255, 0.12), transparent 38%),
846
+ linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.01));
847
+ opacity: 1;
848
+ }
849
+
850
+ .app-sidebar-glass .sidebar-icon-btn {
851
+ color: rgba(226, 232, 240, 0.82);
852
+ background: rgba(15, 23, 42, 0.02);
853
+ }
854
+
855
+ .app-sidebar-glass .sidebar-icon-btn:hover {
856
+ color: #f8fafc;
857
+ border-color: rgba(148, 163, 184, 0.16);
858
+ background: rgba(148, 163, 184, 0.12);
859
+ box-shadow: 0 8px 16px rgba(2, 6, 23, 0.16);
860
+ }
861
+
862
+ .app-sidebar-glass .sidebar-icon-btn.active,
863
+ .app-sidebar-glass .sidebar-icon-btn[aria-current="page"] {
864
+ background: rgba(59, 130, 246, 0.14);
865
+ border-color: rgba(96, 165, 250, 0.18);
866
+ color: #93c5fd;
867
+ box-shadow:
868
+ 0 8px 16px rgba(2, 6, 23, 0.18),
869
+ inset 0 1px 0 rgba(255, 255, 255, 0.04);
870
+ }
871
+
872
+ .mindcanvas-tabbar-shell .canvas-tab {
873
+ color: rgba(226, 232, 240, 0.74);
874
+ border-right-color: rgba(71, 85, 105, 0.4);
875
+ }
876
+
877
+ .mindcanvas-tabbar-shell .canvas-tab:hover {
878
+ background: rgba(148, 163, 184, 0.12);
879
+ color: #f8fafc;
880
+ }
881
+
882
+ .mindcanvas-tabbar-shell .canvas-tab.active {
883
+ background: rgba(148, 163, 184, 0.16);
884
+ color: #93c5fd;
885
+ box-shadow:
886
+ inset 0 -2px 0 rgba(96, 165, 250, 0.92),
887
+ inset 0 1px 0 rgba(255, 255, 255, 0.03);
888
+ }
889
+
890
+ .mindcanvas-tabbar-shell .canvas-tab .close-btn:hover,
891
+ .mindcanvas-tabbar-shell .canvas-tab-new:hover {
892
+ background: rgba(148, 163, 184, 0.14);
893
+ }
894
+
895
+ .mindcanvas-tabbar-shell .canvas-tab-new {
896
+ color: rgba(226, 232, 240, 0.6);
897
+ }
898
+ }
899
+
900
+ /* ▼▼▼ [CRITICAL] Zoom/Drag 중 포인터 이벤트 비활성화 ▼▼▼ */
901
+ /* Hover raycast is already short-circuited in JS during pan, so keep CSS hover/focus
902
+ intact while middle-button panning. We still suppress hit-testing for zoom/drag. */
903
+ #css3d-dom-wrapper.is-dragging,
904
+ body.is-zooming #css3d-dom-wrapper {
905
+ pointer-events: none !important;
906
+ }
907
+
908
+ html.mindcanvas-browser-selection-locked,
909
+ body.mindcanvas-browser-selection-locked,
910
+ body.is-node-dragging,
911
+ body.is-resizing,
912
+ body.is-zooming {
913
+ user-select: none !important;
914
+ -webkit-user-select: none !important;
915
+ }
916
+
917
+ body.mindcanvas-browser-selection-locked *,
918
+ body.is-node-dragging *,
919
+ body.is-resizing *,
920
+ body.is-zooming #css3d-dom-wrapper *,
921
+ #css3d-dom-wrapper.is-panning,
922
+ #css3d-dom-wrapper.is-panning *,
923
+ #css3d-dom-wrapper.is-dragging,
924
+ #css3d-dom-wrapper.is-dragging *,
925
+ .multi-select-overlay,
926
+ .multi-select-overlay * {
927
+ user-select: none !important;
928
+ -webkit-user-select: none !important;
929
+ }
930
+
931
+ body.mindcanvas-browser-selection-locked .mind-map-text-overlay.mind-map-text-overlay-selectable .mind-map-text-overlay-fragment,
932
+ body.mindcanvas-browser-selection-locked .mind-map-text-overlay.mind-map-text-overlay-selectable .mind-map-text-overlay-fragment *,
933
+ body.mindcanvas-browser-selection-locked .mind-map-text-overlay-v2-card,
934
+ body.mindcanvas-browser-selection-locked .mind-map-text-overlay-v2-card *,
935
+ body.is-node-dragging .mind-map-text-overlay.mind-map-text-overlay-selectable .mind-map-text-overlay-fragment,
936
+ body.is-node-dragging .mind-map-text-overlay.mind-map-text-overlay-selectable .mind-map-text-overlay-fragment *,
937
+ body.is-node-dragging .mind-map-text-overlay-v2-card,
938
+ body.is-node-dragging .mind-map-text-overlay-v2-card *,
939
+ body.is-resizing .mind-map-text-overlay.mind-map-text-overlay-selectable .mind-map-text-overlay-fragment,
940
+ body.is-resizing .mind-map-text-overlay.mind-map-text-overlay-selectable .mind-map-text-overlay-fragment *,
941
+ body.is-resizing .mind-map-text-overlay-v2-card,
942
+ body.is-resizing .mind-map-text-overlay-v2-card *,
943
+ body.is-zooming .mind-map-text-overlay.mind-map-text-overlay-selectable .mind-map-text-overlay-fragment,
944
+ body.is-zooming .mind-map-text-overlay.mind-map-text-overlay-selectable .mind-map-text-overlay-fragment *,
945
+ #css3d-dom-wrapper.is-panning .mind-map-text-overlay.mind-map-text-overlay-selectable .mind-map-text-overlay-fragment,
946
+ #css3d-dom-wrapper.is-panning .mind-map-text-overlay.mind-map-text-overlay-selectable .mind-map-text-overlay-fragment * {
947
+ user-select: none !important;
948
+ -webkit-user-select: none !important;
949
+ cursor: inherit !important;
950
+ }
951
+
952
+ /* 노드 드래그 중 grabbing 커서 강제 (CSS3D DOM 요소가 덮어씌우는 것 방지) */
953
+ body.is-node-dragging,
954
+ body.is-node-dragging * {
955
+ cursor: grabbing !important;
956
+ }
957
+
958
+ /* ▲▲▲ [CRITICAL] ▲▲▲ */
959
+
960
+ /* ▼▼▼ [Perf] CSS3D 노드 최소화된 box-shadow ▼▼▼ */
961
+ /* box-shadow 대신 border로 시각적 테두리 구현 (GPU 부담 감소) */
962
+ .map-node-note {
963
+ /* 기본: border만 사용, shadow 제거 */
964
+ box-shadow: none;
965
+ /* 노트 노드는 선택 시 드래그 이동이므로 grab 커서 (편집 모드에서만 text) */
966
+ cursor: grab !important;
967
+ }
968
+
969
+ .map-node-memo {
970
+ cursor: grab !important;
971
+ }
972
+
973
+ .map-node-note:focus-within {
974
+ cursor: text !important;
975
+ }
976
+
977
+ .map-node-note.selected {
978
+ /* 선택 시에만 최소한의 glow */
979
+ box-shadow: 0 0 0 2px rgba(var(--mind-node-selection-glow-rgb), 0.14);
980
+ }
981
+
982
+ /* ▲▲▲ [Perf] ▲▲▲ */
983
+
984
+ /* Mind map selection highlight overrides (keep in sync with editing theme) */
985
+
986
+ .map-node-bubble.selected {
987
+ border-color: var(--mind-node-selection-edge) !important;
988
+ box-shadow: 0 0 0 2px rgba(var(--mind-node-selection-glow-rgb), 0.18),
989
+ 0 0 22px rgba(var(--mind-node-selection-glow-rgb), 0.18),
990
+ 0 10px 15px -3px rgba(0, 0, 0, 0.2) !important;
991
+ overflow: hidden !important;
992
+ }
993
+
994
+ .map-node-note.selected,
995
+ .map-node-note:focus-within {
996
+ border-color: var(--mind-node-selection-edge) !important;
997
+ box-shadow:
998
+ 0 0 18px 0 rgba(var(--mind-node-selection-glow-rgb), 0.24),
999
+ 0 0 32px 0 rgba(var(--mind-node-selection-glow-soft-rgb), 0.16) !important;
1000
+ overflow: hidden !important;
1001
+ }
1002
+
1003
+ /* Note/Image hard edge lives on the inner CSS3D card in app.css.
1004
+ Keep the soft wrapper shadow, but strip the dark stroke from the card itself. */
1005
+ .map-node-note,
1006
+ .map-node-note.selected,
1007
+ .map-node-note:focus-within,
1008
+ .map-node-image-container,
1009
+ .map-node-image-container.selected {
1010
+ border: none !important;
1011
+ border-color: transparent !important;
1012
+ outline: none !important;
1013
+ -webkit-box-shadow: none !important;
1014
+ box-shadow: none !important;
1015
+ }
1016
+
1017
+ .css3d-resolution-wrapper.node-type-note {
1018
+ -webkit-box-shadow:
1019
+ 0 0 6px rgba(15, 23, 42, 0.25),
1020
+ 0 0 16px rgba(15, 23, 42, 0.18),
1021
+ 0 0 30px rgba(15, 23, 42, 0.12),
1022
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1023
+ box-shadow:
1024
+ 0 0 6px rgba(15, 23, 42, 0.25),
1025
+ 0 0 16px rgba(15, 23, 42, 0.18),
1026
+ 0 0 30px rgba(15, 23, 42, 0.12),
1027
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1028
+ }
1029
+
1030
+ .css3d-resolution-wrapper.selected {
1031
+ outline: 1px solid rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.24) !important;
1032
+ outline-offset: 1px;
1033
+ -webkit-box-shadow:
1034
+ 0 0 4px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.56),
1035
+ 0 0 12px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.44),
1036
+ 0 0 28px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.32),
1037
+ 0 0 56px rgba(var(--node-selection-glow-rgb-soft, 191, 219, 254), 0.26) !important;
1038
+ box-shadow:
1039
+ 0 0 4px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.56),
1040
+ 0 0 12px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.44),
1041
+ 0 0 28px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.32),
1042
+ 0 0 56px rgba(var(--node-selection-glow-rgb-soft, 191, 219, 254), 0.26) !important;
1043
+ -webkit-filter: saturate(1.08) !important;
1044
+ filter: saturate(1.08) !important;
1045
+ }
1046
+
1047
+ .css3d-resolution-wrapper.selection-style-agent.selected {
1048
+ outline: 1px solid rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.24) !important;
1049
+ outline-offset: 1px;
1050
+ -webkit-box-shadow:
1051
+ 0 0 4px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.56),
1052
+ 0 0 12px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.44),
1053
+ 0 0 28px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.32),
1054
+ 0 0 56px rgba(var(--node-selection-glow-rgb-soft, 191, 219, 254), 0.26) !important;
1055
+ box-shadow:
1056
+ 0 0 4px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.56),
1057
+ 0 0 12px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.44),
1058
+ 0 0 28px rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.32),
1059
+ 0 0 56px rgba(var(--node-selection-glow-rgb-soft, 191, 219, 254), 0.26) !important;
1060
+ -webkit-filter: saturate(1.08) !important;
1061
+ filter: saturate(1.08) !important;
1062
+ }
1063
+
1064
+ /* During resize, keep the crisp selection edge but drop the large blur shadow.
1065
+ The blur bleeds underneath overlapping siblings and looks like a second glow. */
1066
+ body.is-resizing .css3d-resolution-wrapper.selected,
1067
+ body.is-resizing .css3d-resolution-wrapper.node-type-note.selected,
1068
+ body.is-resizing .css3d-resolution-wrapper.node-type-image.selected,
1069
+ body.is-resizing .css3d-resolution-wrapper.node-type-video.selected,
1070
+ body.is-resizing .css3d-resolution-wrapper.node-type-embed.selected {
1071
+ outline: 1px solid rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.34) !important;
1072
+ outline-offset: 1px;
1073
+ -webkit-box-shadow: none !important;
1074
+ box-shadow: none !important;
1075
+ -webkit-filter: none !important;
1076
+ filter: none !important;
1077
+ }
1078
+
1079
+ .css3d-resolution-wrapper.node-type-note.selected {
1080
+ -webkit-box-shadow:
1081
+ 0 0 4px rgba(var(--node-selection-glow-rgb), 0.56),
1082
+ 0 0 12px rgba(var(--node-selection-glow-rgb), 0.44),
1083
+ 0 0 28px rgba(var(--node-selection-glow-rgb), 0.32),
1084
+ 0 0 56px rgba(var(--node-selection-glow-rgb-soft), 0.26) !important;
1085
+ box-shadow:
1086
+ 0 0 4px rgba(var(--node-selection-glow-rgb), 0.56),
1087
+ 0 0 12px rgba(var(--node-selection-glow-rgb), 0.44),
1088
+ 0 0 28px rgba(var(--node-selection-glow-rgb), 0.32),
1089
+ 0 0 56px rgba(var(--node-selection-glow-rgb-soft), 0.26) !important;
1090
+ -webkit-filter: saturate(1.08) !important;
1091
+ filter: saturate(1.08) !important;
1092
+ }
1093
+
1094
+ .css3d-resolution-wrapper.node-type-image {
1095
+ -webkit-box-shadow:
1096
+ 0 0 6px rgba(15, 23, 42, 0.25),
1097
+ 0 0 16px rgba(15, 23, 42, 0.18),
1098
+ 0 0 30px rgba(15, 23, 42, 0.12),
1099
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1100
+ box-shadow:
1101
+ 0 0 6px rgba(15, 23, 42, 0.25),
1102
+ 0 0 16px rgba(15, 23, 42, 0.18),
1103
+ 0 0 30px rgba(15, 23, 42, 0.12),
1104
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1105
+ }
1106
+
1107
+ .css3d-resolution-wrapper.node-type-video,
1108
+ .css3d-resolution-wrapper.node-type-embed {
1109
+ -webkit-box-shadow:
1110
+ 0 0 6px rgba(15, 23, 42, 0.25),
1111
+ 0 0 16px rgba(15, 23, 42, 0.18),
1112
+ 0 0 30px rgba(15, 23, 42, 0.12),
1113
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1114
+ box-shadow:
1115
+ 0 0 6px rgba(15, 23, 42, 0.25),
1116
+ 0 0 16px rgba(15, 23, 42, 0.18),
1117
+ 0 0 30px rgba(15, 23, 42, 0.12),
1118
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1119
+ }
1120
+
1121
+ .css3d-resolution-wrapper.node-type-image.selected {
1122
+ -webkit-box-shadow:
1123
+ 0 0 4px rgba(var(--node-selection-glow-rgb), 0.56),
1124
+ 0 0 12px rgba(var(--node-selection-glow-rgb), 0.44),
1125
+ 0 0 28px rgba(var(--node-selection-glow-rgb), 0.32),
1126
+ 0 0 56px rgba(var(--node-selection-glow-rgb-soft), 0.26) !important;
1127
+ box-shadow:
1128
+ 0 0 4px rgba(var(--node-selection-glow-rgb), 0.56),
1129
+ 0 0 12px rgba(var(--node-selection-glow-rgb), 0.44),
1130
+ 0 0 28px rgba(var(--node-selection-glow-rgb), 0.32),
1131
+ 0 0 56px rgba(var(--node-selection-glow-rgb-soft), 0.26) !important;
1132
+ -webkit-filter: saturate(1.08) !important;
1133
+ filter: saturate(1.08) !important;
1134
+ }
1135
+
1136
+ .css3d-resolution-wrapper.node-type-video.selected,
1137
+ .css3d-resolution-wrapper.node-type-embed.selected {
1138
+ outline: 1px solid rgba(var(--node-selection-glow-rgb), 0.24) !important;
1139
+ outline-offset: 1px;
1140
+ -webkit-box-shadow:
1141
+ 0 0 6px rgba(15, 23, 42, 0.25),
1142
+ 0 0 16px rgba(15, 23, 42, 0.18),
1143
+ 0 0 30px rgba(15, 23, 42, 0.12),
1144
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1145
+ box-shadow:
1146
+ 0 0 6px rgba(15, 23, 42, 0.25),
1147
+ 0 0 16px rgba(15, 23, 42, 0.18),
1148
+ 0 0 30px rgba(15, 23, 42, 0.12),
1149
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1150
+ -webkit-filter: none !important;
1151
+ filter: none !important;
1152
+ }
1153
+
1154
+ .css3d-resolution-wrapper.node-type-video.selected-media-safe,
1155
+ .css3d-resolution-wrapper.node-type-embed.selected-media-safe {
1156
+ outline: none !important;
1157
+ -webkit-box-shadow:
1158
+ 0 0 6px rgba(15, 23, 42, 0.25),
1159
+ 0 0 16px rgba(15, 23, 42, 0.18),
1160
+ 0 0 30px rgba(15, 23, 42, 0.12),
1161
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1162
+ box-shadow:
1163
+ 0 0 6px rgba(15, 23, 42, 0.25),
1164
+ 0 0 16px rgba(15, 23, 42, 0.18),
1165
+ 0 0 30px rgba(15, 23, 42, 0.12),
1166
+ 0 0 50px rgba(15, 23, 42, 0.08) !important;
1167
+ -webkit-filter: none !important;
1168
+ filter: none !important;
1169
+ }
1170
+
1171
+ .css3d-resolution-wrapper.node-type-video.selected-media-safe .map-node.selected,
1172
+ .css3d-resolution-wrapper.node-type-embed.selected-media-safe .map-node.selected {
1173
+ outline: 1px solid rgba(var(--node-selection-glow-rgb), 0.82) !important;
1174
+ outline-offset: -1px;
1175
+ -webkit-box-shadow:
1176
+ 0 0 0 1px rgba(var(--node-selection-glow-rgb), 0.18) inset,
1177
+ 0 0 0 1px rgba(var(--node-selection-glow-rgb-soft), 0.12) !important;
1178
+ box-shadow:
1179
+ 0 0 0 1px rgba(var(--node-selection-glow-rgb), 0.18) inset,
1180
+ 0 0 0 1px rgba(var(--node-selection-glow-rgb-soft), 0.12) !important;
1181
+ }
1182
+
1183
+ .map-node-memo.selected,
1184
+ .map-node-memo:focus-within {
1185
+ overflow: hidden !important;
1186
+ }
1187
+
1188
+ .map-node-code.selected,
1189
+ .map-node-code:focus-within {
1190
+ border-color: var(--mind-node-selection-edge) !important;
1191
+ box-shadow:
1192
+ 0 0 18px 0 rgba(var(--mind-node-selection-glow-rgb), 0.24),
1193
+ 0 0 32px 0 rgba(var(--mind-node-selection-glow-soft-rgb), 0.16) !important;
1194
+ overflow: hidden !important;
1195
+ }
1196
+
1197
+ .map-node-agent:not(.map-node-memo).selected,
1198
+ .map-node-agent:not(.map-node-memo):focus-within {
1199
+ border-color: rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.82) !important;
1200
+ box-shadow:
1201
+ 0 0 18px 0 rgba(var(--node-selection-glow-rgb, 59, 130, 246), 0.24),
1202
+ 0 0 32px 0 rgba(var(--node-selection-glow-rgb-soft, 191, 219, 254), 0.16) !important;
1203
+ overflow: visible !important;
1204
+ }
1205
+
1206
+ /* Use the wrapper as the single source of truth for CSS3D selection glow.
1207
+ Agent wrappers intentionally mirror the edit-state glow so selection/editing
1208
+ keep the same visual signature even when overlays swap in and out. */
1209
+ .css3d-resolution-wrapper.selected .map-node-bubble.selected,
1210
+ .css3d-resolution-wrapper.selected .map-node-code.selected,
1211
+ .css3d-resolution-wrapper.selected .map-node-code:focus-within,
1212
+ .css3d-resolution-wrapper.selected .map-node-agent.selected,
1213
+ .css3d-resolution-wrapper.selected .map-node-agent:focus-within {
1214
+ -webkit-box-shadow: none !important;
1215
+ box-shadow: none !important;
1216
+ }
1217
+
1218
+ .map-node.map-node-agent,
1219
+ .map-node-memo.map-node-agent {
1220
+ contain: layout style !important;
1221
+ content-visibility: visible !important;
1222
+ contain-intrinsic-size: auto !important;
1223
+ }
1224
+
1225
+ .map-node-memo.map-node-agent.selected,
1226
+ .map-node-memo.map-node-agent:focus-within {
1227
+ overflow: visible !important;
1228
+ }
1229
+
1230
+ /* Enable pointer events only when a note node is selected (CSS3D wrapper) */
1231
+ .css3d-resolution-wrapper.selected {
1232
+ pointer-events: auto !important;
1233
+ }
1234
+
1235
+ .css3d-resolution-wrapper.selected,
1236
+ .map-node-bubble.selected,
1237
+ .map-node-note.selected,
1238
+ .map-node-note:focus-within,
1239
+ .map-node-memo.selected,
1240
+ .map-node-memo:focus-within,
1241
+ .map-node-code.selected,
1242
+ .map-node-code:focus-within,
1243
+ .map-node-agent.selected,
1244
+ .map-node-agent:focus-within {
1245
+ -webkit-transition: none !important;
1246
+ transition: none !important;
1247
+ }
1248
+
1249
+ .css3d-resolution-wrapper.selected .map-node-note,
1250
+ .css3d-resolution-wrapper.selected .map-node-note *,
1251
+ .css3d-resolution-wrapper.selected .map-node-memo,
1252
+ .css3d-resolution-wrapper.selected .map-node-memo * {
1253
+ pointer-events: auto !important;
1254
+ }
1255
+
1256
+
1257
+ /* Hide scrollbars after editing when selected but not actively focused */
1258
+ .map-node-note.selected:not(:focus-within) .note-textarea {
1259
+ overflow: hidden !important;
1260
+ scrollbar-width: none !important;
1261
+ cursor: grab !important;
1262
+ }
1263
+
1264
+ .map-node-note.selected:not(:focus-within) .note-textarea::-webkit-scrollbar {
1265
+ width: 0 !important;
1266
+ height: 0 !important;
1267
+ }
1268
+
1269
+ .map-node-memo .map-node-memo__body,
1270
+ .map-node-memo .map-node-memo__title {
1271
+ pointer-events: auto;
1272
+ }
1273
+
1274
+ .map-node-file.selected {
1275
+ border-color: var(--mind-node-selection-edge) !important;
1276
+ }
1277
+
1278
+ /* Sticky LOD cache: keep DOM, toggle visibility via class */
1279
+ .node-container.lod-low .markdown-content {
1280
+ display: none !important;
1281
+ }
1282
+
1283
+ .node-container.lod-low .simple-content {
1284
+ display: block !important;
1285
+ }
1286
+
1287
+ .node-container.lod-high .simple-content {
1288
+ display: none !important;
1289
+ }
1290
+
1291
+ .node-container.lod-high .markdown-content {
1292
+ display: block !important;
1293
+ }
1294
+
1295
+ .mind-map-text-overlay-v2-layer {
1296
+ position: absolute;
1297
+ inset: 0;
1298
+ overflow: hidden;
1299
+ pointer-events: none;
1300
+ z-index: 20;
1301
+ contain: layout style paint;
1302
+ }
1303
+
1304
+ .mind-map-text-overlay-v2-layer.is-motion-hint {
1305
+ will-change: transform;
1306
+ backface-visibility: hidden;
1307
+ -webkit-backface-visibility: hidden;
1308
+ }
1309
+
1310
+ .mind-map-text-overlay-v2-card {
1311
+ position: absolute;
1312
+ display: none;
1313
+ box-sizing: border-box;
1314
+ pointer-events: auto;
1315
+ transform-origin: 0 0;
1316
+ -webkit-font-smoothing: antialiased;
1317
+ -moz-osx-font-smoothing: grayscale;
1318
+ text-rendering: optimizeLegibility;
1319
+ contain: layout style paint;
1320
+ }
1321
+
1322
+ .mind-map-text-overlay-v2-card[data-content-type="image"],
1323
+ .mind-map-text-overlay-v2-card[data-content-type="video"],
1324
+ .mind-map-text-overlay-v2-card[data-content-type="embed"] {
1325
+ display: none !important;
1326
+ pointer-events: none !important;
1327
+ background: transparent !important;
1328
+ background-color: transparent !important;
1329
+ box-shadow: none !important;
1330
+ }
1331
+
1332
+ .mind-map-text-overlay-v2-card.is-selection {
1333
+ z-index: 8;
1334
+ }
1335
+
1336
+ .mind-map-text-overlay-v2-card.is-editing {
1337
+ z-index: 12;
1338
+ }
1339
+
1340
+ .mind-map-text-overlay-v2-card.is-passive {
1341
+ pointer-events: none;
1342
+ /* CSS3D owns card background/edge/glow; passive overlay only contributes
1343
+ readable text fragments and must never paint over the CSS3D glow. */
1344
+ contain: layout style;
1345
+ overflow: visible;
1346
+ background: transparent !important;
1347
+ background-color: transparent !important;
1348
+ background-image: none !important;
1349
+ }
1350
+
1351
+ .mind-map-text-overlay-v2-card.is-passive .mind-map-text-overlay-v2-body {
1352
+ pointer-events: auto;
1353
+ }
1354
+
1355
+ body.is-panning .mind-map-text-overlay-v2-card.is-passive .mind-map-text-overlay-v2-body {
1356
+ pointer-events: none !important;
1357
+ }
1358
+
1359
+ .mind-map-text-overlay-v2-shell {
1360
+ width: 100%;
1361
+ height: 100%;
1362
+ box-sizing: border-box;
1363
+ overflow: hidden;
1364
+ background: rgba(255, 255, 255, 0.985);
1365
+ color: #1f2937;
1366
+ --mind-map-text-scrollbar-size: 8px;
1367
+ --mind-map-text-scrollbar-size-x: 8px;
1368
+ --mind-map-text-scrollbar-size-y: 8px;
1369
+ --mind-map-text-scrollbar-gutter: 14px;
1370
+ }
1371
+
1372
+ .mind-map-text-overlay-v2-source-clone {
1373
+ width: 100%;
1374
+ height: 100%;
1375
+ box-sizing: border-box;
1376
+ --mind-map-text-scrollbar-size: 8px;
1377
+ --mind-map-text-scrollbar-size-x: 8px;
1378
+ --mind-map-text-scrollbar-size-y: 8px;
1379
+ --mind-map-text-scrollbar-gutter: 14px;
1380
+ }
1381
+
1382
+ .mind-map-text-overlay-v2-content-shell {
1383
+ position: relative;
1384
+ overflow: visible;
1385
+ pointer-events: none;
1386
+ background: transparent !important;
1387
+ border: 0 !important;
1388
+ box-shadow: none !important;
1389
+ outline: none !important;
1390
+ }
1391
+
1392
+ .mind-map-text-overlay-v2-fragment {
1393
+ position: absolute;
1394
+ background: transparent !important;
1395
+ box-shadow: none !important;
1396
+ }
1397
+
1398
+ .mind-map-text-overlay-v2-readonly-memo-surface,
1399
+ .mind-map-text-overlay-v2-readonly-memo-surface .map-node-memo__shell,
1400
+ .mind-map-text-overlay-v2-readonly-memo-surface .map-node-memo__header,
1401
+ .mind-map-text-overlay-v2-readonly-memo-surface .map-node-memo__icon-wrap,
1402
+ .mind-map-text-overlay-v2-readonly-memo-surface .map-node-memo__title-wrap,
1403
+ .mind-map-text-overlay-v2-readonly-memo-surface .map-node-memo__title,
1404
+ .mind-map-text-overlay-v2-readonly-memo-surface .map-node-memo__body-view,
1405
+ .mind-map-text-overlay-v2-readonly-memo-surface .map-node-memo__agent-results {
1406
+ background: transparent !important;
1407
+ background-color: transparent !important;
1408
+ background-image: none !important;
1409
+ border-color: transparent !important;
1410
+ box-shadow: none !important;
1411
+ -webkit-box-shadow: none !important;
1412
+ outline: none !important;
1413
+ filter: none !important;
1414
+ -webkit-filter: none !important;
1415
+ backdrop-filter: none !important;
1416
+ -webkit-backdrop-filter: none !important;
1417
+ }
1418
+
1419
+ .mind-map-text-overlay-v2-readonly-memo-surface .map-node-memo__header {
1420
+ display: flex !important;
1421
+ align-items: center !important;
1422
+ gap: 12px !important;
1423
+ min-width: 0 !important;
1424
+ }
1425
+
1426
+ .mind-map-text-overlay-v2-readonly-memo-surface .map-node-memo__icon-wrap {
1427
+ display: flex !important;
1428
+ flex: 0 0 auto !important;
1429
+ align-items: center !important;
1430
+ justify-content: center !important;
1431
+ }
1432
+
1433
+ .mind-map-text-overlay-v2-readonly-memo-surface .map-node-memo__title-wrap {
1434
+ display: flex !important;
1435
+ flex: 1 1 auto !important;
1436
+ min-width: 0 !important;
1437
+ }
1438
+
1439
+ .mind-map-text-overlay-v2-readonly-memo-surface .map-node-memo__title {
1440
+ width: 100% !important;
1441
+ min-width: 0 !important;
1442
+ flex: 1 1 auto !important;
1443
+ }
1444
+
1445
+ .mind-map-text-overlay-v2-shell.type-text,
1446
+ .mind-map-text-overlay-v2-shell.type-markdown {
1447
+ display: grid;
1448
+ grid-template-rows: auto 1fr;
1449
+ gap: 10px;
1450
+ padding: 18px;
1451
+ border: 3px solid #374151;
1452
+ border-radius: 18px;
1453
+ }
1454
+
1455
+ .mind-map-text-overlay-v2-shell.type-note {
1456
+ display: block;
1457
+ padding: 16px;
1458
+ border: none;
1459
+ border-radius: 18px;
1460
+ }
1461
+
1462
+ .mind-map-text-overlay-v2-shell.type-memo {
1463
+ display: grid;
1464
+ grid-template-rows: auto 1fr;
1465
+ gap: 12px;
1466
+ padding: 18px;
1467
+ border-radius: 30px;
1468
+ border: 2px solid rgba(55, 65, 81, 0.16);
1469
+ box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
1470
+ }
1471
+
1472
+ .mind-map-text-overlay-v2-title,
1473
+ .mind-map-text-overlay-v2-memo-title {
1474
+ font-weight: 700;
1475
+ line-height: 1.2;
1476
+ color: #111827;
1477
+ }
1478
+
1479
+ .mind-map-text-overlay-v2-memo-title {
1480
+ width: 100%;
1481
+ border: none;
1482
+ outline: none;
1483
+ background: transparent;
1484
+ font-size: 1.05rem;
1485
+ padding: 0;
1486
+ }
1487
+
1488
+ .mind-map-text-overlay-v2-body {
1489
+ min-height: 0;
1490
+ height: 100%;
1491
+ overflow: auto;
1492
+ padding-right: var(--mind-map-text-scrollbar-gutter);
1493
+ }
1494
+
1495
+ .mind-map-text-overlay,
1496
+ .css3d-resolution-wrapper {
1497
+ --mind-map-text-scrollbar-size: 8px;
1498
+ --mind-map-text-scrollbar-size-x: 8px;
1499
+ --mind-map-text-scrollbar-size-y: 8px;
1500
+ --mind-map-text-scrollbar-gutter: 14px;
1501
+ }
1502
+
1503
+ .css3d-resolution-wrapper .thin-scrollbar,
1504
+ .css3d-resolution-wrapper .note-textarea,
1505
+ .css3d-resolution-wrapper .note-content,
1506
+ .css3d-resolution-wrapper .markdown-body,
1507
+ .css3d-resolution-wrapper .prose,
1508
+ .css3d-resolution-wrapper .code-body,
1509
+ .css3d-resolution-wrapper .map-node-memo__body,
1510
+ .css3d-resolution-wrapper .map-node-memo__body-view,
1511
+ .mind-map-text-overlay .thin-scrollbar,
1512
+ .mind-map-text-overlay .note-textarea,
1513
+ .mind-map-text-overlay .note-content,
1514
+ .mind-map-text-overlay .markdown-body,
1515
+ .mind-map-text-overlay .prose,
1516
+ .mind-map-text-overlay .code-body,
1517
+ .mind-map-text-overlay .map-node-memo__body,
1518
+ .mind-map-text-overlay .map-node-memo__body-view,
1519
+ .mind-map-text-overlay-v2-card .thin-scrollbar,
1520
+ .mind-map-text-overlay-v2-card .note-textarea,
1521
+ .mind-map-text-overlay-v2-card .note-content,
1522
+ .mind-map-text-overlay-v2-card .markdown-body,
1523
+ .mind-map-text-overlay-v2-card .prose,
1524
+ .mind-map-text-overlay-v2-card .code-body,
1525
+ .mind-map-text-overlay-v2-card .map-node-memo__body,
1526
+ .mind-map-text-overlay-v2-card .map-node-memo__body-view {
1527
+ box-sizing: border-box;
1528
+ scrollbar-gutter: stable;
1529
+ padding-right: var(--mind-map-text-scrollbar-gutter) !important;
1530
+ }
1531
+
1532
+ .css3d-resolution-wrapper .note-textarea,
1533
+ .mind-map-text-overlay .note-textarea,
1534
+ .mind-map-text-overlay-v2-card .note-textarea,
1535
+ .mind-map-edit-overlay-card .note-textarea {
1536
+ text-decoration: none !important;
1537
+ text-decoration-skip-ink: none !important;
1538
+ text-underline-offset: 0 !important;
1539
+ color: transparent !important;
1540
+ text-shadow: 0 0 0 #1f2937 !important;
1541
+ -webkit-text-fill-color: transparent !important;
1542
+ caret-color: #1f2937 !important;
1543
+ }
1544
+
1545
+ .css3d-resolution-wrapper .note-textarea::selection,
1546
+ .mind-map-text-overlay .note-textarea::selection,
1547
+ .mind-map-text-overlay-v2-card .note-textarea::selection,
1548
+ .mind-map-edit-overlay-card .note-textarea::selection {
1549
+ background-color: #3b82f6 !important;
1550
+ color: transparent !important;
1551
+ text-shadow: 0 0 0 #ffffff !important;
1552
+ }
1553
+
1554
+ .css3d-resolution-wrapper .map-node-memo__body,
1555
+ .mind-map-text-overlay .map-node-memo__body,
1556
+ .mind-map-text-overlay-v2-card .map-node-memo__body,
1557
+ .mind-map-edit-overlay-card .map-node-memo__body {
1558
+ padding-top: 16px !important;
1559
+ padding-right: var(--mind-map-text-scrollbar-gutter, 14px) !important;
1560
+ padding-bottom: 16px !important;
1561
+ padding-left: 18px !important;
1562
+ text-indent: 0 !important;
1563
+ caret-color: #1f2937 !important;
1564
+ }
1565
+
1566
+ .css3d-resolution-wrapper .map-node-memo.map-node-automation .map-node-memo__body-view,
1567
+ .css3d-resolution-wrapper .map-node-memo.map-node-automation .map-node-memo__body,
1568
+ .mind-map-text-overlay .map-node-memo.map-node-automation .map-node-memo__body-view,
1569
+ .mind-map-text-overlay .map-node-memo.map-node-automation .map-node-memo__body,
1570
+ .mind-map-text-overlay-v2-card .map-node-memo.map-node-automation .map-node-memo__body-view,
1571
+ .mind-map-text-overlay-v2-card .map-node-memo.map-node-automation .map-node-memo__body,
1572
+ .mind-map-edit-overlay-card .map-node-memo.map-node-automation .map-node-memo__body-view,
1573
+ .mind-map-edit-overlay-card .map-node-memo.map-node-automation .map-node-memo__body {
1574
+ border-radius: 0 !important;
1575
+ }
1576
+
1577
+ .css3d-resolution-wrapper .thin-scrollbar::-webkit-scrollbar,
1578
+ .css3d-resolution-wrapper .note-textarea::-webkit-scrollbar,
1579
+ .css3d-resolution-wrapper .note-content::-webkit-scrollbar,
1580
+ .css3d-resolution-wrapper .markdown-body::-webkit-scrollbar,
1581
+ .css3d-resolution-wrapper .prose::-webkit-scrollbar,
1582
+ .css3d-resolution-wrapper .code-body::-webkit-scrollbar,
1583
+ .css3d-resolution-wrapper .map-node-memo__body::-webkit-scrollbar,
1584
+ .css3d-resolution-wrapper .map-node-memo__body-view::-webkit-scrollbar,
1585
+ .mind-map-text-overlay .thin-scrollbar::-webkit-scrollbar,
1586
+ .mind-map-text-overlay .note-textarea::-webkit-scrollbar,
1587
+ .mind-map-text-overlay .note-content::-webkit-scrollbar,
1588
+ .mind-map-text-overlay .markdown-body::-webkit-scrollbar,
1589
+ .mind-map-text-overlay .prose::-webkit-scrollbar,
1590
+ .mind-map-text-overlay .code-body::-webkit-scrollbar,
1591
+ .mind-map-text-overlay .map-node-memo__body::-webkit-scrollbar,
1592
+ .mind-map-text-overlay .map-node-memo__body-view::-webkit-scrollbar,
1593
+ .mind-map-text-overlay-v2-card .thin-scrollbar::-webkit-scrollbar,
1594
+ .mind-map-text-overlay-v2-card .note-textarea::-webkit-scrollbar,
1595
+ .mind-map-text-overlay-v2-card .note-content::-webkit-scrollbar,
1596
+ .mind-map-text-overlay-v2-card .markdown-body::-webkit-scrollbar,
1597
+ .mind-map-text-overlay-v2-card .prose::-webkit-scrollbar,
1598
+ .mind-map-text-overlay-v2-card .code-body::-webkit-scrollbar,
1599
+ .mind-map-text-overlay-v2-card .map-node-memo__body::-webkit-scrollbar,
1600
+ .mind-map-text-overlay-v2-card .map-node-memo__body-view::-webkit-scrollbar {
1601
+ width: var(--mind-map-text-scrollbar-size-x, var(--mind-map-text-scrollbar-size));
1602
+ height: var(--mind-map-text-scrollbar-size-y, var(--mind-map-text-scrollbar-size));
1603
+ }
1604
+
1605
+ .mind-map-text-overlay .note-textarea,
1606
+ .mind-map-text-overlay .note-content,
1607
+ .mind-map-text-overlay .markdown-body,
1608
+ .mind-map-text-overlay .prose,
1609
+ .mind-map-text-overlay .code-body,
1610
+ .mind-map-text-overlay [id^="node-response-"],
1611
+ .mind-map-text-overlay [id^="node-textarea-"],
1612
+ .mind-map-text-overlay-v2-card .note-textarea,
1613
+ .mind-map-text-overlay-v2-card .note-content,
1614
+ .mind-map-text-overlay-v2-card .markdown-body,
1615
+ .mind-map-text-overlay-v2-card .prose,
1616
+ .mind-map-text-overlay-v2-card .code-body,
1617
+ .mind-map-text-overlay-v2-card [id^="node-response-"],
1618
+ .mind-map-text-overlay-v2-card [id^="node-textarea-"] {
1619
+ box-sizing: border-box !important;
1620
+ scrollbar-gutter: stable !important;
1621
+ scrollbar-width: thin !important;
1622
+ scrollbar-color: rgba(0, 0, 0, 0.2) transparent !important;
1623
+ padding-right: 14px !important;
1624
+ }
1625
+
1626
+ .mind-map-text-overlay-v2-editing-note-surface .node-response,
1627
+ .mind-map-text-overlay-v2-editing-note-surface .note-content,
1628
+ .mind-map-edit-overlay-card .node-response,
1629
+ .mind-map-edit-overlay-card .note-content {
1630
+ padding-right: 0 !important;
1631
+ overflow: hidden !important;
1632
+ scrollbar-gutter: auto !important;
1633
+ }
1634
+
1635
+ .mind-map-text-overlay-v2-editing-note-surface .note-textarea,
1636
+ .mind-map-edit-overlay-card .note-textarea {
1637
+ padding-right: 14px !important;
1638
+ scrollbar-gutter: stable !important;
1639
+ }
1640
+
1641
+ .mind-map-text-overlay .note-textarea::-webkit-scrollbar,
1642
+ .mind-map-text-overlay .note-content::-webkit-scrollbar,
1643
+ .mind-map-text-overlay .markdown-body::-webkit-scrollbar,
1644
+ .mind-map-text-overlay .code-body::-webkit-scrollbar,
1645
+ .mind-map-text-overlay .prose::-webkit-scrollbar,
1646
+ .mind-map-text-overlay [id^="node-response-"]::-webkit-scrollbar,
1647
+ .mind-map-text-overlay [id^="node-textarea-"]::-webkit-scrollbar,
1648
+ .mind-map-text-overlay-v2-card .note-textarea::-webkit-scrollbar,
1649
+ .mind-map-text-overlay-v2-card .note-content::-webkit-scrollbar,
1650
+ .mind-map-text-overlay-v2-card .markdown-body::-webkit-scrollbar,
1651
+ .mind-map-text-overlay-v2-card .code-body::-webkit-scrollbar,
1652
+ .mind-map-text-overlay-v2-card .prose::-webkit-scrollbar,
1653
+ .mind-map-text-overlay-v2-card [id^="node-response-"]::-webkit-scrollbar,
1654
+ .mind-map-text-overlay-v2-card [id^="node-textarea-"]::-webkit-scrollbar {
1655
+ width: 8px !important;
1656
+ height: 8px !important;
1657
+ }
1658
+
1659
+ .mind-map-text-overlay .note-textarea::-webkit-scrollbar-thumb,
1660
+ .mind-map-text-overlay .note-content::-webkit-scrollbar-thumb,
1661
+ .mind-map-text-overlay .markdown-body::-webkit-scrollbar-thumb,
1662
+ .mind-map-text-overlay .code-body::-webkit-scrollbar-thumb,
1663
+ .mind-map-text-overlay .prose::-webkit-scrollbar-thumb,
1664
+ .mind-map-text-overlay [id^="node-response-"]::-webkit-scrollbar-thumb,
1665
+ .mind-map-text-overlay [id^="node-textarea-"]::-webkit-scrollbar-thumb,
1666
+ .mind-map-text-overlay-v2-card .note-textarea::-webkit-scrollbar-thumb,
1667
+ .mind-map-text-overlay-v2-card .note-content::-webkit-scrollbar-thumb,
1668
+ .mind-map-text-overlay-v2-card .markdown-body::-webkit-scrollbar-thumb,
1669
+ .mind-map-text-overlay-v2-card .code-body::-webkit-scrollbar-thumb,
1670
+ .mind-map-text-overlay-v2-card .prose::-webkit-scrollbar-thumb,
1671
+ .mind-map-text-overlay-v2-card [id^="node-response-"]::-webkit-scrollbar-thumb,
1672
+ .mind-map-text-overlay-v2-card [id^="node-textarea-"]::-webkit-scrollbar-thumb {
1673
+ background: rgba(0, 0, 0, 0.2) !important;
1674
+ border-radius: 10px !important;
1675
+ }
1676
+
1677
+ .mind-map-text-overlay .note-textarea::-webkit-scrollbar-track,
1678
+ .mind-map-text-overlay .note-content::-webkit-scrollbar-track,
1679
+ .mind-map-text-overlay .markdown-body::-webkit-scrollbar-track,
1680
+ .mind-map-text-overlay .code-body::-webkit-scrollbar-track,
1681
+ .mind-map-text-overlay .prose::-webkit-scrollbar-track,
1682
+ .mind-map-text-overlay [id^="node-response-"]::-webkit-scrollbar-track,
1683
+ .mind-map-text-overlay [id^="node-textarea-"]::-webkit-scrollbar-track,
1684
+ .mind-map-text-overlay-v2-card .note-textarea::-webkit-scrollbar-track,
1685
+ .mind-map-text-overlay-v2-card .note-content::-webkit-scrollbar-track,
1686
+ .mind-map-text-overlay-v2-card .markdown-body::-webkit-scrollbar-track,
1687
+ .mind-map-text-overlay-v2-card .code-body::-webkit-scrollbar-track,
1688
+ .mind-map-text-overlay-v2-card .prose::-webkit-scrollbar-track,
1689
+ .mind-map-text-overlay-v2-card [id^="node-response-"]::-webkit-scrollbar-track,
1690
+ .mind-map-text-overlay-v2-card [id^="node-textarea-"]::-webkit-scrollbar-track {
1691
+ background: transparent !important;
1692
+ }
1693
+
1694
+ .mind-map-text-overlay .note-textarea:hover,
1695
+ .mind-map-text-overlay .note-content:hover,
1696
+ .mind-map-text-overlay .markdown-body:hover,
1697
+ .mind-map-text-overlay .code-body:hover,
1698
+ .mind-map-text-overlay .prose:hover,
1699
+ .mind-map-text-overlay [id^="node-response-"]:hover,
1700
+ .mind-map-text-overlay [id^="node-textarea-"]:hover,
1701
+ .mind-map-text-overlay-v2-card .note-textarea:hover,
1702
+ .mind-map-text-overlay-v2-card .note-content:hover,
1703
+ .mind-map-text-overlay-v2-card .markdown-body:hover,
1704
+ .mind-map-text-overlay-v2-card .code-body:hover,
1705
+ .mind-map-text-overlay-v2-card .prose:hover,
1706
+ .mind-map-text-overlay-v2-card [id^="node-response-"]:hover,
1707
+ .mind-map-text-overlay-v2-card [id^="node-textarea-"]:hover {
1708
+ scrollbar-color: rgba(0, 0, 0, 0.38) transparent !important;
1709
+ }
1710
+
1711
+ .mind-map-text-overlay .note-textarea:hover::-webkit-scrollbar-thumb,
1712
+ .mind-map-text-overlay .note-content:hover::-webkit-scrollbar-thumb,
1713
+ .mind-map-text-overlay .markdown-body:hover::-webkit-scrollbar-thumb,
1714
+ .mind-map-text-overlay .code-body:hover::-webkit-scrollbar-thumb,
1715
+ .mind-map-text-overlay .prose:hover::-webkit-scrollbar-thumb,
1716
+ .mind-map-text-overlay [id^="node-response-"]:hover::-webkit-scrollbar-thumb,
1717
+ .mind-map-text-overlay [id^="node-textarea-"]:hover::-webkit-scrollbar-thumb,
1718
+ .mind-map-text-overlay .note-textarea::-webkit-scrollbar-thumb:hover,
1719
+ .mind-map-text-overlay .note-content::-webkit-scrollbar-thumb:hover,
1720
+ .mind-map-text-overlay .markdown-body::-webkit-scrollbar-thumb:hover,
1721
+ .mind-map-text-overlay .code-body::-webkit-scrollbar-thumb:hover,
1722
+ .mind-map-text-overlay .prose::-webkit-scrollbar-thumb:hover,
1723
+ .mind-map-text-overlay [id^="node-response-"]::-webkit-scrollbar-thumb:hover,
1724
+ .mind-map-text-overlay [id^="node-textarea-"]::-webkit-scrollbar-thumb:hover,
1725
+ .mind-map-text-overlay-v2-card .note-textarea:hover::-webkit-scrollbar-thumb,
1726
+ .mind-map-text-overlay-v2-card .note-content:hover::-webkit-scrollbar-thumb,
1727
+ .mind-map-text-overlay-v2-card .markdown-body:hover::-webkit-scrollbar-thumb,
1728
+ .mind-map-text-overlay-v2-card .code-body:hover::-webkit-scrollbar-thumb,
1729
+ .mind-map-text-overlay-v2-card .prose:hover::-webkit-scrollbar-thumb,
1730
+ .mind-map-text-overlay-v2-card [id^="node-response-"]:hover::-webkit-scrollbar-thumb,
1731
+ .mind-map-text-overlay-v2-card [id^="node-textarea-"]:hover::-webkit-scrollbar-thumb,
1732
+ .mind-map-text-overlay-v2-card .note-textarea::-webkit-scrollbar-thumb:hover,
1733
+ .mind-map-text-overlay-v2-card .note-content::-webkit-scrollbar-thumb:hover,
1734
+ .mind-map-text-overlay-v2-card .markdown-body::-webkit-scrollbar-thumb:hover,
1735
+ .mind-map-text-overlay-v2-card .code-body::-webkit-scrollbar-thumb:hover,
1736
+ .mind-map-text-overlay-v2-card .prose::-webkit-scrollbar-thumb:hover,
1737
+ .mind-map-text-overlay-v2-card [id^="node-response-"]::-webkit-scrollbar-thumb:hover,
1738
+ .mind-map-text-overlay-v2-card [id^="node-textarea-"]::-webkit-scrollbar-thumb:hover {
1739
+ background: rgba(0, 0, 0, 0.38) !important;
1740
+ }
1741
+
1742
+ .mind-map-text-overlay .prose,
1743
+ .mind-map-text-overlay [id^="node-response-"],
1744
+ .mind-map-text-overlay-v2-card .prose,
1745
+ .mind-map-text-overlay-v2-card [id^="node-response-"] {
1746
+ padding-right: 14px !important;
1747
+ }
1748
+
1749
+ .mind-map-text-overlay .code-body,
1750
+ .mind-map-text-overlay-v2-card .code-body {
1751
+ box-sizing: border-box !important;
1752
+ width: 100% !important;
1753
+ max-width: 100% !important;
1754
+ margin-right: 0 !important;
1755
+ padding-right: 14px !important;
1756
+ }
1757
+
1758
+ .mind-map-text-overlay .code-body > .code-body-content,
1759
+ .mind-map-text-overlay-v2-card .code-body > .code-body-content {
1760
+ display: block !important;
1761
+ min-width: 100% !important;
1762
+ width: max-content !important;
1763
+ box-sizing: border-box !important;
1764
+ padding: 2px 0 2px 0 !important;
1765
+ white-space: inherit !important;
1766
+ overflow-wrap: inherit !important;
1767
+ }
1768
+
1769
+ .mind-map-text-overlay-v2-body.is-nowrap,
1770
+ .mind-map-text-overlay-v2-body.is-nowrap .mind-map-text-overlay-v2-plain {
1771
+ white-space: pre !important;
1772
+ overflow-wrap: normal !important;
1773
+ }
1774
+
1775
+ .mind-map-text-overlay-v2-plain {
1776
+ white-space: pre-wrap;
1777
+ overflow-wrap: break-word;
1778
+ }
1779
+
1780
+ .mind-map-text-overlay-v2-textarea {
1781
+ width: 100%;
1782
+ height: 100%;
1783
+ border: none;
1784
+ outline: none;
1785
+ resize: none;
1786
+ background: transparent;
1787
+ color: inherit;
1788
+ font: inherit;
1789
+ line-height: 1.6;
1790
+ box-sizing: border-box;
1791
+ }
1792
+
1793
+ .mind-map-text-overlay-v2-card .map-node-bubble,
1794
+ .mind-map-text-overlay-v2-card .map-node-note,
1795
+ .mind-map-text-overlay-v2-card .map-node-memo {
1796
+ max-width: none !important;
1797
+ min-width: 0 !important;
1798
+ }
1799
+
1800
+ .mind-map-text-overlay-v2-card.is-editing .mind-map-text-overlay-v2-editing-note-surface,
1801
+ .mind-map-text-overlay-v2-card.is-editing .mind-map-text-overlay-v2-editing-note-surface .node-content-wrapper,
1802
+ .mind-map-text-overlay-v2-card.is-editing .mind-map-text-overlay-v2-editing-note-surface .node-content,
1803
+ .mind-map-text-overlay-v2-card.is-editing .mind-map-text-overlay-v2-editing-note-surface .node-response,
1804
+ .mind-map-text-overlay-v2-card.is-editing .mind-map-text-overlay-v2-editing-note-surface .note-content,
1805
+ .mind-map-text-overlay-v2-card.is-editing .mind-map-text-overlay-v2-editing-note-surface .note-textarea {
1806
+ background: transparent !important;
1807
+ background-color: transparent !important;
1808
+ background-image: none !important;
1809
+ border-color: transparent !important;
1810
+ box-shadow: none !important;
1811
+ -webkit-box-shadow: none !important;
1812
+ outline: none !important;
1813
+ filter: none !important;
1814
+ -webkit-filter: none !important;
1815
+ backdrop-filter: none !important;
1816
+ -webkit-backdrop-filter: none !important;
1817
+ }
1818
+
1819
+ .mind-map-text-overlay-v2-card.is-editing .mind-map-text-overlay-v2-editing-memo-surface .map-node-memo__body {
1820
+ color: #1f2937 !important;
1821
+ caret-color: #1f2937 !important;
1822
+ }
1823
+
1824
+ .mind-map-text-overlay-v2-card.is-editing .mind-map-text-overlay-v2-editing-surface .map-node-memo__header {
1825
+ display: flex !important;
1826
+ align-items: center !important;
1827
+ gap: 12px !important;
1828
+ min-width: 0 !important;
1829
+ }
1830
+
1831
+ .mind-map-text-overlay-v2-card.is-editing .mind-map-text-overlay-v2-editing-surface .map-node-memo__icon-wrap {
1832
+ display: flex !important;
1833
+ flex: 0 0 auto !important;
1834
+ align-items: center !important;
1835
+ justify-content: center !important;
1836
+ }
1837
+
1838
+ .mind-map-text-overlay-v2-card.is-editing .mind-map-text-overlay-v2-editing-surface .map-node-memo__title-wrap {
1839
+ display: flex !important;
1840
+ flex: 1 1 auto !important;
1841
+ min-width: 0 !important;
1842
+ }
1843
+
1844
+ .mind-map-text-overlay-v2-card.is-editing .mind-map-text-overlay-v2-editing-surface .map-node-memo__title {
1845
+ width: 100% !important;
1846
+ min-width: 0 !important;
1847
+ flex: 1 1 auto !important;
1848
+ }
1849
+
1850
+ .mind-map-v2-source-suspended .node-content-wrapper,
1851
+ .mind-map-v2-source-suspended .node-content,
1852
+ .mind-map-v2-source-suspended .node-response,
1853
+ .mind-map-v2-source-suspended [id^="node-response-"],
1854
+ .mind-map-v2-source-suspended [id^="node-textarea-"],
1855
+ .mind-map-v2-source-suspended .text-content,
1856
+ .mind-map-v2-source-suspended .prose,
1857
+ .mind-map-v2-source-suspended .markdown-body,
1858
+ .mind-map-v2-source-suspended .code-body,
1859
+ .mind-map-v2-source-suspended .note-content,
1860
+ .mind-map-v2-source-suspended .note-textarea,
1861
+ .mind-map-v2-source-suspended .map-node-memo__title,
1862
+ .mind-map-v2-source-suspended .map-node-memo__body,
1863
+ .mind-map-v2-source-suspended .map-node-memo__body-view,
1864
+ .mind-map-v2-source-suspended .map-node-memo__icon-wrap,
1865
+ .mind-map-v2-source-suspended .map-node-memo__icon-button,
1866
+ .mind-map-v2-source-suspended .map-node-memo__icon-popover,
1867
+ .mind-map-v2-source-suspended .map-node-memo__agent-plan-title,
1868
+ .mind-map-v2-source-suspended .map-node-memo__agent-plan-chips,
1869
+ .mind-map-v2-source-suspended .map-node-memo__agent-plan-body,
1870
+ .mind-map-v2-source-suspended .map-node-memo__agent-console-title,
1871
+ .mind-map-v2-source-suspended .map-node-memo__agent-console-body {
1872
+ opacity: 0 !important;
1873
+ visibility: hidden !important;
1874
+ content-visibility: visible !important;
1875
+ contain: layout style paint !important;
1876
+ pointer-events: none !important;
1877
+ user-select: none !important;
1878
+ -webkit-user-select: none !important;
1879
+ caret-color: transparent !important;
1880
+ }
1881
+
1882
+ .css3d-resolution-wrapper.node-type-image .mind-map-v2-source-suspended,
1883
+ .css3d-resolution-wrapper.node-type-video .mind-map-v2-source-suspended,
1884
+ .css3d-resolution-wrapper.node-type-embed .mind-map-v2-source-suspended,
1885
+ .css3d-resolution-wrapper.node-type-image .mind-map-text-overlay-source-suspended,
1886
+ .css3d-resolution-wrapper.node-type-video .mind-map-text-overlay-source-suspended,
1887
+ .css3d-resolution-wrapper.node-type-embed .mind-map-text-overlay-source-suspended {
1888
+ opacity: 1 !important;
1889
+ visibility: visible !important;
1890
+ content-visibility: visible !important;
1891
+ contain: none !important;
1892
+ pointer-events: none !important;
1893
+ user-select: none !important;
1894
+ -webkit-user-select: none !important;
1895
+ caret-color: auto !important;
1896
+ }
1897
+
1898
+ .css3d-resolution-wrapper.node-type-image,
1899
+ .css3d-resolution-wrapper.node-type-video,
1900
+ .css3d-resolution-wrapper.node-type-embed {
1901
+ --mind-media-surface-bleed: 0px;
1902
+ overflow: hidden !important;
1903
+ box-sizing: border-box !important;
1904
+ isolation: isolate !important;
1905
+ background: transparent !important;
1906
+ border: 0 !important;
1907
+ outline: 0 !important;
1908
+ }
1909
+
1910
+ .css3d-resolution-wrapper.node-type-image > .map-node,
1911
+ .css3d-resolution-wrapper.node-type-video > .map-node,
1912
+ .css3d-resolution-wrapper.node-type-embed > .map-node,
1913
+ .css3d-resolution-wrapper.node-type-image .node-content-wrapper,
1914
+ .css3d-resolution-wrapper.node-type-video .node-content-wrapper,
1915
+ .css3d-resolution-wrapper.node-type-embed .node-content-wrapper,
1916
+ .css3d-resolution-wrapper.node-type-image .node-response,
1917
+ .css3d-resolution-wrapper.node-type-video .node-response,
1918
+ .css3d-resolution-wrapper.node-type-embed .node-response {
1919
+ width: 100% !important;
1920
+ height: 100% !important;
1921
+ padding: 0 !important;
1922
+ margin: 0 !important;
1923
+ border: 0 !important;
1924
+ outline: 0 !important;
1925
+ box-sizing: border-box !important;
1926
+ overflow: hidden !important;
1927
+ background: transparent !important;
1928
+ scrollbar-gutter: auto !important;
1929
+ scrollbar-width: none !important;
1930
+ }
1931
+
1932
+ .css3d-resolution-wrapper.node-type-image .node-response::-webkit-scrollbar,
1933
+ .css3d-resolution-wrapper.node-type-video .node-response::-webkit-scrollbar,
1934
+ .css3d-resolution-wrapper.node-type-embed .node-response::-webkit-scrollbar {
1935
+ width: 0 !important;
1936
+ height: 0 !important;
1937
+ display: none !important;
1938
+ }
1939
+
1940
+ .css3d-resolution-wrapper.node-type-image img,
1941
+ .css3d-resolution-wrapper.node-type-video video,
1942
+ .css3d-resolution-wrapper.node-type-video canvas.mind-map-video-proxy,
1943
+ .css3d-resolution-wrapper.node-type-embed iframe,
1944
+ .css3d-resolution-wrapper.node-type-embed .embed-iframe-shell,
1945
+ .css3d-resolution-wrapper.node-type-embed .embed-card {
1946
+ contain: none !important;
1947
+ isolation: isolate !important;
1948
+ max-width: none !important;
1949
+ max-height: none !important;
1950
+ }
1951
+
1952
+ .css3d-resolution-wrapper.node-type-image img,
1953
+ .css3d-resolution-wrapper.node-type-video video,
1954
+ .css3d-resolution-wrapper.node-type-video canvas.mind-map-video-proxy,
1955
+ .css3d-resolution-wrapper.node-type-embed .embed-iframe-shell,
1956
+ .css3d-resolution-wrapper.node-type-embed .embed-card {
1957
+ position: absolute !important;
1958
+ left: 0 !important;
1959
+ top: 0 !important;
1960
+ right: auto !important;
1961
+ bottom: auto !important;
1962
+ width: calc(100% + var(--mind-media-surface-bleed, 0px)) !important;
1963
+ height: calc(100% + var(--mind-media-surface-bleed, 0px)) !important;
1964
+ }
1965
+
1966
+ .mind-map-v2-source-suspended .map-node-memo__agent-console-panel,
1967
+ .mind-map-v2-source-suspended .map-node-memo__agent-console-title,
1968
+ .mind-map-v2-source-suspended .map-node-memo__agent-console-body,
1969
+ .mind-map-v2-source-suspended .map-node-memo__agent-console-body * {
1970
+ opacity: 1 !important;
1971
+ visibility: visible !important;
1972
+ content-visibility: visible !important;
1973
+ contain: none !important;
1974
+ pointer-events: auto !important;
1975
+ user-select: text !important;
1976
+ -webkit-user-select: text !important;
1977
+ caret-color: auto !important;
1978
+ }
1979
+
1980
+ .sidebar-section-divider {
1981
+ width: 22px;
1982
+ height: 1px;
1983
+ margin: 6px 0;
1984
+ background: linear-gradient(90deg, rgba(148, 163, 184, 0), rgba(148, 163, 184, 0.7), rgba(148, 163, 184, 0));
1985
+ }
1986
+
1987
+ .sidebar-icon-btn--launcher {
1988
+ position: relative;
1989
+ }
1990
+
1991
+ .sidebar-icon-btn--launcher.sidebar-icon-btn--launcher-active::after {
1992
+ content: '';
1993
+ position: absolute;
1994
+ right: 4px;
1995
+ top: 50%;
1996
+ width: 5px;
1997
+ height: 5px;
1998
+ border-radius: 999px;
1999
+ transform: translateY(-50%);
2000
+ background: #2563eb;
2001
+ box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.12);
2002
+ }
2003
+
2004
+ .sidebar-hover-card,
2005
+ .template-launcher-panel,
2006
+ .mindcanvas-toolbar-hint {
2007
+ border: 1px solid rgba(203, 213, 225, 0.82);
2008
+ background:
2009
+ linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.88));
2010
+ box-shadow:
2011
+ 0 20px 40px rgba(15, 23, 42, 0.12),
2012
+ 0 8px 20px rgba(148, 163, 184, 0.14),
2013
+ inset 0 1px 0 rgba(255, 255, 255, 0.92);
2014
+ -webkit-backdrop-filter: blur(18px) saturate(1.12);
2015
+ backdrop-filter: blur(18px) saturate(1.12);
2016
+ }
2017
+
2018
+ .sidebar-hover-card {
2019
+ width: 280px;
2020
+ padding: 14px 16px;
2021
+ border-radius: 18px;
2022
+ opacity: 1;
2023
+ transform: translateY(0);
2024
+ transition: opacity 220ms ease, transform 220ms ease;
2025
+ }
2026
+
2027
+ .sidebar-hover-card--fade-out {
2028
+ opacity: 0;
2029
+ transform: translateY(-6px);
2030
+ }
2031
+
2032
+ .sidebar-hover-card__eyebrow,
2033
+ .template-launcher-panel__eyebrow {
2034
+ font-size: 10px;
2035
+ font-weight: 800;
2036
+ letter-spacing: 0.16em;
2037
+ text-transform: uppercase;
2038
+ color: #64748b;
2039
+ }
2040
+
2041
+ .sidebar-hover-card__title,
2042
+ .mindcanvas-toolbar-hint__title {
2043
+ margin-top: 6px;
2044
+ font-size: 14px;
2045
+ font-weight: 700;
2046
+ color: #0f172a;
2047
+ }
2048
+
2049
+ .sidebar-hover-card__description,
2050
+ .mindcanvas-toolbar-hint__description,
2051
+ .template-launcher-panel__description {
2052
+ margin-top: 4px;
2053
+ font-size: 12px;
2054
+ line-height: 1.55;
2055
+ color: #475569;
2056
+ }
2057
+
2058
+ .template-launcher-panel {
2059
+ width: min(340px, calc(100vw - 92px));
2060
+ border-radius: 22px;
2061
+ padding: 18px;
2062
+ }
2063
+
2064
+ .template-launcher-panel__title {
2065
+ margin-top: 8px;
2066
+ font-size: 20px;
2067
+ font-weight: 800;
2068
+ letter-spacing: -0.03em;
2069
+ color: #0f172a;
2070
+ }
2071
+
2072
+ .template-launcher-panel__prompt {
2073
+ margin-top: 18px;
2074
+ font-size: 12px;
2075
+ font-weight: 700;
2076
+ color: #334155;
2077
+ }
2078
+
2079
+ .template-launcher-panel__chips {
2080
+ display: flex;
2081
+ flex-wrap: wrap;
2082
+ gap: 8px;
2083
+ margin-top: 10px;
2084
+ }
2085
+
2086
+ .template-launcher-panel__form {
2087
+ display: flex;
2088
+ flex-direction: column;
2089
+ gap: 12px;
2090
+ margin-top: 16px;
2091
+ }
2092
+
2093
+ .template-launcher-field {
2094
+ display: flex;
2095
+ flex-direction: column;
2096
+ gap: 6px;
2097
+ }
2098
+
2099
+ .template-launcher-field__label {
2100
+ font-size: 12px;
2101
+ font-weight: 700;
2102
+ color: #0f172a;
2103
+ }
2104
+
2105
+ .template-launcher-field__description {
2106
+ font-size: 11px;
2107
+ line-height: 1.5;
2108
+ color: #64748b;
2109
+ }
2110
+
2111
+ .template-launcher-field__input,
2112
+ .template-launcher-field__textarea,
2113
+ .template-launcher-field__select {
2114
+ width: 100%;
2115
+ border: 1px solid rgba(203, 213, 225, 0.9);
2116
+ border-radius: 14px;
2117
+ background: rgba(255, 255, 255, 0.92);
2118
+ color: #0f172a;
2119
+ font-size: 12px;
2120
+ line-height: 1.5;
2121
+ padding: 10px 12px;
2122
+ transition: border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
2123
+ }
2124
+
2125
+ .template-launcher-field__textarea {
2126
+ min-height: 88px;
2127
+ resize: vertical;
2128
+ }
2129
+
2130
+ .template-launcher-field__input:focus,
2131
+ .template-launcher-field__textarea:focus,
2132
+ .template-launcher-field__select:focus {
2133
+ outline: none;
2134
+ border-color: rgba(59, 130, 246, 0.56);
2135
+ box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.08);
2136
+ background: #ffffff;
2137
+ }
2138
+
2139
+ .template-launcher-panel__validation {
2140
+ margin-top: 12px;
2141
+ font-size: 11px;
2142
+ font-weight: 700;
2143
+ color: #b45309;
2144
+ }
2145
+
2146
+ .template-launcher-chip {
2147
+ display: inline-flex;
2148
+ align-items: center;
2149
+ justify-content: center;
2150
+ min-height: 34px;
2151
+ padding: 0 12px;
2152
+ border-radius: 999px;
2153
+ border: 1px solid rgba(203, 213, 225, 0.9);
2154
+ background: rgba(255, 255, 255, 0.8);
2155
+ color: #334155;
2156
+ font-size: 12px;
2157
+ font-weight: 700;
2158
+ transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
2159
+ }
2160
+
2161
+ .template-launcher-chip:hover {
2162
+ border-color: rgba(125, 211, 252, 0.82);
2163
+ background: rgba(240, 249, 255, 0.94);
2164
+ color: #0f172a;
2165
+ transform: translateY(-1px);
2166
+ }
2167
+
2168
+ .template-launcher-chip--active {
2169
+ border-color: rgba(59, 130, 246, 0.42);
2170
+ background: linear-gradient(180deg, rgba(59, 130, 246, 0.12), rgba(37, 99, 235, 0.08));
2171
+ color: #1d4ed8;
2172
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.36);
2173
+ }
2174
+
2175
+ .template-launcher-panel__footer {
2176
+ display: flex;
2177
+ justify-content: flex-end;
2178
+ gap: 10px;
2179
+ margin-top: 20px;
2180
+ }
2181
+
2182
+ .template-launcher-panel__secondary,
2183
+ .template-launcher-panel__primary {
2184
+ height: 38px;
2185
+ padding: 0 14px;
2186
+ border-radius: 999px;
2187
+ font-size: 12px;
2188
+ font-weight: 800;
2189
+ transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
2190
+ }
2191
+
2192
+ .template-launcher-panel__secondary {
2193
+ border: 1px solid rgba(203, 213, 225, 0.9);
2194
+ background: rgba(255, 255, 255, 0.82);
2195
+ color: #475569;
2196
+ }
2197
+
2198
+ .template-launcher-panel__primary {
2199
+ border: 1px solid rgba(29, 78, 216, 0.14);
2200
+ background: linear-gradient(180deg, #2563eb, #1d4ed8);
2201
+ color: #ffffff;
2202
+ box-shadow: 0 10px 24px rgba(37, 99, 235, 0.22);
2203
+ }
2204
+
2205
+ .template-launcher-panel__primary:disabled {
2206
+ cursor: not-allowed;
2207
+ opacity: 0.62;
2208
+ box-shadow: none;
2209
+ transform: none;
2210
+ }
2211
+
2212
+ .template-launcher-panel__secondary:hover,
2213
+ .template-launcher-panel__primary:hover {
2214
+ transform: translateY(-1px);
2215
+ }
2216
+
2217
+ .css3d-resolution-wrapper.node-type-templatelauncher {
2218
+ overflow: visible !important;
2219
+ }
2220
+
2221
+ .css3d-resolution-wrapper.node-type-templatelauncher > .map-node-template-card {
2222
+ border-radius: 8px !important;
2223
+ background: #f8fafc;
2224
+ box-shadow:
2225
+ 0 18px 38px rgba(15, 23, 42, 0.16),
2226
+ 0 0 0 1px rgba(15, 23, 42, 0.08);
2227
+ }
2228
+
2229
+ .map-node-template-card,
2230
+ .map-node-template-card * {
2231
+ box-sizing: border-box;
2232
+ }
2233
+
2234
+ .map-node-template-card {
2235
+ color: #10212f;
2236
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
2237
+ }
2238
+
2239
+ .template-card__shell {
2240
+ display: flex;
2241
+ flex-direction: column;
2242
+ width: 100%;
2243
+ height: 100%;
2244
+ gap: 12px;
2245
+ padding: 18px;
2246
+ border: 1px solid rgba(15, 23, 42, 0.08);
2247
+ border-radius: 8px;
2248
+ background: #f8fafc;
2249
+ overflow: hidden;
2250
+ }
2251
+
2252
+ .template-card__header {
2253
+ display: grid;
2254
+ grid-template-columns: 42px minmax(0, 1fr);
2255
+ gap: 12px;
2256
+ align-items: start;
2257
+ flex: 0 0 auto;
2258
+ }
2259
+
2260
+ .template-card__icon {
2261
+ display: inline-flex;
2262
+ width: 42px;
2263
+ height: 42px;
2264
+ align-items: center;
2265
+ justify-content: center;
2266
+ border: 1px solid rgba(13, 148, 136, 0.22);
2267
+ border-radius: 8px;
2268
+ background: #ecfeff;
2269
+ color: #0f766e;
2270
+ font-size: 17px;
2271
+ }
2272
+
2273
+ .template-card__title-block {
2274
+ min-width: 0;
2275
+ }
2276
+
2277
+ .template-card__eyebrow {
2278
+ color: #64748b;
2279
+ font-size: 10px;
2280
+ font-weight: 800;
2281
+ letter-spacing: 0;
2282
+ text-transform: uppercase;
2283
+ }
2284
+
2285
+ .template-card__title {
2286
+ margin-top: 3px;
2287
+ color: #0f172a;
2288
+ font-size: 20px;
2289
+ font-weight: 800;
2290
+ line-height: 1.15;
2291
+ overflow-wrap: anywhere;
2292
+ }
2293
+
2294
+ .template-card__summary {
2295
+ margin-top: 5px;
2296
+ color: #475569;
2297
+ font-size: 12px;
2298
+ line-height: 1.45;
2299
+ overflow-wrap: anywhere;
2300
+ }
2301
+
2302
+ .template-card__prompt {
2303
+ flex: 0 0 auto;
2304
+ max-height: 62px;
2305
+ overflow: hidden;
2306
+ border-left: 3px solid #f59e0b;
2307
+ padding: 8px 10px;
2308
+ background: #fff7ed;
2309
+ color: #744210;
2310
+ font-size: 12px;
2311
+ font-weight: 650;
2312
+ line-height: 1.45;
2313
+ overflow-wrap: anywhere;
2314
+ }
2315
+
2316
+ .template-card__options {
2317
+ display: flex;
2318
+ flex: 0 0 auto;
2319
+ gap: 7px;
2320
+ overflow-x: auto;
2321
+ padding-bottom: 2px;
2322
+ scrollbar-width: thin;
2323
+ }
2324
+
2325
+ .template-card__option {
2326
+ flex: 0 0 auto;
2327
+ min-height: 32px;
2328
+ border: 1px solid rgba(148, 163, 184, 0.75);
2329
+ border-radius: 8px;
2330
+ background: #ffffff;
2331
+ color: #334155;
2332
+ padding: 0 11px;
2333
+ font-size: 12px;
2334
+ font-weight: 760;
2335
+ }
2336
+
2337
+ .template-card__option:hover {
2338
+ border-color: rgba(13, 148, 136, 0.45);
2339
+ color: #0f766e;
2340
+ }
2341
+
2342
+ .template-card__option.is-active {
2343
+ border-color: rgba(13, 148, 136, 0.6);
2344
+ background: #ccfbf1;
2345
+ color: #115e59;
2346
+ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.68);
2347
+ }
2348
+
2349
+ .template-card__option-description {
2350
+ min-height: 17px;
2351
+ color: #64748b;
2352
+ font-size: 11px;
2353
+ font-weight: 650;
2354
+ line-height: 1.45;
2355
+ overflow-wrap: anywhere;
2356
+ }
2357
+
2358
+ .template-card__form {
2359
+ display: flex;
2360
+ flex: 1 1 auto;
2361
+ min-height: 0;
2362
+ flex-direction: column;
2363
+ gap: 11px;
2364
+ overflow-y: auto;
2365
+ padding-right: 6px;
2366
+ scrollbar-width: thin;
2367
+ scrollbar-color: rgba(15, 23, 42, 0.22) transparent;
2368
+ }
2369
+
2370
+ .template-card__field {
2371
+ display: flex;
2372
+ flex-direction: column;
2373
+ gap: 5px;
2374
+ }
2375
+
2376
+ .template-card__label {
2377
+ color: #0f172a;
2378
+ font-size: 12px;
2379
+ font-weight: 800;
2380
+ line-height: 1.2;
2381
+ }
2382
+
2383
+ .template-card__description {
2384
+ color: #64748b;
2385
+ font-size: 11px;
2386
+ line-height: 1.42;
2387
+ overflow-wrap: anywhere;
2388
+ }
2389
+
2390
+ .template-card__input,
2391
+ .template-card__textarea,
2392
+ .template-card__select {
2393
+ width: 100%;
2394
+ border: 1px solid rgba(148, 163, 184, 0.7);
2395
+ border-radius: 8px;
2396
+ background: #ffffff;
2397
+ color: #0f172a;
2398
+ font-size: 12px;
2399
+ line-height: 1.45;
2400
+ padding: 9px 10px;
2401
+ outline: none;
2402
+ }
2403
+
2404
+ .template-card__textarea {
2405
+ min-height: 88px;
2406
+ resize: vertical;
2407
+ }
2408
+
2409
+ .template-card__input:focus,
2410
+ .template-card__textarea:focus,
2411
+ .template-card__select:focus {
2412
+ border-color: rgba(13, 148, 136, 0.65);
2413
+ box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.12);
2414
+ }
2415
+
2416
+ .template-card__empty {
2417
+ border: 1px dashed rgba(148, 163, 184, 0.7);
2418
+ border-radius: 8px;
2419
+ padding: 14px;
2420
+ color: #64748b;
2421
+ font-size: 12px;
2422
+ font-weight: 700;
2423
+ }
2424
+
2425
+ .template-card__footer {
2426
+ display: grid;
2427
+ grid-template-columns: minmax(0, 1fr) auto;
2428
+ align-items: center;
2429
+ gap: 12px;
2430
+ flex: 0 0 auto;
2431
+ padding-top: 10px;
2432
+ border-top: 1px solid rgba(148, 163, 184, 0.24);
2433
+ }
2434
+
2435
+ .template-card__status {
2436
+ min-width: 0;
2437
+ color: #64748b;
2438
+ font-size: 11px;
2439
+ font-weight: 750;
2440
+ line-height: 1.35;
2441
+ overflow-wrap: anywhere;
2442
+ }
2443
+
2444
+ .template-card__status[data-status="busy"] {
2445
+ color: #0369a1;
2446
+ }
2447
+
2448
+ .template-card__status[data-status="success"] {
2449
+ color: #047857;
2450
+ }
2451
+
2452
+ .template-card__status[data-status="error"] {
2453
+ color: #b45309;
2454
+ }
2455
+
2456
+ .template-card__generate {
2457
+ display: inline-flex;
2458
+ height: 38px;
2459
+ align-items: center;
2460
+ justify-content: center;
2461
+ gap: 8px;
2462
+ border: 1px solid rgba(15, 118, 110, 0.28);
2463
+ border-radius: 8px;
2464
+ background: #0f766e;
2465
+ color: #ffffff;
2466
+ padding: 0 14px;
2467
+ font-size: 12px;
2468
+ font-weight: 850;
2469
+ white-space: nowrap;
2470
+ }
2471
+
2472
+ .template-card__generate:hover {
2473
+ background: #115e59;
2474
+ }
2475
+
2476
+ .template-card__generate:disabled {
2477
+ cursor: not-allowed;
2478
+ opacity: 0.62;
2479
+ }
2480
+
2481
+ .mindcanvas-toolbar-hint {
2482
+ position: absolute;
2483
+ top: calc(100% + 10px);
2484
+ left: 50%;
2485
+ z-index: 2;
2486
+ width: max-content;
2487
+ min-width: 220px;
2488
+ max-width: min(340px, calc(100vw - 32px));
2489
+ padding: 9px 12px;
2490
+ border-radius: 14px;
2491
+ pointer-events: none;
2492
+ opacity: 0;
2493
+ transform: translateX(-50%) translateY(-2px);
2494
+ animation: mindcanvas-toolbar-tooltip-in 120ms ease-out forwards;
2495
+ transition: opacity 220ms ease, transform 220ms ease;
2496
+ }
2497
+
2498
+ .mindcanvas-toolbar-hint--fade-out {
2499
+ opacity: 0;
2500
+ transform: translateX(-50%) translateY(-6px);
2501
+ }
2502
+
2503
+ .mindcanvas-toolbar-hint::before {
2504
+ content: "";
2505
+ position: absolute;
2506
+ top: -5px;
2507
+ left: 50%;
2508
+ width: 10px;
2509
+ height: 10px;
2510
+ border-top: 1px solid rgba(203, 213, 225, 0.82);
2511
+ border-left: 1px solid rgba(203, 213, 225, 0.82);
2512
+ background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(248, 250, 252, 0.88));
2513
+ transform: translateX(-50%) rotate(45deg);
2514
+ }
2515
+
2516
+ @keyframes mindcanvas-toolbar-tooltip-in {
2517
+ to {
2518
+ opacity: 1;
2519
+ transform: translateX(-50%) translateY(0);
2520
+ }
2521
+ }
2522
+
2523
+ .template-studio-chooser {
2524
+ width: min(420px, calc(100vw - 96px));
2525
+ padding: 24px 24px 20px;
2526
+ border-radius: 28px;
2527
+ border: 1px solid rgba(148, 163, 184, 0.26);
2528
+ background:
2529
+ linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 250, 252, 0.94));
2530
+ box-shadow:
2531
+ 0 28px 54px rgba(15, 23, 42, 0.18),
2532
+ inset 0 1px 0 rgba(255, 255, 255, 0.82);
2533
+ backdrop-filter: blur(22px);
2534
+ }
2535
+
2536
+ .template-studio-chooser__actions {
2537
+ display: grid;
2538
+ gap: 12px;
2539
+ margin-top: 18px;
2540
+ }
2541
+
2542
+ .template-studio-chooser__action {
2543
+ display: grid;
2544
+ grid-template-columns: auto 1fr;
2545
+ gap: 14px;
2546
+ align-items: start;
2547
+ width: 100%;
2548
+ padding: 14px 16px;
2549
+ border-radius: 20px;
2550
+ border: 1px solid rgba(203, 213, 225, 0.9);
2551
+ background: rgba(255, 255, 255, 0.88);
2552
+ color: #0f172a;
2553
+ text-align: left;
2554
+ transition: transform 140ms ease, box-shadow 140ms ease, border-color 140ms ease;
2555
+ }
2556
+
2557
+ .template-studio-chooser__action:hover {
2558
+ transform: translateY(-1px);
2559
+ border-color: rgba(59, 130, 246, 0.28);
2560
+ box-shadow: 0 12px 28px rgba(37, 99, 235, 0.12);
2561
+ }
2562
+
2563
+ .template-studio-chooser__action-icon {
2564
+ display: inline-flex;
2565
+ align-items: center;
2566
+ justify-content: center;
2567
+ width: 36px;
2568
+ height: 36px;
2569
+ border-radius: 14px;
2570
+ background: rgba(219, 234, 254, 0.92);
2571
+ color: #2563eb;
2572
+ }
2573
+
2574
+ .template-studio-chooser__action-title {
2575
+ display: block;
2576
+ font-size: 13px;
2577
+ font-weight: 700;
2578
+ letter-spacing: -0.01em;
2579
+ }
2580
+
2581
+ .template-studio-chooser__action-description {
2582
+ display: block;
2583
+ margin-top: 4px;
2584
+ font-size: 12px;
2585
+ line-height: 1.55;
2586
+ color: #475569;
2587
+ }
2588
+
2589
+ .template-studio-toolbar-stack {
2590
+ display: flex;
2591
+ flex-direction: column;
2592
+ align-items: flex-end;
2593
+ gap: 10px;
2594
+ pointer-events: auto;
2595
+ }
2596
+
2597
+ .template-studio-toolbar {
2598
+ gap: 8px;
2599
+ max-width: min(720px, calc(100vw - 112px));
2600
+ }
2601
+
2602
+ .template-studio-toolbar__badge {
2603
+ display: inline-flex;
2604
+ align-items: center;
2605
+ gap: 8px;
2606
+ padding: 0 2px 0 0;
2607
+ font-size: 11px;
2608
+ font-weight: 800;
2609
+ letter-spacing: 0.08em;
2610
+ text-transform: uppercase;
2611
+ color: #0f172a;
2612
+ }
2613
+
2614
+ .template-studio-toolbar__meta {
2615
+ max-width: 220px;
2616
+ overflow: hidden;
2617
+ text-overflow: ellipsis;
2618
+ white-space: nowrap;
2619
+ font-size: 12px;
2620
+ font-weight: 600;
2621
+ color: #475569;
2622
+ }
2623
+
2624
+ .template-studio-toolbar__meta--selected {
2625
+ max-width: 180px;
2626
+ }
2627
+
2628
+ .template-studio-toolbar__button {
2629
+ min-width: 36px;
2630
+ }
2631
+
2632
+ .template-studio-toolbar__button--active {
2633
+ background: rgba(37, 99, 235, 0.12);
2634
+ color: #1d4ed8;
2635
+ }
2636
+
2637
+ .template-studio-toolbar__token {
2638
+ font-size: 11px;
2639
+ font-weight: 700;
2640
+ letter-spacing: -0.01em;
2641
+ }
2642
+
2643
+ .template-studio-panel {
2644
+ display: flex;
2645
+ flex-direction: column;
2646
+ gap: 18px;
2647
+ overflow: auto;
2648
+ padding: 18px;
2649
+ border-radius: 26px;
2650
+ border: 1px solid rgba(203, 213, 225, 0.9);
2651
+ background: rgba(255, 255, 255, 0.9);
2652
+ box-shadow:
2653
+ 0 24px 54px rgba(15, 23, 42, 0.16),
2654
+ inset 0 1px 0 rgba(255, 255, 255, 0.72);
2655
+ backdrop-filter: blur(24px);
2656
+ }
2657
+
2658
+ .template-studio-panel__section {
2659
+ display: flex;
2660
+ flex-direction: column;
2661
+ gap: 10px;
2662
+ }
2663
+
2664
+ .template-studio-panel__eyebrow {
2665
+ font-size: 10px;
2666
+ font-weight: 800;
2667
+ letter-spacing: 0.14em;
2668
+ text-transform: uppercase;
2669
+ color: #64748b;
2670
+ }
2671
+
2672
+ .template-studio-panel__field {
2673
+ display: flex;
2674
+ flex-direction: column;
2675
+ gap: 6px;
2676
+ font-size: 12px;
2677
+ font-weight: 600;
2678
+ color: #334155;
2679
+ }
2680
+
2681
+ .template-studio-panel__input,
2682
+ .template-studio-panel__select,
2683
+ .template-studio-panel__textarea {
2684
+ width: 100%;
2685
+ border-radius: 14px;
2686
+ border: 1px solid rgba(203, 213, 225, 0.9);
2687
+ background: rgba(255, 255, 255, 0.92);
2688
+ color: #0f172a;
2689
+ font-size: 13px;
2690
+ line-height: 1.5;
2691
+ padding: 10px 12px;
2692
+ outline: none;
2693
+ transition: border-color 140ms ease, box-shadow 140ms ease;
2694
+ }
2695
+
2696
+ .template-studio-panel__textarea {
2697
+ min-height: 88px;
2698
+ resize: vertical;
2699
+ }
2700
+
2701
+ .template-studio-panel__input:focus,
2702
+ .template-studio-panel__select:focus,
2703
+ .template-studio-panel__textarea:focus {
2704
+ border-color: rgba(59, 130, 246, 0.72);
2705
+ box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.12);
2706
+ }
2707
+
2708
+ .template-studio-panel__checkbox {
2709
+ display: inline-flex;
2710
+ align-items: center;
2711
+ gap: 10px;
2712
+ font-size: 12px;
2713
+ font-weight: 600;
2714
+ color: #334155;
2715
+ }
2716
+
2717
+ .template-studio-panel__node-summary {
2718
+ display: flex;
2719
+ flex-direction: column;
2720
+ gap: 3px;
2721
+ padding: 12px 14px;
2722
+ border-radius: 18px;
2723
+ border: 1px solid rgba(226, 232, 240, 0.92);
2724
+ background: rgba(248, 250, 252, 0.92);
2725
+ }
2726
+
2727
+ .template-studio-panel__node-title {
2728
+ font-size: 13px;
2729
+ font-weight: 700;
2730
+ color: #0f172a;
2731
+ }
2732
+
2733
+ .template-studio-panel__node-subtitle {
2734
+ font-size: 11px;
2735
+ font-weight: 600;
2736
+ color: #64748b;
2737
+ }
2738
+
2739
+ .template-studio-panel__hint {
2740
+ padding: 12px 14px;
2741
+ border-radius: 16px;
2742
+ border: 1px dashed rgba(148, 163, 184, 0.68);
2743
+ background: rgba(248, 250, 252, 0.84);
2744
+ font-size: 12px;
2745
+ line-height: 1.6;
2746
+ color: #475569;
2747
+ }
2748
+
2749
+ .template-studio-panel__issues {
2750
+ display: flex;
2751
+ flex-direction: column;
2752
+ gap: 8px;
2753
+ }
2754
+
2755
+ .template-studio-panel__issue {
2756
+ display: flex;
2757
+ flex-direction: column;
2758
+ gap: 3px;
2759
+ padding: 10px 12px;
2760
+ border-radius: 16px;
2761
+ border: 1px solid rgba(251, 191, 36, 0.32);
2762
+ background: rgba(255, 251, 235, 0.92);
2763
+ font-size: 12px;
2764
+ color: #92400e;
2765
+ }
2766
+
2767
+ .template-studio-panel__manifest-actions {
2768
+ display: flex;
2769
+ justify-content: flex-end;
2770
+ }
2771
+
2772
+ .template-studio-panel__manifest {
2773
+ margin: 0;
2774
+ max-height: 280px;
2775
+ overflow: auto;
2776
+ border-radius: 18px;
2777
+ border: 1px solid rgba(226, 232, 240, 0.92);
2778
+ background: rgba(248, 250, 252, 0.94);
2779
+ padding: 14px;
2780
+ font-size: 11px;
2781
+ line-height: 1.6;
2782
+ color: #0f172a;
2783
+ white-space: pre-wrap;
2784
+ word-break: break-word;
2785
+ }
2786
+
2787
+ @media (prefers-color-scheme: dark) {
2788
+ .sidebar-section-divider {
2789
+ background: linear-gradient(90deg, rgba(71, 85, 105, 0), rgba(148, 163, 184, 0.66), rgba(71, 85, 105, 0));
2790
+ }
2791
+
2792
+ .sidebar-icon-btn--launcher.sidebar-icon-btn--launcher-active::after {
2793
+ background: #93c5fd;
2794
+ box-shadow: 0 0 0 4px rgba(147, 197, 253, 0.12);
2795
+ }
2796
+
2797
+ .sidebar-hover-card,
2798
+ .template-launcher-panel,
2799
+ .mindcanvas-toolbar-hint {
2800
+ border-color: rgba(71, 85, 105, 0.82);
2801
+ background:
2802
+ linear-gradient(180deg, rgba(15, 23, 42, 0.92), rgba(30, 41, 59, 0.88));
2803
+ box-shadow:
2804
+ 0 22px 42px rgba(2, 6, 23, 0.34),
2805
+ inset 0 1px 0 rgba(255, 255, 255, 0.04);
2806
+ }
2807
+
2808
+ .mindcanvas-toolbar-hint::before {
2809
+ border-color: rgba(71, 85, 105, 0.82);
2810
+ background: linear-gradient(135deg, rgba(15, 23, 42, 0.92), rgba(30, 41, 59, 0.88));
2811
+ }
2812
+
2813
+ .sidebar-hover-card__eyebrow,
2814
+ .template-launcher-panel__eyebrow {
2815
+ color: rgba(148, 163, 184, 0.82);
2816
+ }
2817
+
2818
+ .sidebar-hover-card__title,
2819
+ .mindcanvas-toolbar-hint__title,
2820
+ .template-launcher-panel__title {
2821
+ color: #f8fafc;
2822
+ }
2823
+
2824
+ .sidebar-hover-card__description,
2825
+ .mindcanvas-toolbar-hint__description,
2826
+ .template-launcher-panel__description,
2827
+ .template-launcher-panel__prompt {
2828
+ color: rgba(226, 232, 240, 0.8);
2829
+ }
2830
+
2831
+ .template-launcher-chip {
2832
+ border-color: rgba(71, 85, 105, 0.82);
2833
+ background: rgba(30, 41, 59, 0.74);
2834
+ color: rgba(226, 232, 240, 0.88);
2835
+ }
2836
+
2837
+ .template-launcher-chip:hover {
2838
+ border-color: rgba(96, 165, 250, 0.72);
2839
+ background: rgba(30, 64, 175, 0.22);
2840
+ color: #eff6ff;
2841
+ }
2842
+
2843
+ .template-launcher-chip--active {
2844
+ border-color: rgba(96, 165, 250, 0.54);
2845
+ background: rgba(30, 64, 175, 0.32);
2846
+ color: #93c5fd;
2847
+ }
2848
+
2849
+ .template-launcher-field__label {
2850
+ color: #f8fafc;
2851
+ }
2852
+
2853
+ .template-launcher-field__description,
2854
+ .template-launcher-panel__validation {
2855
+ color: rgba(226, 232, 240, 0.72);
2856
+ }
2857
+
2858
+ .template-launcher-field__input,
2859
+ .template-launcher-field__textarea,
2860
+ .template-launcher-field__select {
2861
+ border-color: rgba(71, 85, 105, 0.82);
2862
+ background: rgba(15, 23, 42, 0.68);
2863
+ color: #f8fafc;
2864
+ }
2865
+
2866
+ .template-launcher-field__input:focus,
2867
+ .template-launcher-field__textarea:focus,
2868
+ .template-launcher-field__select:focus {
2869
+ border-color: rgba(96, 165, 250, 0.72);
2870
+ box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.16);
2871
+ background: rgba(15, 23, 42, 0.82);
2872
+ }
2873
+
2874
+ .template-launcher-panel__secondary {
2875
+ border-color: rgba(71, 85, 105, 0.82);
2876
+ background: rgba(30, 41, 59, 0.82);
2877
+ color: rgba(226, 232, 240, 0.86);
2878
+ }
2879
+
2880
+ .template-studio-chooser,
2881
+ .template-studio-panel {
2882
+ border-color: rgba(71, 85, 105, 0.82);
2883
+ background:
2884
+ linear-gradient(180deg, rgba(15, 23, 42, 0.92), rgba(30, 41, 59, 0.9));
2885
+ box-shadow:
2886
+ 0 24px 54px rgba(2, 6, 23, 0.36),
2887
+ inset 0 1px 0 rgba(255, 255, 255, 0.05);
2888
+ }
2889
+
2890
+ .template-studio-chooser__action {
2891
+ border-color: rgba(71, 85, 105, 0.72);
2892
+ background: rgba(15, 23, 42, 0.64);
2893
+ color: #f8fafc;
2894
+ }
2895
+
2896
+ .template-studio-chooser__action-description,
2897
+ .template-studio-toolbar__meta,
2898
+ .template-studio-panel__eyebrow,
2899
+ .template-studio-panel__node-subtitle,
2900
+ .template-studio-panel__hint {
2901
+ color: rgba(226, 232, 240, 0.72);
2902
+ }
2903
+
2904
+ .template-studio-toolbar__badge,
2905
+ .template-studio-panel__node-title,
2906
+ .template-studio-panel__field,
2907
+ .template-studio-panel__manifest {
2908
+ color: #f8fafc;
2909
+ }
2910
+
2911
+ .template-studio-panel__input,
2912
+ .template-studio-panel__select,
2913
+ .template-studio-panel__textarea,
2914
+ .template-studio-panel__node-summary,
2915
+ .template-studio-panel__manifest {
2916
+ border-color: rgba(71, 85, 105, 0.82);
2917
+ background: rgba(15, 23, 42, 0.68);
2918
+ color: #f8fafc;
2919
+ }
2920
+
2921
+ .template-studio-panel__hint {
2922
+ border-color: rgba(71, 85, 105, 0.8);
2923
+ background: rgba(15, 23, 42, 0.54);
2924
+ }
2925
+
2926
+ .template-studio-panel__issue {
2927
+ border-color: rgba(251, 191, 36, 0.28);
2928
+ background: rgba(120, 53, 15, 0.22);
2929
+ color: #fcd34d;
2930
+ }
2931
+
2932
+ .template-studio-toolbar__button--active {
2933
+ background: rgba(59, 130, 246, 0.18);
2934
+ color: #93c5fd;
2935
+ }
2936
+ }