@l1yp/file-viewer 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (373) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +134 -0
  3. package/dist/FileViewer.js +7 -0
  4. package/dist/FileViewer.vue.d.ts +37 -0
  5. package/dist/FileViewer.vue_vue_type_script_setup_true_lang.js +103 -0
  6. package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
  7. package/dist/components/AppxViewer.js +7 -0
  8. package/dist/components/AppxViewer.vue.d.ts +18 -0
  9. package/dist/components/AppxViewer.vue_vue_type_script_setup_true_lang.js +174 -0
  10. package/dist/components/ArchiveBrowser.js +7 -0
  11. package/dist/components/ArchiveBrowser.vue.d.ts +18 -0
  12. package/dist/components/ArchiveBrowser.vue_vue_type_script_setup_true_lang.js +279 -0
  13. package/dist/components/AudioViewer.js +7 -0
  14. package/dist/components/AudioViewer.vue.d.ts +21 -0
  15. package/dist/components/AudioViewer.vue_vue_type_script_setup_true_lang.js +201 -0
  16. package/dist/components/BinObjBrowser.js +7 -0
  17. package/dist/components/BinObjBrowser.vue.d.ts +19 -0
  18. package/dist/components/BinObjBrowser.vue_vue_type_script_setup_true_lang.js +141 -0
  19. package/dist/components/CertViewer.js +7 -0
  20. package/dist/components/CertViewer.vue.d.ts +17 -0
  21. package/dist/components/CertViewer.vue_vue_type_script_setup_true_lang.js +251 -0
  22. package/dist/components/ClassViewer.js +7 -0
  23. package/dist/components/ClassViewer.vue.d.ts +15 -0
  24. package/dist/components/ClassViewer.vue_vue_type_script_setup_true_lang.js +164 -0
  25. package/dist/components/CodeBlock.js +7 -0
  26. package/dist/components/CodeBlock.vue.d.ts +17 -0
  27. package/dist/components/CodeBlock.vue_vue_type_script_setup_true_lang.js +79 -0
  28. package/dist/components/CodeView.js +7 -0
  29. package/dist/components/CodeView.vue.d.ts +21 -0
  30. package/dist/components/CodeView.vue_vue_type_script_setup_true_lang.js +180 -0
  31. package/dist/components/CsvViewer.js +7 -0
  32. package/dist/components/CsvViewer.vue.d.ts +26 -0
  33. package/dist/components/CsvViewer.vue_vue_type_script_setup_true_lang.js +187 -0
  34. package/dist/components/DicomViewer.js +7 -0
  35. package/dist/components/DicomViewer.vue.d.ts +30 -0
  36. package/dist/components/DicomViewer.vue_vue_type_script_setup_true_lang.js +362 -0
  37. package/dist/components/DocxViewer.js +7 -0
  38. package/dist/components/DocxViewer.vue.d.ts +19 -0
  39. package/dist/components/DocxViewer.vue_vue_type_script_setup_true_lang.js +59 -0
  40. package/dist/components/DrawioViewer.js +7 -0
  41. package/dist/components/DrawioViewer.vue.d.ts +16 -0
  42. package/dist/components/DrawioViewer.vue_vue_type_script_setup_true_lang.js +38 -0
  43. package/dist/components/DxfViewer.js +7 -0
  44. package/dist/components/DxfViewer.vue.d.ts +14 -0
  45. package/dist/components/DxfViewer.vue_vue_type_script_setup_true_lang.js +239 -0
  46. package/dist/components/EbookViewer.js +7 -0
  47. package/dist/components/EbookViewer.vue.d.ts +22 -0
  48. package/dist/components/EbookViewer.vue_vue_type_script_setup_true_lang.js +170 -0
  49. package/dist/components/EmlViewer.js +7 -0
  50. package/dist/components/EmlViewer.vue.d.ts +21 -0
  51. package/dist/components/EmlViewer.vue_vue_type_script_setup_true_lang.js +193 -0
  52. package/dist/components/EplViewer.js +7 -0
  53. package/dist/components/EplViewer.vue.d.ts +19 -0
  54. package/dist/components/EplViewer.vue_vue_type_script_setup_true_lang.js +201 -0
  55. package/dist/components/FileViewerBody.js +7 -0
  56. package/dist/components/FileViewerBody.vue.d.ts +47 -0
  57. package/dist/components/FileViewerBody.vue_vue_type_script_setup_true_lang.js +599 -0
  58. package/dist/components/FileViewerPanel.js +7 -0
  59. package/dist/components/FileViewerPanel.vue.d.ts +3 -0
  60. package/dist/components/FileViewerPanel.vue_vue_type_script_setup_true_lang.js +207 -0
  61. package/dist/components/FontViewer.js +7 -0
  62. package/dist/components/FontViewer.vue.d.ts +17 -0
  63. package/dist/components/FontViewer.vue_vue_type_script_setup_true_lang.js +120 -0
  64. package/dist/components/FrontmatterCard.js +7 -0
  65. package/dist/components/FrontmatterCard.vue.d.ts +11 -0
  66. package/dist/components/FrontmatterCard.vue_vue_type_script_setup_true_lang.js +30 -0
  67. package/dist/components/GeoViewer.js +7 -0
  68. package/dist/components/GeoViewer.vue.d.ts +17 -0
  69. package/dist/components/GeoViewer.vue_vue_type_script_setup_true_lang.js +255 -0
  70. package/dist/components/HarViewer.js +7 -0
  71. package/dist/components/HarViewer.vue.d.ts +20 -0
  72. package/dist/components/HarViewer.vue_vue_type_script_setup_true_lang.js +322 -0
  73. package/dist/components/HexViewer.js +7 -0
  74. package/dist/components/HexViewer.vue.d.ts +22 -0
  75. package/dist/components/HexViewer.vue_vue_type_script_setup_true_lang.js +121 -0
  76. package/dist/components/HprofViewer.js +7 -0
  77. package/dist/components/HprofViewer.vue.d.ts +27 -0
  78. package/dist/components/HprofViewer.vue_vue_type_script_setup_true_lang.js +561 -0
  79. package/dist/components/ImageLightbox.js +7 -0
  80. package/dist/components/ImageLightbox.vue.d.ts +3 -0
  81. package/dist/components/ImageLightbox.vue_vue_type_script_setup_true_lang.js +86 -0
  82. package/dist/components/InlineText.d.ts +29 -0
  83. package/dist/components/InlineText.js +21 -0
  84. package/dist/components/JksViewer.js +7 -0
  85. package/dist/components/JksViewer.vue.d.ts +22 -0
  86. package/dist/components/JksViewer.vue_vue_type_script_setup_true_lang.js +353 -0
  87. package/dist/components/JsonlViewer.js +7 -0
  88. package/dist/components/JsonlViewer.vue.d.ts +15 -0
  89. package/dist/components/JsonlViewer.vue_vue_type_script_setup_true_lang.js +103 -0
  90. package/dist/components/LogViewer.js +7 -0
  91. package/dist/components/LogViewer.vue.d.ts +29 -0
  92. package/dist/components/LogViewer.vue_vue_type_script_setup_true_lang.js +670 -0
  93. package/dist/components/LrcViewer.js +7 -0
  94. package/dist/components/LrcViewer.vue.d.ts +17 -0
  95. package/dist/components/LrcViewer.vue_vue_type_script_setup_true_lang.js +106 -0
  96. package/dist/components/MarkdownTable.js +7 -0
  97. package/dist/components/MarkdownTable.vue.d.ts +19 -0
  98. package/dist/components/MarkdownTable.vue_vue_type_script_setup_true_lang.js +71 -0
  99. package/dist/components/MarkdownText.d.ts +30 -0
  100. package/dist/components/MarkdownText.js +21 -0
  101. package/dist/components/MhtViewer.js +7 -0
  102. package/dist/components/MhtViewer.vue.d.ts +22 -0
  103. package/dist/components/MhtViewer.vue_vue_type_script_setup_true_lang.js +112 -0
  104. package/dist/components/MindMapView.js +7 -0
  105. package/dist/components/MindMapView.vue.d.ts +23 -0
  106. package/dist/components/MindMapView.vue_vue_type_script_setup_true_lang.js +337 -0
  107. package/dist/components/MissingDependency.js +7 -0
  108. package/dist/components/MissingDependency.vue.d.ts +17 -0
  109. package/dist/components/MissingDependency.vue_vue_type_script_setup_true_lang.js +37 -0
  110. package/dist/components/ModelViewer.js +7 -0
  111. package/dist/components/ModelViewer.vue.d.ts +18 -0
  112. package/dist/components/ModelViewer.vue_vue_type_script_setup_true_lang.js +157 -0
  113. package/dist/components/MsiViewer.js +7 -0
  114. package/dist/components/MsiViewer.vue.d.ts +19 -0
  115. package/dist/components/MsiViewer.vue_vue_type_script_setup_true_lang.js +136 -0
  116. package/dist/components/NotebookViewer.js +7 -0
  117. package/dist/components/NotebookViewer.vue.d.ts +20 -0
  118. package/dist/components/NotebookViewer.vue_vue_type_script_setup_true_lang.js +125 -0
  119. package/dist/components/PdfViewer.js +7 -0
  120. package/dist/components/PdfViewer.vue.d.ts +19 -0
  121. package/dist/components/PdfViewer.vue_vue_type_script_setup_true_lang.js +114 -0
  122. package/dist/components/PptxViewer.js +7 -0
  123. package/dist/components/PptxViewer.vue.d.ts +20 -0
  124. package/dist/components/PptxViewer.vue_vue_type_script_setup_true_lang.js +73 -0
  125. package/dist/components/PsdViewer.js +7 -0
  126. package/dist/components/PsdViewer.vue.d.ts +15 -0
  127. package/dist/components/PsdViewer.vue_vue_type_script_setup_true_lang.js +218 -0
  128. package/dist/components/QmcAudioViewer.js +7 -0
  129. package/dist/components/QmcAudioViewer.vue.d.ts +18 -0
  130. package/dist/components/QmcAudioViewer.vue_vue_type_script_setup_true_lang.js +92 -0
  131. package/dist/components/RasterViewer.js +7 -0
  132. package/dist/components/RasterViewer.vue.d.ts +21 -0
  133. package/dist/components/RasterViewer.vue_vue_type_script_setup_true_lang.js +161 -0
  134. package/dist/components/RtfViewer.js +7 -0
  135. package/dist/components/RtfViewer.vue.d.ts +21 -0
  136. package/dist/components/RtfViewer.vue_vue_type_script_setup_true_lang.js +66 -0
  137. package/dist/components/SevenZipBrowser.js +7 -0
  138. package/dist/components/SevenZipBrowser.vue.d.ts +13 -0
  139. package/dist/components/SevenZipBrowser.vue_vue_type_script_setup_true_lang.js +366 -0
  140. package/dist/components/SqliteViewer.js +7 -0
  141. package/dist/components/SqliteViewer.vue.d.ts +18 -0
  142. package/dist/components/SqliteViewer.vue_vue_type_script_setup_true_lang.js +186 -0
  143. package/dist/components/SubtitleViewer.js +7 -0
  144. package/dist/components/SubtitleViewer.vue.d.ts +15 -0
  145. package/dist/components/SubtitleViewer.vue_vue_type_script_setup_true_lang.js +48 -0
  146. package/dist/components/XlsxChart.js +7 -0
  147. package/dist/components/XlsxChart.vue.d.ts +14 -0
  148. package/dist/components/XlsxChart.vue_vue_type_script_setup_true_lang.js +240 -0
  149. package/dist/components/XlsxViewer.js +7 -0
  150. package/dist/components/XlsxViewer.vue.d.ts +22 -0
  151. package/dist/components/XlsxViewer.vue_vue_type_script_setup_true_lang.js +814 -0
  152. package/dist/components/XmindViewer.js +7 -0
  153. package/dist/components/XmindViewer.vue.d.ts +13 -0
  154. package/dist/components/XmindViewer.vue_vue_type_script_setup_true_lang.js +48 -0
  155. package/dist/components/ZipBrowser.js +7 -0
  156. package/dist/components/ZipBrowser.vue.d.ts +14 -0
  157. package/dist/components/ZipBrowser.vue_vue_type_script_setup_true_lang.js +326 -0
  158. package/dist/components/ZoomImage.js +7 -0
  159. package/dist/components/ZoomImage.vue.d.ts +29 -0
  160. package/dist/components/ZoomImage.vue_vue_type_script_setup_true_lang.js +147 -0
  161. package/dist/components/epl/EplCodeBlock.js +7 -0
  162. package/dist/components/epl/EplCodeBlock.vue.d.ts +15 -0
  163. package/dist/components/epl/EplCodeBlock.vue_vue_type_script_setup_true_lang.js +72 -0
  164. package/dist/components/epl/EplDoc.js +7 -0
  165. package/dist/components/epl/EplDoc.vue.d.ts +19 -0
  166. package/dist/components/epl/EplDoc.vue_vue_type_script_setup_true_lang.js +327 -0
  167. package/dist/components/epl/EplMethod.js +7 -0
  168. package/dist/components/epl/EplMethod.vue.d.ts +14 -0
  169. package/dist/components/epl/EplMethod.vue_vue_type_script_setup_true_lang.js +100 -0
  170. package/dist/components/epl/EplResource.js +7 -0
  171. package/dist/components/epl/EplResource.vue.d.ts +15 -0
  172. package/dist/components/epl/EplResource.vue_vue_type_script_setup_true_lang.js +204 -0
  173. package/dist/components/epl/EplTree.js +7 -0
  174. package/dist/components/epl/EplTree.vue.d.ts +27 -0
  175. package/dist/components/epl/EplTree.vue_vue_type_script_setup_true_lang.js +123 -0
  176. package/dist/components/epl/EplVarTable.js +7 -0
  177. package/dist/components/epl/EplVarTable.vue.d.ts +21 -0
  178. package/dist/components/epl/EplVarTable.vue_vue_type_script_setup_true_lang.js +60 -0
  179. package/dist/components/epl/docTypes.d.ts +12 -0
  180. package/dist/components/epl/numbering.d.ts +21 -0
  181. package/dist/components/epl/numbering.js +14 -0
  182. package/dist/components/icons/Icon.js +7 -0
  183. package/dist/components/icons/Icon.vue.d.ts +14 -0
  184. package/dist/components/icons/Icon.vue_vue_type_script_setup_true_lang.js +33 -0
  185. package/dist/components/icons/iconPaths.d.ts +60 -0
  186. package/dist/components/icons/iconPaths.js +54 -0
  187. package/dist/components/optionalViewer.d.ts +14 -0
  188. package/dist/components/optionalViewer.js +37 -0
  189. package/dist/components/ui/ClampBlock.d.ts +82 -0
  190. package/dist/components/ui/ClampBlock.js +63 -0
  191. package/dist/composables/useFileViewer.d.ts +428 -0
  192. package/dist/composables/useFileViewer.js +27 -0
  193. package/dist/composables/useLightbox.d.ts +33 -0
  194. package/dist/composables/useLightbox.js +17 -0
  195. package/dist/composables/useLogRules.d.ts +47 -0
  196. package/dist/composables/useLogRules.js +74 -0
  197. package/dist/index.d.ts +44 -0
  198. package/dist/index.js +30 -0
  199. package/dist/lib/aes.d.ts +25 -0
  200. package/dist/lib/aes.js +99 -0
  201. package/dist/lib/appx.d.ts +66 -0
  202. package/dist/lib/appx.js +112 -0
  203. package/dist/lib/archive.d.ts +29 -0
  204. package/dist/lib/asn1.d.ts +47 -0
  205. package/dist/lib/asn1.js +122 -0
  206. package/dist/lib/binobj.d.ts +69 -0
  207. package/dist/lib/binobj.js +430 -0
  208. package/dist/lib/brotli.d.ts +14 -0
  209. package/dist/lib/brotli.js +16 -0
  210. package/dist/lib/bzip2.d.ts +14 -0
  211. package/dist/lib/bzip2.js +161 -0
  212. package/dist/lib/classfile.d.ts +72 -0
  213. package/dist/lib/classfile.js +210 -0
  214. package/dist/lib/codePreview.d.ts +22 -0
  215. package/dist/lib/codePreview.js +27 -0
  216. package/dist/lib/codefold.d.ts +14 -0
  217. package/dist/lib/codefold.js +30 -0
  218. package/dist/lib/codeformat.d.ts +21 -0
  219. package/dist/lib/codeformat.js +130 -0
  220. package/dist/lib/csv.d.ts +19 -0
  221. package/dist/lib/csv.js +74 -0
  222. package/dist/lib/des.d.ts +17 -0
  223. package/dist/lib/des.js +928 -0
  224. package/dist/lib/diagram.d.ts +5 -0
  225. package/dist/lib/diagram.js +479 -0
  226. package/dist/lib/dicom.d.ts +69 -0
  227. package/dist/lib/dicom.js +442 -0
  228. package/dist/lib/dicomCodecs.d.ts +28 -0
  229. package/dist/lib/dicomCodecs.js +156 -0
  230. package/dist/lib/dicomRender.d.ts +46 -0
  231. package/dist/lib/dicomRender.js +114 -0
  232. package/dist/lib/dxf.d.ts +86 -0
  233. package/dist/lib/dxf.js +399 -0
  234. package/dist/lib/eml.d.ts +40 -0
  235. package/dist/lib/eml.js +46 -0
  236. package/dist/lib/encoding.d.ts +28 -0
  237. package/dist/lib/encoding.js +44 -0
  238. package/dist/lib/epl/code/ast.d.ts +150 -0
  239. package/dist/lib/epl/code/codeDataParser.d.ts +3 -0
  240. package/dist/lib/epl/code/codeDataParser.js +330 -0
  241. package/dist/lib/epl/code/codeLines.d.ts +20 -0
  242. package/dist/lib/epl/code/codeLines.js +191 -0
  243. package/dist/lib/epl/code/structures.d.ts +86 -0
  244. package/dist/lib/epl/code/textCode.d.ts +29 -0
  245. package/dist/lib/epl/code/textCode.js +150 -0
  246. package/dist/lib/epl/code/variable.d.ts +25 -0
  247. package/dist/lib/epl/eplDocument.d.ts +21 -0
  248. package/dist/lib/epl/eplDocument.js +36 -0
  249. package/dist/lib/epl/imageList.d.ts +28 -0
  250. package/dist/lib/epl/imageList.js +66 -0
  251. package/dist/lib/epl/index.d.ts +53 -0
  252. package/dist/lib/epl/index.js +45 -0
  253. package/dist/lib/epl/io/binaryReader.d.ts +56 -0
  254. package/dist/lib/epl/io/binaryReader.js +119 -0
  255. package/dist/lib/epl/io/encoding.d.ts +16 -0
  256. package/dist/lib/epl/io/encoding.js +27 -0
  257. package/dist/lib/epl/model/eplSystemId.d.ts +64 -0
  258. package/dist/lib/epl/model/eplSystemId.js +16 -0
  259. package/dist/lib/epl/model/section.d.ts +46 -0
  260. package/dist/lib/epl/names/eplLibData.js +39 -0
  261. package/dist/lib/epl/names/idToNameMap.d.ts +33 -0
  262. package/dist/lib/epl/names/idToNameMap.js +130 -0
  263. package/dist/lib/epl/names/libNameProvider.d.ts +15 -0
  264. package/dist/lib/epl/names/libNameProvider.js +18 -0
  265. package/dist/lib/epl/program.d.ts +120 -0
  266. package/dist/lib/epl/program.js +134 -0
  267. package/dist/lib/epl/projectFileReader.d.ts +23 -0
  268. package/dist/lib/epl/projectFileReader.js +65 -0
  269. package/dist/lib/epl/sections/code.d.ts +20 -0
  270. package/dist/lib/epl/sections/esystemInfo.d.ts +14 -0
  271. package/dist/lib/epl/sections/losable.d.ts +11 -0
  272. package/dist/lib/epl/sections/projectConfig.d.ts +23 -0
  273. package/dist/lib/epl/sections/resource.d.ts +57 -0
  274. package/dist/lib/fb2.d.ts +14 -0
  275. package/dist/lib/fb2.js +62 -0
  276. package/dist/lib/fileType.d.ts +315 -0
  277. package/dist/lib/fileType.js +800 -0
  278. package/dist/lib/fonts.d.ts +8 -0
  279. package/dist/lib/fonts.js +4 -0
  280. package/dist/lib/format.d.ts +16 -0
  281. package/dist/lib/format.js +38 -0
  282. package/dist/lib/frontmatter.d.ts +13 -0
  283. package/dist/lib/frontmatter.js +23 -0
  284. package/dist/lib/geo.d.ts +30 -0
  285. package/dist/lib/geo.js +235 -0
  286. package/dist/lib/har.d.ts +171 -0
  287. package/dist/lib/har.js +397 -0
  288. package/dist/lib/highlight.d.ts +18 -0
  289. package/dist/lib/highlight.js +34 -0
  290. package/dist/lib/highlightLangs.d.ts +15 -0
  291. package/dist/lib/highlightLangs.js +93 -0
  292. package/dist/lib/hprof.d.ts +211 -0
  293. package/dist/lib/hprof.js +709 -0
  294. package/dist/lib/ipynb.d.ts +48 -0
  295. package/dist/lib/ipynb.js +130 -0
  296. package/dist/lib/jks.d.ts +86 -0
  297. package/dist/lib/jks.js +167 -0
  298. package/dist/lib/jsonl.d.ts +29 -0
  299. package/dist/lib/jsonl.js +24 -0
  300. package/dist/lib/lrc.d.ts +32 -0
  301. package/dist/lib/lrc.js +84 -0
  302. package/dist/lib/lzma.d.ts +70 -0
  303. package/dist/lib/lzma.js +204 -0
  304. package/dist/lib/markdown/blocks.d.ts +9 -0
  305. package/dist/lib/markdown/blocks.js +221 -0
  306. package/dist/lib/markdown/index.d.ts +3 -0
  307. package/dist/lib/markdown/inline.d.ts +33 -0
  308. package/dist/lib/markdown/inline.js +84 -0
  309. package/dist/lib/markdown/math.d.ts +5 -0
  310. package/dist/lib/markdown/math.js +25 -0
  311. package/dist/lib/markdown/segmentize.d.ts +11 -0
  312. package/dist/lib/markdown/segmentize.js +28 -0
  313. package/dist/lib/markdown/styles.d.ts +26 -0
  314. package/dist/lib/markdown/styles.js +135 -0
  315. package/dist/lib/mht.d.ts +51 -0
  316. package/dist/lib/mht.js +122 -0
  317. package/dist/lib/midi.d.ts +28 -0
  318. package/dist/lib/midi.js +84 -0
  319. package/dist/lib/mime.d.ts +82 -0
  320. package/dist/lib/mime.js +151 -0
  321. package/dist/lib/mindmap.d.ts +51 -0
  322. package/dist/lib/mindmap.js +113 -0
  323. package/dist/lib/mobi.d.ts +15 -0
  324. package/dist/lib/mobi.js +68 -0
  325. package/dist/lib/msi.d.ts +50 -0
  326. package/dist/lib/msi.js +332 -0
  327. package/dist/lib/optionalDep.d.ts +26 -0
  328. package/dist/lib/optionalDep.js +20 -0
  329. package/dist/lib/pkcs12.d.ts +56 -0
  330. package/dist/lib/pkcs12.js +356 -0
  331. package/dist/lib/qmc.d.ts +50 -0
  332. package/dist/lib/qmc.js +213 -0
  333. package/dist/lib/rar.d.ts +16 -0
  334. package/dist/lib/rar.js +40 -0
  335. package/dist/lib/rawPreview.d.ts +12 -0
  336. package/dist/lib/rawPreview.js +54 -0
  337. package/dist/lib/rc2.d.ts +12 -0
  338. package/dist/lib/rc2.js +298 -0
  339. package/dist/lib/resolveInput.d.ts +22 -0
  340. package/dist/lib/resolveInput.js +55 -0
  341. package/dist/lib/rtf.d.ts +53 -0
  342. package/dist/lib/rtf.js +413 -0
  343. package/dist/lib/sevenZip.d.ts +82 -0
  344. package/dist/lib/sevenZip.js +395 -0
  345. package/dist/lib/sha1.d.ts +24 -0
  346. package/dist/lib/sha1.js +53 -0
  347. package/dist/lib/sha256.d.ts +21 -0
  348. package/dist/lib/sha256.js +119 -0
  349. package/dist/lib/speechAudio.d.ts +36 -0
  350. package/dist/lib/speechAudio.js +85 -0
  351. package/dist/lib/sqlite.d.ts +38 -0
  352. package/dist/lib/sqlite.js +104 -0
  353. package/dist/lib/subtitle.d.ts +26 -0
  354. package/dist/lib/subtitle.js +99 -0
  355. package/dist/lib/tarball.d.ts +20 -0
  356. package/dist/lib/tarball.js +248 -0
  357. package/dist/lib/viewerFormats.d.ts +35 -0
  358. package/dist/lib/viewerFormats.js +83 -0
  359. package/dist/lib/viewerKind.d.ts +36 -0
  360. package/dist/lib/viewerKind.js +233 -0
  361. package/dist/lib/x509.d.ts +68 -0
  362. package/dist/lib/x509.js +267 -0
  363. package/dist/lib/xlsx.d.ts +55 -0
  364. package/dist/lib/xlsx.js +321 -0
  365. package/dist/lib/xlsxCharts.d.ts +34 -0
  366. package/dist/lib/xlsxCharts.js +152 -0
  367. package/dist/lib/xmind.d.ts +6 -0
  368. package/dist/lib/xmind.js +124 -0
  369. package/dist/lib/zip.d.ts +56 -0
  370. package/dist/lib/zip.js +169 -0
  371. package/dist/style.css +2 -0
  372. package/dist/types.d.ts +42 -0
  373. package/package.json +128 -0
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Minimal in-browser ZIP reader — no dependency, no WASM.
3
+ *
4
+ * Parses the archive's central directory to list entries, then extracts them lazily using the
5
+ * browser-native {@link DecompressionStream} for DEFLATE. Covers what conversation artifacts actually
6
+ * ship: STORE (uncompressed) and DEFLATE, ASCII/UTF-8 names, and the ZIP64 size/offset extensions.
7
+ * Encrypted entries and unusual compression methods are surfaced as errors rather than mis-read.
8
+ *
9
+ * Used by ZipBrowser (the side viewer's archive mode): the bytes come from the same download endpoint
10
+ * as any other file, are decompressed here entirely client-side, and never leave the browser.
11
+ */
12
+ /** How an entry is encrypted: none, legacy PKWARE ZipCrypto, or WinZip AES. */
13
+ export type ZipEncryption = 'none' | 'zipcrypto' | 'aes';
14
+ export interface ZipEntry {
15
+ /** Full path within the archive, forward-slashed, e.g. "src/app.ts". */
16
+ path: string;
17
+ /** Basename (last path segment). */
18
+ name: string;
19
+ /** Uncompressed size in bytes. */
20
+ size: number;
21
+ /** Compressed size in bytes (for encrypted entries this includes the crypto header/salt/trailer). */
22
+ compressedSize: number;
23
+ /** EFFECTIVE compression method: 0 = stored, 8 = deflate (for AES this is the real method from the extra field, not 99). */
24
+ method: number;
25
+ /** Directory entry (its path ends with "/"). */
26
+ isDir: boolean;
27
+ /** Entry is encrypted (true when {@link encryption} !== 'none'). Kept for callers that only need the flag. */
28
+ encrypted: boolean;
29
+ /** Encryption scheme — decrypt needs the password (see {@link extractZipEntry}). */
30
+ encryption: ZipEncryption;
31
+ /** CRC-32 from the directory (the ZipCrypto password-check byte is its high byte). */
32
+ crc32: number;
33
+ /** WinZip AES parameters (only when {@link encryption} === 'aes'). */
34
+ aes?: {
35
+ strength: 1 | 2 | 3;
36
+ };
37
+ /** Byte offset of the local file header (where the data lives). */
38
+ localOffset: number;
39
+ }
40
+ /** Thrown when an entry is encrypted and no password was supplied — the UI prompts for one. */
41
+ export declare class ZipEncryptedError extends Error {
42
+ constructor(message?: string);
43
+ }
44
+ /** Thrown when the supplied password fails the archive's verification (wrong password). */
45
+ export declare class ZipPasswordError extends Error {
46
+ constructor(message?: string);
47
+ }
48
+ /** Is in-browser inflate available? (DecompressionStream — all current browsers; absent under SSR.) */
49
+ export declare function zipSupported(): boolean;
50
+ /** Parse the central directory into a flat entry list. Throws if the bytes aren't a readable ZIP. */
51
+ export declare function readZip(buf: ArrayBuffer): ZipEntry[];
52
+ /** Decompress one entry's bytes. Reads the local header (its name/extra lengths can differ from the central
53
+ * directory's) to find the data, decrypts it first when encrypted (ZipCrypto / WinZip AES — needs `password`),
54
+ * then STORE-copies or DEFLATE-inflates. Throws {@link ZipEncryptedError} if a password is required but missing,
55
+ * and {@link ZipPasswordError} if the supplied password is wrong. */
56
+ export declare function extractZipEntry(buf: ArrayBuffer, e: ZipEntry, password?: string): Promise<Uint8Array>;
@@ -0,0 +1,169 @@
1
+ import { aesCtrXor as e } from "./aes.js";
2
+ import { decodeFileNameBytes as t } from "./encoding.js";
3
+ //#region src/lib/zip.ts
4
+ var n = 101010256, r = 101075792, i = 117853008, a = 33639248, o = 67324752, s = class extends Error {
5
+ constructor(e = "该条目已加密,请输入密码") {
6
+ super(e), this.name = "ZipEncryptedError";
7
+ }
8
+ }, c = class extends Error {
9
+ constructor(e = "密码错误") {
10
+ super(e), this.name = "ZipPasswordError";
11
+ }
12
+ };
13
+ function l() {
14
+ return typeof DecompressionStream < "u";
15
+ }
16
+ function u(e, t) {
17
+ return e.getUint32(t + 4, !0) * 4294967296 + e.getUint32(t, !0);
18
+ }
19
+ function d(e) {
20
+ let t = e.byteLength, r = Math.max(0, t - 22 - 65535);
21
+ for (let i = t - 22; i >= r; i--) if (e.getUint32(i, !0) === n) return i;
22
+ throw Error("不是有效的 ZIP 文件(找不到结尾记录)");
23
+ }
24
+ function f(e, t, n, r) {
25
+ let i = t + n, a = t;
26
+ for (; a + 4 <= i;) {
27
+ let t = e.getUint16(a, !0), n = e.getUint16(a + 2, !0);
28
+ if (t === 1) {
29
+ let t = a + 4;
30
+ r.size === 4294967295 && (r.size = u(e, t), t += 8), r.compressedSize === 4294967295 && (r.compressedSize = u(e, t), t += 8), r.localOffset === 4294967295 && (r.localOffset = u(e, t));
31
+ return;
32
+ }
33
+ a += 4 + n;
34
+ }
35
+ }
36
+ function p(e, t, n) {
37
+ let r = t + n, i = t;
38
+ for (; i + 4 <= r;) {
39
+ let t = e.getUint16(i, !0), n = e.getUint16(i + 2, !0);
40
+ if (t === 39169 && i + 11 <= r) {
41
+ let t = e.getUint8(i + 8), n = e.getUint16(i + 9, !0);
42
+ if (t >= 1 && t <= 3) return {
43
+ strength: t,
44
+ method: n
45
+ };
46
+ }
47
+ i += 4 + n;
48
+ }
49
+ return null;
50
+ }
51
+ function m(e) {
52
+ let n = new DataView(e);
53
+ if (n.byteLength < 22) throw Error("文件太小,不是有效的 ZIP");
54
+ let o = d(n), s = n.getUint16(o + 10, !0), c = n.getUint32(o + 16, !0);
55
+ if (s === 65535 || c === 4294967295) {
56
+ let e = o - 20;
57
+ if (e >= 0 && n.getUint32(e, !0) === i) {
58
+ let t = u(n, e + 8);
59
+ t >= 0 && t + 56 <= n.byteLength && n.getUint32(t, !0) === r && (s = u(n, t + 32), c = u(n, t + 48));
60
+ }
61
+ }
62
+ let l = new Uint8Array(e), m = [], h = c;
63
+ for (let e = 0; e < s && !(h + 46 > n.byteLength || n.getUint32(h, !0) !== a); e++) {
64
+ let e = n.getUint16(h + 8, !0), r = n.getUint16(h + 10, !0), i = n.getUint16(h + 28, !0), a = n.getUint16(h + 30, !0), o = n.getUint16(h + 32, !0), s = {
65
+ size: n.getUint32(h + 24, !0),
66
+ compressedSize: n.getUint32(h + 20, !0),
67
+ localOffset: n.getUint32(h + 42, !0)
68
+ }, c = t(l.subarray(h + 46, h + 46 + i), !0);
69
+ (s.size === 4294967295 || s.compressedSize === 4294967295 || s.localOffset === 4294967295) && f(n, h + 46 + i, a, s);
70
+ let u = n.getUint32(h + 16, !0), d = "none", g = r, _;
71
+ if (r === 99) {
72
+ let e = p(n, h + 46 + i, a);
73
+ e && (d = "aes", g = e.method, _ = { strength: e.strength });
74
+ } else e & 1 && (d = "zipcrypto");
75
+ m.push({
76
+ path: c,
77
+ name: c.replace(/\/+$/, "").split("/").pop() ?? c,
78
+ size: s.size,
79
+ compressedSize: s.compressedSize,
80
+ method: g,
81
+ isDir: c.endsWith("/"),
82
+ encrypted: d !== "none",
83
+ encryption: d,
84
+ crc32: u,
85
+ aes: _,
86
+ localOffset: s.localOffset
87
+ }), h += 46 + i + a + o;
88
+ }
89
+ return m;
90
+ }
91
+ async function h(e) {
92
+ let t = new Blob([e]).stream().pipeThrough(new DecompressionStream("deflate-raw"));
93
+ return new Uint8Array(await new Response(t).arrayBuffer());
94
+ }
95
+ var g = /* @__PURE__ */ (() => {
96
+ let e = new Uint32Array(256);
97
+ for (let t = 0; t < 256; t++) {
98
+ let n = t;
99
+ for (let e = 0; e < 8; e++) n = n & 1 ? 3988292384 ^ n >>> 1 : n >>> 1;
100
+ e[t] = n >>> 0;
101
+ }
102
+ return e;
103
+ })(), _ = (e, t) => (e >>> 8 ^ g[(e ^ t) & 255]) >>> 0, v = class {
104
+ k0 = 305419896;
105
+ k1 = 591751049;
106
+ k2 = 878082192;
107
+ constructor(e) {
108
+ for (let t of e) this.update(t);
109
+ }
110
+ update(e) {
111
+ this.k0 = _(this.k0, e), this.k1 = this.k1 + (this.k0 & 255) >>> 0, this.k1 = Math.imul(this.k1, 134775813) + 1 >>> 0, this.k2 = _(this.k2, this.k1 >>> 24 & 255);
112
+ }
113
+ decryptByte(e) {
114
+ let t = (this.k2 | 2) & 65535, n = (e ^ Math.imul(t, t ^ 1) >>> 8 & 255) & 255;
115
+ return this.update(n), n;
116
+ }
117
+ };
118
+ function y(e, t, n) {
119
+ if (e.length < 12) throw new c();
120
+ let r = new v(t), i = new Uint8Array(e.length);
121
+ for (let t = 0; t < e.length; t++) i[t] = r.decryptByte(e[t]);
122
+ if (i[11] !== (n & 255)) throw new c();
123
+ return i.subarray(12);
124
+ }
125
+ async function b(t, n, r) {
126
+ let i = [
127
+ 8,
128
+ 12,
129
+ 16
130
+ ][r - 1], a = [
131
+ 16,
132
+ 24,
133
+ 32
134
+ ][r - 1];
135
+ if (t.length < i + 2 + 10) throw new c();
136
+ if (typeof crypto > "u" || !crypto.subtle) throw Error("当前环境不支持 AES 解密(缺少 WebCrypto)");
137
+ let o = t.subarray(0, i), s = t.subarray(i, i + 2), l = t.subarray(i + 2, t.length - 10), u = await crypto.subtle.importKey("raw", n, "PBKDF2", !1, ["deriveBits"]), d = new Uint8Array(await crypto.subtle.deriveBits({
138
+ name: "PBKDF2",
139
+ hash: "SHA-1",
140
+ salt: o,
141
+ iterations: 1e3
142
+ }, u, (a * 2 + 2) * 8));
143
+ if (d[a * 2] !== s[0] || d[a * 2 + 1] !== s[1]) throw new c();
144
+ return e(d.subarray(0, a), l);
145
+ }
146
+ async function x(e, t, n) {
147
+ if (t.isDir || t.size === 0) return new Uint8Array();
148
+ let r = new DataView(e);
149
+ if (t.localOffset + 30 > r.byteLength || r.getUint32(t.localOffset, !0) !== o) throw Error("本地文件头损坏");
150
+ let i = r.getUint16(t.localOffset + 26, !0), a = r.getUint16(t.localOffset + 28, !0), c = t.localOffset + 30 + i + a;
151
+ if (c + t.compressedSize > e.byteLength) throw Error("条目数据超出文件范围");
152
+ let u = new Uint8Array(e, c, t.compressedSize);
153
+ if (t.encryption !== "none") {
154
+ if (!n) throw new s();
155
+ let e = new TextEncoder().encode(n);
156
+ if (t.encryption === "zipcrypto") {
157
+ let n = r.getUint16(t.localOffset + 6, !0), i = r.getUint16(t.localOffset + 10, !0), a = n & 8 ? i >> 8 & 255 : t.crc32 >>> 24 & 255;
158
+ u = y(u, e, a);
159
+ } else u = await b(u, e, t.aes?.strength ?? 3);
160
+ }
161
+ if (t.method === 0) return u.slice();
162
+ if (t.method === 8) {
163
+ if (!l()) throw Error("当前浏览器不支持在前端解压(DecompressionStream 缺失)");
164
+ return h(u);
165
+ }
166
+ throw Error(`不支持的压缩方式(method ${t.method})`);
167
+ }
168
+ //#endregion
169
+ export { s as ZipEncryptedError, c as ZipPasswordError, x as extractZipEntry, m as readZip, l as zipSupported };
package/dist/style.css ADDED
@@ -0,0 +1,2 @@
1
+ .fv-root{--font-serif:"Anthropic Serif", Georgia, "Arial Hebrew", "Noto Sans Hebrew", "Times New Roman", Times, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "PingFang TC", "Microsoft JhengHei", "Noto Sans CJK TC", "Hiragino Sans", "Yu Gothic", Meiryo, "Noto Sans CJK JP", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans CJK KR", serif;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, "PingFang SC", "Microsoft YaHei", monospace;--bg:#faf9f4;--surface:#fff;--surface-2:#f1efe7;--bubble:#f3f1e9;--text:#262420;--text-strong:#161512;--muted:#74726a;--faint:#a6a39a;--border:#ebe8df;--border-2:#dad6cb;--accent:#c15f3c;--accent-soft:#c15f3c1a;--danger:#c0392b;--code-bg:#f6f4ed;--code-border:#e7e3d8;--code-head:#efede4;--pp:#7a5ab5;--pp-soft:#7a5ab51a;--shadow:0 1px 2px #2826210d, 0 6px 20px #2826210f;--hl-kw:#d73a49;--hl-fn:#6f42c1;--hl-attr:#005cc5;--hl-str:#032f62;--hl-built:#e36209;--hl-cmt:#6a737d;--hl-name:#22863a;box-sizing:border-box;color:var(--text);font-family:var(--font-sans)}.fv-root *,.fv-root :before,.fv-root :after{box-sizing:border-box}.fv-root[data-theme=dark]{--bg:#232221;--surface:#2b2a27;--surface-2:#34322e;--bubble:#302e2a;--text:#eceae2;--text-strong:#faf9f4;--muted:#a8a59c;--faint:#73716a;--border:#3a3835;--border-2:#48463f;--accent:#d97757;--accent-soft:#d9775726;--danger:#f08a7a;--code-bg:#1b1a18;--code-border:#34322e;--code-head:#262522;--pp:#b79ce8;--pp-soft:#b79ce829;--shadow:0 1px 2px #00000038, 0 8px 24px #0000004d;--hl-kw:#ff7b72;--hl-fn:#d2a8ff;--hl-attr:#79c0ff;--hl-str:#a5d6ff;--hl-built:#ffa657;--hl-cmt:#8b949e;--hl-name:#7ee787}@media (prefers-color-scheme:dark){.fv-root[data-theme=system]{--bg:#232221;--surface:#2b2a27;--surface-2:#34322e;--bubble:#302e2a;--text:#eceae2;--text-strong:#faf9f4;--muted:#a8a59c;--faint:#73716a;--border:#3a3835;--border-2:#48463f;--accent:#d97757;--accent-soft:#d9775726;--danger:#f08a7a;--code-bg:#1b1a18;--code-border:#34322e;--code-head:#262522;--pp:#b79ce8;--pp-soft:#b79ce829;--shadow:0 1px 2px #00000038, 0 8px 24px #0000004d;--hl-kw:#ff7b72;--hl-fn:#d2a8ff;--hl-attr:#79c0ff;--hl-str:#a5d6ff;--hl-built:#ffa657;--hl-cmt:#8b949e;--hl-name:#7ee787}}.fv-root[data-theme=light]{--bg:#faf9f4;--surface:#fff;--surface-2:#f1efe7;--bubble:#f3f1e9;--text:#262420;--text-strong:#161512;--muted:#74726a;--faint:#a6a39a;--border:#ebe8df;--border-2:#dad6cb;--accent:#c15f3c;--accent-soft:#c15f3c1a;--danger:#c0392b;--code-bg:#f6f4ed;--code-border:#e7e3d8;--code-head:#efede4;--pp:#7a5ab5;--pp-soft:#7a5ab51a;--shadow:0 1px 2px #2826210d, 0 6px 20px #2826210f;--hl-kw:#d73a49;--hl-fn:#6f42c1;--hl-attr:#005cc5;--hl-str:#032f62;--hl-built:#e36209;--hl-cmt:#6a737d;--hl-name:#22863a}.missdep[data-v-edb397a0]{text-align:center;min-height:0;color:var(--faint);flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:8px;padding:32px;display:flex}.missdep__icon[data-v-edb397a0]{color:var(--faint)}.missdep__title[data-v-edb397a0]{color:var(--text-strong);margin:4px 0 0;font-size:14px;font-weight:600}.missdep__sub[data-v-edb397a0]{max-width:340px;color:var(--muted);margin:0;font-size:12.5px;line-height:1.6}.missdep__cmd[data-v-edb397a0]{background:var(--code-bg);border:1px solid var(--code-border);border-radius:8px;align-items:center;gap:8px;margin-top:6px;padding:7px 8px 7px 12px;display:flex}.missdep__cmd code[data-v-edb397a0]{font-family:var(--font-mono);color:var(--text);font-size:12.5px}.missdep__copy[data-v-edb397a0]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:12px}.missdep__copy[data-v-edb397a0]:hover{border-color:var(--accent);color:var(--accent)}.missdep__dl[data-v-edb397a0]{color:var(--muted);text-underline-offset:3px;margin-top:10px;font-size:12.5px;text-decoration:underline}.missdep__dl[data-v-edb397a0]:hover{color:var(--accent)}.dc-icon[data-v-5d3b9e77]{line-height:0;display:inline-flex}.code-block[data-v-71d58741]{border:1px solid var(--code-border);background:var(--code-bg);box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.code-block__head[data-v-71d58741]{background:var(--code-head);border-bottom:1px solid var(--code-border);justify-content:space-between;align-items:center;padding:7px 10px 7px 14px;display:flex}.code-block__lang[data-v-71d58741]{font-family:var(--font-mono);letter-spacing:.02em;color:var(--muted);font-size:11.5px}.code-block__actions[data-v-71d58741]{align-items:center;gap:2px;display:inline-flex}.code-block__btn[data-v-71d58741]{cursor:pointer;color:var(--faint);background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;padding:3px 6px;font-family:inherit;font-size:12px;transition:background .15s,color .15s;display:inline-flex}.code-block__btn[data-v-71d58741]:hover{background:var(--surface-2);color:var(--muted)}.code-block__pre[data-v-71d58741]{font-family:var(--font-mono);color:var(--text);white-space:pre;tab-size:2;margin:0;padding:14px 16px;font-size:13.5px;line-height:1.7;overflow-x:auto}.code-block__pre code[data-v-71d58741]{background:0 0;border:none;padding:0;font-family:inherit}.code-block__pre--clamped[data-v-71d58741]{scrollbar-width:none}.code-block__pre--clamped[data-v-71d58741]::-webkit-scrollbar{display:none}.md-table[data-v-49d97fb7]{border:1px solid var(--border);box-shadow:var(--shadow);background:var(--surface);border-radius:12px;margin:4px 0 22px;overflow:hidden}.md-table__scroll[data-v-49d97fb7]{overflow-x:auto}.md-table__table[data-v-49d97fb7]{border-collapse:collapse;width:100%}.md-table__table--fixed[data-v-49d97fb7]{table-layout:fixed}.md-table__table--fixed th[data-v-49d97fb7],.md-table__table--fixed td[data-v-49d97fb7]{white-space:normal;overflow-wrap:anywhere}.md-table__table th[data-v-49d97fb7]{font-family:var(--font-sans);color:var(--text-strong);background:var(--code-head);border-bottom:1px solid var(--border-2);white-space:nowrap;padding:10px 14px;font-size:14px;font-weight:600;position:relative}.md-table__table td[data-v-49d97fb7]{font-family:var(--font-sans);color:var(--text);border-top:1px solid var(--border);vertical-align:top;padding:9px 14px;font-size:14px;line-height:1.55}.md-table__resize[data-v-49d97fb7]{cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;width:9px;position:absolute;top:0;bottom:0;right:0}.md-table__resize[data-v-49d97fb7]:after{content:"";background:var(--border-2);opacity:0;border-radius:1px;width:2px;transition:opacity .12s;position:absolute;top:20%;bottom:20%;right:3px}.md-table__table th:hover .md-table__resize[data-v-49d97fb7]:after{opacity:1}.md-table__resize[data-v-49d97fb7]:hover:after{opacity:1;background:var(--accent)}.cv[data-v-f432e526]{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.cv__tools[data-v-f432e526]{z-index:3;align-items:flex-start;gap:6px;display:flex;position:absolute;top:8px;right:14px}.cv__toolbtn[data-v-f432e526]{max-width:190px;color:var(--muted);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;box-shadow:var(--shadow);border-radius:7px;align-items:center;gap:5px;padding:3px 10px;font-family:inherit;font-size:11.5px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.cv__toolbtn[data-v-f432e526]:hover{border-color:var(--accent);color:var(--accent)}.cv__toolbtn span[data-v-f432e526]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cv__toolbtn--on[data-v-f432e526]{color:#fff;background:var(--accent);border-color:var(--accent)}.cv__toolbtn--on[data-v-f432e526]:hover{color:#fff}.cv__fmt[data-v-f432e526]:disabled{cursor:default;opacity:.7}.cv__fmt--err[data-v-f432e526]{color:var(--danger);border-color:var(--danger)}.cv__lang[data-v-f432e526]{display:inline-flex;position:relative}.cv__langpop[data-v-f432e526]{z-index:4;background:var(--surface);border:1px solid var(--border);width:224px;box-shadow:var(--shadow);border-radius:10px;padding:7px;position:absolute;top:calc(100% + 6px);right:0}.cv__langsearch[data-v-f432e526]{box-sizing:border-box;width:100%;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:7px;outline:none;padding:6px 9px;font-family:inherit;font-size:12px}.cv__langsearch[data-v-f432e526]:focus{border-color:var(--accent)}.cv__langlist[data-v-f432e526]{overscroll-behavior:contain;max-height:288px;margin-top:6px;overflow-y:auto}.cv__langitem[data-v-f432e526]{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-family:inherit;font-size:12.5px;transition:background .12s,color .12s;display:flex}.cv__langitem[data-v-f432e526]:hover{background:var(--surface-2);color:var(--accent)}.cv__langitem--on[data-v-f432e526]{color:var(--accent)}.cv__langitem-label[data-v-f432e526]{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.cv__langitem-check[data-v-f432e526]{color:var(--accent);flex-shrink:0}.cv__langempty[data-v-f432e526]{color:var(--faint);text-align:center;margin:0;padding:10px 8px;font-size:12px}.cv__scroll[data-v-f432e526]{overscroll-behavior:contain;background:var(--code-bg);flex:auto;min-height:0;overflow:auto}.cv__rows[data-v-f432e526]{min-width:max-content;font-family:var(--font-mono);font-size:var(--fv-code-fs,12.5px);line-height:var(--fv-code-lh,21px);padding:14px 0}.cv__row[data-v-f432e526]{align-items:flex-start;display:flex}.cv__gut[data-v-f432e526]{z-index:1;background:var(--code-bg);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:flex-start;display:flex;position:sticky;left:0}.cv__fold[data-v-f432e526]{width:16px;height:var(--fv-code-lh,21px);color:var(--faint);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.cv__fold--empty[data-v-f432e526]{cursor:default}.cv__fold[data-v-f432e526] svg{transition:transform .12s}.cv__fold--open[data-v-f432e526]{transform:rotate(90deg)}.cv__fold[data-v-f432e526]:hover svg{color:var(--accent)}.cv__ln[data-v-f432e526]{text-align:right;width:48px;color:var(--faint);flex-shrink:0;padding:0 12px 0 4px}.cv__code[data-v-f432e526]{white-space:pre;color:var(--text);tab-size:2;background:0 0;border:none;flex:auto;padding:0 18px 0 14px;font-family:inherit}.cv__ellipsis[data-v-f432e526]{color:var(--muted);background:var(--surface-2);border:1px solid var(--border-2);cursor:pointer;border-radius:5px;align-self:center;margin:0 0 0 2px;padding:0 7px;font-family:inherit;line-height:1.3}.cv__ellipsis[data-v-f432e526]:hover{border-color:var(--accent);color:var(--accent)}.cv__scroll--blob[data-v-f432e526]{overflow:hidden auto}.cv__codewrap[data-v-f432e526]{align-items:stretch;min-height:100%;padding:14px 0;display:flex}.cv__gutter[data-v-f432e526]{border-right:1px solid var(--code-border);text-align:right;font-family:var(--font-mono);font-size:var(--fv-code-fs,12.5px);line-height:var(--fv-code-lh,21px);color:var(--faint);-webkit-user-select:none;user-select:none;white-space:pre;flex-shrink:0;margin:0;padding:0 12px 0 16px}.cv__codecol[data-v-f432e526]{flex:auto;min-width:0;overflow-x:auto}.cv__pre[data-v-f432e526]{font-family:var(--font-mono);font-size:var(--fv-code-fs,12.5px);line-height:var(--fv-code-lh,21px);color:var(--text);white-space:pre;tab-size:2;margin:0;padding:0 18px 0 14px}.cv__pre code[data-v-f432e526]{background:0 0;border:none;padding:0;font-family:inherit}.fm[data-v-e94b6987]{border-bottom:1px solid var(--border);margin:0 0 24px;padding:0 0 18px}.fm__row[data-v-e94b6987]{margin:0 0 16px}.fm__row[data-v-e94b6987]:last-child{margin-bottom:0}.fm__label[data-v-e94b6987]{letter-spacing:.01em;color:var(--faint);margin:0 0 4px;font-size:12px;font-weight:600}.fm__value[data-v-e94b6987]{font-family:var(--font-serif);color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;font-size:15px;line-height:1.7}.zi[data-v-96f5f467]{cursor:zoom-out;touch-action:none;width:100%;height:100%;position:relative;overflow:hidden}.zi--grab[data-v-96f5f467]{cursor:grab}.zi--grab[data-v-96f5f467]:active{cursor:grabbing}.zi__img[data-v-96f5f467]{transform-origin:0 0;will-change:transform;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;opacity:0;position:absolute;top:0;left:0}.zi__img--ready[data-v-96f5f467]{opacity:1}.zi__toolbar[data-v-96f5f467]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1c1c1ed1;border-radius:12px;align-items:center;gap:2px;padding:4px;display:inline-flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 8px 28px #0006}.zi__tool[data-v-96f5f467]{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:9px;justify-content:center;align-items:center;width:36px;height:32px;font-size:19px;line-height:1;transition:background .15s;display:inline-flex}.zi__tool[data-v-96f5f467]:hover{background:#ffffff29}.zi__pct[data-v-96f5f467]{color:#fff;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:none;border-radius:9px;min-width:56px;height:32px;padding:0 8px;font-family:inherit;font-size:12.5px;transition:background .15s}.zi__pct[data-v-96f5f467]:hover{background:#ffffff29}.fvb[data-v-e200097e]{flex-direction:column;flex:auto;min-height:0;display:flex}.fvb__fmtbar[data-v-e200097e]{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:7px 12px;display:flex}.fvb__fmtbar-label[data-v-e200097e]{color:var(--faint);margin-right:2px;font-size:11.5px}.fvb__fmtchip[data-v-e200097e]{color:var(--text);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:5px 11px;font-family:inherit;font-size:12px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.fvb__fmtchip[data-v-e200097e]:hover{border-color:var(--accent);color:var(--accent)}.fvb__fmtchip--on[data-v-e200097e]{color:#fff;background:var(--accent);border-color:var(--accent)}.fvb__fmtchip--on[data-v-e200097e]:hover{color:#fff}.fvb__msg[data-v-e200097e]{color:var(--muted);padding:20px 16px;font-size:13px}.fvb__msg--error[data-v-e200097e]{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.fvb__retry[data-v-e200097e]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.fvb__retry[data-v-e200097e]:hover{border-color:var(--accent);color:var(--accent)}.fvb__scroll[data-v-e200097e]{overscroll-behavior:contain;background:var(--code-bg);flex:auto;min-height:0}.fvb__scroll--doc[data-v-e200097e]{overflow:auto}.fvb__markdown[data-v-e200097e]{padding:18px 24px 80px}.fvb__html[data-v-e200097e]{background:#fff;flex:auto;min-height:0;position:relative}.fvb__htmlbar[data-v-e200097e]{z-index:2;align-items:center;gap:4px;display:flex;position:absolute;top:8px;right:8px}.fvb__htmlbtn[data-v-e200097e]{width:28px;height:28px;color:var(--muted);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;box-shadow:var(--shadow);border-radius:7px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.fvb__htmlbtn[data-v-e200097e]:hover{border-color:var(--accent);color:var(--accent)}.fvb__htmlbtn--on[data-v-e200097e]{color:#fff;background:var(--accent);border-color:var(--accent)}.fvb__htmlbtn--on[data-v-e200097e]:hover{color:#fff;filter:brightness(1.06)}.fvb__frame[data-v-e200097e]{background:#fff;border:none;width:100%;height:100%;display:block}.fvb__fs[data-v-e200097e]{z-index:2000;background:#000000d1;flex-direction:column;animation:.12s ease-out fvb-fs-in-e200097e;display:flex;position:fixed;inset:0}@keyframes fvb-fs-in-e200097e{0%{opacity:0}to{opacity:1}}.fvb__fsbar[data-v-e200097e]{flex-shrink:0;justify-content:flex-end;align-items:center;gap:6px;padding:8px 10px;display:flex}.fvb__fsframe[data-v-e200097e]{background:#fff;border:none;flex:auto;width:100%;min-height:0}.fvb__fill[data-v-e200097e]{flex:auto;min-height:0;display:flex}.fvb__svg[data-v-e200097e]{background:var(--surface-2);flex:auto;justify-content:center;align-items:center;min-height:0;padding:24px;display:flex;overflow:auto}.fvb__svgimg[data-v-e200097e]{object-fit:contain;max-width:100%;height:auto}.fvb__imagezoom[data-v-e200097e]{background:var(--code-bg);flex:auto;min-height:0;position:relative}.fvb__video[data-v-e200097e]{background:#000;flex:auto;justify-content:center;align-items:center;min-height:0;padding:16px;display:flex}.fvb__videoel[data-v-e200097e]{max-width:100%;max-height:100%}.fvb__binary[data-v-e200097e]{min-height:0;color:var(--faint);text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:6px;padding:32px;display:flex}.fvb__binary p[data-v-e200097e]{color:var(--muted);margin:0;font-size:13px}.fvb__binary-sub[data-v-e200097e]{font-size:11.5px;color:var(--faint)!important}.fvb__dlbtn[data-v-e200097e]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;margin-top:8px;padding:6px 16px;font-family:inherit;font-size:12.5px;text-decoration:none}.fvb__dlbtn[data-v-e200097e]:hover{border-color:var(--accent);color:var(--accent)}.fvb__openas[data-v-e200097e]{flex-direction:column;align-items:center;gap:9px;margin-top:18px;display:flex}.fvb__openas-label[data-v-e200097e]{color:var(--muted);font-size:12px}.fvb__openas-grid[data-v-e200097e]{flex-wrap:wrap;justify-content:center;gap:7px;max-width:320px;display:flex}.fv[data-v-b3eb2d75]{background:var(--surface);border:1px solid var(--border);flex-direction:column;height:100%;min-height:0;display:flex}.fv__head[data-v-b3eb2d75]{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:10px;padding:10px 12px 10px 16px;display:flex}.fv__title[data-v-b3eb2d75]{white-space:nowrap;flex:auto;align-items:baseline;gap:5px;min-width:0;display:flex;overflow:hidden}.fv__name[data-v-b3eb2d75]{text-overflow:ellipsis;min-width:0;color:var(--text-strong);font-size:13px;font-weight:500;overflow:hidden}.fv__ext[data-v-b3eb2d75]{color:var(--muted);flex-shrink:0;font-size:12px;font-weight:600}.fv__act[data-v-b3eb2d75]{height:28px;color:var(--muted);border:1px solid var(--border-2);cursor:pointer;background:0 0;border-radius:7px;flex-shrink:0;align-items:center;padding:0 10px;font-family:inherit;font-size:12px;text-decoration:none;display:inline-flex}.fv__act[data-v-b3eb2d75]:hover{border-color:var(--accent);color:var(--accent)}.fv__body[data-v-b3eb2d75]{flex-direction:column;flex:auto;min-height:0;display:flex}.fv__msg[data-v-b3eb2d75]{color:var(--muted);padding:20px 16px;font-size:13px}.fv__msg--err[data-v-b3eb2d75]{color:var(--danger)}.fv[data-v-d5e0901b]{--fv-code-fs:12.5px;--fv-code-lh:21px;flex:0 0 var(--fv-width);z-index:55;background:var(--surface);border-left:1px solid var(--border);min-width:0;height:100%;box-shadow:var(--shadow);flex-direction:column;display:flex;position:relative}.fv__resizer[data-v-d5e0901b]{z-index:2;cursor:col-resize;touch-action:none;justify-content:center;align-items:center;width:11px;display:flex;position:absolute;top:0;bottom:0;left:-4px}.fv__resizer[data-v-d5e0901b]:before{content:"";background:0 0;width:2px;transition:background .15s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.fv__grip[data-v-d5e0901b]{background:var(--border-2);border-radius:3px;width:5px;height:34px;transition:background .15s,height .15s;position:relative}.fv__resizer[data-v-d5e0901b]:hover:before,.fv__resizer--active[data-v-d5e0901b]:before,.fv__resizer:hover .fv__grip[data-v-d5e0901b],.fv__resizer--active .fv__grip[data-v-d5e0901b]{background:#6ea8fe}.fv__resizer--active .fv__grip[data-v-d5e0901b]{height:48px}.fv__head[data-v-d5e0901b]{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:10px;padding:10px 12px 10px 16px;display:flex}.fv__view[data-v-d5e0901b]{background:var(--surface-2);border-radius:8px;flex-shrink:0;align-items:center;gap:2px;padding:2px;display:inline-flex}.fv__view-btn[data-v-d5e0901b]{width:30px;height:26px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.fv__view-btn[data-v-d5e0901b]:hover{color:var(--muted)}.fv__view-btn--on[data-v-d5e0901b]{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.fv__title[data-v-d5e0901b]{white-space:nowrap;flex:auto;align-items:baseline;gap:5px;min-width:0;display:flex;overflow:hidden}.fv__fname[data-v-d5e0901b]{text-overflow:ellipsis;min-width:0;color:var(--text-strong);font-size:13px;font-weight:500;overflow:hidden}.fv__dot[data-v-d5e0901b]{color:var(--faint);flex-shrink:0}.fv__ext[data-v-d5e0901b]{letter-spacing:.02em;color:var(--muted);flex-shrink:0;font-size:15px;font-weight:600}.fv__actions[data-v-d5e0901b]{flex-shrink:0;align-items:center;gap:2px;display:flex}.fv__btn[data-v-d5e0901b]{min-width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 7px;font-family:inherit;font-size:12px;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.fv__btn[data-v-d5e0901b]:hover{background:var(--surface-2);color:var(--accent)}.fv__btn--text[data-v-d5e0901b]{padding:0 9px}.fv__btn--on[data-v-d5e0901b]{color:var(--accent);background:var(--surface-2)}.fv__btn--on[data-v-d5e0901b]:hover{color:var(--accent)}.fv__menu[data-v-d5e0901b]{display:inline-flex;position:relative}.fv__menu-pop[data-v-d5e0901b]{z-index:60;background:var(--surface);border:1px solid var(--border);min-width:184px;box-shadow:var(--shadow);border-radius:10px;padding:5px;position:absolute;top:calc(100% + 6px);right:0}.fv__menu-item[data-v-d5e0901b]{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:9px;padding:7px 9px;font-family:inherit;font-size:12.5px;transition:background .12s,color .12s;display:flex}.fv__menu-item[data-v-d5e0901b]:hover{background:var(--surface-2);color:var(--accent)}.fv__menu-item--on[data-v-d5e0901b]{color:var(--accent)}.fv__menu-label[data-v-d5e0901b]{flex:auto;min-width:0}.fv__menu-check[data-v-d5e0901b]{color:var(--accent);flex-shrink:0}.fv__menu-sep[data-v-d5e0901b]{background:var(--border);height:1px;margin:4px 6px}@media (width<=860px){.fv[data-v-d5e0901b]{z-index:70;flex-basis:auto;width:100%;position:fixed;inset:0}.fv__resizer[data-v-d5e0901b]{display:none}}.lightbox[data-v-edff5d07]{z-index:2000;background:#000000d1;justify-content:center;align-items:center;animation:.12s ease-out lightbox-in-edff5d07;display:flex;position:fixed;inset:0}@keyframes lightbox-in-edff5d07{0%{opacity:0}to{opacity:1}}.lightbox__zoom[data-v-edff5d07]{position:absolute;inset:0}.lightbox__video[data-v-edff5d07]{background:#000;border-radius:6px;max-width:94vw;max-height:94vh;box-shadow:0 16px 56px #0000008c}.lightbox__msg[data-v-edff5d07]{color:#fff;font-size:14px}.lightbox__close[data-v-edff5d07]{z-index:1;color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;transition:background .15s;display:inline-flex;position:fixed;top:16px;right:16px}.lightbox__close[data-v-edff5d07]:hover{background:#ffffff3d}.mm[data-v-93d0df23]{background:var(--surface-2);flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.mm__msg[data-v-93d0df23]{color:var(--muted);padding:20px 16px;font-size:13px}.mm__msg--error[data-v-93d0df23]{color:var(--danger)}.mm__canvas[data-v-93d0df23]{cursor:grab;touch-action:none;flex:auto;min-height:0;overflow:hidden}.mm__canvas--panning[data-v-93d0df23]{cursor:grabbing}.mm__svg[data-v-93d0df23]{width:100%;height:100%;display:block}.mm__edge[data-v-93d0df23]{fill:none;stroke-width:2px;stroke-opacity:.55}.mm__node--clickable .mm__box[data-v-93d0df23],.mm__node--clickable .mm__text[data-v-93d0df23]{cursor:pointer}.mm__box[data-v-93d0df23]{fill:var(--surface);stroke:var(--border-2);stroke-width:1.2px;transition:filter .12s}.mm__node--clickable:hover .mm__box[data-v-93d0df23]{filter:brightness(1.04);stroke:var(--accent)}.mm__box--root[data-v-93d0df23]{fill:var(--accent);stroke:var(--accent)}.mm__box--branch[data-v-93d0df23]{stroke-width:1.5px}.mm__text[data-v-93d0df23]{font-family:var(--font-sans,inherit);fill:var(--text);dominant-baseline:central;font-size:13px}.mm__box--root+.mm__text[data-v-93d0df23]{fill:#fff;font-weight:600}.mm__pip[data-v-93d0df23]{cursor:pointer}.mm__pip circle[data-v-93d0df23]{fill:var(--surface);stroke:var(--border-2);stroke-width:1.2px}.mm__pip:hover circle[data-v-93d0df23]{stroke:var(--accent)}.mm__pipsign[data-v-93d0df23]{stroke:var(--muted);stroke-width:1.6px;stroke-linecap:round}.mm__pip:hover .mm__pipsign[data-v-93d0df23]{stroke:var(--accent)}.mm__pipcount[data-v-93d0df23]{font-family:var(--font-mono,monospace);fill:var(--faint);-webkit-user-select:none;user-select:none;font-size:10.5px}.mm__link[data-v-93d0df23]{fill:var(--accent);cursor:pointer;font-size:12px}.mm__toolbar[data-v-93d0df23]{background:color-mix(in srgb, var(--surface) 86%, transparent);border-top:1px solid var(--border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:space-between;align-items:center;gap:10px;padding:7px 12px;display:flex;position:absolute;bottom:0;left:0;right:0}.mm__summary[data-v-93d0df23]{letter-spacing:.02em;color:var(--faint);font-size:11.5px}.mm__zoom[data-v-93d0df23]{align-items:center;gap:4px;display:inline-flex}.mm__tbtn[data-v-93d0df23]{min-width:28px;height:26px;color:var(--muted);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:0 6px;font-family:inherit;font-size:14px;line-height:1;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.mm__tbtn[data-v-93d0df23]:hover{color:var(--accent);border-color:var(--accent)}.mm__tbtn--text[data-v-93d0df23]{font-size:12px}.zip[data-v-04e7e09d]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.zip__msg[data-v-04e7e09d]{color:var(--muted);padding:20px 16px;font-size:13px}.zip__msg--error[data-v-04e7e09d]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.zip__retry[data-v-04e7e09d]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.zip__retry[data-v-04e7e09d]:hover{border-color:var(--accent);color:var(--accent)}.zip__summary[data-v-04e7e09d]{border-bottom:1px solid var(--border);letter-spacing:.02em;color:var(--faint);flex-shrink:0;padding:9px 16px;font-size:11.5px}.zip__pw[data-v-04e7e09d]{border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--muted);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.zip__pw--ok[data-v-04e7e09d]{color:var(--accent)}.zip__pwinput[data-v-04e7e09d]{min-width:0;height:28px;color:var(--text);background:var(--surface);border:1px solid var(--border-2);border-radius:7px;flex:auto;padding:0 9px;font-family:inherit;font-size:12.5px}.zip__pwinput[data-v-04e7e09d]:focus{border-color:var(--accent);outline:none}.zip__pwbtn[data-v-04e7e09d]{height:28px;color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:7px;flex-shrink:0;padding:0 12px;font-family:inherit;font-size:12px}.zip__pwbtn[data-v-04e7e09d]:hover{border-color:var(--accent);color:var(--accent)}.zip__pwerr[data-v-04e7e09d]{color:var(--danger);flex-shrink:0;font-size:11.5px}.zip__rowlock[data-v-04e7e09d]{color:var(--faint);flex-shrink:0}.zip__scroll[data-v-04e7e09d]{overscroll-behavior:contain;flex:auto;min-height:0;overflow:auto}.zip__tree[data-v-04e7e09d]{padding:6px 0}.zip__row[data-v-04e7e09d]{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;padding:5px 12px;font-family:inherit;font-size:12.5px;display:flex}.zip__row[data-v-04e7e09d]:hover{background:var(--surface-2)}.zip__twisty[data-v-04e7e09d]{width:13px;color:var(--faint);flex-shrink:0;display:inline-flex}.zip__twisty--open[data-v-04e7e09d]{transition:transform .12s;transform:rotate(90deg)}.zip__rowicon[data-v-04e7e09d]{color:var(--faint);flex-shrink:0;display:inline-flex}.zip__row--dir .zip__rowicon[data-v-04e7e09d]{color:var(--accent)}.zip__rowname[data-v-04e7e09d]{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.zip__row--dir .zip__rowname[data-v-04e7e09d]{font-weight:500}.zip__rowsize[data-v-04e7e09d]{color:var(--faint);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.zip__bar[data-v-04e7e09d]{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:8px;padding:7px 10px 7px 8px;display:flex}.zip__back[data-v-04e7e09d],.zip__act[data-v-04e7e09d]{width:30px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.zip__back[data-v-04e7e09d]:hover,.zip__act[data-v-04e7e09d]:hover{background:var(--surface-2);color:var(--accent)}.zip__path[data-v-04e7e09d]{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;color:var(--text-strong);direction:rtl;flex:auto;font-size:12.5px;font-weight:500;overflow:hidden}.zip__bsize[data-v-04e7e09d]{color:var(--faint);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.zip__view[data-v-04e7e09d]{background:var(--surface-2);border-radius:7px;flex-shrink:0;align-items:center;gap:2px;padding:2px;display:inline-flex}.zip__vbtn[data-v-04e7e09d]{width:26px;height:24px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;display:inline-flex}.zip__vbtn--on[data-v-04e7e09d]{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.sz[data-v-c8a21efa]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.sz__msg[data-v-c8a21efa]{color:var(--muted);padding:20px 16px;font-size:13px}.sz__msg--error[data-v-c8a21efa]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.sz__retry[data-v-c8a21efa]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.sz__retry[data-v-c8a21efa]:hover{border-color:var(--accent);color:var(--accent)}.sz__summary[data-v-c8a21efa]{border-bottom:1px solid var(--border);letter-spacing:.02em;color:var(--faint);flex-shrink:0;padding:9px 16px;font-size:11.5px}.sz__scroll[data-v-c8a21efa]{overscroll-behavior:contain;flex:auto;min-height:0;overflow:auto}.sz__tree[data-v-c8a21efa]{padding:6px 0}.sz__row[data-v-c8a21efa]{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;padding:5px 12px;font-family:inherit;font-size:12.5px;display:flex}.sz__row[data-v-c8a21efa]:hover{background:var(--surface-2)}.sz__twisty[data-v-c8a21efa]{width:13px;color:var(--faint);flex-shrink:0;display:inline-flex}.sz__twisty--open[data-v-c8a21efa]{transition:transform .12s;transform:rotate(90deg)}.sz__rowicon[data-v-c8a21efa]{color:var(--faint);flex-shrink:0;display:inline-flex}.sz__row--dir .sz__rowicon[data-v-c8a21efa]{color:var(--accent)}.sz__rowname[data-v-c8a21efa]{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.sz__row--dir .sz__rowname[data-v-c8a21efa]{font-weight:500}.sz__rowsize[data-v-c8a21efa]{color:var(--faint);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.sz__bar[data-v-c8a21efa]{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:8px;padding:7px 10px 7px 8px;display:flex}.sz__back[data-v-c8a21efa],.sz__act[data-v-c8a21efa]{width:30px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.sz__back[data-v-c8a21efa]:hover,.sz__act[data-v-c8a21efa]:hover{background:var(--surface-2);color:var(--accent)}.sz__path[data-v-c8a21efa]{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;color:var(--text-strong);direction:rtl;flex:auto;font-size:12.5px;font-weight:500;overflow:hidden}.sz__bsize[data-v-c8a21efa]{color:var(--faint);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.sz__view[data-v-c8a21efa]{background:var(--surface-2);border-radius:7px;flex-shrink:0;align-items:center;gap:2px;padding:2px;display:inline-flex}.sz__vbtn[data-v-c8a21efa]{width:26px;height:24px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;display:inline-flex}.sz__vbtn--on[data-v-c8a21efa]{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.sz__locked[data-v-c8a21efa]{text-align:center;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:12px;min-height:0;padding:24px;display:flex}.sz__lockicon[data-v-c8a21efa]{color:var(--faint)}.sz__lockmsg[data-v-c8a21efa]{color:var(--muted);margin:0;font-size:13px}.sz__lockform[data-v-c8a21efa]{gap:8px;width:100%;max-width:320px;display:flex}.sz__lockerr[data-v-c8a21efa]{color:var(--danger);margin:0;font-size:12px}.sz__pw[data-v-c8a21efa]{border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--muted);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.sz__pw--ok[data-v-c8a21efa]{color:var(--accent)}.sz__pwinput[data-v-c8a21efa]{min-width:0;height:28px;color:var(--text);background:var(--surface);border:1px solid var(--border-2);border-radius:7px;flex:auto;padding:0 9px;font-family:inherit;font-size:12.5px}.sz__pwinput[data-v-c8a21efa]:focus{border-color:var(--accent);outline:none}.sz__pwbtn[data-v-c8a21efa]{height:28px;color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:7px;flex-shrink:0;padding:0 12px;font-family:inherit;font-size:12px}.sz__pwbtn[data-v-c8a21efa]:hover{border-color:var(--accent);color:var(--accent)}.sz__pwerr[data-v-c8a21efa]{color:var(--danger);flex-shrink:0;font-size:11.5px}.sz__rowlock[data-v-c8a21efa]{color:var(--faint);flex-shrink:0}.ar[data-v-9693d0e6]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.ar__msg[data-v-9693d0e6]{color:var(--muted);padding:20px 16px;font-size:13px}.ar__msg--error[data-v-9693d0e6]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.ar__retry[data-v-9693d0e6]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.ar__retry[data-v-9693d0e6]:hover{border-color:var(--accent);color:var(--accent)}.ar__summary[data-v-9693d0e6]{border-bottom:1px solid var(--border);letter-spacing:.02em;color:var(--faint);flex-shrink:0;padding:9px 16px;font-size:11.5px}.ar__scroll[data-v-9693d0e6]{overscroll-behavior:contain;flex:auto;min-height:0;overflow:auto}.ar__tree[data-v-9693d0e6]{padding:6px 0}.ar__row[data-v-9693d0e6]{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;padding:5px 12px;font-family:inherit;font-size:12.5px;display:flex}.ar__row[data-v-9693d0e6]:hover{background:var(--surface-2)}.ar__twisty[data-v-9693d0e6]{width:13px;color:var(--faint);flex-shrink:0;display:inline-flex}.ar__twisty--open[data-v-9693d0e6]{transition:transform .12s;transform:rotate(90deg)}.ar__rowicon[data-v-9693d0e6]{color:var(--faint);flex-shrink:0;display:inline-flex}.ar__row--dir .ar__rowicon[data-v-9693d0e6]{color:var(--accent)}.ar__rowname[data-v-9693d0e6]{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.ar__row--dir .ar__rowname[data-v-9693d0e6]{font-weight:500}.ar__rowsize[data-v-9693d0e6]{color:var(--faint);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.ar__bar[data-v-9693d0e6]{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:8px;padding:7px 10px 7px 8px;display:flex}.ar__back[data-v-9693d0e6],.ar__act[data-v-9693d0e6]{width:30px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.ar__back[data-v-9693d0e6]:hover,.ar__act[data-v-9693d0e6]:hover{background:var(--surface-2);color:var(--accent)}.ar__path[data-v-9693d0e6]{text-overflow:ellipsis;white-space:nowrap;text-align:left;min-width:0;color:var(--text-strong);direction:rtl;flex:auto;font-size:12.5px;font-weight:500;overflow:hidden}.ar__bsize[data-v-9693d0e6]{color:var(--faint);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.ar__view[data-v-9693d0e6]{background:var(--surface-2);border-radius:7px;flex-shrink:0;align-items:center;gap:2px;padding:2px;display:inline-flex}.ar__vbtn[data-v-9693d0e6]{width:26px;height:24px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;display:inline-flex}.ar__vbtn--on[data-v-9693d0e6]{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.bo[data-v-c0cc2754]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.bo__msg[data-v-c0cc2754]{color:var(--muted);padding:20px 16px;font-size:13px}.bo__msg--error[data-v-c0cc2754]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.bo__retry[data-v-c0cc2754]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.bo__retry[data-v-c0cc2754]:hover{border-color:var(--accent);color:var(--accent)}.bo__confirm[data-v-c0cc2754]{text-align:center;min-height:0;color:var(--muted);flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:12px;padding:32px 28px;display:flex}.bo__confirm-title[data-v-c0cc2754]{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-strong);font-size:13.5px;font-weight:600;overflow:hidden}.bo__confirm-sub[data-v-c0cc2754]{color:var(--muted);font-size:12.5px;line-height:1.6}.bo__btn[data-v-c0cc2754]{color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:8px 18px;font-family:inherit;font-size:13px}.bo__btn[data-v-c0cc2754]:hover{filter:brightness(1.06)}.bo__summary[data-v-c0cc2754]{border-bottom:1px solid var(--border);letter-spacing:.02em;color:var(--faint);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px 12px;padding:9px 16px;font-size:11.5px;display:flex}.bo__fmt[data-v-c0cc2754]{color:var(--accent);font-weight:700}.bo__tag[data-v-c0cc2754]{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:1px 7px;font-size:10.5px}.bo__meta[data-v-c0cc2754]{border-bottom:1px solid var(--border);flex-shrink:0;gap:14px;padding:12px 16px;display:flex}.bo__icon[data-v-c0cc2754]{object-fit:contain;background:var(--surface-2);width:52px;height:52px;image-rendering:-webkit-optimize-contrast;border-radius:8px;flex-shrink:0}.bo__metalist[data-v-c0cc2754]{flex:auto;grid-template-columns:auto minmax(0,1fr);align-content:start;gap:3px 12px;min-width:0;margin:0;display:grid}.bo__metakey[data-v-c0cc2754]{color:var(--faint);white-space:nowrap;font-size:11.5px}.bo__metaval[data-v-c0cc2754]{min-width:0;color:var(--text);overflow-wrap:anywhere;margin:0;font-size:12px}.bo__search[data-v-c0cc2754]{border-bottom:1px solid var(--border);flex-shrink:0;padding:8px 12px}.bo__input[data-v-c0cc2754]{box-sizing:border-box;width:100%;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:7px;padding:6px 10px;font-family:inherit;font-size:12.5px}.bo__input[data-v-c0cc2754]:focus{border-color:var(--accent);outline:none}.bo__note[data-v-c0cc2754]{color:var(--muted);background:var(--surface-2);flex-shrink:0;padding:8px 16px;font-size:12px}.bo__list[data-v-c0cc2754]{overscroll-behavior:contain;flex:auto;min-height:0;padding:4px 0;overflow:auto}.bo__row[data-v-c0cc2754]{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:9px;width:100%;padding:5px 14px;font-family:inherit;display:flex}.bo__row[data-v-c0cc2754]:hover{background:var(--surface-2)}.bo__kind[data-v-c0cc2754]{text-align:center;background:var(--surface-2);width:30px;color:var(--accent);letter-spacing:.04em;border-radius:5px;flex-shrink:0;padding:1px 0;font-size:9.5px;font-weight:700}.bo__kind--weak[data-v-c0cc2754]{color:var(--faint)}.bo__name[data-v-c0cc2754]{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono);color:var(--text);flex:auto;font-size:12.5px;overflow:hidden}.bo__meta[data-v-c0cc2754]{font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:10px;display:flex}.bo__addr[data-v-c0cc2754]{font-family:var(--font-mono);color:var(--faint);font-size:11.5px}.bo__bsize[data-v-c0cc2754]{color:var(--faint);font-size:10.5px}.bo__copied[data-v-c0cc2754]{color:var(--accent);font-size:11px}.bo__more[data-v-c0cc2754]{color:var(--faint);padding:10px 16px;font-size:11.5px}.tree[data-v-855ef1ee]{-webkit-user-select:none;user-select:none;color:var(--epl-fg);padding:6px 0;font-size:12.5px}.tree__root[data-v-855ef1ee]{color:var(--epl-th-fg);padding:2px 10px 4px;font-weight:600}.tree__node[data-v-855ef1ee]{align-items:center;gap:2px;width:100%;display:flex}.tree__node.is-active[data-v-855ef1ee],.tree__table.is-active[data-v-855ef1ee]{background:var(--epl-sel)}.tree__caret[data-v-855ef1ee]{cursor:pointer;width:16px;height:18px;color:var(--epl-gutter);background:0 0;border:none;flex:none;padding:0;font-size:8px;transition:transform .1s}.tree__caret.is-open[data-v-855ef1ee]{transform:rotate(90deg)}.tree__caret--empty[data-v-855ef1ee]{cursor:default}.tree__label[data-v-855ef1ee]{cursor:pointer;text-align:left;min-width:0;color:inherit;font:inherit;background:0 0;border:none;flex:auto;align-items:center;gap:6px;padding:2px 10px 2px 0;display:flex}.tree__label[data-v-855ef1ee]:hover{color:var(--epl-ident)}.tree__table[data-v-855ef1ee]{padding-left:18px}.tree__children[data-v-855ef1ee]{flex-direction:column;display:flex}.tree__method[data-v-855ef1ee]{cursor:pointer;text-align:left;color:inherit;font:inherit;background:0 0;border:none;align-items:center;gap:6px;padding:1px 10px 1px 34px;display:flex}.tree__method[data-v-855ef1ee]:hover{color:var(--epl-ident)}.tree__name[data-v-855ef1ee]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ico[data-v-855ef1ee]{color:#fff;border-radius:3px;flex:none;justify-content:center;align-items:center;width:15px;height:15px;font-size:10px;line-height:1;display:inline-flex}.ico--static[data-v-855ef1ee]{background:#5b8def}.ico--form[data-v-855ef1ee]{background:#8a6fd0}.ico--class[data-v-855ef1ee]{background:#2fa37a}.ico--method[data-v-855ef1ee]{background:#c0894a}.ico--table[data-v-855ef1ee]{background:#888}.vt[data-v-eff7e67b]{border-collapse:collapse;background:var(--epl-bg);table-layout:auto;margin:2px 0 0;font-size:12.5px}.vt th[data-v-eff7e67b],.vt td[data-v-eff7e67b]{border:1px solid var(--epl-border);text-align:left;white-space:nowrap;color:var(--epl-fg);padding:2px 8px}.vt th[data-v-eff7e67b]{background:var(--epl-th-bg);color:var(--epl-th-fg);font-weight:600}.vt__th--bool[data-v-eff7e67b],.vt__td--bool[data-v-eff7e67b]{text-align:center;min-width:2.6em}.vt__td--bool[data-v-eff7e67b]{color:var(--epl-check);font-weight:700}.vt__td--ident[data-v-eff7e67b]{color:var(--epl-ident)}.vt__th--cmt[data-v-eff7e67b],.vt__td--cmt[data-v-eff7e67b]{white-space:normal}.vt__td--cmt[data-v-eff7e67b]{color:var(--epl-comment)}th.vt__gut[data-v-eff7e67b],td.vt__gut[data-v-eff7e67b]{box-sizing:border-box;text-align:right;background:var(--epl-gutter-bg);width:3.4em;min-width:3.4em;color:var(--epl-gutter);-webkit-user-select:none;user-select:none;z-index:1;border:none;padding:2px 10px 2px 0;font-weight:400;position:sticky;left:0}.cb[data-v-4eade126]{font-family:var(--font-mono);width:max-content;min-width:100%;font-size:12.5px;line-height:1.55}.cb__row[data-v-4eade126]{align-items:stretch;display:flex}.cb__row[data-v-4eade126]:hover{background:var(--epl-row-hover)}.cb__no[data-v-4eade126]{text-align:right;width:3.4em;color:var(--epl-gutter);background:var(--epl-gutter-bg);-webkit-user-select:none;user-select:none;z-index:1;flex:none;padding-right:10px;position:sticky;left:0}.cb__g[data-v-4eade126]{flex:none;width:1.45em;position:relative}.cb__g[data-v-4eade126]:before{content:"";border-left:1px dashed var(--epl-guide);position:absolute;top:0;bottom:0;left:50%}.cb__g--top[data-v-4eade126]:before{top:50%}.cb__g--bottom[data-v-4eade126]:before{bottom:50%}.cb__g--blank[data-v-4eade126]:before{display:none}.cb__g--top[data-v-4eade126]:after,.cb__g--bottom[data-v-4eade126]:after,.cb__g--tee[data-v-4eade126]:after{content:"";border-top:1px dashed var(--epl-guide);position:absolute;top:50%;left:50%;right:0}.cb__text[data-v-4eade126]{white-space:pre;color:var(--epl-fg);flex:auto;padding-right:24px}.tk-comment[data-v-4eade126]{color:var(--epl-comment)}.tk-string[data-v-4eade126]{color:var(--epl-string)}.tk-keyword[data-v-4eade126]{color:var(--epl-keyword);font-weight:600}.m[data-v-e540f854]{margin:0 0 18px}.m__head[data-v-e540f854]{border-collapse:collapse;background:var(--epl-bg);font-size:12.5px}.m__head th[data-v-e540f854],.m__head td[data-v-e540f854]{border:1px solid var(--epl-border);text-align:left;white-space:nowrap;color:var(--epl-fg);padding:2px 8px}.m__head th[data-v-e540f854]{background:var(--epl-th-bg);color:var(--epl-th-fg);font-weight:600}.m__bool[data-v-e540f854]{text-align:center;min-width:2.6em}.m__check[data-v-e540f854]{color:var(--epl-check);font-weight:700}.m__ident[data-v-e540f854]{color:var(--epl-ident)}.m__cmt[data-v-e540f854]{white-space:normal}.m__cmttext[data-v-e540f854]{color:var(--epl-comment)}th.m__gut[data-v-e540f854],td.m__gut[data-v-e540f854]{box-sizing:border-box;text-align:right;background:var(--epl-gutter-bg);width:3.4em;min-width:3.4em;color:var(--epl-gutter);-webkit-user-select:none;user-select:none;z-index:1;border:none;padding:2px 10px 2px 0;font-weight:400;position:sticky;left:0}.m__code[data-v-e540f854]{margin-top:4px}.r-group__hd[data-v-c9bf3476]{color:var(--epl-gutter);margin-bottom:6px;font-size:12px}.r-group__grid[data-v-c9bf3476]{flex-wrap:wrap;gap:6px;display:flex}.r-frame[data-v-c9bf3476]{border:1px solid var(--epl-border);background:linear-gradient(45deg,#e8e8e8 25%,#0000 25% 75%,#e8e8e8 75%) 0 0/12px 12px,linear-gradient(45deg,#e8e8e8 25%,#fff 25% 75%,#e8e8e8 75%) 6px 6px/12px 12px;border-radius:3px;padding:3px;line-height:0;display:inline-flex}.r-frame__img[data-v-c9bf3476]{width:auto;height:30px;image-rendering:pixelated}.r-single__link[data-v-c9bf3476]{line-height:0;display:inline-flex}.r-single__img[data-v-c9bf3476]{border:1px solid var(--epl-border);object-fit:contain;background:#fff;border-radius:3px;max-width:100%;max-height:220px}.r-single[data-v-c9bf3476]{align-items:center;gap:10px;display:flex}.r-meta[data-v-c9bf3476]{color:var(--epl-gutter);font-size:12px}.r-sound[data-v-c9bf3476],.r-file[data-v-c9bf3476]{align-items:center;gap:10px;display:flex}.r-audio[data-v-c9bf3476]{vertical-align:middle;height:32px}.r-file__ico[data-v-c9bf3476]{font-size:16px}.r-dl[data-v-c9bf3476]{color:var(--epl-keyword);font-size:12px;text-decoration:none}.r-dl[data-v-c9bf3476]:hover{text-decoration:underline}.doc[data-v-ddbdec4d]{box-sizing:border-box;width:max-content;min-width:100%;padding:12px 14px 40px}.doc__h[data-v-ddbdec4d]{color:var(--epl-th-fg);margin:0 0 8px;font-size:13px;font-weight:600}.doc__methods[data-v-ddbdec4d]{margin-top:10px}.doc__empty[data-v-ddbdec4d]{color:var(--epl-gutter);margin:8px 0;font-size:12.5px}.blk[data-v-ddbdec4d]{margin:0 0 16px}.res[data-v-ddbdec4d]{border:1px solid var(--epl-border);background:var(--epl-bg);border-radius:4px;margin:0 0 18px;padding:10px 12px}.res__hd[data-v-ddbdec4d]{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.res__name[data-v-ddbdec4d]{color:var(--epl-ident);font-size:13px;font-weight:600}.res__cmt[data-v-ddbdec4d]{color:var(--epl-comment);font-size:12px}.hd[data-v-ddbdec4d]{border-collapse:collapse;background:var(--epl-bg);margin:2px 0;font-size:12.5px}.hd th[data-v-ddbdec4d],.hd td[data-v-ddbdec4d]{border:1px solid var(--epl-border);text-align:left;white-space:nowrap;color:var(--epl-fg);padding:2px 8px}.hd th[data-v-ddbdec4d]{background:var(--epl-th-bg);color:var(--epl-th-fg);font-weight:600}.hd__bool[data-v-ddbdec4d]{text-align:center;min-width:2.6em}.hd__check[data-v-ddbdec4d]{color:var(--epl-check);font-weight:700}.hd__ident[data-v-ddbdec4d]{color:var(--epl-ident)}.hd__val[data-v-ddbdec4d]{white-space:normal;word-break:break-all;max-width:460px}.hd__cmt[data-v-ddbdec4d]{white-space:normal}.hd__cmttext[data-v-ddbdec4d]{color:var(--epl-comment)}.dll__lbl[data-v-ddbdec4d]{color:var(--epl-th-fg);background:var(--epl-th-bg)}.dll__val[data-v-ddbdec4d]{color:var(--epl-string)}th.hd__gut[data-v-ddbdec4d],td.hd__gut[data-v-ddbdec4d]{box-sizing:border-box;text-align:right;background:var(--epl-gutter-bg);width:3.4em;min-width:3.4em;color:var(--epl-gutter);-webkit-user-select:none;user-select:none;z-index:1;border:none;padding:2px 10px 2px 0;font-weight:400;position:sticky;left:0}.epl[data-v-6b3500dc]{background:var(--surface);--epl-bg:#fff;--epl-fg:#1f1f1f;--epl-border:#c4ccc4;--epl-th-bg:#dce8dc;--epl-th-fg:#2c3a2c;--epl-ident:#1b50c8;--epl-keyword:#0a3fb0;--epl-string:#c01818;--epl-comment:#1f8a3b;--epl-check:#1a7a1a;--epl-guide:#9aa6b2;--epl-gutter:#97a0a8;--epl-gutter-bg:#f4f6f4;--epl-row-hover:#eef4ff;--epl-sel:#cfe0ff;--epl-side-bg:#f6f7f6;--epl-tabbar-bg:#dfe3df;--epl-tab-bg:#e9ece9;--epl-tab-active-bg:#fff;flex-direction:column;flex:auto;min-height:0;display:flex}.epl__msg[data-v-6b3500dc]{color:var(--muted);padding:20px 16px;font-size:13px}.epl__msg--error[data-v-6b3500dc]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.epl__gate[data-v-6b3500dc]{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.epl__tip[data-v-6b3500dc]{color:var(--faint);font-size:12.5px}.epl__btn[data-v-6b3500dc]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.epl__btn[data-v-6b3500dc]:hover{border-color:var(--accent);color:var(--accent)}.epl__ide[data-v-6b3500dc]{background:var(--epl-bg);min-height:0;color:var(--epl-fg);flex-direction:column;flex:auto;display:flex}.epl__top[data-v-6b3500dc]{border-bottom:1px solid var(--epl-border);background:var(--epl-side-bg);flex-wrap:wrap;flex:none;align-items:center;gap:10px;padding:6px 12px;font-size:12.5px;display:flex}.epl__name[data-v-6b3500dc]{color:#1c1c1c;font-weight:600}.epl__badge[data-v-6b3500dc]{color:#0a5;background:#e3f3e8;border-radius:999px;padding:1px 8px;font-size:11px}.epl__counts[data-v-6b3500dc]{color:#5a6a5a}.epl__body[data-v-6b3500dc]{flex:auto;min-height:0;display:flex}.epl__side[data-v-6b3500dc]{border-right:1px solid var(--epl-border);background:var(--epl-side-bg);flex-direction:column;flex:none;width:248px;display:flex}.epl__sidebody[data-v-6b3500dc]{overscroll-behavior:contain;flex:auto;min-height:0;overflow:auto}.epl__sidetabs[data-v-6b3500dc]{border-top:1px solid var(--epl-border);background:var(--epl-tabbar-bg);flex:none;display:flex}.epl__sidetabs button[data-v-6b3500dc]{border:none;border-right:1px solid var(--epl-border);background:var(--epl-tab-bg);cursor:pointer;font:inherit;color:#444;flex:1 1 0;padding:5px 8px;font-size:12px}.epl__sidetabs button[data-v-6b3500dc]:last-child{border-right:none}.epl__sidetabs button.is-active[data-v-6b3500dc]{background:var(--epl-tab-active-bg);color:#1c1c1c;font-weight:600}.epl__libs[data-v-6b3500dc]{padding:6px 0;font-size:12.5px}.epl__libsroot[data-v-6b3500dc]{color:var(--epl-th-fg);padding:2px 10px 4px;font-weight:600}.epl__lib[data-v-6b3500dc]{cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:6px;padding:2px 10px 2px 18px;display:flex}.epl__lib[data-v-6b3500dc]:hover{color:var(--epl-ident)}.epl__libico[data-v-6b3500dc]{color:#fff;background:#c08a4a;border-radius:3px;flex:none;justify-content:center;align-items:center;width:15px;height:15px;font-size:10px;display:inline-flex}.epl__libsempty[data-v-6b3500dc]{color:var(--epl-gutter);padding:4px 12px}.epl__main[data-v-6b3500dc]{flex-direction:column;flex:auto;min-width:0;display:flex}.epl__docarea[data-v-6b3500dc]{overscroll-behavior:contain;background:var(--epl-bg);flex:auto;min-height:0;overflow:auto}.epl__doctabs[data-v-6b3500dc]{border-top:1px solid var(--epl-border);background:var(--epl-tabbar-bg);flex:none;display:flex;overflow-x:auto}.epl__doctab[data-v-6b3500dc]{border-right:1px solid var(--epl-border);background:var(--epl-tab-bg);white-space:nowrap;align-items:center;display:flex}.epl__doctab.is-active[data-v-6b3500dc]{background:var(--epl-tab-active-bg)}.epl__doctab-label[data-v-6b3500dc]{cursor:pointer;font:inherit;color:#444;text-overflow:ellipsis;background:0 0;border:none;max-width:16em;padding:5px 6px 5px 12px;font-size:12px;overflow:hidden}.epl__doctab.is-active .epl__doctab-label[data-v-6b3500dc]{color:#1c1c1c;font-weight:600}.epl__doctab-close[data-v-6b3500dc]{cursor:pointer;color:#999;background:0 0;border:none;padding:0 8px 0 2px;font-size:14px;line-height:1}.epl__doctab-close[data-v-6b3500dc]:hover{color:var(--epl-string)}.cls[data-v-31d96cf6]{overscroll-behavior:contain;background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex;overflow:auto}.cls__msg[data-v-31d96cf6]{color:var(--muted);padding:20px 16px;font-size:13px}.cls__msg--error[data-v-31d96cf6]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.cls__retry[data-v-31d96cf6]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.cls__retry[data-v-31d96cf6]:hover{border-color:var(--accent);color:var(--accent)}.cls__summary[data-v-31d96cf6]{border-bottom:1px solid var(--border);letter-spacing:.02em;color:var(--faint);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px 12px;padding:9px 16px;font-size:11.5px;display:flex}.cls__kind[data-v-31d96cf6]{color:var(--accent);font-weight:700}.cls__ver[data-v-31d96cf6]{font-variant-numeric:tabular-nums}.cls__sig[data-v-31d96cf6]{border-bottom:1px solid var(--border);background:var(--surface-2);flex-shrink:0;padding:12px 16px}.cls__sigline[data-v-31d96cf6]{font-family:var(--font-mono);word-break:break-word;font-size:13px;line-height:1.6}.cls__mod[data-v-31d96cf6]{color:var(--text-strong);font-weight:600}.cls__kw[data-v-31d96cf6]{color:var(--muted)}.cls__section[data-v-31d96cf6]{border-bottom:1px solid var(--border);flex-shrink:0;padding:12px 0 6px}.cls__h[data-v-31d96cf6]{letter-spacing:.08em;color:var(--faint);margin:0 0 6px;padding:0 16px;font-size:10.5px;font-weight:700}.cls__empty[data-v-31d96cf6]{color:var(--faint);margin:0;padding:2px 16px 6px;font-size:12px}.cls__rows[data-v-31d96cf6]{flex-direction:column;display:flex}.cls__member[data-v-31d96cf6]{width:100%;font-family:var(--font-mono);text-align:left;background:0 0;border:none;flex-wrap:wrap;align-items:baseline;gap:7px;padding:5px 16px;font-size:12.5px;display:flex}.cls__member[data-v-31d96cf6]:hover{background:var(--surface-2)}.cls__method--btn[data-v-31d96cf6]{cursor:pointer}.cls__caret[data-v-31d96cf6]{width:9px;color:var(--faint);flex-shrink:0;align-self:center;margin-left:-16px;padding-left:7px;font-size:8px;transition:transform .12s}.cls__caret--open[data-v-31d96cf6]{transform:rotate(90deg)}.cls__mods[data-v-31d96cf6]{color:var(--muted)}.cls__type[data-v-31d96cf6]{color:var(--accent)}.cls__name[data-v-31d96cf6]{color:var(--text-strong);font-weight:500}.cls__name--special[data-v-31d96cf6]{color:var(--muted);font-style:italic;font-weight:400}.cls__params[data-v-31d96cf6]{min-width:0;display:inline}.cls__punc[data-v-31d96cf6]{color:var(--faint)}.cls__locals[data-v-31d96cf6]{border-left:2px solid var(--border-2);background:var(--code-bg);border-radius:0 6px 6px 0;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0 16px 6px 30px;padding:7px 12px;display:flex}.cls__locals-label[data-v-31d96cf6]{letter-spacing:.06em;color:var(--faint);text-transform:uppercase;font-size:10px}.cls__local[data-v-31d96cf6]{font-family:var(--font-mono);align-items:baseline;gap:5px;font-size:12px;display:inline-flex}.cls__localname[data-v-31d96cf6]{color:var(--text)}.cls__foot[data-v-31d96cf6]{color:var(--faint);align-items:center;gap:7px;padding:12px 16px 22px;font-size:11.5px;display:flex}.hp[data-v-a66f0785]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.hp__msg[data-v-a66f0785]{color:var(--muted);padding:20px 16px;font-size:13px}.hp__msg--error[data-v-a66f0785]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.hp__retry[data-v-a66f0785]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.hp__retry[data-v-a66f0785]:hover{border-color:var(--accent);color:var(--accent)}.hp__confirm[data-v-a66f0785]{text-align:center;min-height:0;color:var(--muted);flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:12px;padding:32px 28px;display:flex}.hp__confirm-title[data-v-a66f0785]{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-strong);font-size:13.5px;font-weight:600;overflow:hidden}.hp__confirm-sub[data-v-a66f0785]{color:var(--muted);font-size:12.5px;line-height:1.6}.hp__btn[data-v-a66f0785]{color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:8px 18px;font-family:inherit;font-size:13px}.hp__btn[data-v-a66f0785]:hover{filter:brightness(1.06)}.hp__progress[data-v-a66f0785]{flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:12px;min-height:0;padding:32px;display:flex}.hp__progress--inline[data-v-a66f0785]{flex:none;padding:28px 24px}.hp__progress-label[data-v-a66f0785]{color:var(--muted);font-size:12.5px}.hp__bar[data-v-a66f0785]{background:var(--surface-2);border-radius:999px;width:min(280px,70%);height:6px;overflow:hidden}.hp__bar-fill[data-v-a66f0785]{background:var(--accent);height:100%;transition:width .15s ease-out}.hp__meta[data-v-a66f0785]{border-bottom:1px solid var(--border);flex-shrink:0;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);gap:4px 12px;margin:0;padding:12px 16px;display:grid}.hp__metakey[data-v-a66f0785]{color:var(--faint);white-space:nowrap;font-size:11px}.hp__metaval[data-v-a66f0785]{min-width:0;color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-size:12px}.hp__search[data-v-a66f0785]{border-bottom:1px solid var(--border);flex-shrink:0;padding:8px 12px}.hp__search--row[data-v-a66f0785]{align-items:center;gap:8px;display:flex}.hp__input[data-v-a66f0785]{box-sizing:border-box;width:100%;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:7px;padding:6px 10px;font-family:inherit;font-size:12.5px}.hp__input[data-v-a66f0785]:focus{border-color:var(--accent);outline:none}.hp__ghostbtn[data-v-a66f0785]{color:var(--muted);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:7px;flex-shrink:0;padding:5px 10px;font-family:inherit;font-size:12px}.hp__ghostbtn[data-v-a66f0785]:hover{border-color:var(--accent);color:var(--accent)}.hp__thead[data-v-a66f0785]{border-bottom:1px solid var(--border);background:var(--surface-2);flex-shrink:0;align-items:center;gap:10px;padding:6px 14px;display:flex}.hp__th[data-v-a66f0785]{letter-spacing:.02em;color:var(--faint);cursor:pointer;background:0 0;border:none;align-items:center;gap:3px;font-family:inherit;font-size:11px;font-weight:600;display:inline-flex}.hp__th[data-v-a66f0785]:hover{color:var(--accent)}.hp__th--name[data-v-a66f0785]{flex:auto;justify-content:flex-start}.hp__th--num[data-v-a66f0785]{flex-shrink:0;justify-content:flex-end;width:76px}.hp__arrow[data-v-a66f0785]{font-size:8px}.hp__list[data-v-a66f0785]{overscroll-behavior:contain;flex:auto;min-height:0;padding:2px 0;overflow:auto}.hp__row[data-v-a66f0785]{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:5px 14px;font-family:inherit;display:flex}.hp__row[data-v-a66f0785]:hover{background:var(--surface-2)}.hp__name[data-v-a66f0785]{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono);color:var(--text);flex:auto;font-size:12.5px;overflow:hidden}.hp__num[data-v-a66f0785]{text-align:right;width:76px;color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12px}.hp__num--bytes[data-v-a66f0785]{color:var(--faint)}.hp__chev[data-v-a66f0785]{color:var(--faint);flex-shrink:0}.hp__more[data-v-a66f0785]{color:var(--faint);padding:10px 16px;font-size:11.5px}.hp__crumb[data-v-a66f0785]{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:8px 12px;display:flex}.hp__back[data-v-a66f0785]{color:var(--muted);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:7px;flex-shrink:0;align-items:center;gap:2px;padding:4px 9px 4px 6px;font-family:inherit;font-size:12px;display:inline-flex}.hp__back[data-v-a66f0785]:hover{border-color:var(--accent);color:var(--accent)}.hp__crumb-name[data-v-a66f0785]{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono);color:var(--text-strong);flex:auto;font-size:12.5px;overflow:hidden}.hp__crumb-cls[data-v-a66f0785]{color:var(--text-strong)}.hp__crumb-close[data-v-a66f0785]{margin-left:auto}.hp__classbar[data-v-a66f0785]{color:var(--faint);flex-shrink:0;align-items:center;gap:10px;padding:7px 14px;font-size:11.5px;display:flex}.hp__classcount[data-v-a66f0785]{font-variant-numeric:tabular-nums}.hp__tag[data-v-a66f0785]{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:1px 7px;font-size:10.5px}.hp__hint[data-v-a66f0785]{color:var(--muted);background:var(--surface-2);flex-shrink:0;padding:8px 14px;font-size:11.5px;line-height:1.6}.hp__link[data-v-a66f0785]{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:11.5px;text-decoration:underline}.hp__jumpmsg[data-v-a66f0785]{color:var(--danger);background:var(--surface-2);flex-shrink:0;padding:7px 14px;font-size:11.5px}.hp__obj[data-v-a66f0785]{border-bottom:1px solid var(--border)}.hp__objhead[data-v-a66f0785]{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:9px;width:100%;padding:6px 14px;font-family:inherit;display:flex}.hp__objhead[data-v-a66f0785]:hover{background:var(--surface-2)}.hp__objchev[data-v-a66f0785]{color:var(--faint);flex-shrink:0}.hp__objid[data-v-a66f0785]{font-family:var(--font-mono);color:var(--text);flex-shrink:0;font-size:12px}.hp__objsize[data-v-a66f0785]{color:var(--faint);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:10.5px}.hp__objprev[data-v-a66f0785]{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono);color:var(--muted);flex:auto;font-size:11.5px;overflow:hidden}.hp__detail[data-v-a66f0785]{background:var(--surface-2)}.hp__fields[data-v-a66f0785]{background:var(--surface-2);grid-template-columns:auto minmax(0,1fr);gap:3px 14px;margin:0;padding:4px 16px 10px 34px;display:grid}.hp__fields--detail[data-v-a66f0785]{padding:10px 16px}.hp__nofields[data-v-a66f0785]{color:var(--faint);grid-column:1/-1;margin:0;font-size:11.5px}.hp__fkey[data-v-a66f0785]{color:var(--faint);font-family:var(--font-mono);white-space:nowrap;font-size:11.5px}.hp__fval[data-v-a66f0785]{min-width:0;font-family:var(--font-mono);color:var(--text);overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;font-size:11.5px;display:flex}.hp__fval--null[data-v-a66f0785]{color:var(--faint);font-style:italic}.hp__str[data-v-a66f0785]{color:var(--text-strong);white-space:pre-wrap;overflow-wrap:anywhere}.hp__reflink[data-v-a66f0785]{font-family:var(--font-mono);color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:11.5px;text-decoration:underline}.hp__reflink[data-v-a66f0785]:hover{filter:brightness(1.15)}.hp__reflink--sm[data-v-a66f0785]{opacity:.75;font-size:10.5px}.hp__reflink--el[data-v-a66f0785]{border:1px solid var(--border);background:var(--surface);border-radius:6px;margin:2px;padding:2px 6px;text-decoration:none;display:inline-block}.hp__reflink--el[data-v-a66f0785]:hover{border-color:var(--accent)}.hp__annot[data-v-a66f0785]{color:var(--faint);font-size:10.5px;font-style:italic}.hp__arr[data-v-a66f0785]{padding:8px 16px 12px 34px}.hp__fields--detail+.hp__arr[data-v-a66f0785],.hp__crumb~.hp__list .hp__arr[data-v-a66f0785]{padding-left:16px}.hp__arrmeta[data-v-a66f0785]{font-family:var(--font-mono);color:var(--faint);margin-bottom:6px;font-size:11px}.hp__arrtext[data-v-a66f0785]{background:var(--surface);border:1px solid var(--border);max-height:260px;font-family:var(--font-mono);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;margin:0 0 6px;padding:8px 10px;font-size:11.5px;overflow:auto}.hp__arrhex[data-v-a66f0785]{font-family:var(--font-mono);color:var(--muted);overflow-wrap:anywhere;margin-bottom:6px;font-size:11px;line-height:1.6}.hp__arrels[data-v-a66f0785]{font-family:var(--font-mono);color:var(--text);flex-wrap:wrap;gap:2px 10px;font-size:11px;display:flex}.hp__arrels--obj[data-v-a66f0785]{gap:2px}.hp__arrel[data-v-a66f0785]{color:var(--text)}.hp__eli[data-v-a66f0785]{color:var(--faint)}.hp__pager[data-v-a66f0785]{border-top:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;gap:14px;padding:8px 14px;display:flex}.hp__pagebtn[data-v-a66f0785]{width:28px;height:26px;color:var(--muted);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.hp__pagebtn[data-v-a66f0785]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.hp__pagebtn[data-v-a66f0785]:disabled{opacity:.4;cursor:default}.hp__pageinfo[data-v-a66f0785]{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.msi[data-v-0c6afdf2]{overscroll-behavior:contain;background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex;overflow:auto}.msi__msg[data-v-0c6afdf2]{color:var(--muted);padding:20px 16px;font-size:13px}.msi__msg--error[data-v-0c6afdf2]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.msi__retry[data-v-0c6afdf2]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.msi__retry[data-v-0c6afdf2]:hover{border-color:var(--accent);color:var(--accent)}.msi__confirm[data-v-0c6afdf2]{text-align:center;min-height:0;color:var(--muted);flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:12px;padding:32px 28px;display:flex}.msi__confirm-title[data-v-0c6afdf2]{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-strong);font-size:13.5px;font-weight:600;overflow:hidden}.msi__confirm-sub[data-v-0c6afdf2]{color:var(--muted);font-size:12.5px;line-height:1.6}.msi__btn[data-v-0c6afdf2]{color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:8px 18px;font-family:inherit;font-size:13px}.msi__btn[data-v-0c6afdf2]:hover{filter:brightness(1.06)}.msi__summary[data-v-0c6afdf2]{border-bottom:1px solid var(--border);letter-spacing:.02em;color:var(--faint);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px 12px;padding:9px 16px;font-size:11.5px;display:flex}.msi__fmt[data-v-0c6afdf2]{color:var(--accent);font-weight:700}.msi__card[data-v-0c6afdf2]{border-bottom:1px solid var(--border);flex-shrink:0;padding:12px 16px}.msi__h[data-v-0c6afdf2]{letter-spacing:.08em;color:var(--faint);text-transform:uppercase;margin:0 0 8px;font-size:10.5px;font-weight:700}.msi__dl[data-v-0c6afdf2]{grid-template-columns:auto minmax(0,1fr);align-content:start;gap:4px 12px;margin:0;display:grid}.msi__dt[data-v-0c6afdf2]{color:var(--faint);white-space:nowrap;font-size:12px}.msi__dd[data-v-0c6afdf2]{min-width:0;color:var(--text);margin:0;font-size:12.5px}.msi__dd--plain[data-v-0c6afdf2]{overflow-wrap:anywhere}.msi__copyable[data-v-0c6afdf2]{max-width:100%;color:var(--text);text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:none;align-items:baseline;gap:8px;padding:0;font-family:inherit;font-size:12.5px;display:inline-flex}.msi__copyable[data-v-0c6afdf2]:hover{color:var(--accent)}.msi__copied[data-v-0c6afdf2]{color:var(--accent);flex-shrink:0;font-size:10.5px}.msi__section[data-v-0c6afdf2]{border-bottom:1px solid var(--border);flex-shrink:0}.msi__toggle[data-v-0c6afdf2]{width:100%;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:10px 16px;font-family:inherit;font-size:12px;font-weight:600;display:flex}.msi__toggle[data-v-0c6afdf2]:hover{background:var(--surface-2)}.msi__caret[data-v-0c6afdf2]{width:9px;color:var(--faint);flex-shrink:0;font-size:9px;transition:transform .12s}.msi__caret--open[data-v-0c6afdf2]{transform:rotate(90deg)}.msi__props[data-v-0c6afdf2]{padding:2px 0 8px}.msi__prow[data-v-0c6afdf2]{width:100%;font-family:var(--font-mono);text-align:left;cursor:pointer;background:0 0;border:none;align-items:baseline;gap:12px;padding:4px 16px;font-size:12px;display:flex}.msi__prow[data-v-0c6afdf2]:hover{background:var(--surface-2)}.msi__pname[data-v-0c6afdf2]{min-width:38%;color:var(--accent);overflow-wrap:anywhere;flex-shrink:0}.msi__pval[data-v-0c6afdf2]{min-width:0;color:var(--text);overflow-wrap:anywhere;flex:auto}.msi__tables[data-v-0c6afdf2]{flex-wrap:wrap;gap:5px;padding:2px 16px 12px;display:flex}.msi__chip[data-v-0c6afdf2]{background:var(--surface-2);border:1px solid var(--border);font-family:var(--font-mono);color:var(--muted);border-radius:999px;padding:2px 9px;font-size:11px}.msi__note[data-v-0c6afdf2]{color:var(--muted);background:var(--surface-2);flex-shrink:0;margin:0;padding:10px 16px;font-size:12px}.apx[data-v-d5fba7c8]{overscroll-behavior:contain;background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex;overflow:auto}.apx__msg[data-v-d5fba7c8]{color:var(--muted);padding:20px 16px;font-size:13px}.apx__msg--error[data-v-d5fba7c8]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.apx__retry[data-v-d5fba7c8]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.apx__retry[data-v-d5fba7c8]:hover{border-color:var(--accent);color:var(--accent)}.apx__confirm[data-v-d5fba7c8]{text-align:center;min-height:0;color:var(--muted);flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:12px;padding:32px 28px;display:flex}.apx__confirm-title[data-v-d5fba7c8]{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text-strong);font-size:13.5px;font-weight:600;overflow:hidden}.apx__confirm-sub[data-v-d5fba7c8]{color:var(--muted);font-size:12.5px;line-height:1.6}.apx__btn[data-v-d5fba7c8]{color:#fff;background:var(--accent);cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:8px 18px;font-family:inherit;font-size:13px}.apx__btn[data-v-d5fba7c8]:hover{filter:brightness(1.06)}.apx__summary[data-v-d5fba7c8]{border-bottom:1px solid var(--border);letter-spacing:.02em;color:var(--faint);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px 12px;padding:9px 16px;font-size:11.5px;display:flex}.apx__fmt[data-v-d5fba7c8]{color:var(--accent);font-weight:700}.apx__card[data-v-d5fba7c8]{border-bottom:1px solid var(--border);flex-shrink:0;padding:12px 16px}.apx__h[data-v-d5fba7c8]{letter-spacing:.08em;color:var(--faint);text-transform:uppercase;margin:0 0 8px;font-size:10.5px;font-weight:700}.apx__dl[data-v-d5fba7c8]{grid-template-columns:auto minmax(0,1fr);align-content:start;gap:4px 12px;margin:0;display:grid}.apx__dt[data-v-d5fba7c8]{color:var(--faint);white-space:nowrap;font-size:12px}.apx__dd[data-v-d5fba7c8]{min-width:0;color:var(--text);margin:0;font-size:12.5px}.apx__copyable[data-v-d5fba7c8]{max-width:100%;color:var(--text);text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:none;flex-wrap:wrap;align-items:baseline;gap:6px;padding:0;font-family:inherit;font-size:12.5px;display:inline-flex}.apx__copyable[data-v-d5fba7c8]:hover{color:var(--accent)}.apx__tag[data-v-d5fba7c8]{background:var(--surface-2);color:var(--faint);border-radius:999px;flex-shrink:0;padding:0 6px;font-size:10px}.apx__copied[data-v-d5fba7c8]{color:var(--accent);flex-shrink:0;font-size:10.5px}.apx__deps[data-v-d5fba7c8]{flex-direction:column;gap:6px;display:flex}.apx__dep[data-v-d5fba7c8]{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.apx__depname[data-v-d5fba7c8]{font-family:var(--font-mono);color:var(--text);overflow-wrap:anywhere;font-size:12px}.apx__depver[data-v-d5fba7c8]{color:var(--muted);font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;font-size:11.5px;display:inline-flex}.apx__depmuted[data-v-d5fba7c8]{color:var(--faint)}.apx__tables[data-v-d5fba7c8]{flex-wrap:wrap;gap:5px;display:flex}.apx__tables--pad[data-v-d5fba7c8]{padding:2px 16px 12px}.apx__chip[data-v-d5fba7c8]{background:var(--surface-2);border:1px solid var(--border);font-family:var(--font-mono);color:var(--muted);border-radius:999px;padding:2px 9px;font-size:11px}.apx__section[data-v-d5fba7c8]{border-bottom:1px solid var(--border);flex-shrink:0}.apx__toggle[data-v-d5fba7c8]{width:100%;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:10px 16px;font-family:inherit;font-size:12px;font-weight:600;display:flex}.apx__toggle[data-v-d5fba7c8]:hover{background:var(--surface-2)}.apx__caret[data-v-d5fba7c8]{width:9px;color:var(--faint);flex-shrink:0;font-size:9px;transition:transform .12s}.apx__caret--open[data-v-d5fba7c8]{transform:rotate(90deg)}.apx__note[data-v-d5fba7c8]{color:var(--muted);background:var(--surface-2);flex-shrink:0;margin:0;padding:10px 16px;font-size:12px}.dv[data-v-36f5a4c5]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.dv__msg[data-v-36f5a4c5]{color:var(--muted);padding:20px 16px;font-size:13px}.dv__msg--error[data-v-36f5a4c5]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.dv__dl[data-v-36f5a4c5],.dv__retry[data-v-36f5a4c5]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px;text-decoration:none}.dv__dl[data-v-36f5a4c5]:hover,.dv__retry[data-v-36f5a4c5]:hover{border-color:var(--accent);color:var(--accent)}.dv__bar[data-v-36f5a4c5]{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.dv__group[data-v-36f5a4c5]{align-items:center;gap:4px;display:inline-flex}.dv__btn[data-v-36f5a4c5]{background:var(--surface-2);border:1px solid var(--border);min-width:30px;height:28px;color:var(--muted);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:0 9px;font-family:inherit;font-size:12.5px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.dv__btn[data-v-36f5a4c5]:hover:not(:disabled){border-color:var(--accent)}.dv__btn--on[data-v-36f5a4c5]{color:#fff;background:var(--accent);border-color:var(--accent)}.dv__btn[data-v-36f5a4c5]:disabled{opacity:.45;cursor:default}.dv__zoom[data-v-36f5a4c5]{text-align:center;min-width:46px;color:var(--faint);font-variant-numeric:tabular-nums;font-size:11.5px}.dv__stage[data-v-36f5a4c5]{overscroll-behavior:contain;background:repeating-conic-gradient(#1a1a1a 0% 25%,#202020 0% 50%) 50%/22px 22px;flex:auto;justify-content:center;align-items:center;min-height:0;padding:12px;display:flex;position:relative;overflow:auto}.dv__canvas[data-v-36f5a4c5]{image-rendering:auto;background:#000;margin:auto;display:block;box-shadow:0 0 0 1px #ffffff14}.dv__canvas--wl[data-v-36f5a4c5]{cursor:crosshair;touch-action:none}.dv__decoding[data-v-36f5a4c5]{color:#fff;background:#0009;border-radius:999px;padding:3px 9px;font-size:11px;position:absolute;top:10px;right:12px}.dv__meta[data-v-36f5a4c5]{z-index:3;overscroll-behavior:contain;background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:10px 14px 18px;position:absolute;inset:0;overflow-y:auto}.dv__meta-head[data-v-36f5a4c5]{background:var(--surface);border-bottom:1px solid var(--border);color:var(--text-strong);justify-content:space-between;align-items:center;margin:-10px -14px 8px;padding:9px 14px;font-size:12px;font-weight:600;display:flex;position:sticky;top:0}.dv__meta-close[data-v-36f5a4c5]{width:24px;height:24px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.dv__meta-close[data-v-36f5a4c5]:hover{color:var(--accent);background:var(--surface-2)}.dv__meta-group[data-v-36f5a4c5]{margin-top:12px}.dv__meta-title[data-v-36f5a4c5]{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin:0 0 4px;font-size:11px;font-weight:600}.dv__meta-row[data-v-36f5a4c5]{border-bottom:1px solid var(--border);gap:10px;padding:3px 0;font-size:12px;line-height:1.5;display:flex}.dv__meta-label[data-v-36f5a4c5]{color:var(--faint);flex:0 0 38%}.dv__meta-val[data-v-36f5a4c5]{min-width:0;color:var(--text);word-break:break-word;font-variant-numeric:tabular-nums;flex:auto}.dv__meta-empty[data-v-36f5a4c5]{color:var(--faint);margin-top:16px;font-size:12.5px}.dv__frames[data-v-36f5a4c5]{border-top:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.dv__range[data-v-36f5a4c5]{min-width:0;accent-color:var(--accent);flex:auto}.dv__fps[data-v-36f5a4c5]{background:var(--surface-2);border:1px solid var(--border);height:28px;color:var(--muted);cursor:pointer;border-radius:7px;flex-shrink:0;padding:0 4px;font-family:inherit;font-size:11.5px}.dv__frameno[data-v-36f5a4c5]{color:var(--faint);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11.5px}.dv__hint[data-v-36f5a4c5]{color:var(--faint);opacity:.8;flex-shrink:0;font-size:11px}.dv__info[data-v-36f5a4c5]{border-top:1px solid var(--border);color:var(--faint);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px 12px;padding:9px 14px;font-size:11.5px;display:flex}.dv__tag[data-v-36f5a4c5]{background:var(--accent);color:#fff;border-radius:999px;padding:1px 8px;font-weight:600}.dv__series[data-v-36f5a4c5]{border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:1px 8px;font-weight:600}.dv__wl[data-v-36f5a4c5]{color:var(--muted);font-variant-numeric:tabular-nums}.dv__ts[data-v-36f5a4c5]{color:var(--muted)}.dv__desc[data-v-36f5a4c5]{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.dx[data-v-9bff4ace]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.dx__msg[data-v-9bff4ace]{color:var(--muted);padding:20px 16px;font-size:13px}.dx__msg--error[data-v-9bff4ace]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.dx__retry[data-v-9bff4ace]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.dx__retry[data-v-9bff4ace]:hover{border-color:var(--accent);color:var(--accent)}.dx__doc[data-v-9bff4ace]{overscroll-behavior:contain;background:var(--surface-2);flex:auto;min-height:0;overflow:auto}.dx__doc[data-v-9bff4ace] .docx-wrapper{background:var(--surface-2);gap:16px;padding:22px 16px 40px}.dx__doc[data-v-9bff4ace] .docx-wrapper>section.docx{box-sizing:border-box;width:100%;max-width:100%;margin-bottom:0;box-shadow:0 2px 14px #0000002e}.dx__doc[data-v-9bff4ace] section.docx table{max-width:100%;float:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}.dx__doc[data-v-9bff4ace] section.docx td,.dx__doc[data-v-9bff4ace] section.docx th{overflow-wrap:break-word}.dx__doc[data-v-9bff4ace] section.docx{padding-left:clamp(14px,5%,90pt)!important;padding-right:clamp(14px,5%,90pt)!important}.xc[data-v-2e3e48ff]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;display:block}.xc__bg[data-v-2e3e48ff]{fill:#fff;stroke:#d9dce1;stroke-width:1px}.xc__title[data-v-2e3e48ff]{fill:#1a1a1a;font-size:11px;font-weight:600}.xc__grid line[data-v-2e3e48ff]{stroke:#e6e8eb;stroke-width:1px}.xc__ylabels text[data-v-2e3e48ff],.xc__xlabels text[data-v-2e3e48ff]{fill:#6b7280;font-size:8px}.xc__legend text[data-v-2e3e48ff]{fill:#374151;font-size:9px}.xc__note[data-v-2e3e48ff]{fill:#9aa0a6;font-size:10px}.xv[data-v-7c63a9a3]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.xv__msg[data-v-7c63a9a3]{color:var(--muted);padding:20px 16px;font-size:13px}.xv__msg--error[data-v-7c63a9a3]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.xv__retry[data-v-7c63a9a3]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.xv__retry[data-v-7c63a9a3]:hover{border-color:var(--accent);color:var(--accent)}.xv__formulabar[data-v-7c63a9a3]{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:stretch;min-height:24px;font-size:12px;display:flex}.xv__fb-addr[data-v-7c63a9a3]{border-right:1px solid var(--border);background:var(--surface-2);width:72px;color:var(--text);font-variant-numeric:tabular-nums;flex-shrink:0;justify-content:center;align-items:center;padding:0 6px;font-weight:600;display:flex}.xv__fb-content[data-v-7c63a9a3]{min-width:0;color:var(--text);white-space:nowrap;-webkit-user-select:text;user-select:text;flex:auto;align-items:center;padding:0 10px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;display:flex;overflow-x:auto}.xv__scroll[data-v-7c63a9a3]{overscroll-behavior:contain;background:#fff;flex:auto;min-height:0;overflow:auto}.xv__scroll[data-v-7c63a9a3]:focus,.xv__scroll[data-v-7c63a9a3]:focus-visible{outline:none}.xv__grid[data-v-7c63a9a3]{width:max-content;position:relative}.xv__table[data-v-7c63a9a3]{border-collapse:separate;border-spacing:0;table-layout:fixed;color:#1a1a1a;font-family:Calibri,Segoe UI,system-ui,sans-serif;font-size:12.5px}.xv__rowhead-col[data-v-7c63a9a3]{width:42px}.xv__rowhead[data-v-7c63a9a3]{z-index:5;color:#6b7280;text-align:center;-webkit-user-select:none;user-select:none;background:#f3f4f6;border:1px solid #d9dce1;width:42px;min-width:42px;padding:2px 6px;font-size:11px;font-weight:500;position:sticky;left:0}.xv__rowhead--frz[data-v-7c63a9a3]{z-index:7}.xv__colhead[data-v-7c63a9a3]{z-index:6;color:#6b7280;text-align:center;-webkit-user-select:none;user-select:none;background:#f3f4f6;border:1px solid #d9dce1;height:22px;padding:2px 6px;font-size:11px;font-weight:500;position:sticky;top:0}.xv__colhead--frz[data-v-7c63a9a3]{z-index:7}.xv__colhead-text[data-v-7c63a9a3],.xv__rowhead-text[data-v-7c63a9a3]{pointer-events:none}.xv__colhead--coll[data-v-7c63a9a3]{border-left:0;border-right:0;padding:0;overflow:hidden}.xv__colhead--sel[data-v-7c63a9a3],.xv__rowhead--sel[data-v-7c63a9a3]{color:#1d4ed8;background:#d6e4fb;font-weight:600}.xv__corner[data-v-7c63a9a3]{z-index:8;background:#eceef1;border:1px solid #d9dce1;width:42px;min-width:42px;position:sticky;top:0;left:0}.xv__cell.xv__cell--frz-col[data-v-7c63a9a3]{z-index:2;position:sticky}.xv__cell.xv__cell--frz-row[data-v-7c63a9a3]{z-index:3;position:sticky}.xv__cell.xv__cell--frz-row.xv__cell--frz-col[data-v-7c63a9a3]{z-index:4}.xv__cell--frzedge-col[data-v-7c63a9a3],.xv__colhead--frzedge[data-v-7c63a9a3]{box-shadow:inset -2px 0 #ccc}.xv__cell--frzedge-row[data-v-7c63a9a3],.xv__rowhead--frzedge[data-v-7c63a9a3]{box-shadow:inset 0 -2px #ccc}.xv__cell--frzedge-col.xv__cell--frzedge-row[data-v-7c63a9a3]{box-shadow:inset -2px 0 #ccc,inset 0 -2px #ccc}.xv__cell[data-v-7c63a9a3]{white-space:nowrap;text-overflow:ellipsis;vertical-align:top;-webkit-user-select:none;user-select:none;border:1px solid #e3e5e9;padding:2px 4px;position:relative;overflow:hidden}.xv__cell--spill[data-v-7c63a9a3]{z-index:1;overflow:visible}.xv__cell--spill .xv__cellt[data-v-7c63a9a3]{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;display:inline-block;overflow:hidden}.xv__cell--spill:not(.xv__cell--edit) .xv__cellt[data-v-7c63a9a3]{pointer-events:none}.xv__cell--edit[data-v-7c63a9a3]{-webkit-user-select:text;user-select:text;cursor:text;outline:1.5px solid var(--accent,#2563eb);outline-offset:-1.5px;z-index:3;overflow:visible}.xv__cell--coll[data-v-7c63a9a3]{border-left:0;border-right:0;padding:0;overflow:hidden}.xv__row--coll .xv__cell[data-v-7c63a9a3]{border-top:0;border-bottom:0;height:0;padding-top:0;padding-bottom:0;line-height:0;overflow:hidden;font-size:0!important}.xv__cell--wrap[data-v-7c63a9a3]{white-space:normal;word-break:break-word}.xv__cell--bold[data-v-7c63a9a3]{font-weight:700}.xv__cell--italic[data-v-7c63a9a3]{font-style:italic}.xv__cell--underline[data-v-7c63a9a3]{text-decoration:underline}.xv__cell--strike[data-v-7c63a9a3]{text-decoration:line-through}.xv__cell--bt[data-v-7c63a9a3]{border-top-color:#9aa0a6}.xv__cell--br[data-v-7c63a9a3]{border-right-color:#9aa0a6}.xv__cell--bb[data-v-7c63a9a3]{border-bottom-color:#9aa0a6}.xv__cell--bl[data-v-7c63a9a3]{border-left-color:#9aa0a6}.xv__expander[data-v-7c63a9a3]{z-index:1;color:#fff;cursor:pointer;background:#9aa0a6;border:none;border-radius:3px;justify-content:center;align-items:center;padding:0;font-size:10px;line-height:1;display:inline-flex;position:absolute}.xv__expander[data-v-7c63a9a3]:hover{background:var(--accent,#2563eb)}.xv__expander--col[data-v-7c63a9a3]{width:14px;height:14px;top:50%;left:-7px;transform:translateY(-50%)}.xv__expander--row[data-v-7c63a9a3]{width:14px;height:12px;top:-7px;left:50%;transform:translate(-50%)}.xv__col-resize[data-v-7c63a9a3]{cursor:col-resize;z-index:2;width:6px;height:100%;position:absolute;top:0;right:-3px}.xv__row-resize[data-v-7c63a9a3]{cursor:row-resize;z-index:2;width:100%;height:6px;position:absolute;bottom:-3px;left:0}.xv__sel[data-v-7c63a9a3]{z-index:1;pointer-events:none;border:1.5px solid #2563eba6;position:absolute}.xv__cell--sel[data-v-7c63a9a3]{background-image:linear-gradient(#2563eb29,#2563eb29)}.xv__charts[data-v-7c63a9a3]{z-index:1;pointer-events:none;position:absolute;inset:0}.xv__chart[data-v-7c63a9a3]{position:absolute;box-shadow:0 1px 4px #0000001f}.xv__status[data-v-7c63a9a3]{border-top:1px solid var(--border);background:var(--surface-2);min-height:24px;color:var(--muted);flex-shrink:0;align-items:center;gap:10px;padding:3px 10px;font-size:11.5px;display:flex}.xv__status-sel[data-v-7c63a9a3]{font-variant-numeric:tabular-nums}.xv__status-hint[data-v-7c63a9a3]{color:var(--faint)}.xv__status-right[data-v-7c63a9a3]{gap:6px;margin-left:auto;display:flex}.xv__status-btn[data-v-7c63a9a3]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:6px;padding:2px 8px;font-family:inherit;font-size:11.5px}.xv__status-btn[data-v-7c63a9a3]:hover{border-color:var(--accent);color:var(--accent)}.xv__status-btn--on[data-v-7c63a9a3]{color:var(--accent);border-color:var(--accent)}.xv__tabbar[data-v-7c63a9a3]{border-top:1px solid var(--border);background:var(--surface-2);flex-shrink:0;align-items:stretch;display:flex}.xv__tabs[data-v-7c63a9a3]{scrollbar-width:none;flex:auto;gap:2px;min-width:0;padding:4px 8px;display:flex;overflow-x:auto}.xv__tabs[data-v-7c63a9a3]::-webkit-scrollbar{display:none}.xv__tabscroll[data-v-7c63a9a3]{background:var(--surface-2);width:22px;color:var(--muted);cursor:pointer;border:none;flex-shrink:0;font-size:16px;line-height:1}.xv__tabscroll[data-v-7c63a9a3]:hover:not(:disabled){color:var(--accent);background:var(--surface)}.xv__tabscroll[data-v-7c63a9a3]:disabled{color:var(--faint);opacity:.5;cursor:default}.xv__tab[data-v-7c63a9a3]{max-width:160px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:none;border-radius:7px 7px 0 0;flex-shrink:0;padding:5px 12px;font-family:inherit;font-size:12px;transition:background .15s,color .15s;overflow:hidden}.xv__tab[data-v-7c63a9a3]:hover{background:var(--surface);color:var(--text)}.xv__tab--on[data-v-7c63a9a3]{color:var(--accent);background:var(--surface);box-shadow:var(--shadow);font-weight:600}.pv[data-v-47d76691]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.pv__doc[data-v-47d76691]{overscroll-behavior:contain;background:var(--surface-2);flex:auto;min-height:0;padding:16px 14px 40px;overflow:auto}.pv__overlay[data-v-47d76691]{background:var(--surface);justify-content:flex-start;align-items:flex-start;display:flex;position:absolute;inset:0}.pv__msg[data-v-47d76691]{color:var(--muted);padding:20px 16px;font-size:13px}.pv__msg--error[data-v-47d76691]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.pv__retry[data-v-47d76691]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.pv__retry[data-v-47d76691]:hover{border-color:var(--accent);color:var(--accent)}.rtf[data-v-be38fd1e]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.rtf__msg[data-v-be38fd1e]{color:var(--muted);padding:20px 16px;font-size:13px}.rtf__msg--error[data-v-be38fd1e]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.rtf__gate[data-v-be38fd1e]{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.rtf__btn[data-v-be38fd1e]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.rtf__btn[data-v-be38fd1e]:hover{border-color:var(--accent);color:var(--accent)}.rtf__scroll[data-v-be38fd1e]{overscroll-behavior:contain;background:var(--surface-2);flex:auto;min-height:0;padding:22px 16px 40px;overflow:auto}.rtf__paper[data-v-be38fd1e]{color:#1a1a1a;background:#fff;border-radius:2px;max-width:820px;margin:0 auto;padding:48px 56px;font-family:Times New Roman,Times,serif;font-size:15px;line-height:1.5;box-shadow:0 2px 14px #0000002e}.rtf__paper[data-v-be38fd1e] p{white-space:pre-wrap;overflow-wrap:break-word;margin:0 0 .55em}.rtf__paper[data-v-be38fd1e] p:last-child{margin-bottom:0}@media (width<=720px){.rtf__scroll[data-v-be38fd1e]{padding:12px 8px 28px}.rtf__paper[data-v-be38fd1e]{padding:28px 22px}}.pf[data-v-2a30ef87]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.pf__doc[data-v-2a30ef87]{overscroll-behavior:contain;background:var(--surface-2);flex-direction:column;flex:auto;align-items:center;gap:16px;min-height:0;padding:18px 16px 40px;display:flex;overflow:auto}.pf__doc[data-v-2a30ef87] .pf__page{background:#fff;border-radius:2px;max-width:100%;display:block;box-shadow:0 2px 14px #0000002e}.pf__overlay[data-v-2a30ef87]{background:var(--surface);justify-content:flex-start;align-items:flex-start;display:flex;position:absolute;inset:0}.pf__msg[data-v-2a30ef87]{color:var(--muted);padding:20px 16px;font-size:13px}.pf__msg--error[data-v-2a30ef87]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.pf__retry[data-v-2a30ef87]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.pf__retry[data-v-2a30ef87]:hover{border-color:var(--accent);color:var(--accent)}.xm[data-v-c7c338e2]{background:var(--surface-2);flex-direction:column;flex:auto;min-height:0;display:flex}.xm__msg[data-v-c7c338e2]{color:var(--muted);padding:20px 16px;font-size:13px}.xm__msg--error[data-v-c7c338e2]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.xm__btn[data-v-c7c338e2]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.xm__btn[data-v-c7c338e2]:hover{border-color:var(--accent);color:var(--accent)}.eml[data-v-5a9d243d]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.eml__msg[data-v-5a9d243d]{color:var(--muted);padding:20px 16px;font-size:13px}.eml__msg--error[data-v-5a9d243d]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.eml__gate[data-v-5a9d243d]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.eml__btn[data-v-5a9d243d]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.eml__btn[data-v-5a9d243d]:hover{border-color:var(--accent);color:var(--accent)}.eml__head[data-v-5a9d243d]{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:14px 16px}.eml__subject[data-v-5a9d243d]{color:var(--text-strong);word-break:break-word;font-size:15px;font-weight:600;line-height:1.4}.eml__fields[data-v-5a9d243d]{flex-direction:column;gap:3px;margin:10px 0 0;display:flex}.eml__field[data-v-5a9d243d]{gap:8px;font-size:12.5px;line-height:1.5;display:flex}.eml__field dt[data-v-5a9d243d]{width:48px;color:var(--faint);flex-shrink:0}.eml__field dd[data-v-5a9d243d]{min-width:0;color:var(--text);word-break:break-word;margin:0}.eml__atts[data-v-5a9d243d]{border-top:1px dashed var(--border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:12px;display:flex}.eml__atts-label[data-v-5a9d243d]{color:var(--faint);align-items:center;gap:4px;font-size:12px;display:inline-flex}.eml__att[data-v-5a9d243d]{background:var(--surface-2);border:1px solid var(--border);max-width:100%;color:var(--text);border-radius:8px;align-items:center;gap:6px;padding:5px 9px;font-size:12px;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.eml__att[data-v-5a9d243d]:hover{border-color:var(--accent);color:var(--accent)}.eml__att-name[data-v-5a9d243d]{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:220px;overflow:hidden}.eml__att-size[data-v-5a9d243d]{color:var(--faint);flex-shrink:0}.eml__toggle[data-v-5a9d243d]{background:var(--surface-2);border-radius:8px;gap:2px;margin-top:12px;padding:2px;display:inline-flex}.eml__tab[data-v-5a9d243d]{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 12px;font-family:inherit;font-size:12px}.eml__tab--on[data-v-5a9d243d]{color:var(--accent);background:var(--surface);box-shadow:var(--shadow)}.eml__html[data-v-5a9d243d]{background:#fff;flex:auto;min-height:0}.eml__frame[data-v-5a9d243d]{background:#fff;border:none;width:100%;height:100%;display:block}.eml__text[data-v-5a9d243d]{overscroll-behavior:contain;min-height:0;font-family:var(--font-mono);color:var(--text);white-space:pre-wrap;word-break:break-word;background:var(--code-bg);flex:auto;margin:0;padding:16px 18px 60px;font-size:13px;line-height:1.6;overflow:auto}.eml__text[data-v-5a9d243d] a{color:var(--accent);text-decoration:underline}.mht[data-v-d878d4ca]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.mht__msg[data-v-d878d4ca]{color:var(--muted);padding:20px 16px;font-size:13px}.mht__msg--error[data-v-d878d4ca]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.mht__gate[data-v-d878d4ca]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.mht__btn[data-v-d878d4ca]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.mht__btn[data-v-d878d4ca]:hover{border-color:var(--accent);color:var(--accent)}.mht__head[data-v-d878d4ca]{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:14px 16px}.mht__title[data-v-d878d4ca]{color:var(--text-strong);word-break:break-word;font-size:15px;font-weight:600;line-height:1.4}.mht__fields[data-v-d878d4ca]{flex-direction:column;gap:3px;margin:10px 0 0;display:flex}.mht__field[data-v-d878d4ca]{gap:8px;font-size:12.5px;line-height:1.5;display:flex}.mht__field dt[data-v-d878d4ca]{width:36px;color:var(--faint);flex-shrink:0}.mht__field dd[data-v-d878d4ca]{min-width:0;color:var(--text);word-break:break-word;margin:0}.mht__src[data-v-d878d4ca]{font-family:var(--font-mono);color:var(--muted);font-size:11.5px}.mht__body[data-v-d878d4ca]{background:#fff;flex:auto;min-height:0}.mht__frame[data-v-d878d4ca]{background:#fff;border:none;width:100%;height:100%;display:block}.har[data-v-4b79eb8b]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.har__msg[data-v-4b79eb8b]{color:var(--muted);padding:20px 16px;font-size:13px}.har__msg--error[data-v-4b79eb8b]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.har__gate[data-v-4b79eb8b]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.har__btn[data-v-4b79eb8b]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.har__btn[data-v-4b79eb8b]:hover{border-color:var(--accent);color:var(--accent)}.har__btn--sm[data-v-4b79eb8b]{padding:3px 10px;font-size:11.5px}.har__bar[data-v-4b79eb8b]{border-bottom:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:8px;padding:10px 12px;display:flex}.har__filter[data-v-4b79eb8b]{width:100%;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:7px;padding:6px 10px;font-family:inherit;font-size:12.5px}.har__filter[data-v-4b79eb8b]:focus{border-color:var(--accent);outline:none}.har__cats[data-v-4b79eb8b]{flex-wrap:wrap;gap:5px;display:flex}.har__cat[data-v-4b79eb8b]{color:var(--muted);background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:2px 9px;font-family:inherit;font-size:11px;transition:border-color .15s,color .15s}.har__cat[data-v-4b79eb8b]:hover{border-color:var(--accent);color:var(--accent)}.har__cat--on[data-v-4b79eb8b]{color:#fff;background:var(--accent);border-color:var(--accent)}.har__list[data-v-4b79eb8b]{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.har__list--split[data-v-4b79eb8b]{border-bottom:1px solid var(--border);flex:0 0 42%}.har__empty[data-v-4b79eb8b]{color:var(--faint);padding:18px 14px;font-size:12.5px}.har__row[data-v-4b79eb8b]{border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:8px;width:100%;padding:6px 12px;font-family:inherit;display:flex}.har__row[data-v-4b79eb8b]:hover{background:var(--surface-2)}.har__row--on[data-v-4b79eb8b]{background:color-mix(in srgb, var(--accent) 12%, transparent)}.har__method[data-v-4b79eb8b]{width:42px;font-family:var(--font-mono);letter-spacing:.02em;color:var(--muted);flex-shrink:0;font-size:10.5px;font-weight:700}.har__method.m-get[data-v-4b79eb8b]{color:#2f9e44}.har__method.m-post[data-v-4b79eb8b]{color:#1c7ed6}.har__method.m-put[data-v-4b79eb8b],.har__method.m-patch[data-v-4b79eb8b]{color:#f08c00}.har__method.m-delete[data-v-4b79eb8b]{color:#e03131}.har__status[data-v-4b79eb8b]{width:30px;font-family:var(--font-mono);flex-shrink:0;font-size:11px;font-weight:600}.har__name[data-v-4b79eb8b]{flex-direction:column;flex:auto;min-width:0;display:flex}.har__name-main[data-v-4b79eb8b]{color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.har__name-sub[data-v-4b79eb8b]{color:var(--faint);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.har__type[data-v-4b79eb8b]{color:var(--muted);flex-shrink:0;font-size:10.5px}.har__size[data-v-4b79eb8b],.har__time[data-v-4b79eb8b]{text-align:right;width:52px;font-family:var(--font-mono);color:var(--faint);flex-shrink:0;font-size:10.5px}.s-2xx[data-v-4b79eb8b]{color:#2f9e44}.s-3xx[data-v-4b79eb8b]{color:#1c7ed6}.s-4xx[data-v-4b79eb8b]{color:#f08c00}.s-5xx[data-v-4b79eb8b]{color:#e03131}.s-pending[data-v-4b79eb8b]{color:var(--faint)}.har__detail[data-v-4b79eb8b]{flex-direction:column;flex:58%;min-height:0;display:flex}.har__tabs[data-v-4b79eb8b]{border-bottom:1px solid var(--border);white-space:nowrap;flex-shrink:0;gap:2px;padding:6px 10px 0;display:flex;overflow-x:auto}.har__tab[data-v-4b79eb8b]{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;padding:6px 9px;font-family:inherit;font-size:12px}.har__tab[data-v-4b79eb8b]:hover{color:var(--text)}.har__tab--on[data-v-4b79eb8b]{color:var(--accent);border-bottom-color:var(--accent)}.har__tab-n[data-v-4b79eb8b]{color:var(--faint);font-size:10.5px}.har__pane[data-v-4b79eb8b]{overscroll-behavior:contain;flex:auto;min-height:0;padding:12px 14px;overflow-y:auto}.har__kv[data-v-4b79eb8b]{flex-direction:column;margin:0 0 12px;display:flex}.har__kv-row[data-v-4b79eb8b]{border-bottom:1px solid var(--border);gap:10px;padding:4px 0;font-size:12px;line-height:1.5;display:flex}.har__kv-row dt[data-v-4b79eb8b]{width:38%;max-width:180px;color:var(--muted);word-break:break-word;flex-shrink:0}.har__kv-row dd[data-v-4b79eb8b]{min-width:0;color:var(--text);word-break:break-word;flex:auto;margin:0}.har__kv--mono dt[data-v-4b79eb8b],.har__kv--mono dd[data-v-4b79eb8b]{font-family:var(--font-mono);font-size:11.5px}.har__sub[data-v-4b79eb8b]{color:var(--text-strong);margin:4px 0 8px;font-size:12px;font-weight:600}.har__bodybar[data-v-4b79eb8b]{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.har__bodymime[data-v-4b79eb8b]{color:var(--faint);font-size:11px}.har__b64[data-v-4b79eb8b]{background:var(--surface-2);color:var(--muted);border-radius:4px;margin-left:6px;padding:1px 6px}.har__body[data-v-4b79eb8b]{background:var(--code-bg);border:1px solid var(--code-border);font-family:var(--font-mono);color:var(--text);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin:0;padding:10px 12px;font-size:11.5px;line-height:1.55;overflow-x:auto}.har__body code[data-v-4b79eb8b]{background:0 0;border:none;padding:0;font-family:inherit}.har__img[data-v-4b79eb8b]{background:var(--surface-2);border-radius:8px;justify-content:center;padding:12px;display:flex}.har__img img[data-v-4b79eb8b]{object-fit:contain;max-width:100%;height:auto}.sq[data-v-b4d65354]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.sq__msg[data-v-b4d65354]{color:var(--muted);padding:20px 16px;font-size:13px}.sq__msg--error[data-v-b4d65354]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.sq__gate[data-v-b4d65354]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.sq__btn[data-v-b4d65354]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.sq__btn[data-v-b4d65354]:hover{border-color:var(--accent);color:var(--accent)}.sq__bar[data-v-b4d65354]{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:10px 12px;display:flex}.sq__select[data-v-b4d65354]{min-width:0;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:7px;flex:auto;padding:6px 10px;font-family:inherit;font-size:12.5px}.sq__select[data-v-b4d65354]:focus{border-color:var(--accent);outline:none}.sq__notables[data-v-b4d65354]{color:var(--faint);flex:auto;font-size:12.5px}.sq__modes[data-v-b4d65354]{background:var(--surface-2);border-radius:8px;flex-shrink:0;gap:2px;padding:2px;display:inline-flex}.sq__mode[data-v-b4d65354]{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 12px;font-family:inherit;font-size:12px}.sq__mode[data-v-b4d65354]:disabled{opacity:.4;cursor:not-allowed}.sq__mode--on[data-v-b4d65354]{color:var(--accent);background:var(--surface);box-shadow:var(--shadow)}.sq__sqlbar[data-v-b4d65354]{border-bottom:1px solid var(--border);flex-shrink:0;padding:10px 12px}.sq__sqlinput[data-v-b4d65354]{resize:vertical;width:100%;font-family:var(--font-mono);color:var(--text);background:var(--code-bg);border:1px solid var(--border);border-radius:7px;padding:8px 10px;font-size:12px;line-height:1.5}.sq__sqlinput[data-v-b4d65354]:focus{border-color:var(--accent);outline:none}.sq__sqlrun[data-v-b4d65354]{align-items:center;gap:12px;margin-top:8px;display:flex}.sq__stat[data-v-b4d65354]{color:var(--faint);font-size:11.5px}.sq__err[data-v-b4d65354]{color:var(--danger);word-break:break-word;font-size:11.5px}.sq__gridwrap[data-v-b4d65354]{overscroll-behavior:contain;flex:auto;min-height:0;overflow:auto}.sq__grid[data-v-b4d65354]{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px}.sq__grid th[data-v-b4d65354],.sq__grid td[data-v-b4d65354]{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;vertical-align:top;white-space:nowrap;text-overflow:ellipsis;max-width:360px;padding:5px 10px;overflow:hidden}.sq__th[data-v-b4d65354]{z-index:1;background:var(--surface-2);white-space:nowrap;position:sticky;top:0}.sq__colname[data-v-b4d65354]{color:var(--text-strong);font-weight:600}.sq__badge[data-v-b4d65354]{letter-spacing:.03em;vertical-align:middle;border-radius:3px;margin-left:5px;padding:0 4px;font-size:9.5px;font-weight:700}.sq__badge--pk[data-v-b4d65354]{color:#b08900;background:#f0c80029}.sq__badge--fk[data-v-b4d65354]{color:#1c7ed6;background:#1c7ed624}.sq__badge--idx[data-v-b4d65354]{color:#2f9e44;background:#2f9e4424}.sq__coltype[data-v-b4d65354]{font-family:var(--font-mono);color:var(--faint);margin-left:5px;font-size:10px}.sq__rownum[data-v-b4d65354]{z-index:1;text-align:right;width:1%;color:var(--faint);background:var(--surface-2);font-family:var(--font-mono);font-size:11px;position:sticky;left:0}.sq__td[data-v-b4d65354]{color:var(--text);font-family:var(--font-mono);font-size:11.5px}.sq__td--null[data-v-b4d65354]{color:var(--faint);font-style:italic}.sq__emptycell[data-v-b4d65354]{text-align:center;color:var(--faint);padding:16px;font-size:12px}.sq__pager[data-v-b4d65354]{border-top:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;gap:14px;padding:8px 12px;display:flex}.sq__pgbtn[data-v-b4d65354]{width:30px;height:26px;color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:7px;font-size:16px;line-height:1}.sq__pgbtn[data-v-b4d65354]:disabled{opacity:.4;cursor:not-allowed}.sq__pgbtn[data-v-b4d65354]:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.sq__pginfo[data-v-b4d65354]{color:var(--muted);font-size:11.5px}.sub[data-v-405d1c5a]{background:var(--code-bg);flex-direction:column;flex:auto;min-height:0;display:flex}.sub__head[data-v-405d1c5a]{border-bottom:1px solid var(--border);background:var(--surface);color:var(--muted);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;padding:10px 16px;font-size:12px;display:flex}.sub__badge[data-v-405d1c5a]{background:var(--surface-2);color:var(--accent);letter-spacing:.02em;border-radius:999px;padding:2px 9px;font-weight:600}.sub__dur[data-v-405d1c5a]{color:var(--faint)}.sub__list[data-v-405d1c5a]{overscroll-behavior:contain;flex:auto;min-height:0;padding:8px 0 60px;overflow:auto}.sub__cue[data-v-405d1c5a]{border-bottom:1px solid var(--border);gap:14px;padding:9px 16px;display:flex}.sub__cue[data-v-405d1c5a]:hover{background:var(--surface)}.sub__time[data-v-405d1c5a]{flex-direction:column;flex-shrink:0;gap:3px;width:132px;display:flex}.sub__idx[data-v-405d1c5a]{color:var(--faint);font-size:11px}.sub__range[data-v-405d1c5a]{font-family:var(--font-mono);color:var(--accent);white-space:nowrap;font-size:11.5px}.sub__body[data-v-405d1c5a]{flex:auto;min-width:0}.sub__speaker[data-v-405d1c5a]{color:var(--muted);margin-bottom:2px;font-size:11.5px;font-weight:600;display:inline-block}.sub__text[data-v-405d1c5a]{color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;font-size:13.5px;line-height:1.55}.sub__empty[data-v-405d1c5a]{color:var(--muted);padding:20px 16px;font-size:13px}.font[data-v-95856016]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.font__msg[data-v-95856016]{color:var(--muted);padding:20px 16px;font-size:13px}.font__msg--error[data-v-95856016]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:8px;display:flex}.font__hint[data-v-95856016]{color:var(--faint);font-size:12px}.font__gate[data-v-95856016]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.font__btn[data-v-95856016]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.font__btn[data-v-95856016]:hover{border-color:var(--accent);color:var(--accent)}.font__bar[data-v-95856016]{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:12px;padding:10px 16px;display:flex}.font__input[data-v-95856016]{min-width:0;color:var(--text);background:var(--code-bg);border:1px solid var(--border-2);border-radius:8px;flex:auto;padding:7px 11px;font-family:inherit;font-size:13px}.font__input[data-v-95856016]:focus{border-color:var(--accent);outline:none}.font__size[data-v-95856016]{flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.font__size-val[data-v-95856016]{width:42px;font-family:var(--font-mono);color:var(--muted);font-size:12px}.font__scroll[data-v-95856016]{overscroll-behavior:contain;flex:auto;min-height:0;padding:20px 20px 80px;overflow:auto}.font__hero[data-v-95856016]{color:var(--text-strong);word-break:break-word;border-bottom:1px solid var(--border);padding-bottom:18px;line-height:1.25}.font__section[data-v-95856016]{margin-top:22px}.font__h[data-v-95856016]{letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:0 0 12px;font-size:11px;font-weight:600}.font__wf[data-v-95856016]{color:var(--text);word-break:break-word;align-items:baseline;gap:14px;padding:6px 0;line-height:1.2;display:flex}.font__wf-tag[data-v-95856016]{width:34px;font-family:var(--font-mono);color:var(--faint);flex-shrink:0;font-size:11px}.font__wf-text[data-v-95856016]{min-width:0}.font__glyphs[data-v-95856016]{color:var(--text);word-break:break-all;margin:0 0 10px;font-size:22px;line-height:1.5}.nb[data-v-3419a6e8]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.nb__msg[data-v-3419a6e8]{color:var(--muted);padding:20px 16px;font-size:13px}.nb__msg--error[data-v-3419a6e8]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.nb__gate[data-v-3419a6e8]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.nb__btn[data-v-3419a6e8]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.nb__btn[data-v-3419a6e8]:hover{border-color:var(--accent);color:var(--accent)}.nb__scroll[data-v-3419a6e8]{overscroll-behavior:contain;flex:auto;min-height:0;padding:14px 16px 70px;overflow:auto}.nb__cell[data-v-3419a6e8]{margin-bottom:14px}.nb__md[data-v-3419a6e8]{color:var(--text);word-break:break-word;font-size:13.5px;line-height:1.6}.nb__md--out[data-v-3419a6e8]{padding:6px 0 0}.nb__raw[data-v-3419a6e8]{font-family:var(--font-mono);color:var(--muted);background:var(--code-bg);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin:0;padding:10px 12px;font-size:12.5px;line-height:1.5}.nb__code[data-v-3419a6e8]{border:1px solid var(--border);background:var(--code-bg);border-radius:10px;overflow:hidden}.nb__in[data-v-3419a6e8]{align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.nb__prompt[data-v-3419a6e8]{font-family:var(--font-mono);color:var(--accent);-webkit-user-select:none;user-select:none;flex-shrink:0;padding-top:1px;font-size:11.5px}.nb__src[data-v-3419a6e8]{min-width:0;font-family:var(--font-mono);color:var(--text);white-space:pre;tab-size:4;flex:auto;margin:0;font-size:12.5px;line-height:1.55;overflow-x:auto}.nb__src code[data-v-3419a6e8]{background:0 0;border:none;padding:0;font-family:inherit}.nb__out[data-v-3419a6e8]{border-top:1px solid var(--border);background:var(--surface);padding:8px 10px 8px 38px}.nb__out--err[data-v-3419a6e8]{background:color-mix(in srgb, var(--danger) 7%, var(--surface))}.nb__stream[data-v-3419a6e8],.nb__text[data-v-3419a6e8],.nb__errtext[data-v-3419a6e8]{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;color:var(--text);margin:0;font-size:12px;line-height:1.5}.nb__errtext[data-v-3419a6e8]{color:var(--danger)}.nb__img[data-v-3419a6e8]{background:#fff;border-radius:4px;max-width:100%;height:auto;display:block}.nb__html[data-v-3419a6e8]{border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;height:300px;display:block}.geo[data-v-80aaef2d]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.geo__head[data-v-80aaef2d]{border-bottom:1px solid var(--border);background:var(--surface);color:var(--muted);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;padding:10px 16px;font-size:12px;display:flex}.geo__badge[data-v-80aaef2d]{background:var(--surface-2);color:var(--accent);border-radius:999px;padding:2px 9px;font-weight:600}.geo__chip[data-v-80aaef2d]{color:var(--faint)}.geo__reset[data-v-80aaef2d]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:7px;margin-left:auto;padding:4px 10px;font-family:inherit;font-size:12px}.geo__reset[data-v-80aaef2d]:hover{border-color:var(--accent);color:var(--accent)}.geo__map[data-v-80aaef2d]{background:var(--surface-2);flex:auto;min-height:0;display:flex;position:relative}.geo__canvas[data-v-80aaef2d]{width:100%;height:100%}.geo__empty[data-v-80aaef2d]{color:var(--muted);margin:auto;padding:20px;font-size:13px}.geo__err[data-v-80aaef2d],.geo__offline[data-v-80aaef2d]{background:color-mix(in srgb, var(--surface) 88%, transparent);color:var(--muted);border:1px solid var(--border);pointer-events:none;z-index:2;border-radius:999px;padding:5px 12px;font-size:11.5px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.geo__err[data-v-80aaef2d]{color:var(--danger)}.geo__list[data-v-80aaef2d]{overscroll-behavior:contain;border-top:1px solid var(--border);flex-shrink:0;max-height:34%;margin:0;padding:4px 0;list-style:none;overflow:auto}.geo__feat[data-v-80aaef2d]{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:7px 16px;font-family:inherit;display:flex}.geo__feat[data-v-80aaef2d]:hover{background:var(--surface-2);color:var(--accent)}.geo__feat-name[data-v-80aaef2d]{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12.5px;overflow:hidden}.geo__feat-kind[data-v-80aaef2d]{color:var(--faint);flex-shrink:0;font-size:11px}.csv[data-v-19d40e74]{background:var(--surface);flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex}.csv__bar[data-v-19d40e74]{border-bottom:1px solid var(--border);background:var(--surface);color:var(--faint);flex-shrink:0;align-items:center;gap:14px;padding:8px 14px;font-size:12px;display:flex}.csv__count[data-v-19d40e74]{color:var(--muted);font-variant-numeric:tabular-nums}.csv__toggle[data-v-19d40e74]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:5px;display:inline-flex}.csv__toggle input[data-v-19d40e74]{cursor:pointer}.csv__spacer[data-v-19d40e74]{flex:auto}.csv__more[data-v-19d40e74]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:7px;padding:4px 10px;font-family:inherit;font-size:12px}.csv__more[data-v-19d40e74]:hover{border-color:var(--accent);color:var(--accent)}.csv__scroll[data-v-19d40e74]{overscroll-behavior:contain;background:var(--code-bg);flex:auto;min-width:0;min-height:0;overflow:auto}.csv__table[data-v-19d40e74]{border-collapse:separate;border-spacing:0;table-layout:fixed;color:var(--text);font-size:12.5px}.csv__th[data-v-19d40e74],.csv__td[data-v-19d40e74]{border-right:1px solid var(--code-border);border-bottom:1px solid var(--code-border);text-align:left;white-space:pre;text-overflow:ellipsis;vertical-align:top;padding:5px 10px;overflow:hidden}.csv__th[data-v-19d40e74]{z-index:2;color:var(--text-strong);background:var(--surface-2);border-bottom:1px solid var(--border-2);padding-right:12px;font-weight:600;position:sticky;top:0}.csv__th--auto[data-v-19d40e74]{color:var(--faint);font-weight:500}.csv__th-text[data-v-19d40e74]{text-overflow:ellipsis;white-space:pre;display:block;overflow:hidden}.csv__tr:nth-child(2n) .csv__td[data-v-19d40e74]{background:color-mix(in srgb, var(--surface-2) 45%, transparent)}.csv__resize[data-v-19d40e74]{cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;width:9px;position:absolute;top:0;bottom:0;right:0}.csv__resize[data-v-19d40e74]:after{content:"";background:var(--border-2);opacity:0;border-radius:1px;width:2px;transition:opacity .12s;position:absolute;top:22%;bottom:22%;right:3px}.csv__th:hover .csv__resize[data-v-19d40e74]:after{opacity:1}.csv__resize[data-v-19d40e74]:hover:after{opacity:1;background:var(--accent)}.csv__rownum[data-v-19d40e74]{z-index:1;border-right:1px solid var(--code-border);border-bottom:1px solid var(--code-border);text-align:right;color:var(--faint);background:var(--code-bg);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;padding:5px 10px;position:sticky;left:0}.csv__tr:nth-child(2n) .csv__rownum[data-v-19d40e74]{background:color-mix(in srgb, var(--surface-2) 45%, var(--code-bg))}.csv__corner[data-v-19d40e74]{z-index:3;background:var(--surface-2);border-bottom:1px solid var(--border-2);top:0}.csv__empty[data-v-19d40e74]{color:var(--faint);padding:20px 16px;font-size:13px}.csv__capnote[data-v-19d40e74]{color:var(--faint);padding:12px 16px 20px;font-size:12px}.csv-pop[data-v-19d40e74]{z-index:3000;border:1px solid var(--border-2);background:var(--surface);min-width:120px;max-width:440px;color:var(--text);border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;font-size:12.5px;display:flex;position:fixed;box-shadow:0 8px 26px #0003}.csv-pop__text[data-v-19d40e74]{overscroll-behavior:contain;white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text;max-height:320px;line-height:1.5;overflow:auto}.csv-pop__foot[data-v-19d40e74]{justify-content:flex-end;display:flex}.csv-pop__copy[data-v-19d40e74]{color:var(--text);background:var(--surface-2);border:1px solid var(--border-2);cursor:pointer;border-radius:6px;padding:3px 12px;font-family:inherit;font-size:12px}.csv-pop__copy[data-v-19d40e74]:hover{border-color:var(--accent);color:var(--accent)}.jl[data-v-326ae959]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.jl__summary[data-v-326ae959]{border-bottom:1px solid var(--border);letter-spacing:.02em;color:var(--faint);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px 12px;padding:9px 16px;font-size:11.5px;display:flex}.jl__count[data-v-326ae959]{color:var(--accent);font-weight:600}.jl__errtag[data-v-326ae959]{background:color-mix(in srgb, var(--danger) 14%, var(--surface));color:var(--danger);border-radius:999px;padding:1px 7px;font-size:10.5px}.jl__msg[data-v-326ae959]{color:var(--muted);padding:20px 16px;font-size:13px}.jl__list[data-v-326ae959]{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border-2) transparent;flex:auto;min-height:0;padding:4px 0;overflow-y:scroll}.jl__list[data-v-326ae959]::-webkit-scrollbar{width:12px}.jl__list[data-v-326ae959]::-webkit-scrollbar-thumb{background:var(--border-2);background-clip:padding-box;border:3px solid #0000;border-radius:999px}.jl__list[data-v-326ae959]::-webkit-scrollbar-thumb:hover{background:var(--muted);background-clip:padding-box;border:3px solid #0000}.jl__rowwrap[data-v-326ae959]{border-bottom:1px solid var(--border)}.jl__rowhead[data-v-326ae959]{align-items:stretch;display:flex}.jl__rowhead[data-v-326ae959]:hover,.jl__rowhead--open[data-v-326ae959]{background:var(--surface-2)}.jl__row[data-v-326ae959]{text-align:left;cursor:pointer;background:0 0;border:none;flex:auto;align-items:baseline;gap:9px;min-width:0;padding:6px 14px;font-family:inherit;display:flex}.jl__copy[data-v-326ae959]{width:30px;color:var(--faint);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s;display:inline-flex}.jl__copy[data-v-326ae959]:hover,.jl__copy--done[data-v-326ae959]{color:var(--accent)}.jl__caret[data-v-326ae959]{width:9px;color:var(--faint);flex-shrink:0;align-self:center;font-size:9px;transition:transform .12s;transform:rotate(0)}.jl__caret--open[data-v-326ae959]{transform:rotate(90deg)}.jl__ln[data-v-326ae959]{text-align:right;min-width:30px;font-family:var(--font-mono);color:var(--faint);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:11px}.jl__badge[data-v-326ae959]{background:color-mix(in srgb, var(--danger) 16%, var(--surface));color:var(--danger);letter-spacing:.04em;border-radius:5px;flex-shrink:0;align-self:center;padding:0 6px;font-size:9.5px;font-weight:700}.jl__preview[data-v-326ae959]{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-mono);color:var(--text);flex:auto;font-size:12.5px;overflow:hidden}.jl__rowhead--err .jl__preview[data-v-326ae959]{color:var(--muted)}.jl__full[data-v-326ae959]{background:var(--code-bg);font-family:var(--font-mono);white-space:pre;tab-size:2;margin:0;padding:8px 14px 12px 32px;font-size:12px;line-height:1.55;overflow-x:auto}.jl__full code[data-v-326ae959]{background:0 0;border:none;padding:0;font-family:inherit}.jl__more[data-v-326ae959]{width:100%;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:10px 16px;font-family:inherit;font-size:12px;display:block}.jl__more[data-v-326ae959]:hover{background:var(--surface-2)}.cert[data-v-adece100]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.cert__msg[data-v-adece100]{color:var(--muted);padding:20px 16px;font-size:13px}.cert__msg--error[data-v-adece100]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.cert__gate[data-v-adece100]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.cert__btn[data-v-adece100]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.cert__btn[data-v-adece100]:hover{border-color:var(--accent);color:var(--accent)}.cert__scroll[data-v-adece100]{overscroll-behavior:contain;flex:auto;min-height:0;padding:14px 14px 60px;overflow:auto}.cert__card[data-v-adece100]{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin-bottom:16px;overflow:hidden}.cert__cardhead[data-v-adece100]{background:var(--surface-2);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 12px;display:flex}.cert__kind[data-v-adece100]{letter-spacing:.02em;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:5px;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:600}.cert__label[data-v-adece100]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-strong);flex:auto;font-size:13px;font-weight:600;overflow:hidden}.cert__badge[data-v-adece100]{border-radius:5px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}.cert__badge--ok[data-v-adece100]{color:#15803d;background:#22c55e29}.cert__badge--warn[data-v-adece100]{color:#b45309;background:#f59e0b2e}.cert__badge--bad[data-v-adece100]{color:#b91c1c;background:#ef444429}.cert__note[data-v-adece100]{color:var(--muted);background:color-mix(in srgb, var(--accent) 5%, transparent);border-bottom:1px solid var(--border);margin:0;padding:9px 12px;font-size:12px;line-height:1.5}.cert__dl[data-v-adece100]{grid-template-columns:max-content 1fr;gap:6px 14px;margin:0;padding:12px;display:grid}.cert__dl dt[data-v-adece100]{color:var(--faint);white-space:nowrap;font-size:12px}.cert__dl dd[data-v-adece100]{color:var(--text);word-break:break-word;margin:0;font-size:12.5px}.cert__mono[data-v-adece100]{font-family:var(--font-mono);font-size:11.5px}.cert__fp[data-v-adece100]{word-break:break-all}.cert__tree[data-v-adece100]{border-top:1px solid var(--border)}.cert__treehead[data-v-adece100]{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 12px;font-size:12px}.cert__treehead[data-v-adece100]:hover{color:var(--accent)}.cert__rows[data-v-adece100]{background:var(--code-bg);border-top:1px solid var(--code-border);padding:4px 0 10px;overflow-x:auto}.cert__row[data-v-adece100]{width:100%;font-family:var(--font-mono);color:var(--text);text-align:left;white-space:nowrap;cursor:default;background:0 0;border:none;align-items:center;gap:7px;padding:3px 12px 3px 8px;font-size:11.5px;display:flex}.cert__row[data-v-adece100]:hover{background:var(--surface-2)}.cert__twisty[data-v-adece100]{width:12px;color:var(--faint);flex-shrink:0;display:inline-flex}.cert__twisty--open[data-v-adece100]{transition:transform .12s;transform:rotate(90deg)}.cert__tag[data-v-adece100]{color:var(--accent);flex-shrink:0}.cert__val[data-v-adece100]{min-width:0;color:var(--muted)}.jks[data-v-4e87fe75]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.jks__msg[data-v-4e87fe75]{color:var(--muted);padding:20px 16px;font-size:13px}.jks__msg--error[data-v-4e87fe75]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.jks__gate[data-v-4e87fe75]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.jks__btn[data-v-4e87fe75]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.jks__btn[data-v-4e87fe75]:hover{border-color:var(--accent);color:var(--accent)}.jks__scroll[data-v-4e87fe75]{overscroll-behavior:contain;flex:auto;min-height:0;padding:14px 14px 60px;overflow:auto}.jks__store[data-v-4e87fe75]{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin-bottom:16px;overflow:hidden}.jks__storehead[data-v-4e87fe75]{background:var(--surface-2);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 12px;display:flex}.jks__storetitle[data-v-4e87fe75]{color:var(--text-strong);flex-shrink:0;font-size:13px;font-weight:600}.jks__storemeta[data-v-4e87fe75]{text-overflow:ellipsis;white-space:nowrap;text-align:right;min-width:0;color:var(--faint);flex:auto;font-size:11.5px;overflow:hidden}.jks__pw[data-v-4e87fe75]{color:var(--muted);align-items:center;gap:8px;padding:10px 12px;display:flex}.jks__pw--ok[data-v-4e87fe75]{color:var(--accent)}.jks__pwinput[data-v-4e87fe75]{min-width:0;height:28px;color:var(--text);background:var(--surface);border:1px solid var(--border-2);border-radius:7px;flex:auto;padding:0 9px;font-family:inherit;font-size:12.5px}.jks__pwinput[data-v-4e87fe75]:focus{border-color:var(--accent);outline:none}.jks__pwbtn[data-v-4e87fe75]{height:28px;color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:7px;flex-shrink:0;padding:0 14px;font-family:inherit;font-size:12px}.jks__pwbtn[data-v-4e87fe75]:hover{border-color:var(--accent);color:var(--accent)}.jks__integrity[data-v-4e87fe75]{align-items:center;gap:6px;margin:0;padding:0 12px 8px;font-size:12px;display:flex}.jks__integrity--ok[data-v-4e87fe75]{color:#15803d}.jks__integrity--bad[data-v-4e87fe75]{color:#b91c1c}.jks__integrity--unknown[data-v-4e87fe75]{color:var(--accent)}.jks__hint[data-v-4e87fe75]{color:var(--faint);margin:0;padding:0 12px 10px;font-size:11.5px;line-height:1.5}.jks__warn[data-v-4e87fe75]{color:#b45309;border-top:1px solid var(--border);background:#f59e0b1f;margin:0;padding:9px 12px;font-size:12px;line-height:1.5}.jks__locked[data-v-4e87fe75]{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:40px 24px;font-size:12.5px;display:flex}.jks__lockicon[data-v-4e87fe75]{color:var(--faint)}.jks__badge[data-v-4e87fe75]{letter-spacing:.02em;border-radius:5px;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:600}.jks__badge--type[data-v-4e87fe75]{color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.jks__badge--key[data-v-4e87fe75]{color:#b45309;background:#f59e0b29}.jks__badge--cert[data-v-4e87fe75]{color:#15803d;background:#22c55e29}.jks__badge--secret[data-v-4e87fe75]{color:var(--muted);background:var(--surface-2)}.jks__entry[data-v-4e87fe75]{border:1px solid var(--border);background:var(--surface);border-radius:10px;margin-bottom:14px;overflow:hidden}.jks__entryhead[data-v-4e87fe75]{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 12px;display:flex}.jks__alias[data-v-4e87fe75]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-strong);flex:auto;font-size:13px;font-weight:600;overflow:hidden}.jks__date[data-v-4e87fe75]{color:var(--faint);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.jks__key[data-v-4e87fe75]{background:color-mix(in srgb, var(--accent) 4%, transparent);border-bottom:1px solid var(--border);align-items:center;gap:7px;padding:9px 12px;font-size:12px;display:flex}.jks__keyicon[data-v-4e87fe75]{color:var(--faint);flex-shrink:0}.jks__keyicon--ok[data-v-4e87fe75]{color:#15803d}.jks__keyicon--bad[data-v-4e87fe75]{color:#b91c1c}.jks__keytext[data-v-4e87fe75]{min-width:0;color:var(--muted)}.jks__keytext--ok[data-v-4e87fe75]{color:#15803d;font-weight:500}.jks__keytext--bad[data-v-4e87fe75]{color:#b91c1c}.jks__note[data-v-4e87fe75]{color:var(--muted);margin:0;padding:9px 12px;font-size:12px;line-height:1.5}.jks__chain[data-v-4e87fe75]{padding:10px 12px 12px}.jks__chainlabel[data-v-4e87fe75]{color:var(--faint);margin-bottom:8px;font-size:11.5px}.jks__cert[data-v-4e87fe75]{border:1px solid var(--border);border-radius:8px;margin-bottom:10px;overflow:hidden}.jks__cert[data-v-4e87fe75]:last-child{margin-bottom:0}.jks__certhead[data-v-4e87fe75]{background:var(--surface-2);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 10px;display:flex}.jks__certcn[data-v-4e87fe75]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-strong);flex:auto;font-size:12.5px;font-weight:600;overflow:hidden}.jks__cbadge[data-v-4e87fe75]{border-radius:5px;flex-shrink:0;padding:2px 8px;font-size:11px;font-weight:600}.jks__cbadge--ok[data-v-4e87fe75]{color:#15803d;background:#22c55e29}.jks__cbadge--warn[data-v-4e87fe75]{color:#b45309;background:#f59e0b2e}.jks__cbadge--bad[data-v-4e87fe75]{color:#b91c1c;background:#ef444429}.jks__dl[data-v-4e87fe75]{grid-template-columns:max-content 1fr;gap:6px 14px;margin:0;padding:10px;display:grid}.jks__dl dt[data-v-4e87fe75]{color:var(--faint);white-space:nowrap;font-size:12px}.jks__dl dd[data-v-4e87fe75]{color:var(--text);word-break:break-word;margin:0;font-size:12.5px}.jks__mono[data-v-4e87fe75]{font-family:var(--font-mono);font-size:11.5px}.jks__fp[data-v-4e87fe75]{word-break:break-all}.au[data-v-25d25cbe]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.au__msg[data-v-25d25cbe]{color:var(--muted);padding:20px 16px;font-size:13px}.au__msg--error[data-v-25d25cbe]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.au__gate[data-v-25d25cbe]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.au__btn[data-v-25d25cbe]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.au__btn[data-v-25d25cbe]:hover{border-color:var(--accent);color:var(--accent)}.au__player[data-v-25d25cbe]{flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:16px;min-height:0;padding:24px;display:flex}.au__icon[data-v-25d25cbe]{width:84px;height:84px;color:var(--accent);background:var(--surface-2);border-radius:50%;justify-content:center;align-items:center;font-size:44px;display:flex}.au__name[data-v-25d25cbe]{max-width:100%;color:var(--text-strong);word-break:break-word;text-align:center;font-size:13.5px}.au__audio[data-v-25d25cbe]{width:min(420px,100%)}.au__meta[data-v-25d25cbe]{color:var(--faint);align-items:center;gap:10px;font-size:12px;display:flex}.au__dl[data-v-25d25cbe]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:12.5px;text-decoration:none;display:inline-flex}.au__dl[data-v-25d25cbe]:hover{border-color:var(--accent);color:var(--accent)}.au__head[data-v-25d25cbe]{border-bottom:1px solid var(--border);background:var(--surface);color:var(--muted);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;padding:10px 16px;font-size:12px;display:flex}.au__badge[data-v-25d25cbe]{background:var(--surface-2);color:var(--accent);border-radius:999px;padding:2px 9px;font-weight:600}.au__note[data-v-25d25cbe]{color:var(--faint);background:var(--surface-2);border-bottom:1px solid var(--border);flex-shrink:0;margin:0;padding:8px 16px;font-size:12px;line-height:1.5}.au__roll[data-v-25d25cbe]{overscroll-behavior:contain;background:var(--code-bg);flex:auto;min-height:0;padding:12px;overflow:auto}.au__roll svg[data-v-25d25cbe]{display:block}.au__trunc[data-v-25d25cbe]{color:var(--faint);flex-shrink:0;margin:0;padding:6px 16px;font-size:11.5px}.qmc[data-v-b95a2049]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.qmc__msg[data-v-b95a2049]{color:var(--muted);padding:20px 16px;font-size:13px}.qmc__msg--error[data-v-b95a2049]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.qmc__gate[data-v-b95a2049]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.qmc__btn[data-v-b95a2049]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.qmc__btn[data-v-b95a2049]:hover{border-color:var(--accent);color:var(--accent)}.qmc__player[data-v-b95a2049]{flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:14px;min-height:0;padding:24px;display:flex}.qmc__icon[data-v-b95a2049]{width:84px;height:84px;color:var(--accent);background:var(--surface-2);border-radius:50%;justify-content:center;align-items:center;display:flex}.qmc__name[data-v-b95a2049]{max-width:100%;color:var(--text-strong);word-break:break-word;text-align:center;font-size:13.5px}.qmc__meta[data-v-b95a2049]{color:var(--faint);align-items:center;gap:10px;font-size:12px;display:flex}.qmc__badge[data-v-b95a2049]{background:var(--surface-2);color:var(--accent);letter-spacing:.02em;border-radius:999px;padding:2px 9px;font-weight:600}.qmc__audio[data-v-b95a2049]{width:min(420px,100%)}.qmc__dl[data-v-b95a2049]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-family:inherit;font-size:12.5px;text-decoration:none;display:inline-flex}.qmc__dl[data-v-b95a2049]:hover{border-color:var(--accent);color:var(--accent)}.lrc[data-v-5cb50c8a]{background:var(--code-bg);flex-direction:column;flex:auto;min-height:0;display:flex}.lrc__head[data-v-5cb50c8a]{border-bottom:1px solid var(--border);background:var(--surface);color:var(--muted);flex-shrink:0;align-items:center;gap:12px;padding:10px 16px;font-size:12px;display:flex}.lrc__badge[data-v-5cb50c8a]{background:var(--surface-2);color:var(--accent);letter-spacing:.02em;border-radius:999px;padding:2px 9px;font-weight:600}.lrc__dim[data-v-5cb50c8a]{color:var(--faint)}.lrc__toggle[data-v-5cb50c8a]{background:var(--surface-2);border-radius:8px;gap:2px;margin-left:auto;padding:2px;display:inline-flex}.lrc__tbtn[data-v-5cb50c8a]{width:28px;height:24px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.lrc__tbtn[data-v-5cb50c8a]:hover{color:var(--muted)}.lrc__tbtn--on[data-v-5cb50c8a]{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.lrc__msg[data-v-5cb50c8a]{color:var(--muted);padding:20px 16px;font-size:13px}.lrc__msg--error[data-v-5cb50c8a]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.lrc__retry[data-v-5cb50c8a]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.lrc__source[data-v-5cb50c8a]{min-height:0;font-family:var(--font-mono);color:var(--text);white-space:pre-wrap;word-break:break-word;flex:auto;margin:0;padding:14px 16px 60px;font-size:12.5px;line-height:1.7;overflow:auto}.lrc__body[data-v-5cb50c8a]{overscroll-behavior:contain;flex:auto;min-height:0;padding:0 0 60px;overflow:auto}.lrc__info[data-v-5cb50c8a]{border-bottom:1px solid var(--border);background:var(--surface);padding:16px 18px 12px}.lrc__title[data-v-5cb50c8a]{color:var(--text-strong);font-size:15px;font-weight:600}.lrc__sub[data-v-5cb50c8a]{color:var(--muted);gap:12px;margin-top:3px;font-size:12.5px;display:flex}.lrc__al[data-v-5cb50c8a]{color:var(--faint)}.lrc__list[data-v-5cb50c8a]{padding:8px 0}.lrc__line[data-v-5cb50c8a]{gap:14px;padding:6px 18px;display:flex}.lrc__line[data-v-5cb50c8a]:hover{background:var(--surface)}.lrc__time[data-v-5cb50c8a]{width:46px;font-family:var(--font-mono);color:var(--accent);white-space:nowrap;flex-shrink:0;padding-top:1px;font-size:11.5px}.lrc__text[data-v-5cb50c8a]{min-width:0;color:var(--text);word-break:break-word;flex:auto;font-size:13.5px;line-height:1.6}.lrc__text--empty[data-v-5cb50c8a]{color:var(--faint)}.log[data-v-b19d397d]{background:var(--code-bg);flex-direction:column;flex:auto;min-height:0;display:flex}.log__msg[data-v-b19d397d]{color:var(--muted);padding:20px 16px;font-size:13px}.log__msg--error[data-v-b19d397d]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.log__gate[data-v-b19d397d]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.log__btn[data-v-b19d397d]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.log__btn[data-v-b19d397d]:hover{border-color:var(--accent);color:var(--accent)}.log__bar[data-v-b19d397d]{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;display:flex;position:relative}.log__searchwrap[data-v-b19d397d]{flex:auto;min-width:60px;display:flex;position:relative}.log__search[data-v-b19d397d]{min-width:0;color:var(--text);background:var(--code-bg);border:1px solid var(--border-2);border-radius:7px;flex:auto;padding:5px 28px 5px 10px;font-family:inherit;font-size:12.5px}.log__search[data-v-b19d397d]:focus,.log__goto[data-v-b19d397d]:focus{border-color:var(--accent);outline:none}.log__clear[data-v-b19d397d]{width:19px;height:19px;color:var(--faint);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.log__clear[data-v-b19d397d]:hover{color:var(--text);background:var(--surface-2)}.log__matches[data-v-b19d397d]{font-family:var(--font-mono);color:var(--faint);text-align:center;flex-shrink:0;min-width:38px;font-size:11.5px}.log__nav[data-v-b19d397d]{min-width:26px;height:26px;color:var(--muted);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:6px;flex-shrink:0;padding:0 6px;font-family:inherit;font-size:12px}.log__nav[data-v-b19d397d]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.log__nav[data-v-b19d397d]:disabled{opacity:.4;cursor:default}.log__nav--on[data-v-b19d397d]{color:var(--accent);border-color:var(--accent);background:var(--surface-2)}.log__spacer[data-v-b19d397d]{flex:auto}.log__goto[data-v-b19d397d]{width:64px;font-family:var(--font-mono);color:var(--text);background:var(--code-bg);border:1px solid var(--border-2);border-radius:7px;flex-shrink:0;padding:5px 8px;font-size:12px}.log__total[data-v-b19d397d]{color:var(--faint);white-space:nowrap;flex-shrink:0;font-size:11.5px}.log__overlay[data-v-b19d397d]{z-index:40;background:0 0;position:fixed;inset:0}.log__rules[data-v-b19d397d]{z-index:41;background:var(--surface);border:1px solid var(--border-2);border-radius:10px;flex-direction:column;gap:6px;width:min(520px,100vw - 24px);max-height:320px;padding:10px;display:flex;position:absolute;top:calc(100% + 4px);right:12px;overflow:auto;box-shadow:0 10px 30px #00000040}.log__rules-head[data-v-b19d397d]{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.log__rules-title[data-v-b19d397d]{color:var(--text);font-size:12.5px;font-weight:600}.log__rules-hint[data-v-b19d397d]{color:var(--faint);font-size:11px}.log__rules-empty[data-v-b19d397d]{color:var(--muted);margin:2px 0;font-size:12px;line-height:1.5}.log__rules-empty code[data-v-b19d397d]{font-family:var(--font-mono);background:var(--code-bg);border-radius:4px;padding:0 4px;font-size:11px}.log__rule[data-v-b19d397d]{align-items:center;gap:5px;display:flex}.log__rule-pat[data-v-b19d397d]{min-width:80px;font-family:var(--font-mono);color:var(--text);background:var(--code-bg);border:1px solid var(--border-2);border-radius:6px;flex:auto;padding:4px 8px;font-size:12px}.log__rule-pat[data-v-b19d397d]:focus{border-color:var(--accent);outline:none}.log__rule-pat--bad[data-v-b19d397d]{border-color:var(--danger);color:var(--danger)}.log__rule-tog[data-v-b19d397d]{width:26px;height:26px;font-family:var(--font-mono);color:var(--muted);background:var(--code-bg);border:1px solid var(--border-2);cursor:pointer;border-radius:6px;flex-shrink:0;padding:0;font-size:11px}.log__rule-tog--on[data-v-b19d397d]{color:var(--accent);border-color:var(--accent);background:var(--surface-2)}.log__rule-color[data-v-b19d397d]{color:var(--faint);cursor:pointer;flex-shrink:0;align-items:center;gap:3px;font-size:11px;display:inline-flex}.log__rule-color input[type=color][data-v-b19d397d]{border:1px solid var(--border-2);cursor:pointer;background:0 0;border-radius:5px;width:22px;height:22px;padding:0}.log__rule-color input[type=color][data-v-b19d397d]:disabled{opacity:.35;cursor:default}.log__rule-ic[data-v-b19d397d]{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.log__rule-ic[data-v-b19d397d]:hover:not(:disabled){color:var(--accent);border-color:var(--border-2)}.log__rule-ic[data-v-b19d397d]:disabled{opacity:.3;cursor:default}.log__rule-del[data-v-b19d397d]:hover:not(:disabled){color:var(--danger)}.log__rules-add[data-v-b19d397d]{color:var(--muted);background:var(--code-bg);border:1px solid var(--border-2);cursor:pointer;border-radius:6px;align-self:flex-start;align-items:center;gap:5px;margin-top:2px;padding:4px 10px;font-family:inherit;font-size:12px;display:inline-flex}.log__rules-add[data-v-b19d397d]:hover{color:var(--accent);border-color:var(--accent)}.log__scroll[data-v-b19d397d]{overscroll-behavior:contain;flex:auto;min-height:0;overflow:auto}.log__sizer[data-v-b19d397d]{min-width:100%;position:relative}.log__row[data-v-b19d397d]{white-space:nowrap;min-width:100%;height:19px;line-height:19px;font-family:var(--font-mono);align-items:flex-start;font-size:12.5px;display:flex}.log__row--active[data-v-b19d397d]{background:color-mix(in srgb, var(--accent) 14%, transparent)}.log__row--context .log__tx[data-v-b19d397d]{opacity:.66}.log__ln[data-v-b19d397d]{text-align:right;width:64px;color:var(--faint);background:var(--code-bg);-webkit-user-select:none;user-select:none;flex-shrink:0;padding-right:12px;position:sticky;left:0}.log__row--active .log__ln[data-v-b19d397d]{background:color-mix(in srgb, var(--accent) 14%, var(--code-bg))}.log__fold-cell[data-v-b19d397d]{-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;width:16px;display:flex}.log__row--frame .log__fold-cell[data-v-b19d397d]{box-shadow:inset 1px 0 0 var(--border-2)}.log__fold[data-v-b19d397d]{width:14px;height:14px;color:var(--faint);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.log__chev[data-v-b19d397d]{transition:transform .12s}.log__chev--open[data-v-b19d397d]{transform:rotate(90deg)}.log__fold:hover .log__chev[data-v-b19d397d]{color:var(--accent)}.log__tx[data-v-b19d397d]{color:var(--text);white-space:pre;flex:auto;padding-right:18px}.log__row--header .log__tx[data-v-b19d397d]{color:var(--text);font-weight:600}.log__row--frame .log__tx[data-v-b19d397d]{color:var(--muted)}.log__tx[data-v-b19d397d] .log__hit{color:#1a1a1a;background:#ffd43b;border-radius:2px}.log__badge[data-v-b19d397d]{height:15px;font-family:var(--font-mono);color:var(--faint);background:var(--surface-2);border:1px solid var(--border-2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:9px;flex-shrink:0;align-self:center;margin-left:8px;padding:0 8px;font-size:10.5px;line-height:13px}.log__badge[data-v-b19d397d]:hover{border-color:var(--accent);color:var(--accent)}.log__gaprow[data-v-b19d397d]{background:var(--surface-2);color:var(--faint);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:10px;position:sticky;left:0}.log__gapbtn[data-v-b19d397d]{width:22px;height:15px;color:var(--muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.log__gapbtn[data-v-b19d397d]:hover{color:var(--accent)}.log__gapbtn--up[data-v-b19d397d]{transform:rotate(180deg)}.log__gapmain[data-v-b19d397d]{height:15px;font-family:var(--font-mono);color:var(--faint);cursor:pointer;background:0 0;border:none;padding:0 10px;font-size:11px}.log__gapmain[data-v-b19d397d]:hover{color:var(--accent)}.mdl[data-v-6d7b6e6f]{background:radial-gradient(circle at 50% 35%, var(--surface-2), var(--code-bg));flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.mdl__msg[data-v-6d7b6e6f]{z-index:2;color:var(--muted);padding:20px 16px;font-size:13px;position:relative}.mdl__msg--error[data-v-6d7b6e6f]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:8px;display:flex}.mdl__gate[data-v-6d7b6e6f]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.mdl__btn[data-v-6d7b6e6f]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.mdl__btn[data-v-6d7b6e6f]:hover{border-color:var(--accent);color:var(--accent)}.mdl__host[data-v-6d7b6e6f]{touch-action:none;flex:auto;min-height:0}.mdl__host--hidden[data-v-6d7b6e6f]{visibility:hidden}.mdl__host[data-v-6d7b6e6f] canvas{display:block}.mdl__hint[data-v-6d7b6e6f]{color:var(--faint);font-size:12px;line-height:1.5}.mdl__hint--float[data-v-6d7b6e6f]{z-index:2;background:color-mix(in srgb, var(--surface) 70%, transparent);pointer-events:none;border-radius:999px;padding:4px 10px;position:absolute;bottom:10px;left:12px}.ras[data-v-76bced18]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.ras__msg[data-v-76bced18]{color:var(--muted);padding:20px 16px;font-size:13px}.ras__msg--error[data-v-76bced18]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.ras__gate[data-v-76bced18]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.ras__btn[data-v-76bced18]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.ras__btn[data-v-76bced18]:hover{border-color:var(--accent);color:var(--accent)}.ras__bar[data-v-76bced18]{border-bottom:1px solid var(--border);background:var(--surface);color:var(--muted);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.ras__badge[data-v-76bced18]{background:var(--surface-2);color:var(--accent);border-radius:999px;padding:2px 9px;font-weight:600}.ras__hint[data-v-76bced18]{color:var(--faint)}.ras__spacer[data-v-76bced18]{flex:auto}.ras__nav[data-v-76bced18]{min-width:26px;height:26px;color:var(--muted);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:6px;padding:0 8px;font-family:inherit;font-size:13px}.ras__nav[data-v-76bced18]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.ras__nav[data-v-76bced18]:disabled{opacity:.4;cursor:default}.ras__nav--on[data-v-76bced18]{color:var(--accent);border-color:var(--accent);background:var(--surface-2)}.ras__page[data-v-76bced18]{font-family:var(--font-mono);color:var(--faint);font-size:11.5px}.ras__stage[data-v-76bced18]{overscroll-behavior:contain;background:var(--surface-2);flex:auto;min-height:0;overflow:auto}.ras__stage--fit[data-v-76bced18]{justify-content:center;align-items:center;padding:16px;display:flex}.ras__img[data-v-76bced18]{display:block}.ras__img--fit[data-v-76bced18]{object-fit:contain;max-width:100%;max-height:100%}.psd[data-v-5fbd3b9c]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.psd__msg[data-v-5fbd3b9c]{color:var(--muted);padding:20px 16px;font-size:13px}.psd__msg--error[data-v-5fbd3b9c]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.psd__gate[data-v-5fbd3b9c]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.psd__btn[data-v-5fbd3b9c]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.psd__btn[data-v-5fbd3b9c]:hover{border-color:var(--accent);color:var(--accent)}.psd__bar[data-v-5fbd3b9c]{border-bottom:1px solid var(--border);background:var(--surface);color:var(--muted);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.psd__badge[data-v-5fbd3b9c]{background:var(--surface-2);color:var(--accent);border-radius:999px;padding:2px 9px;font-weight:600}.psd__dim[data-v-5fbd3b9c]{color:var(--faint)}.psd__spacer[data-v-5fbd3b9c]{flex:auto}.psd__toggle[data-v-5fbd3b9c]{min-width:26px;height:26px;color:var(--muted);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:6px;padding:0 10px;font-family:inherit;font-size:12px}.psd__toggle[data-v-5fbd3b9c]:hover{border-color:var(--accent);color:var(--accent)}.psd__toggle--on[data-v-5fbd3b9c]{color:var(--accent);border-color:var(--accent);background:var(--surface-2)}.psd__stage[data-v-5fbd3b9c]{overscroll-behavior:contain;--sq:10px;background-color:#fff;background-image:linear-gradient(45deg,#e6e6e6 25%,#0000 25%),linear-gradient(-45deg,#e6e6e6 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#e6e6e6 75%),linear-gradient(-45deg,#0000 75%,#e6e6e6 75%);background-size:calc(var(--sq) * 2) calc(var(--sq) * 2);background-position:0 0, 0 var(--sq), var(--sq) calc(var(--sq) * -1), calc(var(--sq) * -1) 0;flex:auto;min-height:0;overflow:auto}.psd__stage--fit[data-v-5fbd3b9c]{justify-content:center;align-items:center;padding:16px;display:flex}.psd__canvas[data-v-5fbd3b9c]{image-rendering:auto;display:block}.psd__canvas--fit[data-v-5fbd3b9c]{object-fit:contain;max-width:100%;max-height:100%}.psd__layers[data-v-5fbd3b9c]{overscroll-behavior:contain;border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;max-height:40%;margin:0;padding:4px 0;list-style:none;overflow:auto}.psd__layer[data-v-5fbd3b9c]{color:var(--text);align-items:center;gap:8px;padding:4px 12px 4px 0;font-size:12.5px;display:flex}.psd__layer--group[data-v-5fbd3b9c]{color:var(--muted);font-weight:600}.psd__layer--off[data-v-5fbd3b9c]{opacity:.45}.psd__eye[data-v-5fbd3b9c]{width:24px;height:22px;color:var(--accent);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.psd__eye--off[data-v-5fbd3b9c]{color:var(--faint)}.psd__thumb[data-v-5fbd3b9c]{border:1px solid var(--border);background:repeating-conic-gradient(#eee 0% 25%,#fff 0% 50%) 0/10px 10px;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex;overflow:hidden}.psd__thumb img[data-v-5fbd3b9c]{max-width:100%;max-height:100%;display:block}.psd__thumb--group[data-v-5fbd3b9c]{border:1.4px solid var(--faint);background:0 0;border-radius:2px;width:14px;height:11px}.psd__name[data-v-5fbd3b9c]{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.psd__blend[data-v-5fbd3b9c]{color:var(--accent);flex-shrink:0;font-size:10.5px}.psd__op[data-v-5fbd3b9c]{font-family:var(--font-mono,monospace);color:var(--faint);flex-shrink:0;font-size:11px}.ebk[data-v-925b8896]{background:#fff;flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.ebk__overlay[data-v-925b8896]{z-index:3;background:var(--surface);align-items:flex-start;display:flex;position:absolute;inset:0}.ebk__msg[data-v-925b8896]{color:var(--muted);padding:20px 16px;font-size:13px}.ebk__msg--error[data-v-925b8896]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.ebk__gate[data-v-925b8896],.ebk__unsupported[data-v-925b8896]{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.ebk__hint[data-v-925b8896]{color:var(--faint);font-size:12px}.ebk__btn[data-v-925b8896]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.ebk__btn[data-v-925b8896]:hover{border-color:var(--accent);color:var(--accent)}.ebk__unsupported[data-v-925b8896]{color:var(--muted);padding:20px 16px;font-size:13px}.ebk__frame[data-v-925b8896]{background:#fff;border:none;flex:auto;width:100%;min-height:0}.ebk__host[data-v-925b8896]{flex:auto;min-height:0}.ebk__nav[data-v-925b8896]{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:10px;padding:8px 12px;display:flex}.ebk__navbtn[data-v-925b8896]{min-width:30px;height:30px;color:var(--muted);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.ebk__navbtn[data-v-925b8896]:hover{border-color:var(--accent);color:var(--accent)}.ebk__toc[data-v-925b8896]{min-width:0;max-width:100%;height:30px;color:var(--text);background:var(--surface);border:1px solid var(--border-2);border-radius:7px;flex:auto;padding:0 8px;font-family:inherit;font-size:12.5px}.dgm[data-v-70c38c16]{background:var(--surface-2);flex-direction:column;flex:auto;min-height:0;display:flex}.dgm__scroll[data-v-70c38c16]{overscroll-behavior:contain;flex:auto;justify-content:center;align-items:center;min-height:0;padding:16px;display:flex;overflow:auto}.dgm__scroll[data-v-70c38c16] svg{width:auto;max-width:100%;height:auto;max-height:100%}.dgm__msg[data-v-70c38c16]{color:var(--muted);padding:20px 16px;font-size:13px}.dgm__msg--error[data-v-70c38c16]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:8px;display:flex}.dgm__hint[data-v-70c38c16]{color:var(--faint);font-size:12px}.dxf[data-v-b18ead98]{background:var(--surface);flex-direction:column;flex:auto;min-height:0;display:flex}.dxf__msg[data-v-b18ead98]{color:var(--muted);padding:20px 16px;font-size:13px}.dxf__msg--error[data-v-b18ead98]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.dxf__btn[data-v-b18ead98]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.dxf__btn[data-v-b18ead98]:hover{border-color:var(--accent);color:var(--accent)}.dxf__bar[data-v-b18ead98]{border-bottom:1px solid var(--border);background:var(--surface);color:var(--muted);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;font-size:12px;display:flex}.dxf__badge[data-v-b18ead98]{background:var(--surface-2);color:var(--accent);border-radius:999px;padding:2px 9px;font-weight:600}.dxf__dim[data-v-b18ead98]{color:var(--faint)}.dxf__spacer[data-v-b18ead98]{flex:auto}.dxf__reset[data-v-b18ead98]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:7px;padding:4px 10px;font-family:inherit;font-size:12px}.dxf__reset[data-v-b18ead98]:hover{border-color:var(--accent);color:var(--accent)}.dxf__stage[data-v-b18ead98]{background:var(--surface-2);flex:auto;min-height:0;display:flex}.dxf__svg[data-v-b18ead98]{touch-action:none;cursor:grab;width:100%;height:100%}.dxf__svg[data-v-b18ead98]:active{cursor:grabbing}.dxf__text[data-v-b18ead98]{font-family:var(--font-sans,sans-serif);dominant-baseline:alphabetic}.dxf__layers[data-v-b18ead98]{overscroll-behavior:contain;border-top:1px solid var(--border);flex-shrink:0;max-height:30%;margin:0;padding:4px 0;list-style:none;overflow:auto}.dxf__layer[data-v-b18ead98]{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;align-items:center;gap:9px;padding:6px 16px;font-family:inherit;display:flex}.dxf__layer[data-v-b18ead98]:hover{background:var(--surface-2)}.dxf__layer--off[data-v-b18ead98]{opacity:.45}.dxf__swatch[data-v-b18ead98]{border:1px solid var(--border-2);border-radius:3px;flex-shrink:0;width:12px;height:12px}.dxf__lname[data-v-b18ead98]{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:12.5px;overflow:hidden}.dxf__eye[data-v-b18ead98]{color:var(--faint);flex-shrink:0;font-size:11px}.hx[data-v-6866d481]{background:var(--code-bg);flex-direction:column;flex:auto;min-height:0;display:flex}.hx__msg[data-v-6866d481]{color:var(--muted);padding:20px 16px;font-size:13px}.hx__msg--error[data-v-6866d481]{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.hx__gate[data-v-6866d481]{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.hx__btn[data-v-6866d481]{color:var(--text);background:var(--surface);border:1px solid var(--border-2);cursor:pointer;border-radius:8px;padding:5px 12px;font-family:inherit;font-size:12.5px}.hx__btn[data-v-6866d481]:hover{border-color:var(--accent);color:var(--accent)}.hx__bar[data-v-6866d481]{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.hx__total[data-v-6866d481]{color:var(--faint);font-variant-numeric:tabular-nums;font-size:11.5px}.hx__spacer[data-v-6866d481]{flex:auto}.hx__goto[data-v-6866d481]{width:110px;font-family:var(--font-mono);color:var(--text);background:var(--code-bg);border:1px solid var(--border-2);border-radius:7px;flex-shrink:0;padding:5px 8px;font-size:12px}.hx__goto[data-v-6866d481]:focus{border-color:var(--accent);outline:none}.hx__scroll[data-v-6866d481]{overscroll-behavior:contain;flex:auto;min-height:0;overflow:auto}.hx__sizer[data-v-6866d481]{min-width:100%;position:relative}.hx__row[data-v-6866d481]{white-space:pre;height:20px;line-height:20px;font-family:var(--font-mono);align-items:center;gap:18px;padding:0 16px;font-size:12.5px;display:flex}.hx__off[data-v-6866d481]{color:var(--faint);-webkit-user-select:none;user-select:none;flex-shrink:0}.hx__hex[data-v-6866d481]{color:var(--text);flex-shrink:0}.hx__asc[data-v-6866d481]{color:var(--muted);border-left:1px solid var(--border);flex-shrink:0;padding-left:18px}
2
+ /*$vite$:1*/