@kerebron/legacy-compat 0.6.3

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 (222) hide show
  1. package/README.md +108 -0
  2. package/dist/__vite-browser-external-C8P1ckfS.js +56007 -0
  3. package/dist/__vite-browser-external-C8P1ckfS.js.map +1 -0
  4. package/dist/apl-B2DGVGxc.js +77 -0
  5. package/dist/apl-B2DGVGxc.js.map +1 -0
  6. package/dist/asciiarmor-2LVJmxlE.js +35 -0
  7. package/dist/asciiarmor-2LVJmxlE.js.map +1 -0
  8. package/dist/asn1-jKiBa2Ya.js +96 -0
  9. package/dist/asn1-jKiBa2Ya.js.map +1 -0
  10. package/dist/asterisk-DS281yxp.js +272 -0
  11. package/dist/asterisk-DS281yxp.js.map +1 -0
  12. package/dist/brainfuck-C_p9pTT8.js +35 -0
  13. package/dist/brainfuck-C_p9pTT8.js.map +1 -0
  14. package/dist/clike-DE3V9X8-.js +616 -0
  15. package/dist/clike-DE3V9X8-.js.map +1 -0
  16. package/dist/clojure-CCKyeQKf.js +801 -0
  17. package/dist/clojure-CCKyeQKf.js.map +1 -0
  18. package/dist/cmake-CuaCgAKt.js +29 -0
  19. package/dist/cmake-CuaCgAKt.js.map +1 -0
  20. package/dist/cobol-BlTKFDRj.js +73 -0
  21. package/dist/cobol-BlTKFDRj.js.map +1 -0
  22. package/dist/coffeescript-BVCvwO8I.js +180 -0
  23. package/dist/coffeescript-BVCvwO8I.js.map +1 -0
  24. package/dist/commonlisp-D_kxz07b.js +76 -0
  25. package/dist/commonlisp-D_kxz07b.js.map +1 -0
  26. package/dist/crystal-D309uH6_.js +218 -0
  27. package/dist/crystal-D309uH6_.js.map +1 -0
  28. package/dist/cypher-BMq4Fwjl.js +69 -0
  29. package/dist/cypher-BMq4Fwjl.js.map +1 -0
  30. package/dist/d-BZcgY6La.js +128 -0
  31. package/dist/d-BZcgY6La.js.map +1 -0
  32. package/dist/diff-Cg9d_RX2.js +19 -0
  33. package/dist/diff-Cg9d_RX2.js.map +1 -0
  34. package/dist/dockerfile-DIy8NleC.js +195 -0
  35. package/dist/dockerfile-DIy8NleC.js.map +1 -0
  36. package/dist/dtd-CtLokQ-U.js +85 -0
  37. package/dist/dtd-CtLokQ-U.js.map +1 -0
  38. package/dist/dylan-QYeExnWK.js +235 -0
  39. package/dist/dylan-QYeExnWK.js.map +1 -0
  40. package/dist/ebnf-DUPDuY4r.js +79 -0
  41. package/dist/ebnf-DUPDuY4r.js.map +1 -0
  42. package/dist/ecl-CiXN-g_D.js +122 -0
  43. package/dist/ecl-CiXN-g_D.js.map +1 -0
  44. package/dist/eiffel-yQhjl4T1.js +111 -0
  45. package/dist/eiffel-yQhjl4T1.js.map +1 -0
  46. package/dist/elm-CNT9vbN0.js +109 -0
  47. package/dist/elm-CNT9vbN0.js.map +1 -0
  48. package/dist/erlang-CFOYdy9e.js +488 -0
  49. package/dist/erlang-CFOYdy9e.js.map +1 -0
  50. package/dist/factor-DDOC7X6P.js +66 -0
  51. package/dist/factor-DDOC7X6P.js.map +1 -0
  52. package/dist/fcl-CPC2WYrI.js +104 -0
  53. package/dist/fcl-CPC2WYrI.js.map +1 -0
  54. package/dist/forth-BmxRyE9S.js +61 -0
  55. package/dist/forth-BmxRyE9S.js.map +1 -0
  56. package/dist/fortran-9bvPyrOW.js +443 -0
  57. package/dist/fortran-9bvPyrOW.js.map +1 -0
  58. package/dist/gas-cpmYfFX2.js +184 -0
  59. package/dist/gas-cpmYfFX2.js.map +1 -0
  60. package/dist/gherkin-CJuwpceU.js +35 -0
  61. package/dist/gherkin-CJuwpceU.js.map +1 -0
  62. package/dist/go-BHVhI2MG.js +156 -0
  63. package/dist/go-BHVhI2MG.js.map +1 -0
  64. package/dist/groovy-DZeT_VM-.js +147 -0
  65. package/dist/groovy-DZeT_VM-.js.map +1 -0
  66. package/dist/haskell-CxiO_7JL.js +376 -0
  67. package/dist/haskell-CxiO_7JL.js.map +1 -0
  68. package/dist/haxe-BhV0x0nk.js +337 -0
  69. package/dist/haxe-BhV0x0nk.js.map +1 -0
  70. package/dist/http-D9LttvKF.js +45 -0
  71. package/dist/http-D9LttvKF.js.map +1 -0
  72. package/dist/idl-B6TRFYjl.js +948 -0
  73. package/dist/idl-B6TRFYjl.js.map +1 -0
  74. package/dist/index-3ZSzAD46.js +63 -0
  75. package/dist/index-3ZSzAD46.js.map +1 -0
  76. package/dist/index-4h94vbv1.js +566 -0
  77. package/dist/index-4h94vbv1.js.map +1 -0
  78. package/dist/index-BAvKq317.js +961 -0
  79. package/dist/index-BAvKq317.js.map +1 -0
  80. package/dist/index-BHdiR3sn.js +613 -0
  81. package/dist/index-BHdiR3sn.js.map +1 -0
  82. package/dist/index-BnFQ_MuW.js +95 -0
  83. package/dist/index-BnFQ_MuW.js.map +1 -0
  84. package/dist/index-BqHwEvbm.js +139 -0
  85. package/dist/index-BqHwEvbm.js.map +1 -0
  86. package/dist/index-Bt60d9tl.js +60 -0
  87. package/dist/index-Bt60d9tl.js.map +1 -0
  88. package/dist/index-CLnSITym.js +1306 -0
  89. package/dist/index-CLnSITym.js.map +1 -0
  90. package/dist/index-D4axvsgA.js +158 -0
  91. package/dist/index-D4axvsgA.js.map +1 -0
  92. package/dist/index-DCtMPiGL.js +77 -0
  93. package/dist/index-DCtMPiGL.js.map +1 -0
  94. package/dist/index-DbR4C70d.js +554 -0
  95. package/dist/index-DbR4C70d.js.map +1 -0
  96. package/dist/index-Dgs7p3d5.js +303 -0
  97. package/dist/index-Dgs7p3d5.js.map +1 -0
  98. package/dist/index-Diy176Rq.js +946 -0
  99. package/dist/index-Diy176Rq.js.map +1 -0
  100. package/dist/index-I2kdiwDu.js +1918 -0
  101. package/dist/index-I2kdiwDu.js.map +1 -0
  102. package/dist/index-L0u_VcRQ.js +310 -0
  103. package/dist/index-L0u_VcRQ.js.map +1 -0
  104. package/dist/jinja2-DnB6dQmV.js +155 -0
  105. package/dist/jinja2-DnB6dQmV.js.map +1 -0
  106. package/dist/julia-DpvXAuO6.js +242 -0
  107. package/dist/julia-DpvXAuO6.js.map +1 -0
  108. package/dist/kerebron-light.css +1 -0
  109. package/dist/kerebron.css +1 -0
  110. package/dist/kerebron.js +7 -0
  111. package/dist/kerebron.js.map +1 -0
  112. package/dist/livescript-CanGTf8u.js +273 -0
  113. package/dist/livescript-CanGTf8u.js.map +1 -0
  114. package/dist/lua-XplVlWi_.js +218 -0
  115. package/dist/lua-XplVlWi_.js.map +1 -0
  116. package/dist/mathematica-jaRHnSxC.js +36 -0
  117. package/dist/mathematica-jaRHnSxC.js.map +1 -0
  118. package/dist/mbox-BctzC1hL.js +77 -0
  119. package/dist/mbox-BctzC1hL.js.map +1 -0
  120. package/dist/mirc-CFBPAOaF.js +73 -0
  121. package/dist/mirc-CFBPAOaF.js.map +1 -0
  122. package/dist/mllike-gvRenHsu.js +273 -0
  123. package/dist/mllike-gvRenHsu.js.map +1 -0
  124. package/dist/modelica-vUgVs--1.js +94 -0
  125. package/dist/modelica-vUgVs--1.js.map +1 -0
  126. package/dist/mscgen-ucEwbOaK.js +82 -0
  127. package/dist/mscgen-ucEwbOaK.js.map +1 -0
  128. package/dist/mumps-CQoS1kWX.js +26 -0
  129. package/dist/mumps-CQoS1kWX.js.map +1 -0
  130. package/dist/nginx-zDPm3Z74.js +90 -0
  131. package/dist/nginx-zDPm3Z74.js.map +1 -0
  132. package/dist/nsis-fePjrhq7.js +63 -0
  133. package/dist/nsis-fePjrhq7.js.map +1 -0
  134. package/dist/ntriples-CsNjv2QF.js +80 -0
  135. package/dist/ntriples-CsNjv2QF.js.map +1 -0
  136. package/dist/octave-C8PmmSRH.js +144 -0
  137. package/dist/octave-C8PmmSRH.js.map +1 -0
  138. package/dist/odt_parser.internal-CYdkAHGB.js +258 -0
  139. package/dist/odt_parser.internal-CYdkAHGB.js.map +1 -0
  140. package/dist/oz-Ce8aN8oE.js +152 -0
  141. package/dist/oz-Ce8aN8oE.js.map +1 -0
  142. package/dist/pascal-De0D6mP7.js +78 -0
  143. package/dist/pascal-De0D6mP7.js.map +1 -0
  144. package/dist/perl-B4bSCe1C.js +916 -0
  145. package/dist/perl-B4bSCe1C.js.map +1 -0
  146. package/dist/pig-D24Z8EXi.js +55 -0
  147. package/dist/pig-D24Z8EXi.js.map +1 -0
  148. package/dist/powershell-DkYVfTzP.js +250 -0
  149. package/dist/powershell-DkYVfTzP.js.map +1 -0
  150. package/dist/properties-Dn9wna3M.js +27 -0
  151. package/dist/properties-Dn9wna3M.js.map +1 -0
  152. package/dist/protobuf-BPIjwpzm.js +50 -0
  153. package/dist/protobuf-BPIjwpzm.js.map +1 -0
  154. package/dist/puppet-nyd4dhjf.js +46 -0
  155. package/dist/puppet-nyd4dhjf.js.map +1 -0
  156. package/dist/q-DXjKs-tC.js +84 -0
  157. package/dist/q-DXjKs-tC.js.map +1 -0
  158. package/dist/r-LKEuhEGI.js +105 -0
  159. package/dist/r-LKEuhEGI.js.map +1 -0
  160. package/dist/rpm-BoAefZZ1.js +50 -0
  161. package/dist/rpm-BoAefZZ1.js.map +1 -0
  162. package/dist/ruby-CcYfvIk6.js +229 -0
  163. package/dist/ruby-CcYfvIk6.js.map +1 -0
  164. package/dist/sas-7E8yHoCW.js +106 -0
  165. package/dist/sas-7E8yHoCW.js.map +1 -0
  166. package/dist/scheme-DjibxsNh.js +125 -0
  167. package/dist/scheme-DjibxsNh.js.map +1 -0
  168. package/dist/shell-C0C2sNA_.js +183 -0
  169. package/dist/shell-C0C2sNA_.js.map +1 -0
  170. package/dist/simple-mode-B0dvCdAA.js +90 -0
  171. package/dist/simple-mode-B0dvCdAA.js.map +1 -0
  172. package/dist/smalltalk-Bhddl2pB.js +49 -0
  173. package/dist/smalltalk-Bhddl2pB.js.map +1 -0
  174. package/dist/solr-BNlsLglM.js +42 -0
  175. package/dist/solr-BNlsLglM.js.map +1 -0
  176. package/dist/sparql-FarWu_Gb.js +198 -0
  177. package/dist/sparql-FarWu_Gb.js.map +1 -0
  178. package/dist/spreadsheet-C-cy4P5N.js +50 -0
  179. package/dist/spreadsheet-C-cy4P5N.js.map +1 -0
  180. package/dist/stex-Du4h4KAU.js +130 -0
  181. package/dist/stex-Du4h4KAU.js.map +1 -0
  182. package/dist/stylus-DRcbY16X.js +251 -0
  183. package/dist/stylus-DRcbY16X.js.map +1 -0
  184. package/dist/swift-DSxqR9R6.js +231 -0
  185. package/dist/swift-DSxqR9R6.js.map +1 -0
  186. package/dist/tcl-xfoLljhY.js +82 -0
  187. package/dist/tcl-xfoLljhY.js.map +1 -0
  188. package/dist/textile-D1AWE-pc.js +296 -0
  189. package/dist/textile-D1AWE-pc.js.map +1 -0
  190. package/dist/tiddlywiki-5wqsXtSk.js +156 -0
  191. package/dist/tiddlywiki-5wqsXtSk.js.map +1 -0
  192. package/dist/tiki-__Kn3CeS.js +182 -0
  193. package/dist/tiki-__Kn3CeS.js.map +1 -0
  194. package/dist/toml-BHiuTcfn.js +50 -0
  195. package/dist/toml-BHiuTcfn.js.map +1 -0
  196. package/dist/troff-D2UO-fKf.js +36 -0
  197. package/dist/troff-D2UO-fKf.js.map +1 -0
  198. package/dist/ttcn-Bsa4sfRm.js +124 -0
  199. package/dist/ttcn-Bsa4sfRm.js.map +1 -0
  200. package/dist/turtle-xwJUxoPV.js +81 -0
  201. package/dist/turtle-xwJUxoPV.js.map +1 -0
  202. package/dist/vb-c2kQGd6-.js +75 -0
  203. package/dist/vb-c2kQGd6-.js.map +1 -0
  204. package/dist/vbscript-1f_Dhg5H.js +325 -0
  205. package/dist/vbscript-1f_Dhg5H.js.map +1 -0
  206. package/dist/velocity-DJd0pTTC.js +97 -0
  207. package/dist/velocity-DJd0pTTC.js.map +1 -0
  208. package/dist/verilog-CiS1jyi5.js +263 -0
  209. package/dist/verilog-CiS1jyi5.js.map +1 -0
  210. package/dist/vhdl-T9HkrbI2.js +107 -0
  211. package/dist/vhdl-T9HkrbI2.js.map +1 -0
  212. package/dist/webidl-CjfDENEo.js +156 -0
  213. package/dist/webidl-CjfDENEo.js.map +1 -0
  214. package/dist/xquery-Ct6lEb4B.js +423 -0
  215. package/dist/xquery-Ct6lEb4B.js.map +1 -0
  216. package/dist/yacas-C0absKBh.js +74 -0
  217. package/dist/yacas-C0absKBh.js.map +1 -0
  218. package/dist/yaml-Dt6Tp2eU.js +54 -0
  219. package/dist/yaml-Dt6Tp2eU.js.map +1 -0
  220. package/dist/z80-Pki2zAjW.js +62 -0
  221. package/dist/z80-Pki2zAjW.js.map +1 -0
  222. package/package.json +16 -0
@@ -0,0 +1,242 @@
1
+ function o(e, n, i) {
2
+ return typeof i > "u" && (i = ""), typeof n > "u" && (n = "\\b"), new RegExp("^" + i + "((" + e.join(")|(") + "))" + n);
3
+ }
4
+ var v = "\\\\[0-7]{1,3}", k = "\\\\x[A-Fa-f0-9]{1,2}", F = `\\\\[abefnrtv0%?'"\\\\]`, g = "([^\\u0027\\u005C\\uD800-\\uDFFF]|[\\uD800-\\uDFFF][\\uDC00-\\uDFFF])", a = [
5
+ "[<>]:",
6
+ "[<>=]=",
7
+ "<<=?",
8
+ ">>>?=?",
9
+ "=>",
10
+ "--?>",
11
+ "<--[->]?",
12
+ "\\/\\/",
13
+ "\\.{2,3}",
14
+ "[\\.\\\\%*+\\-<>!\\/^|&]=?",
15
+ "\\?",
16
+ "\\$",
17
+ "~",
18
+ ":"
19
+ ], b = o([
20
+ "[<>]:",
21
+ "[<>=]=",
22
+ "[!=]==",
23
+ "<<=?",
24
+ ">>>?=?",
25
+ "=>?",
26
+ "--?>",
27
+ "<--[->]?",
28
+ "\\/\\/",
29
+ "[\\\\%*+\\-<>!\\/^|&\\u00F7\\u22BB]=?",
30
+ "\\?",
31
+ "\\$",
32
+ "~",
33
+ ":",
34
+ "\\u00D7",
35
+ "\\u2208",
36
+ "\\u2209",
37
+ "\\u220B",
38
+ "\\u220C",
39
+ "\\u2218",
40
+ "\\u221A",
41
+ "\\u221B",
42
+ "\\u2229",
43
+ "\\u222A",
44
+ "\\u2260",
45
+ "\\u2264",
46
+ "\\u2265",
47
+ "\\u2286",
48
+ "\\u2288",
49
+ "\\u228A",
50
+ "\\u22C5",
51
+ "\\b(in|isa)\\b(?!.?\\()"
52
+ ], ""), y = /^[;,()[\]{}]/, m = /^[_A-Za-z\u00A1-\u2217\u2219-\uFFFF][\w\u00A1-\u2217\u2219-\uFFFF]*!*/, x = o([v, k, F, g], "'"), z = [
53
+ "begin",
54
+ "function",
55
+ "type",
56
+ "struct",
57
+ "immutable",
58
+ "let",
59
+ "macro",
60
+ "for",
61
+ "while",
62
+ "quote",
63
+ "if",
64
+ "else",
65
+ "elseif",
66
+ "try",
67
+ "finally",
68
+ "catch",
69
+ "do"
70
+ ], A = ["end", "else", "elseif", "catch", "finally"], p = [
71
+ "if",
72
+ "else",
73
+ "elseif",
74
+ "while",
75
+ "for",
76
+ "begin",
77
+ "let",
78
+ "end",
79
+ "do",
80
+ "try",
81
+ "catch",
82
+ "finally",
83
+ "return",
84
+ "break",
85
+ "continue",
86
+ "global",
87
+ "local",
88
+ "const",
89
+ "export",
90
+ "import",
91
+ "importall",
92
+ "using",
93
+ "function",
94
+ "where",
95
+ "macro",
96
+ "module",
97
+ "baremodule",
98
+ "struct",
99
+ "type",
100
+ "mutable",
101
+ "immutable",
102
+ "quote",
103
+ "typealias",
104
+ "abstract",
105
+ "primitive",
106
+ "bitstype"
107
+ ], h = ["true", "false", "nothing", "NaN", "Inf"], E = o(z), C = o(A), _ = o(p), w = o(h), D = /^@[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/, T = /^:[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/, P = /^(`|([_A-Za-z\u00A1-\uFFFF]*"("")?))/, B = o(a, "", "@"), G = o(a, "", ":");
108
+ function l(e) {
109
+ return e.nestedArrays > 0;
110
+ }
111
+ function S(e) {
112
+ return e.nestedGenerators > 0;
113
+ }
114
+ function t(e, n) {
115
+ return typeof n > "u" && (n = 0), e.scopes.length <= n ? null : e.scopes[e.scopes.length - (n + 1)];
116
+ }
117
+ function f(e, n) {
118
+ if (e.match("#=", !1))
119
+ return n.tokenize = I, n.tokenize(e, n);
120
+ var i = n.leavingExpr;
121
+ if (e.sol() && (i = !1), n.leavingExpr = !1, i && e.match(/^'+/))
122
+ return "operator";
123
+ if (e.match(/\.{4,}/))
124
+ return "error";
125
+ if (e.match(/\.{1,3}/))
126
+ return "operator";
127
+ if (e.eatSpace())
128
+ return null;
129
+ var r = e.peek();
130
+ if (r === "#")
131
+ return e.skipToEnd(), "comment";
132
+ if (r === "[" && (n.scopes.push("["), n.nestedArrays++), r === "(" && (n.scopes.push("("), n.nestedGenerators++), l(n) && r === "]") {
133
+ for (; n.scopes.length && t(n) !== "["; )
134
+ n.scopes.pop();
135
+ n.scopes.pop(), n.nestedArrays--, n.leavingExpr = !0;
136
+ }
137
+ if (S(n) && r === ")") {
138
+ for (; n.scopes.length && t(n) !== "("; )
139
+ n.scopes.pop();
140
+ n.scopes.pop(), n.nestedGenerators--, n.leavingExpr = !0;
141
+ }
142
+ if (l(n)) {
143
+ if (n.lastToken == "end" && e.match(":"))
144
+ return "operator";
145
+ if (e.match("end"))
146
+ return "number";
147
+ }
148
+ var u;
149
+ if ((u = e.match(E, !1)) && n.scopes.push(u[0]), e.match(C, !1) && n.scopes.pop(), e.match(/^::(?![:\$])/))
150
+ return n.tokenize = $, n.tokenize(e, n);
151
+ if (!i && (e.match(T) || e.match(G)))
152
+ return "builtin";
153
+ if (e.match(b))
154
+ return "operator";
155
+ if (e.match(/^\.?\d/, !1)) {
156
+ var s = RegExp(/^im\b/), c = !1;
157
+ if (e.match(/^0x\.[0-9a-f_]+p[\+\-]?[_\d]+/i) && (c = !0), e.match(/^0x[0-9a-f_]+/i) && (c = !0), e.match(/^0b[01_]+/i) && (c = !0), e.match(/^0o[0-7_]+/i) && (c = !0), e.match(/^(?:(?:\d[_\d]*)?\.(?!\.)(?:\d[_\d]*)?|\d[_\d]*\.(?!\.)(?:\d[_\d]*))?([Eef][\+\-]?[_\d]+)?/i) && (c = !0), e.match(/^\d[_\d]*(e[\+\-]?\d+)?/i) && (c = !0), c)
158
+ return e.match(s), n.leavingExpr = !0, "number";
159
+ }
160
+ if (e.match("'"))
161
+ return n.tokenize = O, n.tokenize(e, n);
162
+ if (e.match(P))
163
+ return n.tokenize = Z(e.current()), n.tokenize(e, n);
164
+ if (e.match(D) || e.match(B))
165
+ return "meta";
166
+ if (e.match(y))
167
+ return null;
168
+ if (e.match(_))
169
+ return "keyword";
170
+ if (e.match(w))
171
+ return "builtin";
172
+ var d = n.isDefinition || n.lastToken == "function" || n.lastToken == "macro" || n.lastToken == "type" || n.lastToken == "struct" || n.lastToken == "immutable";
173
+ return e.match(m) ? d ? e.peek() === "." ? (n.isDefinition = !0, "variable") : (n.isDefinition = !1, "def") : (n.leavingExpr = !0, "variable") : (e.next(), "error");
174
+ }
175
+ function $(e, n) {
176
+ return e.match(/.*?(?=[,;{}()=\s]|$)/), e.match("{") ? n.nestedParameters++ : e.match("}") && n.nestedParameters > 0 && n.nestedParameters--, n.nestedParameters > 0 ? e.match(/.*?(?={|})/) || e.next() : n.nestedParameters == 0 && (n.tokenize = f), "builtin";
177
+ }
178
+ function I(e, n) {
179
+ return e.match("#=") && n.nestedComments++, e.match(/.*?(?=(#=|=#))/) || e.skipToEnd(), e.match("=#") && (n.nestedComments--, n.nestedComments == 0 && (n.tokenize = f)), "comment";
180
+ }
181
+ function O(e, n) {
182
+ var i = !1, r;
183
+ if (e.match(x))
184
+ i = !0;
185
+ else if (r = e.match(/\\u([a-f0-9]{1,4})(?=')/i)) {
186
+ var u = parseInt(r[1], 16);
187
+ (u <= 55295 || u >= 57344) && (i = !0, e.next());
188
+ } else if (r = e.match(/\\U([A-Fa-f0-9]{5,8})(?=')/)) {
189
+ var u = parseInt(r[1], 16);
190
+ u <= 1114111 && (i = !0, e.next());
191
+ }
192
+ return i ? (n.leavingExpr = !0, n.tokenize = f, "string") : (e.match(/^[^']+(?=')/) || e.skipToEnd(), e.match("'") && (n.tokenize = f), "error");
193
+ }
194
+ function Z(e) {
195
+ e.substr(-3) === '"""' ? e = '"""' : e.substr(-1) === '"' && (e = '"');
196
+ function n(i, r) {
197
+ if (i.eat("\\"))
198
+ i.next();
199
+ else {
200
+ if (i.match(e))
201
+ return r.tokenize = f, r.leavingExpr = !0, "string";
202
+ i.eat(/[`"]/);
203
+ }
204
+ return i.eatWhile(/[^\\`"]/), "string";
205
+ }
206
+ return n;
207
+ }
208
+ const j = {
209
+ name: "julia",
210
+ startState: function() {
211
+ return {
212
+ tokenize: f,
213
+ scopes: [],
214
+ lastToken: null,
215
+ leavingExpr: !1,
216
+ isDefinition: !1,
217
+ nestedArrays: 0,
218
+ nestedComments: 0,
219
+ nestedGenerators: 0,
220
+ nestedParameters: 0,
221
+ firstParenPos: -1
222
+ };
223
+ },
224
+ token: function(e, n) {
225
+ var i = n.tokenize(e, n), r = e.current();
226
+ return r && i && (n.lastToken = r), i;
227
+ },
228
+ indent: function(e, n, i) {
229
+ var r = 0;
230
+ return (n === "]" || n === ")" || /^end\b/.test(n) || /^else/.test(n) || /^catch\b/.test(n) || /^elseif\b/.test(n) || /^finally/.test(n)) && (r = -1), (e.scopes.length + r) * i.unit;
231
+ },
232
+ languageData: {
233
+ indentOnInput: /^\s*(end|else|catch|finally)\b$/,
234
+ commentTokens: { line: "#", block: { open: "#=", close: "=#" } },
235
+ closeBrackets: { brackets: ["(", "[", "{", '"'] },
236
+ autocomplete: p.concat(h)
237
+ }
238
+ };
239
+ export {
240
+ j as julia
241
+ };
242
+ //# sourceMappingURL=julia-DpvXAuO6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"julia-DpvXAuO6.js","sources":["../../../node_modules/.deno/@codemirror+legacy-modes@6.5.0/node_modules/@codemirror/legacy-modes/mode/julia.js"],"sourcesContent":["function wordRegexp(words, end, pre) {\n if (typeof pre === \"undefined\") pre = \"\";\n if (typeof end === \"undefined\") { end = \"\\\\b\"; }\n return new RegExp(\"^\" + pre + \"((\" + words.join(\")|(\") + \"))\" + end);\n}\n\nvar octChar = \"\\\\\\\\[0-7]{1,3}\";\nvar hexChar = \"\\\\\\\\x[A-Fa-f0-9]{1,2}\";\nvar sChar = \"\\\\\\\\[abefnrtv0%?'\\\"\\\\\\\\]\";\nvar uChar = \"([^\\\\u0027\\\\u005C\\\\uD800-\\\\uDFFF]|[\\\\uD800-\\\\uDFFF][\\\\uDC00-\\\\uDFFF])\";\n\nvar asciiOperatorsList = [\n \"[<>]:\", \"[<>=]=\", \"<<=?\", \">>>?=?\", \"=>\", \"--?>\", \"<--[->]?\", \"\\\\/\\\\/\",\n \"\\\\.{2,3}\", \"[\\\\.\\\\\\\\%*+\\\\-<>!\\\\/^|&]=?\", \"\\\\?\", \"\\\\$\", \"~\", \":\"\n];\nvar operators = wordRegexp([\n \"[<>]:\", \"[<>=]=\", \"[!=]==\", \"<<=?\", \">>>?=?\", \"=>?\", \"--?>\", \"<--[->]?\", \"\\\\/\\\\/\",\n \"[\\\\\\\\%*+\\\\-<>!\\\\/^|&\\\\u00F7\\\\u22BB]=?\", \"\\\\?\", \"\\\\$\", \"~\", \":\",\n \"\\\\u00D7\", \"\\\\u2208\", \"\\\\u2209\", \"\\\\u220B\", \"\\\\u220C\", \"\\\\u2218\",\n \"\\\\u221A\", \"\\\\u221B\", \"\\\\u2229\", \"\\\\u222A\", \"\\\\u2260\", \"\\\\u2264\",\n \"\\\\u2265\", \"\\\\u2286\", \"\\\\u2288\", \"\\\\u228A\", \"\\\\u22C5\",\n \"\\\\b(in|isa)\\\\b(?!\\.?\\\\()\"\n], \"\");\nvar delimiters = /^[;,()[\\]{}]/;\nvar identifiers = /^[_A-Za-z\\u00A1-\\u2217\\u2219-\\uFFFF][\\w\\u00A1-\\u2217\\u2219-\\uFFFF]*!*/;\n\nvar chars = wordRegexp([octChar, hexChar, sChar, uChar], \"'\");\n\nvar openersList = [\"begin\", \"function\", \"type\", \"struct\", \"immutable\", \"let\",\n \"macro\", \"for\", \"while\", \"quote\", \"if\", \"else\", \"elseif\", \"try\",\n \"finally\", \"catch\", \"do\"];\n\nvar closersList = [\"end\", \"else\", \"elseif\", \"catch\", \"finally\"];\n\nvar keywordsList = [\"if\", \"else\", \"elseif\", \"while\", \"for\", \"begin\", \"let\",\n \"end\", \"do\", \"try\", \"catch\", \"finally\", \"return\", \"break\", \"continue\",\n \"global\", \"local\", \"const\", \"export\", \"import\", \"importall\", \"using\",\n \"function\", \"where\", \"macro\", \"module\", \"baremodule\", \"struct\", \"type\",\n \"mutable\", \"immutable\", \"quote\", \"typealias\", \"abstract\", \"primitive\",\n \"bitstype\"];\n\nvar builtinsList = [\"true\", \"false\", \"nothing\", \"NaN\", \"Inf\"];\n\nvar openers = wordRegexp(openersList);\nvar closers = wordRegexp(closersList);\nvar keywords = wordRegexp(keywordsList);\nvar builtins = wordRegexp(builtinsList);\n\nvar macro = /^@[_A-Za-z\\u00A1-\\uFFFF][\\w\\u00A1-\\uFFFF]*!*/;\nvar symbol = /^:[_A-Za-z\\u00A1-\\uFFFF][\\w\\u00A1-\\uFFFF]*!*/;\nvar stringPrefixes = /^(`|([_A-Za-z\\u00A1-\\uFFFF]*\"(\"\")?))/;\n\nvar macroOperators = wordRegexp(asciiOperatorsList, \"\", \"@\");\nvar symbolOperators = wordRegexp(asciiOperatorsList, \"\", \":\");\n\nfunction inArray(state) {\n return (state.nestedArrays > 0);\n}\n\nfunction inGenerator(state) {\n return (state.nestedGenerators > 0);\n}\n\nfunction currentScope(state, n) {\n if (typeof(n) === \"undefined\") { n = 0; }\n if (state.scopes.length <= n) {\n return null;\n }\n return state.scopes[state.scopes.length - (n + 1)];\n}\n\n// tokenizers\nfunction tokenBase(stream, state) {\n // Handle multiline comments\n if (stream.match('#=', false)) {\n state.tokenize = tokenComment;\n return state.tokenize(stream, state);\n }\n\n // Handle scope changes\n var leavingExpr = state.leavingExpr;\n if (stream.sol()) {\n leavingExpr = false;\n }\n state.leavingExpr = false;\n\n if (leavingExpr) {\n if (stream.match(/^'+/)) {\n return \"operator\";\n }\n }\n\n if (stream.match(/\\.{4,}/)) {\n return \"error\";\n } else if (stream.match(/\\.{1,3}/)) {\n return \"operator\";\n }\n\n if (stream.eatSpace()) {\n return null;\n }\n\n var ch = stream.peek();\n\n // Handle single line comments\n if (ch === '#') {\n stream.skipToEnd();\n return \"comment\";\n }\n\n if (ch === '[') {\n state.scopes.push('[');\n state.nestedArrays++;\n }\n\n if (ch === '(') {\n state.scopes.push('(');\n state.nestedGenerators++;\n }\n\n if (inArray(state) && ch === ']') {\n while (state.scopes.length && currentScope(state) !== \"[\") { state.scopes.pop(); }\n state.scopes.pop();\n state.nestedArrays--;\n state.leavingExpr = true;\n }\n\n if (inGenerator(state) && ch === ')') {\n while (state.scopes.length && currentScope(state) !== \"(\") { state.scopes.pop(); }\n state.scopes.pop();\n state.nestedGenerators--;\n state.leavingExpr = true;\n }\n\n if (inArray(state)) {\n if (state.lastToken == \"end\" && stream.match(':')) {\n return \"operator\";\n }\n if (stream.match('end')) {\n return \"number\";\n }\n }\n\n var match;\n if (match = stream.match(openers, false)) {\n state.scopes.push(match[0]);\n }\n\n if (stream.match(closers, false)) {\n state.scopes.pop();\n }\n\n // Handle type annotations\n if (stream.match(/^::(?![:\\$])/)) {\n state.tokenize = tokenAnnotation;\n return state.tokenize(stream, state);\n }\n\n // Handle symbols\n if (!leavingExpr && (stream.match(symbol) || stream.match(symbolOperators))) {\n return \"builtin\";\n }\n\n // Handle parametric types\n //if (stream.match(/^{[^}]*}(?=\\()/)) {\n // return \"builtin\";\n //}\n\n // Handle operators and Delimiters\n if (stream.match(operators)) {\n return \"operator\";\n }\n\n // Handle Number Literals\n if (stream.match(/^\\.?\\d/, false)) {\n var imMatcher = RegExp(/^im\\b/);\n var numberLiteral = false;\n if (stream.match(/^0x\\.[0-9a-f_]+p[\\+\\-]?[_\\d]+/i)) { numberLiteral = true; }\n // Integers\n if (stream.match(/^0x[0-9a-f_]+/i)) { numberLiteral = true; } // Hex\n if (stream.match(/^0b[01_]+/i)) { numberLiteral = true; } // Binary\n if (stream.match(/^0o[0-7_]+/i)) { numberLiteral = true; } // Octal\n // Floats\n if (stream.match(/^(?:(?:\\d[_\\d]*)?\\.(?!\\.)(?:\\d[_\\d]*)?|\\d[_\\d]*\\.(?!\\.)(?:\\d[_\\d]*))?([Eef][\\+\\-]?[_\\d]+)?/i)) { numberLiteral = true; }\n if (stream.match(/^\\d[_\\d]*(e[\\+\\-]?\\d+)?/i)) { numberLiteral = true; } // Decimal\n if (numberLiteral) {\n // Integer literals may be \"long\"\n stream.match(imMatcher);\n state.leavingExpr = true;\n return \"number\";\n }\n }\n\n // Handle Chars\n if (stream.match(\"'\")) {\n state.tokenize = tokenChar;\n return state.tokenize(stream, state);\n }\n\n // Handle Strings\n if (stream.match(stringPrefixes)) {\n state.tokenize = tokenStringFactory(stream.current());\n return state.tokenize(stream, state);\n }\n\n if (stream.match(macro) || stream.match(macroOperators)) {\n return \"meta\";\n }\n\n if (stream.match(delimiters)) {\n return null;\n }\n\n if (stream.match(keywords)) {\n return \"keyword\";\n }\n\n if (stream.match(builtins)) {\n return \"builtin\";\n }\n\n var isDefinition = state.isDefinition || state.lastToken == \"function\" ||\n state.lastToken == \"macro\" || state.lastToken == \"type\" ||\n state.lastToken == \"struct\" || state.lastToken == \"immutable\";\n\n if (stream.match(identifiers)) {\n if (isDefinition) {\n if (stream.peek() === '.') {\n state.isDefinition = true;\n return \"variable\";\n }\n state.isDefinition = false;\n return \"def\";\n }\n state.leavingExpr = true;\n return \"variable\";\n }\n\n // Handle non-detected items\n stream.next();\n return \"error\";\n}\n\nfunction tokenAnnotation(stream, state) {\n stream.match(/.*?(?=[,;{}()=\\s]|$)/);\n if (stream.match('{')) {\n state.nestedParameters++;\n } else if (stream.match('}') && state.nestedParameters > 0) {\n state.nestedParameters--;\n }\n if (state.nestedParameters > 0) {\n stream.match(/.*?(?={|})/) || stream.next();\n } else if (state.nestedParameters == 0) {\n state.tokenize = tokenBase;\n }\n return \"builtin\";\n}\n\nfunction tokenComment(stream, state) {\n if (stream.match('#=')) {\n state.nestedComments++;\n }\n if (!stream.match(/.*?(?=(#=|=#))/)) {\n stream.skipToEnd();\n }\n if (stream.match('=#')) {\n state.nestedComments--;\n if (state.nestedComments == 0)\n state.tokenize = tokenBase;\n }\n return \"comment\";\n}\n\nfunction tokenChar(stream, state) {\n var isChar = false, match;\n if (stream.match(chars)) {\n isChar = true;\n } else if (match = stream.match(/\\\\u([a-f0-9]{1,4})(?=')/i)) {\n var value = parseInt(match[1], 16);\n if (value <= 55295 || value >= 57344) { // (U+0,U+D7FF), (U+E000,U+FFFF)\n isChar = true;\n stream.next();\n }\n } else if (match = stream.match(/\\\\U([A-Fa-f0-9]{5,8})(?=')/)) {\n var value = parseInt(match[1], 16);\n if (value <= 1114111) { // U+10FFFF\n isChar = true;\n stream.next();\n }\n }\n if (isChar) {\n state.leavingExpr = true;\n state.tokenize = tokenBase;\n return \"string\";\n }\n if (!stream.match(/^[^']+(?=')/)) { stream.skipToEnd(); }\n if (stream.match(\"'\")) { state.tokenize = tokenBase; }\n return \"error\";\n}\n\nfunction tokenStringFactory(delimiter) {\n if (delimiter.substr(-3) === '\"\"\"') {\n delimiter = '\"\"\"';\n } else if (delimiter.substr(-1) === '\"') {\n delimiter = '\"';\n }\n function tokenString(stream, state) {\n if (stream.eat('\\\\')) {\n stream.next();\n } else if (stream.match(delimiter)) {\n state.tokenize = tokenBase;\n state.leavingExpr = true;\n return \"string\";\n } else {\n stream.eat(/[`\"]/);\n }\n stream.eatWhile(/[^\\\\`\"]/);\n return \"string\";\n }\n return tokenString;\n}\n\nexport const julia = {\n name: \"julia\",\n startState: function() {\n return {\n tokenize: tokenBase,\n scopes: [],\n lastToken: null,\n leavingExpr: false,\n isDefinition: false,\n nestedArrays: 0,\n nestedComments: 0,\n nestedGenerators: 0,\n nestedParameters: 0,\n firstParenPos: -1\n };\n },\n\n token: function(stream, state) {\n var style = state.tokenize(stream, state);\n var current = stream.current();\n\n if (current && style) {\n state.lastToken = current;\n }\n\n return style;\n },\n\n indent: function(state, textAfter, cx) {\n var delta = 0;\n if ( textAfter === ']' || textAfter === ')' || /^end\\b/.test(textAfter) ||\n /^else/.test(textAfter) || /^catch\\b/.test(textAfter) || /^elseif\\b/.test(textAfter) ||\n /^finally/.test(textAfter) ) {\n delta = -1;\n }\n return (state.scopes.length + delta) * cx.unit;\n },\n\n languageData: {\n indentOnInput: /^\\s*(end|else|catch|finally)\\b$/,\n commentTokens: {line: \"#\", block: {open: \"#=\", close: \"=#\"}},\n closeBrackets: {brackets: [\"(\", \"[\", \"{\", '\"']},\n autocomplete: keywordsList.concat(builtinsList)\n }\n};\n"],"names":["wordRegexp","words","end","pre","octChar","hexChar","sChar","uChar","asciiOperatorsList","operators","delimiters","identifiers","chars","openersList","closersList","keywordsList","builtinsList","openers","closers","keywords","builtins","macro","symbol","stringPrefixes","macroOperators","symbolOperators","inArray","state","inGenerator","currentScope","tokenBase","stream","tokenComment","leavingExpr","ch","match","tokenAnnotation","imMatcher","numberLiteral","tokenChar","tokenStringFactory","isDefinition","isChar","value","delimiter","tokenString","julia","style","current","textAfter","cx","delta"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1 @@
1
+ :root,:host{--kb-space-xs: .25rem;--kb-space-sm: .5rem;--kb-space-md: 1rem;--kb-space-lg: 1.5rem;--kb-space-xl: 2rem;--kb-text-xs: .75rem;--kb-text-sm: .875rem;--kb-text-base: 1rem;--kb-text-lg: 1.125rem;--kb-touch-target-min: 44px;--kb-touch-target-comfortable: 48px;--kb-color-hover: rgba(59, 130, 246, .05);--kb-color-active: rgba(59, 130, 246, .1);--kb-color-focus: rgba(59, 130, 246, .2);--kb-radius-sm: 4px;--kb-radius-md: 6px;--kb-radius-lg: 8px;--kb-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--kb-shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--kb-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--kb-z-dropdown: 1100;--kb-z-tooltip: 1200;--kb-z-modal: 1300;--kb-z-notification: 1400;--kb-color-primary: #3b82f6;--kb-color-primary-hover: #2563eb;--kb-color-primary-active: #1d4ed8;--kb-color-primary-rgb: 59, 130, 246;--kb-color-text: #1f2937;--kb-color-text-muted: #6b7280;--kb-color-icon: #5f6368;--kb-color-surface: #ffffff;--kb-color-surface-elevated: #f9fafb;--kb-color-surface-hover: rgba(60, 64, 67, .08);--kb-color-border: #e5e7eb;--kb-color-border-strong: #d1d5db;--kb-menu-dropdown-bg: #ffffff;--kb-menu-dropdown-border: #dadce0;--kb-menu-dropdown-text: #3c4043;--kb-menu-dropdown-hover: rgba(60, 64, 67, .08);--kb-menu-info-bg: #e8f0fe;--kb-menu-info-text: #1967d2}.kb-component--brand-corporate{--kb-color-primary: #1e40af;--kb-color-primary-hover: #1e3a8a;--kb-color-primary-rgb: 30, 64, 175}.kb-component--brand-creative{--kb-color-primary: #7c3aed;--kb-color-primary-hover: #6d28d9;--kb-color-primary-rgb: 124, 58, 237}.kb-component{background:var(--kb-color-surface);color:var(--kb-color-text);background-clip:padding-box;border-radius:var(--kb-radius-md);border:2px solid var(--kb-color-border);padding:var(--kb-space-sm) 0;margin-bottom:var(--kb-space-lg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}.kb-editor{position:relative;word-wrap:break-word;white-space:pre-wrap;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;padding:var(--kb-space-sm) var(--kb-space-md) var(--kb-space-sm) var(--kb-space-lg);outline:none;font-size:var(--kb-text-base);line-height:1.6}@media(max-width:767px){.kb-editor{padding:var(--kb-space-md);font-size:var(--kb-text-base);line-height:1.7}}.kb-editor-hideselection *::selection{background:transparent}.kb-editor-hideselection *::-moz-selection{background:transparent}.kb-editor-hideselection{caret-color:transparent}.kb-editor hr{padding:0;border:none;margin:1em 0;height:2px;background-color:var(--kb-color-text)}.kb-editor img{cursor:default;max-width:100%;height:auto}.kb-component:focus-within{border-color:var(--kb-color-primary);box-shadow:0 0 0 3px var(--kb-color-focus)}@media(prefers-contrast:more){.kb-component{border-width:3px}.ProseMirror-selectednode{outline-width:3px}}.kb-lsp__error{position:relative;display:inline-block;padding-bottom:4px}.kb-lsp__error:after{content:"";position:absolute;left:0;right:0;bottom:6px;height:6px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 4' preserveAspectRatio='none'%3E%3Cpath d='M0,2 Q5,0 10,2 T20,2' stroke='red' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") repeat-x bottom center;background-size:20px 4px}.kb-shortcode-inline{background-color:green;border-radius:3px;margin:0 5px;padding:4px 10px}.kb-editor p{margin-bottom:1em}.kb-editor p:first-child,.kb-editor h1:first-child,.kb-editor h2:first-child,.kb-editor h3:first-child,.kb-editor h4:first-child,.kb-editor h5:first-child,.kb-editor h6:first-child{margin-top:var(--kb-space-md)}.kb-editor pre{white-space:pre-wrap}.kb-editor li{position:relative}.kb-editor ul,.kb-editor ol{padding-left:30px}.kb-editor blockquote{padding-left:1em;border-left:3px solid var(--kb-color-border);margin-left:0;margin-right:0;color:var(--kb-color-text-muted)}.kb-editor li[data-type=task_item]{display:flex;align-items:flex-start;gap:.5em;list-style:none;margin-left:-1.5em}.kb-editor li[data-type=task_item]>label{display:flex;align-items:center;flex-shrink:0;margin-top:.25em}.kb-editor li[data-type=task_item]>label input[type=checkbox]{cursor:pointer;margin:0}.kb-editor li[data-type=task_item]>div{flex:1;min-width:0}.kb-editor li[data-type=task_item]>div p{margin:0}.kb-editor li[data-type=task_item][data-checked=true]>div{text-decoration:line-through;opacity:.6}.ProseMirror-selectednode{outline:2px solid var(--kb-color-primary);outline-offset:2px}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";position:absolute;inset:-2px -2px -2px -32px;border:2px solid var(--kb-color-primary);pointer-events:none}.kb-gapcursor{display:none;pointer-events:none;position:absolute}.kb-gapcursor:after{content:"";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid black;animation:ProseMirror-cursor-blink 1.1s steps(2,start) infinite}@keyframes kb-cursor-blink{to{visibility:hidden}}.ProseMirror-focused .kb-gapcursor{display:block}.kb-search-match{background-color:#ffff0054}.kb-active-search-match{background-color:#ff6a0054}@supports (-webkit-touch-callout: none){.kb-component{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}}@media(max-width:767px){.kb-editor::selection{background:rgba(var(--kb-color-primary-rgb),.3)}.kb-editor::-moz-selection{background:rgba(var(--kb-color-primary-rgb),.3)}}@media print{.kb-component{border:none;box-shadow:none;margin:0;padding:0}.kb-editor{padding:0}}.kb-editor .tableWrapper{overflow-x:auto}.kb-editor table{border-collapse:collapse;table-layout:fixed;width:100%;overflow:hidden}.kb-editor td,.kb-editor th{vertical-align:top;box-sizing:border-box;position:relative;border:1px solid var(--kb-color-border)}.kb-editor td:not([data-colwidth]):not(.column-resize-dragging),.kb-editor th:not([data-colwidth]):not(.column-resize-dragging){min-width:var(--default-cell-min-width)}.kb-editor .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;z-index:20;background-color:#adf;pointer-events:none}.kb-editor.resize-cursor{cursor:ew-resize;cursor:col-resize}.kb-editor .selectedCell:after{z-index:2;position:absolute;content:"";inset:0;background:#c8c8ff66;pointer-events:none}@media(max-width:767px){.kb-editor table{font-size:var(--kb-text-sm);border-collapse:collapse;width:100%;overflow-x:auto;display:block;white-space:nowrap}.kb-editor th,.kb-editor td{min-width:120px;padding:var(--kb-space-md);border:1px solid var(--kb-color-border);vertical-align:top}.tableWrapper .column-resize-handle{display:none!important}.kb-editor .tableWrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.kb-editor .selectedCell{background:rgba(var(--kb-color-primary-rgb),.1);border:2px solid var(--kb-color-primary)}}.kb-menu{margin:0;line-height:1;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;position:sticky;top:0;display:flex;flex-wrap:nowrap;align-items:center;gap:0;padding:4px 8px;background:#f9f9f9;border-bottom:1px solid #dadce0;z-index:var(--kb-z-dropdown, 1000);overflow:visible}.kb-menu__content{display:flex;flex:1;align-items:center;gap:0;overflow:hidden}.kb-overflow-toggle{display:none;min-width:30px;min-height:30px;padding:6px;border:none;background:transparent;color:#3c4043;cursor:pointer;border-radius:2px;margin-left:4px;flex-shrink:0}.kb-overflow-toggle:hover{background:#3c404314}.kb-overflow-toggle svg{width:20px;height:20px;fill:currentColor}.kb-menu__overflow-row{display:none;flex-wrap:wrap;gap:4px;padding:8px;background:#f9f9f9;border-bottom:1px solid #dadce0}.kb-menu--overflow-open .kb-menu__overflow-row{display:flex;position:absolute}@media(max-width:767px){.kb-menu{position:fixed;inset:auto 0 0;border-bottom:none;border-top:1px solid #dadce0;box-shadow:0 -2px 8px #0000001a;backdrop-filter:blur(10px);background:#f9f9f9f2;padding:8px}.kb-menu__overflow-row{position:fixed;bottom:60px;left:0;right:0;border-top:1px solid #dadce0;border-bottom:none;box-shadow:0 -2px 8px #0000001a}.kb-component,.ProseMirror{padding-bottom:60px!important}.kb-overflow-toggle{min-width:44px;min-height:44px;padding:10px}}@media(min-width:768px){.kb-menu{position:relative;border-radius:var(--kb-radius-md) var(--kb-radius-md) 0 0}}.kb-menu{background-color:var(--kb-color-surface);z-index:10000}.kb-menu__button{border-radius:var(--kb-radius-sm);min-width:var(--kb-touch-target-comfortable);min-height:var(--kb-touch-target-comfortable);border:none;background:transparent;color:var(--kb-color-text);cursor:pointer;transition:all .2s ease;font-size:var(--kb-text-sm);flex-shrink:0}.kb-menu__button:hover{background:var(--kb-color-hover);border-color:var(--kb-color-border)}.kb-menu__button:focus{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-menu__button--active{background:var(--kb-color-primary);color:#fff;border-color:var(--kb-color-primary);border-radius:var(--kb-radius-sm)}.kb-menu__button--pressed{background:var(--kb-color-active);transform:scale(.95);transition:transform .1s ease}.kb-menu__button--disabled{opacity:.4;cursor:not-allowed}.kb-menu__button--disabled:hover{background:transparent;border-color:transparent}.kb-dropdown__item svg,.kb-menu__button svg{fill:currentColor;height:1em;width:1em}.kb-dropdown__item svg,.kb-menu__button span,.kb-menu__button svg{vertical-align:middle}.kb-menu__button span,.kb-dropdown__label-text{display:none}.kb-menu__separator{width:1px;height:var(--kb-space-lg);background:var(--kb-color-border);margin:0 var(--kb-space-xs);flex-shrink:0}.kb-dropdown{position:relative;padding:1px 0 1px var(--kb-space-sm);display:inline-block}.kb-dropdown__label{min-width:var(--kb-touch-target-comfortable);min-height:var(--kb-touch-target-comfortable);border:none;background:none;font-size:var(--kb-text-sm);align-items:center;padding-right:var(--kb-space-lg);white-space:nowrap;cursor:pointer}.kb-dropdown__label:focus{outline:2px solid var(--kb-color-primary);outline-offset:-2px}.kb-dropdown__label--active{background:var(--kb-color-active);color:var(--kb-color-primary)}.kb-dropdown__label:after{content:"";border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;opacity:.6;position:absolute;right:var(--kb-space-sm);top:calc(50% - 2px)}.kb-dropdown__menu{position:fixed;min-width:6em;background:var(--kb-color-surface);border:1px solid var(--kb-color-border);border-radius:var(--kb-radius-md);box-shadow:var(--kb-shadow-lg);z-index:var(--kb-z-dropdown);padding:var(--kb-space-xs);margin-top:var(--kb-space-xs);opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .2s ease;white-space:nowrap}.kb-dropdown--open .kb-dropdown__menu{opacity:1;visibility:visible;transform:translateY(0)}.kb-dropdown__item{display:flex;padding:var(--kb-space-sm) var(--kb-space-md);border:none;background:none;text-align:left;cursor:pointer;border-radius:var(--kb-radius-sm);color:var(--kb-color-text);font-size:var(--kb-text-sm);min-height:var(--kb-touch-target-comfortable);align-items:center;transition:background-color .2s ease}.kb-dropdown__item:hover{background:var(--kb-color-hover)}.kb-dropdown__item:focus{outline:2px solid var(--kb-color-primary);outline-offset:-2px}.kb-dropdown__item--active{background:var(--kb-color-active);color:var(--kb-color-primary)}@media(prefers-contrast:more){.kb-dropdown__item,.kb-dropdown__item:focus{outline-width:3px}}@media(max-width:767px){.kb-dropdown__menu,.kb-dropdown__menu--mobile{position:fixed;top:auto;bottom:calc(var(--kb-touch-target-comfortable) + var(--kb-space-md) * 2);left:var(--kb-space-sm);right:var(--kb-space-sm);min-width:auto;border-radius:var(--kb-radius-lg);max-height:50vh;overflow-y:auto;padding:var(--kb-space-md);backdrop-filter:blur(10px);background:#fffffff2}.kb-dropdown__item{padding:var(--kb-space-md);min-height:var(--kb-touch-target-comfortable)}}.kb-submenu{position:relative;margin-right:var(--kb-space-sm)}.kb-submenu__label{position:relative;padding-right:var(--kb-space-lg)}.kb-submenu__label:after{content:"";border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid currentColor;opacity:.6;position:absolute;right:var(--kb-space-sm);top:calc(50% - 4px)}.kb-submenu__content{position:absolute;left:100%;top:var(--kb-space-xs);min-width:4em;background:var(--kb-color-surface);border:1px solid var(--kb-color-border);border-radius:var(--kb-radius-md);box-shadow:var(--kb-shadow-lg);z-index:calc(var(--kb-z-dropdown) + 1);padding:var(--kb-space-xs);opacity:0;visibility:hidden;transform:translate(-4px);transition:all .2s ease}.kb-submenu:hover .kb-submenu__content,.kb-submenu--open .kb-submenu__content{opacity:1;visibility:visible;transform:translate(0)}@media(max-width:767px){.kb-submenu__content{display:none}}.kb-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--kb-color-text);color:var(--kb-color-surface);padding:var(--kb-space-xs) var(--kb-space-sm);border-radius:var(--kb-radius-sm);font-size:var(--kb-text-xs);white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s ease;margin-bottom:var(--kb-space-xs);z-index:var(--kb-z-tooltip)}.kb-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid var(--kb-color-text)}.kb-menu__button:hover .kb-tooltip{opacity:1;visibility:visible}@media(max-width:767px){.kb-tooltip{display:none}}@media(prefers-reduced-motion:reduce){.kb-menu__button,.kb-dropdown__menu,.kb-submenu__content,.kb-tooltip{transition:none}}.kb-icon{min-width:var(--kb-touch-target-comfortable);min-height:var(--kb-touch-target-comfortable);display:inline-block;line-height:var(--kb-touch-target-comfortable);vertical-align:middle}.kb-prompt{background:var(--kb-color-surface);padding:var(--kb-space-lg) var(--kb-space-xl);border:1px solid var(--kb-color-border);position:fixed;border-radius:var(--kb-radius-lg);z-index:var(--kb-z-modal);box-shadow:var(--kb-shadow-lg);top:50%;left:50%;transform:translate(-50%,-50%);min-width:320px;max-width:90vw}.kb-prompt form{display:flex;flex-direction:column;gap:var(--kb-space-md)}.kb-prompt form>div{display:flex;flex-direction:column}.kb-prompt-backdrop{position:fixed;inset:0;z-index:1299}.kb-prompt form>div.kb-prompt__buttons{flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin-top:var(--kb-space-sm);gap:var(--kb-space-sm)}.kb-prompt h5{margin:0;font-weight:600;font-size:var(--kb-text-lg);color:var(--kb-color-text)}.kb-prompt input[type=text],.kb-prompt textarea{background:var(--kb-color-surface-elevated);border:1px solid var(--kb-color-border);border-radius:var(--kb-radius-sm);padding:var(--kb-space-sm) var(--kb-space-md);font-size:var(--kb-text-base);color:var(--kb-color-text);width:100%;box-sizing:border-box;outline:none}.kb-prompt input[type=text]:focus,.kb-prompt textarea:focus{border-color:var(--kb-color-primary);box-shadow:0 0 0 3px var(--kb-color-focus)}.kb-prompt--close{position:absolute;right:var(--kb-space-sm);top:var(--kb-space-sm);color:var(--kb-color-text-muted);border:none;background:transparent;padding:var(--kb-space-xs);cursor:pointer;border-radius:var(--kb-radius-sm);width:var(--kb-space-lg);height:var(--kb-space-lg);display:flex;align-items:center;justify-content:center}.kb-prompt--close:hover{background:var(--kb-color-hover);color:var(--kb-color-text)}.kb-prompt--close:after{content:"✕";font-size:var(--kb-text-sm)}.kb-invalid{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:var(--kb-radius-sm);padding:var(--kb-space-sm) var(--kb-space-md);position:absolute;min-width:10em;font-size:var(--kb-text-sm)}.kb-prompt__buttons{margin-top:var(--kb-space-sm);display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--kb-space-sm);justify-content:space-between}.kb-prompt__buttons button{padding:var(--kb-space-xs) var(--kb-space-md);border:1px solid var(--kb-color-border);border-radius:var(--kb-radius-sm);background:var(--kb-color-surface);color:var(--kb-color-text);cursor:pointer;font-size:var(--kb-text-sm);font-weight:500;min-height:auto;width:auto;flex:0 0 auto;transition:background-color .15s ease,border-color .15s ease}.kb-prompt__buttons button[type=submit]{order:2}.kb-prompt__buttons button[type=button]{order:1}.kb-prompt__buttons button:hover{background:var(--kb-color-hover)}.kb-prompt__buttons button[type=submit]{background:var(--kb-color-primary);color:#fff;border-color:var(--kb-color-primary)}.kb-prompt__buttons button[type=submit]:hover{background:var(--kb-color-primary-hover)}.kb-prompt__file-field{display:flex;flex-direction:column;gap:var(--kb-space-xs)}.kb-prompt__file-label{font-size:var(--kb-text-sm);color:var(--kb-color-text-muted);font-weight:500}.kb-prompt__file-input{background:var(--kb-color-surface-elevated);border:1px solid var(--kb-color-border);border-radius:var(--kb-radius-sm);padding:var(--kb-space-sm) var(--kb-space-md);font-size:var(--kb-text-sm);color:var(--kb-color-text);width:100%;box-sizing:border-box;cursor:pointer}.kb-prompt__file-input::file-selector-button{background:var(--kb-color-primary);color:#fff;border:none;border-radius:var(--kb-radius-sm);padding:var(--kb-space-xs) var(--kb-space-md);margin-right:var(--kb-space-md);cursor:pointer;font-size:var(--kb-text-sm);font-weight:500;transition:background-color .15s ease}.kb-prompt__file-input::file-selector-button:hover{background:var(--kb-color-primary-hover)}.kb-prompt__file-input:focus{border-color:var(--kb-color-primary);box-shadow:0 0 0 3px var(--kb-color-focus);outline:none}.kb-prompt__file-name{font-size:var(--kb-text-xs);color:var(--kb-color-text-muted);font-style:italic}@media(max-width:767px){.kb-editor-prompt{position:fixed;bottom:var(--kb-space-md);left:var(--kb-space-md);right:var(--kb-space-md);top:auto;transform:none;max-width:none;border-radius:var(--kb-radius-lg);padding:var(--kb-space-lg)}.kb-editor-prompt input[type=text],.kb-editor-prompt textarea{min-height:var(--kb-touch-target-min);padding:var(--kb-space-sm);font-size:var(--kb-text-base);border:1px solid var(--kb-color-border);border-radius:var(--kb-radius-sm);background:var(--kb-color-surface);color:var(--kb-color-text)}.kb-editor-prompt-buttons{display:flex;gap:var(--kb-space-sm);margin-top:var(--kb-space-md)}.kb-editor-prompt-buttons button{flex:1;min-height:var(--kb-touch-target-comfortable);padding:var(--kb-space-sm) var(--kb-space-md);border:1px solid var(--kb-color-border);border-radius:var(--kb-radius-sm);background:var(--kb-color-surface);color:var(--kb-color-text);font-size:var(--kb-text-base);cursor:pointer}.kb-editor-prompt-buttons button[type=submit]{background:var(--kb-color-primary);color:#fff;border-color:var(--kb-color-primary)}}:root{--kb-bg: #fff;--kb-fg: #1f1f1f;--kb-subtle: #5f6368;--kb-border: #e0e0e0;--kb-hover: #f1f3f4;--kb-active: #e8f0fe;--kb-focus: #1a73e8;--kb-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 2px 8px rgba(0, 0, 0, .08);--kb-height: 48px;--kb-btn-h: 34px;--kb-radius: 10px;--kb-gap: 8px;--kb-icon: 20px;--kb-font: 13px}@media(prefers-color-scheme:dark){:root{--kb-bg: #ffffff;--kb-fg: #1f1f1f;--kb-subtle: #5f6368;--kb-border: #e6e7e8;--kb-hover: #f3f4f5;--kb-active: #e8f0fe}}.kb-menu__wrapper{z-index:50;padding:8px 12px;background:transparent}.kb-menu{background:var(--kb-bg);border:1px solid var(--kb-border);border-radius:var(--kb-radius);box-shadow:var(--kb-shadow);min-height:var(--kb-height);display:flex;align-items:center;gap:var(--kb-gap);padding:0 8px;container-type:inline-size}.kb-menu__spacer{height:var(--kb-height)}.kb-menu__item{display:inline-flex;align-items:center}.kb-menu__separator{width:1px;height:22px;background:var(--kb-border);flex:0 0 auto;margin:0 2px}.kb-menu__button{height:var(--kb-btn-h);min-width:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--kb-fg);font:500 var(--kb-font)/1.2 system-ui,-apple-system,"Segoe UI",Roboto,Arial;cursor:pointer;user-select:none;white-space:nowrap}.kb-menu__button svg,.kb-menu__button .kb-icon{width:var(--kb-icon);height:var(--kb-icon);fill:currentColor}.kb-menu__button:hover{background:var(--kb-hover)}.kb-menu__button:focus-visible{outline:2px solid var(--kb-focus);outline-offset:2px;background:var(--kb-hover)}.kb-menu__button--active,.kb-menu__button[aria-pressed=true]{background:var(--kb-active);border-color:#d2e3fc}.kb-menu__button--disabled,.kb-menu__button[aria-disabled=true]{opacity:.5;cursor:default;pointer-events:none}.kb-menu__button--icon-only>span{display:none}.kb-dropdown{position:relative;display:inline-flex;align-items:center}.kb-dropdown__label{height:var(--kb-btn-h);display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--kb-fg);font:500 var(--kb-font)/1.2 system-ui,-apple-system,"Segoe UI",Roboto,Arial;cursor:pointer}.kb-dropdown__label:hover{background:var(--kb-hover)}.kb-dropdown--open .kb-dropdown__label{background:var(--kb-active);border-color:#d2e3fc}.kb-dropdown__menu{position:absolute;top:calc(100% + 6px);left:0;min-width:240px;max-height:60vh;overflow:auto;background:var(--kb-bg);color:var(--kb-fg);border:1px solid var(--kb-border);border-radius:10px;box-shadow:var(--kb-shadow);padding:6px;display:grid;gap:2px;z-index:100}.kb-dropdown__item{display:contents}.kb-dropdown__item .kb-menu__button{justify-content:flex-start;width:100%;border-radius:8px}.kb-submenu{position:relative;display:inline-flex;align-items:center}.kb-submenu__label{height:var(--kb-btn-h);display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px}.kb-submenu__label:hover{background:var(--kb-hover)}.kb-submenu__content{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;max-height:60vh;overflow:auto;background:var(--kb-bg);border:1px solid var(--kb-border);border-radius:10px;box-shadow:var(--kb-shadow);padding:6px;display:none;z-index:100}.kb-submenu--open .kb-submenu__content{display:block}.kb-overflow-toggle{display:none}.kb-menu__overflow-row{display:none;margin:6px 12px 0;padding:6px;background:var(--kb-bg);border:1px solid var(--kb-border);border-radius:10px;box-shadow:var(--kb-shadow);gap:6px;align-items:center;flex-wrap:wrap}.kb-menu--narrow .kb-overflow-toggle{display:inline-flex}.kb-menu--overflow-open .kb-menu__overflow-row{display:flex}@media(max-width:600px){.kb-menu__wrapper{display:flex;flex-direction:column}.kb-menu--overflow-open .kb-menu__overflow-row{order:-1}}.kb-custom-menu__wrapper{display:flex;flex-direction:column;position:relative}.kb-custom-menu__wrapper--resizing{user-select:none;cursor:ns-resize}.kb-custom-menu__editor-container{position:relative;overflow:auto;display:flex;flex-direction:column}.kb-custom-menu__resize-handle{position:absolute;bottom:0;left:0;right:0;height:12px;cursor:ns-resize;display:flex;align-items:center;justify-content:center;z-index:1;transition:background-color .2s ease}.kb-custom-menu__resize-handle:hover{background:#3c40430f}.kb-custom-menu__resize-handle-bar{width:48px;height:var(--kb-space-xs);background:var(--kb-color-border-strong);border-radius:2px;transition:background-color .2s ease}.kb-custom-menu__resize-handle:hover .kb-custom-menu__resize-handle-bar{background:var(--kb-menu-dropdown-border)}.kb-custom-menu__wrapper--resizing .kb-custom-menu__resize-handle-bar{background:var(--kb-color-primary)}.kb-custom-menu{margin:calc(-1 * var(--kb-space-sm)) 0 0 0;line-height:1;font-size:var(--kb-text-sm);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;position:sticky;top:0;display:flex;flex-wrap:nowrap;align-items:center;gap:2px;padding:0 var(--kb-space-sm);background:var(--kb-color-surface-elevated);border-bottom:1px solid var(--kb-color-border-strong);z-index:1000;overflow:visible}.kb-custom-menu__item{display:inline-flex;align-items:center}.kb-custom-menu__item .kb-menu__button,.kb-custom-menu__item .kb-dropdown__label{min-width:32px;min-height:32px;width:32px;height:32px;padding:0;border:none;background:transparent;color:var(--kb-color-icon, #5f6368);cursor:pointer;border-radius:var(--kb-radius-sm);transition:background-color .2s ease,outline-color .15s ease;font-size:var(--kb-text-sm);display:inline-flex;align-items:center;justify-content:center}.kb-custom-menu__item .kb-menu__button:focus,.kb-custom-menu__item .kb-dropdown__label:focus{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-custom-menu__item .kb-menu__button:focus:not(:focus-visible),.kb-custom-menu__item .kb-dropdown__label:focus:not(:focus-visible){outline:none}.kb-custom-menu__item .kb-menu__button:focus-visible,.kb-custom-menu__item .kb-dropdown__label:focus-visible{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-custom-menu__item .kb-menu__button:hover,.kb-custom-menu__item .kb-dropdown__label:hover{background:var(--kb-color-surface-hover)}.kb-custom-menu__item .kb-menu__button--active{background:var(--kb-color-active);color:var(--kb-color-primary)}.kb-custom-menu__item .kb-menu__button svg{width:16px!important;height:16px!important;fill:currentColor}.kb-custom-menu__item .kb-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.kb-custom-menu__item .kb-dropdown__label-text{display:none}.kb-custom-menu__item .kb-dropdown__label{display:inline-flex;align-items:center;justify-content:center;position:relative}.kb-custom-menu__item .kb-dropdown__label .kb-icon{display:inline-flex;align-items:center;justify-content:center}.kb-custom-menu__item .kb-dropdown__label .kb-icon svg{width:16px!important;height:16px!important;fill:currentColor}.kb-custom-menu__item .kb-dropdown__label:after{content:"";border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid currentColor;opacity:.7;position:absolute;right:2px;bottom:2px}.kb-custom-menu__item .kb-dropdown{padding:1px 0}.kb-custom-menu .kb-dropdown__menu{background:var(--kb-menu-dropdown-bg);border:1px solid var(--kb-menu-dropdown-border);border-radius:var(--kb-radius-lg);box-shadow:0 2px 10px #0000004d;padding:4px;gap:2px}.kb-custom-menu .kb-dropdown__item{display:block!important}.kb-custom-menu .kb-dropdown__item .kb-menu__button{width:100%;display:flex!important;align-items:center;justify-content:flex-start!important;gap:8px;padding:6px 10px!important;min-height:32px;border-radius:var(--kb-radius-sm);background:transparent!important;color:var(--kb-menu-dropdown-text);font-size:var(--kb-text-sm)}.kb-custom-menu .kb-dropdown__item .kb-menu__button:hover{background:#e8eaed14!important}.kb-custom-menu .kb-dropdown__item .kb-menu__button .kb-icon,.kb-custom-menu .kb-dropdown__item .kb-icon{min-width:18px!important;max-width:18px!important;min-height:18px!important;max-height:18px!important;width:18px!important;height:18px!important;line-height:1!important;margin:0!important;flex-shrink:0}.kb-custom-menu .kb-dropdown__item .kb-menu__button .kb-icon svg,.kb-custom-menu .kb-dropdown__item .kb-icon svg{width:18px!important;height:18px!important}.kb-custom-menu .kb-submenu__content{background:var(--kb-menu-dropdown-bg)!important;border:1px solid var(--kb-menu-dropdown-border)!important;border-radius:var(--kb-radius-lg)!important;box-shadow:0 2px 10px #0000004d!important}.kb-custom-menu .kb-submenu__label{color:var(--kb-menu-dropdown-text)!important}.kb-custom-menu .kb-submenu__label:hover{background:none}.kb-custom-menu .kb-submenu__label:after{border-left-color:var(--kb-menu-dropdown-text)!important}.kb-custom-menu__separator{width:1px;height:var(--kb-space-lg);background:var(--kb-color-border-strong);margin:0 8px;flex-shrink:0}.kb-custom-menu__overflow-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;width:32px;height:32px;padding:0;border:none;background:transparent;color:var(--kb-color-text);cursor:pointer;border-radius:var(--kb-radius-sm);margin-left:auto;flex-shrink:0;transition:background-color .2s ease}.kb-custom-menu__overflow-toggle:hover{background:var(--kb-color-surface-hover)}.kb-custom-menu__overflow-toggle:focus{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-custom-menu__overflow-toggle:focus:not(:focus-visible){outline:none}.kb-custom-menu__overflow-toggle:focus-visible{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-custom-menu__overflow-toggle svg{width:16px;height:16px;fill:currentColor}.kb-custom-menu__overflow-menu{position:absolute;top:32px;right:var(--kb-space-xs);width:auto;min-width:180px;max-width:320px;background:var(--kb-color-surface-elevated);border:none;border-radius:var(--kb-radius-sm);box-shadow:var(--kb-shadow-lg);z-index:1001;display:flex;flex-direction:column;overflow:hidden}.kb-custom-menu__overflow-content{flex:1;overflow-y:auto;padding:var(--kb-space-sm);min-height:0;max-height:800px}.kb-custom-menu__overflow-content--grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:2px;padding:0 var(--kb-space-sm)}.kb-custom-menu__overflow-header{width:100%;padding:var(--kb-space-sm) var(--kb-space-md) var(--kb-space-xs) var(--kb-space-md);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--kb-color-text-muted);margin-bottom:var(--kb-space-xs)}.kb-custom-menu__overflow-item{display:flex;align-items:center;padding:var(--kb-space-md) 0;gap:0;cursor:pointer;transition:background-color .2s ease;border-radius:var(--kb-radius-sm);margin:0 var(--kb-space-sm)}.kb-custom-menu__overflow-item:focus{outline:2px solid var(--kb-color-primary);outline-offset:-2px}.kb-custom-menu__overflow-item:focus:not(:focus-visible){outline:none}.kb-custom-menu__overflow-item:focus-visible{outline:2px solid var(--kb-color-primary);outline-offset:-2px}.kb-custom-menu__overflow-item--grid{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:4px;margin:0;gap:0;flex-shrink:0;position:relative;border-radius:var(--kb-radius-sm)}.kb-custom-menu__overflow-item--grid:hover{background:var(--kb-color-surface-hover)}.kb-custom-menu__overflow-item--grid.kb-custom-menu__overflow-item--dropdown{width:32px;min-width:32px;padding:4px;gap:0;position:relative}.kb-custom-menu__overflow-item-indicator{position:absolute;right:2px;top:50%;transform:translateY(-50%);border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid currentColor;opacity:.7;font-size:0;line-height:0;margin-left:0}.kb-custom-menu__overflow-item:not(.kb-custom-menu__overflow-item--grid):hover{background:var(--kb-color-surface-hover)}.kb-custom-menu__overflow-item--grid .kb-menu__button,.kb-custom-menu__overflow-item--grid .kb-dropdown__label{min-width:32px;min-height:32px;width:32px;height:32px;padding:0;border:none;background:transparent;color:var(--kb-color-text);cursor:pointer;border-radius:0;display:flex;align-items:center;justify-content:center}.kb-custom-menu__overflow-item--grid .kb-menu__button svg{width:16px!important;height:16px!important}.kb-custom-menu__overflow-item:not(.kb-custom-menu__overflow-item--grid) .kb-menu__button,.kb-custom-menu__overflow-item:not(.kb-custom-menu__overflow-item--grid) .kb-dropdown__label{min-height:36px;padding:var(--kb-space-sm) 0;border:none;background:transparent;color:var(--kb-color-text);cursor:pointer;border-radius:0;transition:none;font-size:var(--kb-text-sm);display:flex;align-items:center;flex-shrink:0}.kb-custom-menu__overflow-item:not(.kb-custom-menu__overflow-item--grid) .kb-menu__button:not(:has(svg)):not(:has(.kb-icon)){display:none}.kb-custom-menu__overflow-item--grid .kb-menu__button{display:flex!important}.kb-custom-menu__overflow-item[data-tool-id=tool-toggle-underline] .kb-menu__button{display:flex}.kb-custom-menu__overflow-item--grid[data-tool-id=tool-insert],.kb-custom-menu__overflow-item--grid[data-tool-id=tool-type]{height:36px}.kb-custom-menu__overflow-item[data-tool-id=tool-text-color] button{display:flex}.kb-custom-menu__item[data-tool-id=tool-insert],.kb-custom-menu__item[data-tool-id=tool-type],.kb-custom-menu__item[data-tool-id=tool-table]{position:relative}.kb-custom-menu__item[data-tool-id=tool-insert]>div>button:after,.kb-custom-menu__item[data-tool-id=tool-type]>div>button:after,.kb-custom-menu__item[data-tool-id=tool-table]>div>button:after{content:"";border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid currentColor;opacity:.7;position:absolute;right:2px;bottom:2px}.kb-custom-menu__item[data-tool-id=tool-toggle-code-font] button>span,.kb-custom-menu__item[data-tool-id=tool-text-color] button>span,.kb-custom-menu__item[data-tool-id=tool-text-highlight] button>span,.kb-custom-menu__item[data-tool-id=tool-toggle-underline] button>span{display:none}.kb-custom-menu__overflow-item .kb-menu__button:hover,.kb-custom-menu__overflow-item .kb-dropdown__label:hover{background:transparent}.kb-custom-menu__overflow-item .kb-menu__button svg{width:16px;height:16px;flex-shrink:0;fill:currentColor}.kb-custom-menu__overflow-item-label{flex:1;color:var(--kb-color-text);font-size:var(--kb-text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kb-custom-menu__overflow-item-chevron{display:flex;align-items:center;margin-left:auto;padding-left:var(--kb-space-sm);color:var(--kb-color-text-muted)}.kb-custom-menu__overflow-item-chevron svg{width:16px;height:16px;fill:none;stroke:currentColor}.kb-custom-menu__overflow-submenu-header{display:flex;align-items:center;gap:var(--kb-space-sm);padding:var(--kb-space-md);border-bottom:1px solid var(--kb-color-border);background:var(--kb-color-surface);position:sticky;top:0;z-index:1}.kb-custom-menu__overflow-back-button{display:flex;align-items:center;justify-content:center;padding:var(--kb-space-xs);border:none;background:transparent;border-radius:var(--kb-radius-sm);cursor:pointer;color:var(--kb-color-text);transition:background-color .15s ease}.kb-custom-menu__overflow-back-button:hover{background:var(--kb-color-surface-hover)}.kb-custom-menu__overflow-back-button:focus{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-custom-menu__overflow-back-button:focus:not(:focus-visible){outline:none}.kb-custom-menu__overflow-back-button:focus-visible{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-custom-menu__overflow-back-button svg{width:16px;height:16px;fill:none;stroke:currentColor}.kb-custom-menu__overflow-submenu-title{flex:1;font-size:var(--kb-text-base);font-weight:500;color:var(--kb-color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kb-custom-menu__overflow-separator{height:1px;background:var(--kb-color-border);margin:var(--kb-space-sm) 0}.kb-custom-menu__overflow-footer{flex-shrink:0;border-top:1px solid var(--kb-color-border);background:var(--kb-color-surface);padding:var(--kb-space-sm) 0}.kb-custom-menu__manage-button{width:calc(100% - 32px);margin:0 var(--kb-space-md);min-height:36px;padding:var(--kb-space-sm) 12px;border:none;background:transparent;color:var(--kb-color-primary);cursor:pointer;border-radius:var(--kb-radius-sm);transition:background-color .2s ease;font-size:var(--kb-text-sm);display:flex;align-items:center;gap:12px;text-align:left;font-weight:500}.kb-custom-menu__manage-button:hover{background:var(--kb-color-hover)}.kb-custom-menu__manage-button svg{width:16px;height:16px;flex-shrink:0}.kb-custom-menu__modal-backdrop{position:fixed;inset:0;background:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.kb-custom-menu__modal{background:var(--kb-color-surface);border-radius:12px;box-shadow:0 8px 32px #0003;width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.kb-custom-menu__modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px var(--kb-space-lg);border-bottom:1px solid var(--kb-color-border)}.kb-custom-menu__modal-header h2{margin:0;font-size:20px;font-weight:500;color:var(--kb-color-text)}.kb-custom-menu__modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;color:var(--kb-color-text-muted);cursor:pointer;border-radius:50%;transition:background-color .2s ease}.kb-custom-menu__modal-close:hover{background:var(--kb-color-surface-hover)}.kb-custom-menu__modal-close svg{width:16px;height:16px}.kb-custom-menu__modal-message{padding:var(--kb-space-md) var(--kb-space-lg);background:var(--kb-menu-info-bg);color:var(--kb-menu-info-text);font-size:13px;font-weight:500;border-bottom:1px solid var(--kb-color-border-strong)}.kb-custom-menu__modal-content{flex:1;overflow-y:auto;padding:var(--kb-space-md) 0}.kb-custom-menu__tool-list{display:flex;flex-direction:column;gap:2px}.kb-custom-menu__tool-item{display:flex;align-items:center;gap:12px;padding:12px var(--kb-space-lg);cursor:pointer;transition:background-color .2s ease;user-select:none}.kb-custom-menu__tool-item:hover{background:#3c40430a}.kb-custom-menu__tool-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--kb-color-primary)}.kb-custom-menu__tool-item span{flex:1;color:var(--kb-color-text);font-size:var(--kb-text-sm)}.kb-custom-menu__tool-item--disabled{opacity:.5;cursor:not-allowed}.kb-custom-menu__tool-item--disabled:hover{background:transparent}.kb-custom-menu__tool-item--disabled input[type=checkbox]{cursor:not-allowed}.kb-custom-menu__modal-footer{display:flex;align-items:center;justify-content:flex-end;padding:var(--kb-space-md) var(--kb-space-lg);border-top:1px solid var(--kb-color-border);gap:var(--kb-space-sm)}.kb-custom-menu__modal-button{min-width:80px;padding:var(--kb-space-sm) var(--kb-space-lg);border:none;border-radius:var(--kb-radius-sm);font-size:var(--kb-text-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.kb-custom-menu__modal-button--primary{background:var(--kb-color-primary);color:#fff}.kb-custom-menu__modal-button--primary:hover{background:var(--kb-color-primary-hover);box-shadow:var(--kb-shadow-sm)}.kb-custom-menu__modal-button--primary:active{background:var(--kb-color-primary-active);box-shadow:0 1px 2px #00000029}@media(max-width:767.98px){.kb-custom-menu__overflow-menu{max-width:100%;left:var(--kb-space-sm);right:var(--kb-space-sm)}.kb-custom-menu__overflow-item{min-height:32px;padding:var(--kb-space-md)}.kb-custom-menu__overflow-item--grid{min-width:32px;min-height:32px}.kb-custom-menu__modal{max-width:100%;max-height:90vh;margin:0;border-radius:12px 12px 0 0}.kb-custom-menu__overflow-back-button{min-width:32px;min-height:32px}}@media(prefers-color-scheme:dark){.kb-custom-menu{background:var(--kb-color-surface-elevated);border-bottom-color:var(--kb-color-border)}.kb-custom-menu__resize-handle:hover{background:#e8eaed0f}.kb-custom-menu__resize-handle-bar{background:var(--kb-menu-dropdown-border)}.kb-custom-menu__resize-handle:hover .kb-custom-menu__resize-handle-bar{background:var(--kb-color-text-muted)}.kb-custom-menu__wrapper--resizing .kb-custom-menu__resize-handle-bar{background:var(--kb-color-primary)}.kb-custom-menu__item .kb-menu__button,.kb-custom-menu__item .kb-dropdown__label,.kb-custom-menu__overflow-toggle{color:var(--kb-menu-dropdown-text)}.kb-custom-menu__item .kb-menu__button:hover,.kb-custom-menu__item .kb-dropdown__label:hover,.kb-custom-menu__overflow-toggle:hover{background:#e8eaed14}.kb-custom-menu__separator{background:var(--kb-menu-dropdown-border)}.kb-custom-menu__overflow-menu{background:var(--kb-menu-dropdown-bg);border-color:var(--kb-menu-dropdown-border)}.kb-custom-menu__overflow-header{color:var(--kb-color-text-muted)}.kb-custom-menu__overflow-item .kb-menu__button,.kb-custom-menu__overflow-item .kb-dropdown__label,.kb-custom-menu__overflow-item-label{color:var(--kb-menu-dropdown-text)}.kb-custom-menu__overflow-item:hover{background:#e8eaed14}.kb-custom-menu__overflow-separator{background:var(--kb-menu-dropdown-border)}.kb-custom-menu__overflow-footer{background:var(--kb-menu-dropdown-bg);border-top-color:var(--kb-menu-dropdown-border)}.kb-custom-menu__modal{background:var(--kb-color-surface)}.kb-custom-menu__modal-header{border-bottom-color:var(--kb-menu-dropdown-border)}.kb-custom-menu__modal-header h2{color:var(--kb-menu-dropdown-text)}.kb-custom-menu__modal-close{color:var(--kb-color-text-muted)}.kb-custom-menu__modal-message{background:var(--kb-menu-info-bg);color:var(--kb-menu-info-text);border-bottom-color:var(--kb-menu-dropdown-border)}.kb-custom-menu__modal-footer{border-top-color:var(--kb-menu-dropdown-border)}.kb-custom-menu__tool-item span{color:var(--kb-menu-dropdown-text)}}.kb-custom-menu__wrapper--dragging{user-select:none;cursor:grabbing!important}.kb-custom-menu__wrapper--dragging *{cursor:grabbing!important}.kb-custom-menu__item{cursor:grab;transition:opacity .2s ease,transform .2s ease}.kb-custom-menu__wrapper--dragging .kb-custom-menu__item{cursor:grabbing!important}.kb-custom-menu__item .kb-menu__button,.kb-custom-menu__item .kb-dropdown__label{cursor:pointer!important}.kb-custom-menu__wrapper--dragging .kb-custom-menu__item .kb-menu__button,.kb-custom-menu__wrapper--dragging .kb-custom-menu__item .kb-dropdown__label{cursor:grabbing!important}.kb-custom-menu__item--dragging,.kb-custom-menu__overflow-item--dragging{opacity:.3}.kb-custom-menu__drag-ghost{opacity:.9;background:var(--kb-color-surface-elevated);border-radius:var(--kb-radius-sm);box-shadow:0 4px 12px #00000026;transform:scale(1.05)}.kb-custom-menu__drop-placeholder{width:4px;min-height:32px;background:var(--kb-color-primary);border-radius:2px;margin:0 2px;display:inline-flex;flex-shrink:0}.kb-custom-menu__pinned-dropdown{min-width:200px;max-width:300px;background:var(--kb-menu-dropdown-bg)!important;border:1px solid var(--kb-color-border-strong);border-radius:var(--kb-radius-lg);box-shadow:var(--kb-shadow-lg);max-height:400px;overflow-y:auto}.kb-custom-menu__overflow-footer{padding:var(--kb-space-sm);border-top:1px solid var(--kb-color-border);display:flex;justify-content:center}.kb-custom-menu__reset-button{display:flex;align-items:center;gap:var(--kb-space-sm);padding:var(--kb-space-sm) var(--kb-space-md);font-size:12px;color:var(--kb-color-text-muted);background:transparent;border:1px solid var(--kb-color-border);border-radius:var(--kb-radius-sm);cursor:pointer;transition:all .2s ease}.kb-custom-menu__reset-button:hover{background:var(--kb-color-surface-hover);color:var(--kb-color-text);border-color:var(--kb-color-border-strong)}.kb-custom-menu__reset-button:focus{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-custom-menu__reset-button:focus:not(:focus-visible){outline:none}.kb-custom-menu__reset-button:focus-visible{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-custom-menu__reset-button svg{width:14px;height:14px;flex-shrink:0}.kb-custom-menu__reset-button span{white-space:nowrap}.kb-custom-menu__reset-button--icon-only{padding:var(--kb-space-sm);border:none;background:transparent}.kb-custom-menu__reset-button--icon-only:hover{background:var(--kb-color-surface-hover);border:none}.kb-custom-menu__reset-button--icon-only svg{width:18px;height:18px}.codeblock-select{position:absolute;right:0;z-index:100;opacity:0;transition:all .3s ease;margin:6px 14px}.codeblock-root{position:relative}.codeblock-root:hover .codeblock-select{opacity:1}@media(max-width:767px){.kb-editor pre{font-size:var(--kb-text-sm);overflow-x:auto;-webkit-overflow-scrolling:touch}.codeblock-select{opacity:1;position:static;margin:var(--kb-space-sm);display:flex;justify-content:flex-end}.codeblock-select select{min-height:var(--kb-touch-target-min);padding:var(--kb-space-sm);border:1px solid var(--kb-color-border);border-radius:var(--kb-radius-sm);background:var(--kb-color-surface);color:var(--kb-color-text)}}.kb-yjs__cursor{position:fixed;margin-left:-1px;margin-right:-1px;word-break:normal;pointer-events:none}.kb-yjs__cursor>div{position:absolute;top:-1.05em;left:-1px;font-size:13px;background-color:#fa8100;font-family:serif;font-style:normal;font-weight:400;line-height:normal;user-select:none;color:#fff;padding-left:2px;padding-right:2px;white-space:nowrap}@media(max-width:767px){.kb-yjs__cursor>div{font-size:var(--kb-text-xs);padding:1px var(--kb-space-xs);border-radius:var(--kb-radius-sm)}}.kb-autocomplete__wrapper{position:fixed;z-index:99999;padding:6px var(--kb-space-sm);background:var(--kb-color-surface-elevated);list-style:none}.kb-autocomplete__wrapper li.active{background:#e8eaed14;color:#fff}.kb-image-wrapper{display:inline-block;position:relative;line-height:0;max-width:100%}.kb-image-wrapper img{display:block;max-width:100%}.kb-image-resize-handle{position:absolute;width:10px;height:10px;background-color:var(--kb-color-primary);border:2px solid var(--kb-color-surface);border-radius:var(--kb-radius-sm);box-sizing:border-box;opacity:0;transition:opacity .15s ease;z-index:10}.kb-image-wrapper:hover .kb-image-resize-handle,.kb-image-wrapper.kb-image-resizing .kb-image-resize-handle{opacity:1}.kb-image-resize-handle-nw{top:-5px;left:-5px;cursor:nw-resize}.kb-image-resize-handle-ne{top:-5px;right:-5px;cursor:ne-resize}.kb-image-resize-handle-sw{bottom:-5px;left:-5px;cursor:sw-resize}.kb-image-resize-handle-se{bottom:-5px;right:-5px;cursor:se-resize}.kb-image-wrapper.ProseMirror-selectednode{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-image-wrapper.ProseMirror-selectednode .kb-image-resize-handle{opacity:1}.kb-image-wrapper.kb-image-resizing{user-select:none}.kb-image-wrapper.kb-image-resizing img{pointer-events:none}
@@ -0,0 +1 @@
1
+ :root,:host{--kb-space-xs: .25rem;--kb-space-sm: .5rem;--kb-space-md: 1rem;--kb-space-lg: 1.5rem;--kb-space-xl: 2rem;--kb-text-xs: .75rem;--kb-text-sm: .875rem;--kb-text-base: 1rem;--kb-text-lg: 1.125rem;--kb-touch-target-min: 44px;--kb-touch-target-comfortable: 48px;--kb-color-hover: rgba(59, 130, 246, .05);--kb-color-active: rgba(59, 130, 246, .1);--kb-color-focus: rgba(59, 130, 246, .2);--kb-radius-sm: 4px;--kb-radius-md: 6px;--kb-radius-lg: 8px;--kb-shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--kb-shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--kb-shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--kb-z-dropdown: 1100;--kb-z-tooltip: 1200;--kb-z-modal: 1300;--kb-z-notification: 1400;--kb-color-primary: #3b82f6;--kb-color-primary-hover: #2563eb;--kb-color-primary-active: #1d4ed8;--kb-color-primary-rgb: 59, 130, 246;--kb-color-text: #1f2937;--kb-color-text-muted: #6b7280;--kb-color-icon: #5f6368;--kb-color-surface: #ffffff;--kb-color-surface-elevated: #f9fafb;--kb-color-surface-hover: rgba(60, 64, 67, .08);--kb-color-border: #e5e7eb;--kb-color-border-strong: #d1d5db;--kb-menu-dropdown-bg: #ffffff;--kb-menu-dropdown-border: #dadce0;--kb-menu-dropdown-text: #3c4043;--kb-menu-dropdown-hover: rgba(60, 64, 67, .08);--kb-menu-info-bg: #e8f0fe;--kb-menu-info-text: #1967d2}.kb-component--brand-corporate{--kb-color-primary: #1e40af;--kb-color-primary-hover: #1e3a8a;--kb-color-primary-rgb: 30, 64, 175}.kb-component--brand-creative{--kb-color-primary: #7c3aed;--kb-color-primary-hover: #6d28d9;--kb-color-primary-rgb: 124, 58, 237}@media(prefers-color-scheme:dark){:root,:host{--kb-color-text: #f9fafb;--kb-color-text-muted: #9ca3af;--kb-color-icon: #bdc1c6;--kb-color-surface: #1f2937;--kb-color-surface-elevated: #374151;--kb-color-border: #374151;--kb-color-border-strong: #4b5563;--kb-color-hover: rgba(59, 130, 246, .1);--kb-color-active: rgba(59, 130, 246, .2);--kb-menu-dropdown-bg: #344154;--kb-menu-dropdown-border: #5f6368;--kb-menu-dropdown-text: #e8eaed;--kb-menu-dropdown-hover: rgba(232, 234, 237, .08)}}.kb-component--dark{--kb-color-text: #f9fafb;--kb-color-text-muted: #9ca3af;--kb-color-icon: #bdc1c6;--kb-color-surface: #1f2937;--kb-color-surface-elevated: #374151;--kb-color-border: #374151;--kb-color-border-strong: #4b5563;--kb-color-hover: rgba(59, 130, 246, .1);--kb-color-active: rgba(59, 130, 246, .2);--kb-menu-dropdown-bg: #344154;--kb-menu-dropdown-border: #5f6368;--kb-menu-dropdown-text: #e8eaed;--kb-menu-dropdown-hover: rgba(232, 234, 237, .08)}.kb-component{background:var(--kb-color-surface);color:var(--kb-color-text);background-clip:padding-box;border-radius:var(--kb-radius-md);border:2px solid var(--kb-color-border);padding:var(--kb-space-sm) 0;margin-bottom:var(--kb-space-lg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}.kb-editor{position:relative;word-wrap:break-word;white-space:pre-wrap;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;padding:var(--kb-space-sm) var(--kb-space-md) var(--kb-space-sm) var(--kb-space-lg);outline:none;font-size:var(--kb-text-base);line-height:1.6}@media(max-width:767px){.kb-editor{padding:var(--kb-space-md);font-size:var(--kb-text-base);line-height:1.7}}.kb-editor-hideselection *::selection{background:transparent}.kb-editor-hideselection *::-moz-selection{background:transparent}.kb-editor-hideselection{caret-color:transparent}.kb-editor hr{padding:0;border:none;margin:1em 0;height:2px;background-color:var(--kb-color-text)}.kb-editor img{cursor:default;max-width:100%;height:auto}.kb-component:focus-within{border-color:var(--kb-color-primary);box-shadow:0 0 0 3px var(--kb-color-focus)}@media(prefers-contrast:more){.kb-component{border-width:3px}.ProseMirror-selectednode{outline-width:3px}}.kb-lsp__error{position:relative;display:inline-block;padding-bottom:4px}.kb-lsp__error:after{content:"";position:absolute;left:0;right:0;bottom:6px;height:6px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 4' preserveAspectRatio='none'%3E%3Cpath d='M0,2 Q5,0 10,2 T20,2' stroke='red' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") repeat-x bottom center;background-size:20px 4px}.kb-shortcode-inline{background-color:green;border-radius:3px;margin:0 5px;padding:4px 10px}.kb-editor p{margin-bottom:1em}.kb-editor p:first-child,.kb-editor h1:first-child,.kb-editor h2:first-child,.kb-editor h3:first-child,.kb-editor h4:first-child,.kb-editor h5:first-child,.kb-editor h6:first-child{margin-top:var(--kb-space-md)}.kb-editor pre{white-space:pre-wrap}.kb-editor li{position:relative}.kb-editor ul,.kb-editor ol{padding-left:30px}.kb-editor blockquote{padding-left:1em;border-left:3px solid var(--kb-color-border);margin-left:0;margin-right:0;color:var(--kb-color-text-muted)}.kb-editor li[data-type=task_item]{display:flex;align-items:flex-start;gap:.5em;list-style:none;margin-left:-1.5em}.kb-editor li[data-type=task_item]>label{display:flex;align-items:center;flex-shrink:0;margin-top:.25em}.kb-editor li[data-type=task_item]>label input[type=checkbox]{cursor:pointer;margin:0}.kb-editor li[data-type=task_item]>div{flex:1;min-width:0}.kb-editor li[data-type=task_item]>div p{margin:0}.kb-editor li[data-type=task_item][data-checked=true]>div{text-decoration:line-through;opacity:.6}.ProseMirror-selectednode{outline:2px solid var(--kb-color-primary);outline-offset:2px}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";position:absolute;inset:-2px -2px -2px -32px;border:2px solid var(--kb-color-primary);pointer-events:none}.kb-gapcursor{display:none;pointer-events:none;position:absolute}.kb-gapcursor:after{content:"";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid black;animation:ProseMirror-cursor-blink 1.1s steps(2,start) infinite}@keyframes kb-cursor-blink{to{visibility:hidden}}.ProseMirror-focused .kb-gapcursor{display:block}.kb-search-match{background-color:#ffff0054}.kb-active-search-match{background-color:#ff6a0054}@supports (-webkit-touch-callout: none){.kb-component{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}}@media(max-width:767px){.kb-editor::selection{background:rgba(var(--kb-color-primary-rgb),.3)}.kb-editor::-moz-selection{background:rgba(var(--kb-color-primary-rgb),.3)}}@media print{.kb-component{border:none;box-shadow:none;margin:0;padding:0}.kb-editor{padding:0}}.kb-editor .tableWrapper{overflow-x:auto}.kb-editor table{border-collapse:collapse;table-layout:fixed;width:100%;overflow:hidden}.kb-editor td,.kb-editor th{vertical-align:top;box-sizing:border-box;position:relative;border:1px solid var(--kb-color-border)}.kb-editor td:not([data-colwidth]):not(.column-resize-dragging),.kb-editor th:not([data-colwidth]):not(.column-resize-dragging){min-width:var(--default-cell-min-width)}.kb-editor .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;z-index:20;background-color:#adf;pointer-events:none}.kb-editor.resize-cursor{cursor:ew-resize;cursor:col-resize}.kb-editor .selectedCell:after{z-index:2;position:absolute;content:"";inset:0;background:#c8c8ff66;pointer-events:none}@media(max-width:767px){.kb-editor table{font-size:var(--kb-text-sm);border-collapse:collapse;width:100%;overflow-x:auto;display:block;white-space:nowrap}.kb-editor th,.kb-editor td{min-width:120px;padding:var(--kb-space-md);border:1px solid var(--kb-color-border);vertical-align:top}.tableWrapper .column-resize-handle{display:none!important}.kb-editor .tableWrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.kb-editor .selectedCell{background:rgba(var(--kb-color-primary-rgb),.1);border:2px solid var(--kb-color-primary)}}.kb-menu{margin:0;line-height:1;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;position:sticky;top:0;display:flex;flex-wrap:nowrap;align-items:center;gap:0;padding:4px 8px;background:#f9f9f9;border-bottom:1px solid #dadce0;z-index:var(--kb-z-dropdown, 1000);overflow:visible}.kb-menu__content{display:flex;flex:1;align-items:center;gap:0;overflow:hidden}.kb-overflow-toggle{display:none;min-width:30px;min-height:30px;padding:6px;border:none;background:transparent;color:#3c4043;cursor:pointer;border-radius:2px;margin-left:4px;flex-shrink:0}.kb-overflow-toggle:hover{background:#3c404314}.kb-overflow-toggle svg{width:20px;height:20px;fill:currentColor}.kb-menu__overflow-row{display:none;flex-wrap:wrap;gap:4px;padding:8px;background:#f9f9f9;border-bottom:1px solid #dadce0}.kb-menu--overflow-open .kb-menu__overflow-row{display:flex;position:absolute}@media(max-width:767px){.kb-menu{position:fixed;inset:auto 0 0;border-bottom:none;border-top:1px solid #dadce0;box-shadow:0 -2px 8px #0000001a;backdrop-filter:blur(10px);background:#f9f9f9f2;padding:8px}.kb-menu__overflow-row{position:fixed;bottom:60px;left:0;right:0;border-top:1px solid #dadce0;border-bottom:none;box-shadow:0 -2px 8px #0000001a}.kb-component,.ProseMirror{padding-bottom:60px!important}.kb-overflow-toggle{min-width:44px;min-height:44px;padding:10px}}@media(min-width:768px){.kb-menu{position:relative;border-radius:var(--kb-radius-md) var(--kb-radius-md) 0 0}}.kb-menu{background-color:var(--kb-color-surface);z-index:10000}.kb-menu__button{border-radius:var(--kb-radius-sm);min-width:var(--kb-touch-target-comfortable);min-height:var(--kb-touch-target-comfortable);border:none;background:transparent;color:var(--kb-color-text);cursor:pointer;transition:all .2s ease;font-size:var(--kb-text-sm);flex-shrink:0}.kb-menu__button:hover{background:var(--kb-color-hover);border-color:var(--kb-color-border)}.kb-menu__button:focus{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-menu__button--active{background:var(--kb-color-primary);color:#fff;border-color:var(--kb-color-primary);border-radius:var(--kb-radius-sm)}.kb-menu__button--pressed{background:var(--kb-color-active);transform:scale(.95);transition:transform .1s ease}.kb-menu__button--disabled{opacity:.4;cursor:not-allowed}.kb-menu__button--disabled:hover{background:transparent;border-color:transparent}.kb-dropdown__item svg,.kb-menu__button svg{fill:currentColor;height:1em;width:1em}.kb-dropdown__item svg,.kb-menu__button span,.kb-menu__button svg{vertical-align:middle}.kb-menu__button span,.kb-dropdown__label-text{display:none}.kb-menu__separator{width:1px;height:var(--kb-space-lg);background:var(--kb-color-border);margin:0 var(--kb-space-xs);flex-shrink:0}.kb-dropdown{position:relative;padding:1px 0 1px var(--kb-space-sm);display:inline-block}.kb-dropdown__label{min-width:var(--kb-touch-target-comfortable);min-height:var(--kb-touch-target-comfortable);border:none;background:none;font-size:var(--kb-text-sm);align-items:center;padding-right:var(--kb-space-lg);white-space:nowrap;cursor:pointer}.kb-dropdown__label:focus{outline:2px solid var(--kb-color-primary);outline-offset:-2px}.kb-dropdown__label--active{background:var(--kb-color-active);color:var(--kb-color-primary)}.kb-dropdown__label:after{content:"";border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid currentColor;opacity:.6;position:absolute;right:var(--kb-space-sm);top:calc(50% - 2px)}.kb-dropdown__menu{position:fixed;min-width:6em;background:var(--kb-color-surface);border:1px solid var(--kb-color-border);border-radius:var(--kb-radius-md);box-shadow:var(--kb-shadow-lg);z-index:var(--kb-z-dropdown);padding:var(--kb-space-xs);margin-top:var(--kb-space-xs);opacity:0;visibility:hidden;transform:translateY(-4px);transition:all .2s ease;white-space:nowrap}.kb-dropdown--open .kb-dropdown__menu{opacity:1;visibility:visible;transform:translateY(0)}.kb-dropdown__item{display:flex;padding:var(--kb-space-sm) var(--kb-space-md);border:none;background:none;text-align:left;cursor:pointer;border-radius:var(--kb-radius-sm);color:var(--kb-color-text);font-size:var(--kb-text-sm);min-height:var(--kb-touch-target-comfortable);align-items:center;transition:background-color .2s ease}.kb-dropdown__item:hover{background:var(--kb-color-hover)}.kb-dropdown__item:focus{outline:2px solid var(--kb-color-primary);outline-offset:-2px}.kb-dropdown__item--active{background:var(--kb-color-active);color:var(--kb-color-primary)}@media(prefers-contrast:more){.kb-dropdown__item,.kb-dropdown__item:focus{outline-width:3px}}@media(max-width:767px){.kb-dropdown__menu,.kb-dropdown__menu--mobile{position:fixed;top:auto;bottom:calc(var(--kb-touch-target-comfortable) + var(--kb-space-md) * 2);left:var(--kb-space-sm);right:var(--kb-space-sm);min-width:auto;border-radius:var(--kb-radius-lg);max-height:50vh;overflow-y:auto;padding:var(--kb-space-md);backdrop-filter:blur(10px);background:#fffffff2}.kb-dropdown__item{padding:var(--kb-space-md);min-height:var(--kb-touch-target-comfortable)}}.kb-submenu{position:relative;margin-right:var(--kb-space-sm)}.kb-submenu__label{position:relative;padding-right:var(--kb-space-lg)}.kb-submenu__label:after{content:"";border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid currentColor;opacity:.6;position:absolute;right:var(--kb-space-sm);top:calc(50% - 4px)}.kb-submenu__content{position:absolute;left:100%;top:var(--kb-space-xs);min-width:4em;background:var(--kb-color-surface);border:1px solid var(--kb-color-border);border-radius:var(--kb-radius-md);box-shadow:var(--kb-shadow-lg);z-index:calc(var(--kb-z-dropdown) + 1);padding:var(--kb-space-xs);opacity:0;visibility:hidden;transform:translate(-4px);transition:all .2s ease}.kb-submenu:hover .kb-submenu__content,.kb-submenu--open .kb-submenu__content{opacity:1;visibility:visible;transform:translate(0)}@media(max-width:767px){.kb-submenu__content{display:none}}.kb-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--kb-color-text);color:var(--kb-color-surface);padding:var(--kb-space-xs) var(--kb-space-sm);border-radius:var(--kb-radius-sm);font-size:var(--kb-text-xs);white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s ease;margin-bottom:var(--kb-space-xs);z-index:var(--kb-z-tooltip)}.kb-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid var(--kb-color-text)}.kb-menu__button:hover .kb-tooltip{opacity:1;visibility:visible}@media(max-width:767px){.kb-tooltip{display:none}}@media(prefers-reduced-motion:reduce){.kb-menu__button,.kb-dropdown__menu,.kb-submenu__content,.kb-tooltip{transition:none}}.kb-icon{min-width:var(--kb-touch-target-comfortable);min-height:var(--kb-touch-target-comfortable);display:inline-block;line-height:var(--kb-touch-target-comfortable);vertical-align:middle}.kb-prompt{background:var(--kb-color-surface);padding:var(--kb-space-lg) var(--kb-space-xl);border:1px solid var(--kb-color-border);position:fixed;border-radius:var(--kb-radius-lg);z-index:var(--kb-z-modal);box-shadow:var(--kb-shadow-lg);top:50%;left:50%;transform:translate(-50%,-50%);min-width:320px;max-width:90vw}.kb-prompt form{display:flex;flex-direction:column;gap:var(--kb-space-md)}.kb-prompt form>div{display:flex;flex-direction:column}.kb-prompt-backdrop{position:fixed;inset:0;z-index:1299}.kb-prompt form>div.kb-prompt__buttons{flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin-top:var(--kb-space-sm);gap:var(--kb-space-sm)}.kb-prompt h5{margin:0;font-weight:600;font-size:var(--kb-text-lg);color:var(--kb-color-text)}.kb-prompt input[type=text],.kb-prompt textarea{background:var(--kb-color-surface-elevated);border:1px solid var(--kb-color-border);border-radius:var(--kb-radius-sm);padding:var(--kb-space-sm) var(--kb-space-md);font-size:var(--kb-text-base);color:var(--kb-color-text);width:100%;box-sizing:border-box;outline:none}.kb-prompt input[type=text]:focus,.kb-prompt textarea:focus{border-color:var(--kb-color-primary);box-shadow:0 0 0 3px var(--kb-color-focus)}.kb-prompt--close{position:absolute;right:var(--kb-space-sm);top:var(--kb-space-sm);color:var(--kb-color-text-muted);border:none;background:transparent;padding:var(--kb-space-xs);cursor:pointer;border-radius:var(--kb-radius-sm);width:var(--kb-space-lg);height:var(--kb-space-lg);display:flex;align-items:center;justify-content:center}.kb-prompt--close:hover{background:var(--kb-color-hover);color:var(--kb-color-text)}.kb-prompt--close:after{content:"✕";font-size:var(--kb-text-sm)}.kb-invalid{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;border-radius:var(--kb-radius-sm);padding:var(--kb-space-sm) var(--kb-space-md);position:absolute;min-width:10em;font-size:var(--kb-text-sm)}.kb-prompt__buttons{margin-top:var(--kb-space-sm);display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--kb-space-sm);justify-content:space-between}.kb-prompt__buttons button{padding:var(--kb-space-xs) var(--kb-space-md);border:1px solid var(--kb-color-border);border-radius:var(--kb-radius-sm);background:var(--kb-color-surface);color:var(--kb-color-text);cursor:pointer;font-size:var(--kb-text-sm);font-weight:500;min-height:auto;width:auto;flex:0 0 auto;transition:background-color .15s ease,border-color .15s ease}.kb-prompt__buttons button[type=submit]{order:2}.kb-prompt__buttons button[type=button]{order:1}.kb-prompt__buttons button:hover{background:var(--kb-color-hover)}.kb-prompt__buttons button[type=submit]{background:var(--kb-color-primary);color:#fff;border-color:var(--kb-color-primary)}.kb-prompt__buttons button[type=submit]:hover{background:var(--kb-color-primary-hover)}.kb-prompt__file-field{display:flex;flex-direction:column;gap:var(--kb-space-xs)}.kb-prompt__file-label{font-size:var(--kb-text-sm);color:var(--kb-color-text-muted);font-weight:500}.kb-prompt__file-input{background:var(--kb-color-surface-elevated);border:1px solid var(--kb-color-border);border-radius:var(--kb-radius-sm);padding:var(--kb-space-sm) var(--kb-space-md);font-size:var(--kb-text-sm);color:var(--kb-color-text);width:100%;box-sizing:border-box;cursor:pointer}.kb-prompt__file-input::file-selector-button{background:var(--kb-color-primary);color:#fff;border:none;border-radius:var(--kb-radius-sm);padding:var(--kb-space-xs) var(--kb-space-md);margin-right:var(--kb-space-md);cursor:pointer;font-size:var(--kb-text-sm);font-weight:500;transition:background-color .15s ease}.kb-prompt__file-input::file-selector-button:hover{background:var(--kb-color-primary-hover)}.kb-prompt__file-input:focus{border-color:var(--kb-color-primary);box-shadow:0 0 0 3px var(--kb-color-focus);outline:none}.kb-prompt__file-name{font-size:var(--kb-text-xs);color:var(--kb-color-text-muted);font-style:italic}@media(max-width:767px){.kb-editor-prompt{position:fixed;bottom:var(--kb-space-md);left:var(--kb-space-md);right:var(--kb-space-md);top:auto;transform:none;max-width:none;border-radius:var(--kb-radius-lg);padding:var(--kb-space-lg)}.kb-editor-prompt input[type=text],.kb-editor-prompt textarea{min-height:var(--kb-touch-target-min);padding:var(--kb-space-sm);font-size:var(--kb-text-base);border:1px solid var(--kb-color-border);border-radius:var(--kb-radius-sm);background:var(--kb-color-surface);color:var(--kb-color-text)}.kb-editor-prompt-buttons{display:flex;gap:var(--kb-space-sm);margin-top:var(--kb-space-md)}.kb-editor-prompt-buttons button{flex:1;min-height:var(--kb-touch-target-comfortable);padding:var(--kb-space-sm) var(--kb-space-md);border:1px solid var(--kb-color-border);border-radius:var(--kb-radius-sm);background:var(--kb-color-surface);color:var(--kb-color-text);font-size:var(--kb-text-base);cursor:pointer}.kb-editor-prompt-buttons button[type=submit]{background:var(--kb-color-primary);color:#fff;border-color:var(--kb-color-primary)}}:root{--kb-bg: #fff;--kb-fg: #1f1f1f;--kb-subtle: #5f6368;--kb-border: #e0e0e0;--kb-hover: #f1f3f4;--kb-active: #e8f0fe;--kb-focus: #1a73e8;--kb-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 2px 8px rgba(0, 0, 0, .08);--kb-height: 48px;--kb-btn-h: 34px;--kb-radius: 10px;--kb-gap: 8px;--kb-icon: 20px;--kb-font: 13px}@media(prefers-color-scheme:dark){:root{--kb-bg: #ffffff;--kb-fg: #1f1f1f;--kb-subtle: #5f6368;--kb-border: #e6e7e8;--kb-hover: #f3f4f5;--kb-active: #e8f0fe}}.kb-menu__wrapper{z-index:50;padding:8px 12px;background:transparent}.kb-menu{background:var(--kb-bg);border:1px solid var(--kb-border);border-radius:var(--kb-radius);box-shadow:var(--kb-shadow);min-height:var(--kb-height);display:flex;align-items:center;gap:var(--kb-gap);padding:0 8px;container-type:inline-size}.kb-menu__spacer{height:var(--kb-height)}.kb-menu__item{display:inline-flex;align-items:center}.kb-menu__separator{width:1px;height:22px;background:var(--kb-border);flex:0 0 auto;margin:0 2px}.kb-menu__button{height:var(--kb-btn-h);min-width:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--kb-fg);font:500 var(--kb-font)/1.2 system-ui,-apple-system,"Segoe UI",Roboto,Arial;cursor:pointer;user-select:none;white-space:nowrap}.kb-menu__button svg,.kb-menu__button .kb-icon{width:var(--kb-icon);height:var(--kb-icon);fill:currentColor}.kb-menu__button:hover{background:var(--kb-hover)}.kb-menu__button:focus-visible{outline:2px solid var(--kb-focus);outline-offset:2px;background:var(--kb-hover)}.kb-menu__button--active,.kb-menu__button[aria-pressed=true]{background:var(--kb-active);border-color:#d2e3fc}.kb-menu__button--disabled,.kb-menu__button[aria-disabled=true]{opacity:.5;cursor:default;pointer-events:none}.kb-menu__button--icon-only>span{display:none}.kb-dropdown{position:relative;display:inline-flex;align-items:center}.kb-dropdown__label{height:var(--kb-btn-h);display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--kb-fg);font:500 var(--kb-font)/1.2 system-ui,-apple-system,"Segoe UI",Roboto,Arial;cursor:pointer}.kb-dropdown__label:hover{background:var(--kb-hover)}.kb-dropdown--open .kb-dropdown__label{background:var(--kb-active);border-color:#d2e3fc}.kb-dropdown__menu{position:absolute;top:calc(100% + 6px);left:0;min-width:240px;max-height:60vh;overflow:auto;background:var(--kb-bg);color:var(--kb-fg);border:1px solid var(--kb-border);border-radius:10px;box-shadow:var(--kb-shadow);padding:6px;display:grid;gap:2px;z-index:100}.kb-dropdown__item{display:contents}.kb-dropdown__item .kb-menu__button{justify-content:flex-start;width:100%;border-radius:8px}.kb-submenu{position:relative;display:inline-flex;align-items:center}.kb-submenu__label{height:var(--kb-btn-h);display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px}.kb-submenu__label:hover{background:var(--kb-hover)}.kb-submenu__content{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;max-height:60vh;overflow:auto;background:var(--kb-bg);border:1px solid var(--kb-border);border-radius:10px;box-shadow:var(--kb-shadow);padding:6px;display:none;z-index:100}.kb-submenu--open .kb-submenu__content{display:block}.kb-overflow-toggle{display:none}.kb-menu__overflow-row{display:none;margin:6px 12px 0;padding:6px;background:var(--kb-bg);border:1px solid var(--kb-border);border-radius:10px;box-shadow:var(--kb-shadow);gap:6px;align-items:center;flex-wrap:wrap}.kb-menu--narrow .kb-overflow-toggle{display:inline-flex}.kb-menu--overflow-open .kb-menu__overflow-row{display:flex}@media(max-width:600px){.kb-menu__wrapper{display:flex;flex-direction:column}.kb-menu--overflow-open .kb-menu__overflow-row{order:-1}}.kb-custom-menu__wrapper{display:flex;flex-direction:column;position:relative}.kb-custom-menu__wrapper--resizing{user-select:none;cursor:ns-resize}.kb-custom-menu__editor-container{position:relative;overflow:auto;display:flex;flex-direction:column}.kb-custom-menu__resize-handle{position:absolute;bottom:0;left:0;right:0;height:12px;cursor:ns-resize;display:flex;align-items:center;justify-content:center;z-index:1;transition:background-color .2s ease}.kb-custom-menu__resize-handle:hover{background:#3c40430f}.kb-custom-menu__resize-handle-bar{width:48px;height:var(--kb-space-xs);background:var(--kb-color-border-strong);border-radius:2px;transition:background-color .2s ease}.kb-custom-menu__resize-handle:hover .kb-custom-menu__resize-handle-bar{background:var(--kb-menu-dropdown-border)}.kb-custom-menu__wrapper--resizing .kb-custom-menu__resize-handle-bar{background:var(--kb-color-primary)}.kb-custom-menu{margin:calc(-1 * var(--kb-space-sm)) 0 0 0;line-height:1;font-size:var(--kb-text-sm);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;position:sticky;top:0;display:flex;flex-wrap:nowrap;align-items:center;gap:2px;padding:0 var(--kb-space-sm);background:var(--kb-color-surface-elevated);border-bottom:1px solid var(--kb-color-border-strong);z-index:1000;overflow:visible}.kb-custom-menu__item{display:inline-flex;align-items:center}.kb-custom-menu__item .kb-menu__button,.kb-custom-menu__item .kb-dropdown__label{min-width:32px;min-height:32px;width:32px;height:32px;padding:0;border:none;background:transparent;color:var(--kb-color-icon, #5f6368);cursor:pointer;border-radius:var(--kb-radius-sm);transition:background-color .2s ease,outline-color .15s ease;font-size:var(--kb-text-sm);display:inline-flex;align-items:center;justify-content:center}.kb-custom-menu__item .kb-menu__button:focus,.kb-custom-menu__item .kb-dropdown__label:focus{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-custom-menu__item .kb-menu__button:focus:not(:focus-visible),.kb-custom-menu__item .kb-dropdown__label:focus:not(:focus-visible){outline:none}.kb-custom-menu__item .kb-menu__button:focus-visible,.kb-custom-menu__item .kb-dropdown__label:focus-visible{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-custom-menu__item .kb-menu__button:hover,.kb-custom-menu__item .kb-dropdown__label:hover{background:var(--kb-color-surface-hover)}.kb-custom-menu__item .kb-menu__button--active{background:var(--kb-color-active);color:var(--kb-color-primary)}.kb-custom-menu__item .kb-menu__button svg{width:16px!important;height:16px!important;fill:currentColor}.kb-custom-menu__item .kb-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.kb-custom-menu__item .kb-dropdown__label-text{display:none}.kb-custom-menu__item .kb-dropdown__label{display:inline-flex;align-items:center;justify-content:center;position:relative}.kb-custom-menu__item .kb-dropdown__label .kb-icon{display:inline-flex;align-items:center;justify-content:center}.kb-custom-menu__item .kb-dropdown__label .kb-icon svg{width:16px!important;height:16px!important;fill:currentColor}.kb-custom-menu__item .kb-dropdown__label:after{content:"";border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid currentColor;opacity:.7;position:absolute;right:2px;bottom:2px}.kb-custom-menu__item .kb-dropdown{padding:1px 0}.kb-custom-menu .kb-dropdown__menu{background:var(--kb-menu-dropdown-bg);border:1px solid var(--kb-menu-dropdown-border);border-radius:var(--kb-radius-lg);box-shadow:0 2px 10px #0000004d;padding:4px;gap:2px}.kb-custom-menu .kb-dropdown__item{display:block!important}.kb-custom-menu .kb-dropdown__item .kb-menu__button{width:100%;display:flex!important;align-items:center;justify-content:flex-start!important;gap:8px;padding:6px 10px!important;min-height:32px;border-radius:var(--kb-radius-sm);background:transparent!important;color:var(--kb-menu-dropdown-text);font-size:var(--kb-text-sm)}.kb-custom-menu .kb-dropdown__item .kb-menu__button:hover{background:#e8eaed14!important}.kb-custom-menu .kb-dropdown__item .kb-menu__button .kb-icon,.kb-custom-menu .kb-dropdown__item .kb-icon{min-width:18px!important;max-width:18px!important;min-height:18px!important;max-height:18px!important;width:18px!important;height:18px!important;line-height:1!important;margin:0!important;flex-shrink:0}.kb-custom-menu .kb-dropdown__item .kb-menu__button .kb-icon svg,.kb-custom-menu .kb-dropdown__item .kb-icon svg{width:18px!important;height:18px!important}.kb-custom-menu .kb-submenu__content{background:var(--kb-menu-dropdown-bg)!important;border:1px solid var(--kb-menu-dropdown-border)!important;border-radius:var(--kb-radius-lg)!important;box-shadow:0 2px 10px #0000004d!important}.kb-custom-menu .kb-submenu__label{color:var(--kb-menu-dropdown-text)!important}.kb-custom-menu .kb-submenu__label:hover{background:none}.kb-custom-menu .kb-submenu__label:after{border-left-color:var(--kb-menu-dropdown-text)!important}.kb-custom-menu__separator{width:1px;height:var(--kb-space-lg);background:var(--kb-color-border-strong);margin:0 8px;flex-shrink:0}.kb-custom-menu__overflow-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;width:32px;height:32px;padding:0;border:none;background:transparent;color:var(--kb-color-text);cursor:pointer;border-radius:var(--kb-radius-sm);margin-left:auto;flex-shrink:0;transition:background-color .2s ease}.kb-custom-menu__overflow-toggle:hover{background:var(--kb-color-surface-hover)}.kb-custom-menu__overflow-toggle:focus{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-custom-menu__overflow-toggle:focus:not(:focus-visible){outline:none}.kb-custom-menu__overflow-toggle:focus-visible{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-custom-menu__overflow-toggle svg{width:16px;height:16px;fill:currentColor}.kb-custom-menu__overflow-menu{position:absolute;top:32px;right:var(--kb-space-xs);width:auto;min-width:180px;max-width:320px;background:var(--kb-color-surface-elevated);border:none;border-radius:var(--kb-radius-sm);box-shadow:var(--kb-shadow-lg);z-index:1001;display:flex;flex-direction:column;overflow:hidden}.kb-custom-menu__overflow-content{flex:1;overflow-y:auto;padding:var(--kb-space-sm);min-height:0;max-height:800px}.kb-custom-menu__overflow-content--grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:2px;padding:0 var(--kb-space-sm)}.kb-custom-menu__overflow-header{width:100%;padding:var(--kb-space-sm) var(--kb-space-md) var(--kb-space-xs) var(--kb-space-md);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--kb-color-text-muted);margin-bottom:var(--kb-space-xs)}.kb-custom-menu__overflow-item{display:flex;align-items:center;padding:var(--kb-space-md) 0;gap:0;cursor:pointer;transition:background-color .2s ease;border-radius:var(--kb-radius-sm);margin:0 var(--kb-space-sm)}.kb-custom-menu__overflow-item:focus{outline:2px solid var(--kb-color-primary);outline-offset:-2px}.kb-custom-menu__overflow-item:focus:not(:focus-visible){outline:none}.kb-custom-menu__overflow-item:focus-visible{outline:2px solid var(--kb-color-primary);outline-offset:-2px}.kb-custom-menu__overflow-item--grid{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:4px;margin:0;gap:0;flex-shrink:0;position:relative;border-radius:var(--kb-radius-sm)}.kb-custom-menu__overflow-item--grid:hover{background:var(--kb-color-surface-hover)}.kb-custom-menu__overflow-item--grid.kb-custom-menu__overflow-item--dropdown{width:32px;min-width:32px;padding:4px;gap:0;position:relative}.kb-custom-menu__overflow-item-indicator{position:absolute;right:2px;top:50%;transform:translateY(-50%);border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid currentColor;opacity:.7;font-size:0;line-height:0;margin-left:0}.kb-custom-menu__overflow-item:not(.kb-custom-menu__overflow-item--grid):hover{background:var(--kb-color-surface-hover)}.kb-custom-menu__overflow-item--grid .kb-menu__button,.kb-custom-menu__overflow-item--grid .kb-dropdown__label{min-width:32px;min-height:32px;width:32px;height:32px;padding:0;border:none;background:transparent;color:var(--kb-color-text);cursor:pointer;border-radius:0;display:flex;align-items:center;justify-content:center}.kb-custom-menu__overflow-item--grid .kb-menu__button svg{width:16px!important;height:16px!important}.kb-custom-menu__overflow-item:not(.kb-custom-menu__overflow-item--grid) .kb-menu__button,.kb-custom-menu__overflow-item:not(.kb-custom-menu__overflow-item--grid) .kb-dropdown__label{min-height:36px;padding:var(--kb-space-sm) 0;border:none;background:transparent;color:var(--kb-color-text);cursor:pointer;border-radius:0;transition:none;font-size:var(--kb-text-sm);display:flex;align-items:center;flex-shrink:0}.kb-custom-menu__overflow-item:not(.kb-custom-menu__overflow-item--grid) .kb-menu__button:not(:has(svg)):not(:has(.kb-icon)){display:none}.kb-custom-menu__overflow-item--grid .kb-menu__button{display:flex!important}.kb-custom-menu__overflow-item[data-tool-id=tool-toggle-underline] .kb-menu__button{display:flex}.kb-custom-menu__overflow-item--grid[data-tool-id=tool-insert],.kb-custom-menu__overflow-item--grid[data-tool-id=tool-type]{height:36px}.kb-custom-menu__overflow-item[data-tool-id=tool-text-color] button{display:flex}.kb-custom-menu__item[data-tool-id=tool-insert],.kb-custom-menu__item[data-tool-id=tool-type],.kb-custom-menu__item[data-tool-id=tool-table]{position:relative}.kb-custom-menu__item[data-tool-id=tool-insert]>div>button:after,.kb-custom-menu__item[data-tool-id=tool-type]>div>button:after,.kb-custom-menu__item[data-tool-id=tool-table]>div>button:after{content:"";border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid currentColor;opacity:.7;position:absolute;right:2px;bottom:2px}.kb-custom-menu__item[data-tool-id=tool-toggle-code-font] button>span,.kb-custom-menu__item[data-tool-id=tool-text-color] button>span,.kb-custom-menu__item[data-tool-id=tool-text-highlight] button>span,.kb-custom-menu__item[data-tool-id=tool-toggle-underline] button>span{display:none}.kb-custom-menu__overflow-item .kb-menu__button:hover,.kb-custom-menu__overflow-item .kb-dropdown__label:hover{background:transparent}.kb-custom-menu__overflow-item .kb-menu__button svg{width:16px;height:16px;flex-shrink:0;fill:currentColor}.kb-custom-menu__overflow-item-label{flex:1;color:var(--kb-color-text);font-size:var(--kb-text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kb-custom-menu__overflow-item-chevron{display:flex;align-items:center;margin-left:auto;padding-left:var(--kb-space-sm);color:var(--kb-color-text-muted)}.kb-custom-menu__overflow-item-chevron svg{width:16px;height:16px;fill:none;stroke:currentColor}.kb-custom-menu__overflow-submenu-header{display:flex;align-items:center;gap:var(--kb-space-sm);padding:var(--kb-space-md);border-bottom:1px solid var(--kb-color-border);background:var(--kb-color-surface);position:sticky;top:0;z-index:1}.kb-custom-menu__overflow-back-button{display:flex;align-items:center;justify-content:center;padding:var(--kb-space-xs);border:none;background:transparent;border-radius:var(--kb-radius-sm);cursor:pointer;color:var(--kb-color-text);transition:background-color .15s ease}.kb-custom-menu__overflow-back-button:hover{background:var(--kb-color-surface-hover)}.kb-custom-menu__overflow-back-button:focus{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-custom-menu__overflow-back-button:focus:not(:focus-visible){outline:none}.kb-custom-menu__overflow-back-button:focus-visible{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-custom-menu__overflow-back-button svg{width:16px;height:16px;fill:none;stroke:currentColor}.kb-custom-menu__overflow-submenu-title{flex:1;font-size:var(--kb-text-base);font-weight:500;color:var(--kb-color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kb-custom-menu__overflow-separator{height:1px;background:var(--kb-color-border);margin:var(--kb-space-sm) 0}.kb-custom-menu__overflow-footer{flex-shrink:0;border-top:1px solid var(--kb-color-border);background:var(--kb-color-surface);padding:var(--kb-space-sm) 0}.kb-custom-menu__manage-button{width:calc(100% - 32px);margin:0 var(--kb-space-md);min-height:36px;padding:var(--kb-space-sm) 12px;border:none;background:transparent;color:var(--kb-color-primary);cursor:pointer;border-radius:var(--kb-radius-sm);transition:background-color .2s ease;font-size:var(--kb-text-sm);display:flex;align-items:center;gap:12px;text-align:left;font-weight:500}.kb-custom-menu__manage-button:hover{background:var(--kb-color-hover)}.kb-custom-menu__manage-button svg{width:16px;height:16px;flex-shrink:0}.kb-custom-menu__modal-backdrop{position:fixed;inset:0;background:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.kb-custom-menu__modal{background:var(--kb-color-surface);border-radius:12px;box-shadow:0 8px 32px #0003;width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.kb-custom-menu__modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px var(--kb-space-lg);border-bottom:1px solid var(--kb-color-border)}.kb-custom-menu__modal-header h2{margin:0;font-size:20px;font-weight:500;color:var(--kb-color-text)}.kb-custom-menu__modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;color:var(--kb-color-text-muted);cursor:pointer;border-radius:50%;transition:background-color .2s ease}.kb-custom-menu__modal-close:hover{background:var(--kb-color-surface-hover)}.kb-custom-menu__modal-close svg{width:16px;height:16px}.kb-custom-menu__modal-message{padding:var(--kb-space-md) var(--kb-space-lg);background:var(--kb-menu-info-bg);color:var(--kb-menu-info-text);font-size:13px;font-weight:500;border-bottom:1px solid var(--kb-color-border-strong)}.kb-custom-menu__modal-content{flex:1;overflow-y:auto;padding:var(--kb-space-md) 0}.kb-custom-menu__tool-list{display:flex;flex-direction:column;gap:2px}.kb-custom-menu__tool-item{display:flex;align-items:center;gap:12px;padding:12px var(--kb-space-lg);cursor:pointer;transition:background-color .2s ease;user-select:none}.kb-custom-menu__tool-item:hover{background:#3c40430a}.kb-custom-menu__tool-item input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--kb-color-primary)}.kb-custom-menu__tool-item span{flex:1;color:var(--kb-color-text);font-size:var(--kb-text-sm)}.kb-custom-menu__tool-item--disabled{opacity:.5;cursor:not-allowed}.kb-custom-menu__tool-item--disabled:hover{background:transparent}.kb-custom-menu__tool-item--disabled input[type=checkbox]{cursor:not-allowed}.kb-custom-menu__modal-footer{display:flex;align-items:center;justify-content:flex-end;padding:var(--kb-space-md) var(--kb-space-lg);border-top:1px solid var(--kb-color-border);gap:var(--kb-space-sm)}.kb-custom-menu__modal-button{min-width:80px;padding:var(--kb-space-sm) var(--kb-space-lg);border:none;border-radius:var(--kb-radius-sm);font-size:var(--kb-text-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.kb-custom-menu__modal-button--primary{background:var(--kb-color-primary);color:#fff}.kb-custom-menu__modal-button--primary:hover{background:var(--kb-color-primary-hover);box-shadow:var(--kb-shadow-sm)}.kb-custom-menu__modal-button--primary:active{background:var(--kb-color-primary-active);box-shadow:0 1px 2px #00000029}@media(max-width:767.98px){.kb-custom-menu__overflow-menu{max-width:100%;left:var(--kb-space-sm);right:var(--kb-space-sm)}.kb-custom-menu__overflow-item{min-height:32px;padding:var(--kb-space-md)}.kb-custom-menu__overflow-item--grid{min-width:32px;min-height:32px}.kb-custom-menu__modal{max-width:100%;max-height:90vh;margin:0;border-radius:12px 12px 0 0}.kb-custom-menu__overflow-back-button{min-width:32px;min-height:32px}}@media(prefers-color-scheme:dark){.kb-custom-menu{background:var(--kb-color-surface-elevated);border-bottom-color:var(--kb-color-border)}.kb-custom-menu__resize-handle:hover{background:#e8eaed0f}.kb-custom-menu__resize-handle-bar{background:var(--kb-menu-dropdown-border)}.kb-custom-menu__resize-handle:hover .kb-custom-menu__resize-handle-bar{background:var(--kb-color-text-muted)}.kb-custom-menu__wrapper--resizing .kb-custom-menu__resize-handle-bar{background:var(--kb-color-primary)}.kb-custom-menu__item .kb-menu__button,.kb-custom-menu__item .kb-dropdown__label,.kb-custom-menu__overflow-toggle{color:var(--kb-menu-dropdown-text)}.kb-custom-menu__item .kb-menu__button:hover,.kb-custom-menu__item .kb-dropdown__label:hover,.kb-custom-menu__overflow-toggle:hover{background:#e8eaed14}.kb-custom-menu__separator{background:var(--kb-menu-dropdown-border)}.kb-custom-menu__overflow-menu{background:var(--kb-menu-dropdown-bg);border-color:var(--kb-menu-dropdown-border)}.kb-custom-menu__overflow-header{color:var(--kb-color-text-muted)}.kb-custom-menu__overflow-item .kb-menu__button,.kb-custom-menu__overflow-item .kb-dropdown__label,.kb-custom-menu__overflow-item-label{color:var(--kb-menu-dropdown-text)}.kb-custom-menu__overflow-item:hover{background:#e8eaed14}.kb-custom-menu__overflow-separator{background:var(--kb-menu-dropdown-border)}.kb-custom-menu__overflow-footer{background:var(--kb-menu-dropdown-bg);border-top-color:var(--kb-menu-dropdown-border)}.kb-custom-menu__modal{background:var(--kb-color-surface)}.kb-custom-menu__modal-header{border-bottom-color:var(--kb-menu-dropdown-border)}.kb-custom-menu__modal-header h2{color:var(--kb-menu-dropdown-text)}.kb-custom-menu__modal-close{color:var(--kb-color-text-muted)}.kb-custom-menu__modal-message{background:var(--kb-menu-info-bg);color:var(--kb-menu-info-text);border-bottom-color:var(--kb-menu-dropdown-border)}.kb-custom-menu__modal-footer{border-top-color:var(--kb-menu-dropdown-border)}.kb-custom-menu__tool-item span{color:var(--kb-menu-dropdown-text)}}.kb-custom-menu__wrapper--dragging{user-select:none;cursor:grabbing!important}.kb-custom-menu__wrapper--dragging *{cursor:grabbing!important}.kb-custom-menu__item{cursor:grab;transition:opacity .2s ease,transform .2s ease}.kb-custom-menu__wrapper--dragging .kb-custom-menu__item{cursor:grabbing!important}.kb-custom-menu__item .kb-menu__button,.kb-custom-menu__item .kb-dropdown__label{cursor:pointer!important}.kb-custom-menu__wrapper--dragging .kb-custom-menu__item .kb-menu__button,.kb-custom-menu__wrapper--dragging .kb-custom-menu__item .kb-dropdown__label{cursor:grabbing!important}.kb-custom-menu__item--dragging,.kb-custom-menu__overflow-item--dragging{opacity:.3}.kb-custom-menu__drag-ghost{opacity:.9;background:var(--kb-color-surface-elevated);border-radius:var(--kb-radius-sm);box-shadow:0 4px 12px #00000026;transform:scale(1.05)}.kb-custom-menu__drop-placeholder{width:4px;min-height:32px;background:var(--kb-color-primary);border-radius:2px;margin:0 2px;display:inline-flex;flex-shrink:0}.kb-custom-menu__pinned-dropdown{min-width:200px;max-width:300px;background:var(--kb-menu-dropdown-bg)!important;border:1px solid var(--kb-color-border-strong);border-radius:var(--kb-radius-lg);box-shadow:var(--kb-shadow-lg);max-height:400px;overflow-y:auto}.kb-custom-menu__overflow-footer{padding:var(--kb-space-sm);border-top:1px solid var(--kb-color-border);display:flex;justify-content:center}.kb-custom-menu__reset-button{display:flex;align-items:center;gap:var(--kb-space-sm);padding:var(--kb-space-sm) var(--kb-space-md);font-size:12px;color:var(--kb-color-text-muted);background:transparent;border:1px solid var(--kb-color-border);border-radius:var(--kb-radius-sm);cursor:pointer;transition:all .2s ease}.kb-custom-menu__reset-button:hover{background:var(--kb-color-surface-hover);color:var(--kb-color-text);border-color:var(--kb-color-border-strong)}.kb-custom-menu__reset-button:focus{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-custom-menu__reset-button:focus:not(:focus-visible){outline:none}.kb-custom-menu__reset-button:focus-visible{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-custom-menu__reset-button svg{width:14px;height:14px;flex-shrink:0}.kb-custom-menu__reset-button span{white-space:nowrap}.kb-custom-menu__reset-button--icon-only{padding:var(--kb-space-sm);border:none;background:transparent}.kb-custom-menu__reset-button--icon-only:hover{background:var(--kb-color-surface-hover);border:none}.kb-custom-menu__reset-button--icon-only svg{width:18px;height:18px}.codeblock-select{position:absolute;right:0;z-index:100;opacity:0;transition:all .3s ease;margin:6px 14px}.codeblock-root{position:relative}.codeblock-root:hover .codeblock-select{opacity:1}@media(max-width:767px){.kb-editor pre{font-size:var(--kb-text-sm);overflow-x:auto;-webkit-overflow-scrolling:touch}.codeblock-select{opacity:1;position:static;margin:var(--kb-space-sm);display:flex;justify-content:flex-end}.codeblock-select select{min-height:var(--kb-touch-target-min);padding:var(--kb-space-sm);border:1px solid var(--kb-color-border);border-radius:var(--kb-radius-sm);background:var(--kb-color-surface);color:var(--kb-color-text)}}.kb-yjs__cursor{position:fixed;margin-left:-1px;margin-right:-1px;word-break:normal;pointer-events:none}.kb-yjs__cursor>div{position:absolute;top:-1.05em;left:-1px;font-size:13px;background-color:#fa8100;font-family:serif;font-style:normal;font-weight:400;line-height:normal;user-select:none;color:#fff;padding-left:2px;padding-right:2px;white-space:nowrap}@media(max-width:767px){.kb-yjs__cursor>div{font-size:var(--kb-text-xs);padding:1px var(--kb-space-xs);border-radius:var(--kb-radius-sm)}}.kb-autocomplete__wrapper{position:fixed;z-index:99999;padding:6px var(--kb-space-sm);background:var(--kb-color-surface-elevated);list-style:none}.kb-autocomplete__wrapper li.active{background:#e8eaed14;color:#fff}.kb-image-wrapper{display:inline-block;position:relative;line-height:0;max-width:100%}.kb-image-wrapper img{display:block;max-width:100%}.kb-image-resize-handle{position:absolute;width:10px;height:10px;background-color:var(--kb-color-primary);border:2px solid var(--kb-color-surface);border-radius:var(--kb-radius-sm);box-sizing:border-box;opacity:0;transition:opacity .15s ease;z-index:10}.kb-image-wrapper:hover .kb-image-resize-handle,.kb-image-wrapper.kb-image-resizing .kb-image-resize-handle{opacity:1}.kb-image-resize-handle-nw{top:-5px;left:-5px;cursor:nw-resize}.kb-image-resize-handle-ne{top:-5px;right:-5px;cursor:ne-resize}.kb-image-resize-handle-sw{bottom:-5px;left:-5px;cursor:sw-resize}.kb-image-resize-handle-se{bottom:-5px;right:-5px;cursor:se-resize}.kb-image-wrapper.ProseMirror-selectednode{outline:2px solid var(--kb-color-primary);outline-offset:2px}.kb-image-wrapper.ProseMirror-selectednode .kb-image-resize-handle{opacity:1}.kb-image-wrapper.kb-image-resizing{user-select:none}.kb-image-wrapper.kb-image-resizing img{pointer-events:none}
@@ -0,0 +1,7 @@
1
+ import { M as o, K as r, O as t } from "./__vite-browser-external-C8P1ckfS.js";
2
+ export {
3
+ o as AdvancedEditorKit,
4
+ r as CoreEditor,
5
+ t as createAssetLoad
6
+ };
7
+ //# sourceMappingURL=kerebron.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kerebron.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}