@flyfish-group/file-viewer 1.0.22 → 1.0.23

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 (211) hide show
  1. package/README.md +10 -10
  2. package/dist/components/3MFLoader.js +1 -1
  3. package/dist/components/AMFLoader.js +1 -1
  4. package/dist/components/AudioViewer.js +1 -1
  5. package/dist/components/CadViewer.js +1 -1
  6. package/dist/components/CodeViewer.js +1 -1
  7. package/dist/components/ColladaLoader.js +1 -1
  8. package/dist/components/DrawingViewer.js +1 -1
  9. package/dist/components/EdaViewer.js +1 -1
  10. package/dist/components/EmailViewer.js +1 -1
  11. package/dist/components/EpubViewer.js +1 -1
  12. package/dist/components/FBXLoader.js +1 -1
  13. package/dist/components/GLTFLoader.js +1 -1
  14. package/dist/components/ImageViewer.js +1 -1
  15. package/dist/components/KMZLoader.js +1 -1
  16. package/dist/components/MarkdownViewer.js +1 -1
  17. package/dist/components/OBJLoader.js +1 -1
  18. package/dist/components/OfdViewer.js +1 -1
  19. package/dist/components/PCDLoader.js +1 -1
  20. package/dist/components/PLYLoader.js +1 -1
  21. package/dist/components/STLLoader.js +1 -1
  22. package/dist/components/TDSLoader.js +1 -1
  23. package/dist/components/USDLoader.js +1 -1
  24. package/dist/components/UmdViewer.js +2 -2
  25. package/dist/components/VRMLLoader.js +1 -1
  26. package/dist/components/VTKLoader.js +1 -1
  27. package/dist/components/XYZLoader.js +1 -1
  28. package/dist/components/XlsxTable.js +1 -1
  29. package/dist/components/___vite-browser-external_commonjs-proxy.js +1 -1
  30. package/dist/components/_commonjs-dynamic-modules.js +1 -1
  31. package/dist/components/_commonjsHelpers.js +1 -1
  32. package/dist/components/ar-SA-G6X2FPQ2.js +1 -1
  33. package/dist/components/arc.js +1 -1
  34. package/dist/components/architecture-7EHR7CIX.js +1 -1
  35. package/dist/components/architectureDiagram-3BPJPVTR.js +1 -1
  36. package/dist/components/az-AZ-76LH7QW2.js +1 -1
  37. package/dist/components/bg-BG-XCXSNQG7.js +1 -1
  38. package/dist/components/blockDiagram-GPEHLZMM.js +1 -1
  39. package/dist/components/bn-BD-2XOGV67Q.js +1 -1
  40. package/dist/components/c4Diagram-AAUBKEIU.js +1 -1
  41. package/dist/components/ca-ES-6MX7JW3Y.js +1 -1
  42. package/dist/components/cfb.js +1 -1
  43. package/dist/components/channel.js +1 -1
  44. package/dist/components/chunk-2J33WTMH.js +1 -1
  45. package/dist/components/chunk-4BX2VUAB.js +1 -1
  46. package/dist/components/chunk-55IACEB6.js +1 -1
  47. package/dist/components/chunk-727SXJPM.js +1 -1
  48. package/dist/components/chunk-AQP2D5EJ.js +1 -1
  49. package/dist/components/chunk-FMBD7UC4.js +1 -1
  50. package/dist/components/chunk-ND2GUHAM.js +1 -1
  51. package/dist/components/chunk-QZHKN3VN.js +1 -1
  52. package/dist/components/classDiagram-4FO5ZUOK.js +1 -1
  53. package/dist/components/classDiagram-v2-Q7XG4LA2.js +1 -1
  54. package/dist/components/cose-bilkent-S5V4N54A.js +1 -1
  55. package/dist/components/cs-CZ-2BRQDIVT.js +1 -1
  56. package/dist/components/cytoscape.esm.js +1 -1
  57. package/dist/components/da-DK-5WZEPLOC.js +1 -1
  58. package/dist/components/dagre-BM42HDAG.js +1 -1
  59. package/dist/components/de-DE-XR44H4JA.js +1 -1
  60. package/dist/components/defaultLocale.js +1 -1
  61. package/dist/components/diagram-2AECGRRQ.js +1 -1
  62. package/dist/components/diagram-5GNKFQAL.js +1 -1
  63. package/dist/components/diagram-KO2AKTUF.js +1 -1
  64. package/dist/components/diagram-LMA3HP47.js +1 -1
  65. package/dist/components/diagram-OG6HWLK6.js +1 -1
  66. package/dist/components/directory-open-01563666.js +1 -1
  67. package/dist/components/directory-open-4ed118d0.js +1 -1
  68. package/dist/components/docx-preview.js +2 -2
  69. package/dist/components/el-GR-BZB4AONW.js +1 -1
  70. package/dist/components/en-B4ZKOASM.js +1 -1
  71. package/dist/components/erDiagram-TEJ5UH35.js +1 -1
  72. package/dist/components/es-ES-U4NZUMDT.js +1 -1
  73. package/dist/components/eu-ES-A7QVB2H4.js +1 -1
  74. package/dist/components/eventmodeling-FCH6USID.js +1 -1
  75. package/dist/components/fa-IR-HGAKTJCU.js +1 -1
  76. package/dist/components/fflate.module.js +1 -1
  77. package/dist/components/fi-FI-Z5N7JZ37.js +1 -1
  78. package/dist/components/file-open-002ab408.js +1 -1
  79. package/dist/components/file-open-7c801643.js +1 -1
  80. package/dist/components/file-save-3189631c.js +1 -1
  81. package/dist/components/file-save-745eba88.js +1 -1
  82. package/dist/components/flowDiagram-I6XJVG4X.js +1 -1
  83. package/dist/components/fr-FR-RHASNOE6.js +1 -1
  84. package/dist/components/ganttDiagram-6RSMTGT7.js +1 -1
  85. package/dist/components/gitGraph-WXDBUCRP.js +1 -1
  86. package/dist/components/gitGraphDiagram-PVQCEYII.js +1 -1
  87. package/dist/components/gl-ES-HMX3MZ6V.js +1 -1
  88. package/dist/components/global-compiler.js +1 -1
  89. package/dist/components/global-renderer.js +1 -1
  90. package/dist/components/graph.js +1 -1
  91. package/dist/components/he-IL-6SHJWFNN.js +1 -1
  92. package/dist/components/hi-IN-IWLTKZ5I.js +1 -1
  93. package/dist/components/hu-HU-A5ZG7DT2.js +1 -1
  94. package/dist/components/id-ID-SAP4L64H.js +1 -1
  95. package/dist/components/image-GAAHSSAO.js +1 -1
  96. package/dist/components/image-blob-reduce.esm.js +1 -1
  97. package/dist/components/index10.js +1 -1
  98. package/dist/components/index11.js +1 -1
  99. package/dist/components/index12.js +1 -1
  100. package/dist/components/index13.js +1 -1
  101. package/dist/components/index14.js +1 -1
  102. package/dist/components/index15.js +1 -1
  103. package/dist/components/index16.js +1 -1
  104. package/dist/components/index17.js +1 -1
  105. package/dist/components/index18.js +1 -1
  106. package/dist/components/index19.js +1 -1
  107. package/dist/components/index2.js +1 -1
  108. package/dist/components/index20.js +1 -1
  109. package/dist/components/index21.js +1 -1
  110. package/dist/components/index22.js +2 -2
  111. package/dist/components/index23.js +1 -1
  112. package/dist/components/index24.js +1 -1
  113. package/dist/components/index3.js +1 -1
  114. package/dist/components/index4.js +1 -1
  115. package/dist/components/index5.js +1 -1
  116. package/dist/components/index6.js +1 -1
  117. package/dist/components/index7.js +1 -1
  118. package/dist/components/index8.js +1 -1
  119. package/dist/components/index9.js +1 -1
  120. package/dist/components/info-J43DQDTF.js +1 -1
  121. package/dist/components/infoDiagram-5YYISTIA.js +1 -1
  122. package/dist/components/init.js +1 -1
  123. package/dist/components/ishikawaDiagram-YF4QCWOH.js +1 -1
  124. package/dist/components/it-IT-JPQ66NNP.js +1 -1
  125. package/dist/components/ja-JP-DBVTYXUO.js +1 -1
  126. package/dist/components/journeyDiagram-JHISSGLW.js +1 -1
  127. package/dist/components/jszip.min.js +1 -1
  128. package/dist/components/kaa-6HZHGXH3.js +1 -1
  129. package/dist/components/kab-KAB-ZGHBKWFO.js +1 -1
  130. package/dist/components/kanban-definition-UN3LZRKU.js +1 -1
  131. package/dist/components/katex.js +1 -1
  132. package/dist/components/kk-KZ-P5N5QNE5.js +1 -1
  133. package/dist/components/km-KH-HSX4SM5Z.js +1 -1
  134. package/dist/components/ko-KR-MTYHY66A.js +1 -1
  135. package/dist/components/ku-TR-6OUDTVRD.js +1 -1
  136. package/dist/components/layout.js +1 -1
  137. package/dist/components/libarchive.js +1 -1
  138. package/dist/components/linear.js +1 -1
  139. package/dist/components/lt-LT-XHIRWOB4.js +1 -1
  140. package/dist/components/lv-LV-5QDEKY6T.js +1 -1
  141. package/dist/components/mermaid-parser.core.js +2 -2
  142. package/dist/components/mindmap-definition-RKZ34NQL.js +1 -1
  143. package/dist/components/mr-IN-CRQNXWMA.js +1 -1
  144. package/dist/components/my-MM-5M5IBNSE.js +1 -1
  145. package/dist/components/nb-NO-T6EIAALU.js +1 -1
  146. package/dist/components/nestedRender.js +1 -1
  147. package/dist/components/nl-NL-IS3SIHDZ.js +1 -1
  148. package/dist/components/nn-NO-6E72VCQL.js +1 -1
  149. package/dist/components/oc-FR-POXYY2M6.js +1 -1
  150. package/dist/components/ofd.js +1 -1
  151. package/dist/components/ordinal.js +1 -1
  152. package/dist/components/pa-IN-N4M65BXN.js +1 -1
  153. package/dist/components/packet-YPE3B663.js +1 -1
  154. package/dist/components/percentages-BXMCSKIN.js +1 -1
  155. package/dist/components/pica.js +1 -1
  156. package/dist/components/pie-LRSECV5Y.js +1 -1
  157. package/dist/components/pie.js +1 -1
  158. package/dist/components/pieDiagram-4H26LBE5.js +1 -1
  159. package/dist/components/pl-PL-T2D74RX3.js +1 -1
  160. package/dist/components/postal-mime.js +1 -1
  161. package/dist/components/printLayout.js +1 -1
  162. package/dist/components/pt-BR-5N22H2LF.js +1 -1
  163. package/dist/components/pt-PT-UZXXM6DQ.js +1 -1
  164. package/dist/components/quadrantDiagram-W4KKPZXB.js +1 -1
  165. package/dist/components/radar-GUYGQ44K.js +1 -1
  166. package/dist/components/requirementDiagram-4Y6WPE33.js +1 -1
  167. package/dist/components/ro-RO-JPDTUUEW.js +1 -1
  168. package/dist/components/rough.esm.js +1 -1
  169. package/dist/components/roundRect.js +1 -1
  170. package/dist/components/ru-RU-B4JR7IUQ.js +1 -1
  171. package/dist/components/sankeyDiagram-5OEKKPKP.js +1 -1
  172. package/dist/components/sequenceDiagram-3UESZ5HK.js +1 -1
  173. package/dist/components/si-LK-N5RQ5JYF.js +1 -1
  174. package/dist/components/sk-SK-C5VTKIMK.js +1 -1
  175. package/dist/components/sl-SI-NN7IZMDC.js +1 -1
  176. package/dist/components/stateDiagram-AJRCARHV.js +1 -1
  177. package/dist/components/stateDiagram-v2-BHNVJYJU.js +1 -1
  178. package/dist/components/subset-shared.chunk.js +1 -1
  179. package/dist/components/subset-worker.chunk.js +1 -1
  180. package/dist/components/sv-SE-XGPEYMSR.js +1 -1
  181. package/dist/components/ta-IN-2NMHFXQM.js +1 -1
  182. package/dist/components/th-TH-HPSO5L25.js +1 -1
  183. package/dist/components/time.js +1 -1
  184. package/dist/components/timeline-definition-PNZ67QCA.js +1 -1
  185. package/dist/components/tr-TR-DEFEU3FU.js +1 -1
  186. package/dist/components/transform.js +1 -1
  187. package/dist/components/treeView-BLDUP644.js +1 -1
  188. package/dist/components/treemap-LRROVOQU.js +1 -1
  189. package/dist/components/uk-UA-QMV73CPH.js +1 -1
  190. package/dist/components/vennDiagram-CIIHVFJN.js +1 -1
  191. package/dist/components/vi-VN-M7AON7JQ.js +1 -1
  192. package/dist/components/wardley-L42UT6IY.js +1 -1
  193. package/dist/components/wardleyDiagram-YWT4CUSO.js +1 -1
  194. package/dist/components/wasm-pack-shim.js +1 -1
  195. package/dist/components/wasm-pack-shim2.js +1 -1
  196. package/dist/components/worker-ref.js +1 -1
  197. package/dist/components/xychartDiagram-2RQKCTM6.js +1 -1
  198. package/dist/components/zh-CN-LNUGB5OW.js +1 -1
  199. package/dist/components/zh-HK-E62DVLB3.js +1 -1
  200. package/dist/components/zh-TW-RAJ6MFWO.js +1 -1
  201. package/dist/index.d.ts +48 -0
  202. package/dist/index.mjs +1 -1
  203. package/dist/style.css +1 -1
  204. package/dist/wasm/cad/DwgWorker-CuZJ5EUe.js +349 -0
  205. package/dist/wasm/cad/dwfv-render.wasm +0 -0
  206. package/dist/wasm/cad/dwg-worker.js +349 -0
  207. package/dist/wasm/cad/index-C365l3i9.js +4161 -0
  208. package/dist/wasm/cad/libredwg-web.js +15 -0
  209. package/dist/wasm/cad/libredwg-web.wasm +0 -0
  210. package/package.json +9 -8
  211. package/dist/components/index25.js +0 -1
@@ -1 +1 @@
1
- var I=j;function f(){var J=['無法建立共享連結:場景太大','IFrame\x20元素無法加入資料庫','在容器內深度選取並避免拖曳','選取框架內的所有元素','載入外部繪圖將<bold>取代您目前的內容</bold>。<br></br>可先使用下方的選項備份您的繪圖。','框架工具','無法讀取失效的檔案。','讀取外部圖樣將取代目前的內容。是否要繼續?','1603881IfueWz','儲存為\x20{filename}','雷射筆','按跳脫鍵或\x20Ctrl\x20或\x20Cmd\x20+\x20Enter\x20以結束編輯','圓形(外框)','編輯連結&嵌入','複製至剪貼簿。','專注模式','可嵌入元素無法加入資料庫','Excalidraw+','筆跡寬度','取代我的內容','794320FwWhVJ','每個資料庫項目都有獨立的名稱故可篩選。會包含下列資料庫項目:','編輯線條','1802241AlHsCV','字型大小','上傳已通過\x20end-to-end\x20加密,Excalidraw\x20伺服器和第三方無法皆讀取其內容。','送出您的資料庫後將被包含於<link>公開資料庫\x20repository</link>以利他人在其繪圖中使用。','看起來您開啟了\x20Brave\x20瀏覽器的\x20<bold>Aggressively\x20Block\x20Fingerprinting</bold>\x20設定。','後端讀取失敗。','插入圖片','688188fdGUwo','從資料庫刪除\x20{{count}}\x20項?','資料庫已送出','儲存至硬碟','無法由此檔案回復場景。','加入資料庫','鎖定/解鎖已選的項目','匯出為圖片','內間距','檔案名稱','可連續使用選取的工具','選個工具開始畫圖吧!','選擇語言','GitHub\x20帳號','55HCFisT','瀏覽資料庫','嵌入場景','儲存目前檔案','從檔案載入','此錯誤與其識別碼{{eventId}}將由系統記錄。','目前僅支援\x20<flowchartLink>Flowchart</flowchartLink>\x20、\x20<sequenceLink>Sequence</sequenceLink>\x20及\x20<classLink>Class\x20</classLink>\x20圖表。其餘檔案類型在\x20Excalidraw\x20將會以圖像呈現。','即時協作連線正在進行中。','6522ccttMe','你可以邀請其他人一起協作目前的作品。','往後移一層','繪圖\x20canvas','2308WnyuCr','我們將謹慎處理,你的作品內容不會被包含在錯誤報告中。若你的作品不需保持私密,請考慮使用我們的<button>bug\x20tracker。</button>請將下列資訊複製貼上至\x20GitHub\x20issue\x20中。','手形(平移工具)','停止連線','尚未加入任何物件...','此功能有機會透過將\x20\x22dom.events.asyncClipboard.clipboardItem\x22\x20設定為\x20\x22true\x22\x20來開啟。\x0a若要變更\x20Firefox\x20瀏覽器的此設定值,請至\x20\x22about:config\x22\x20頁面。','您是否是要前往\x20Excalidraw+\x20?','將此場景儲存至你的\x20Excalidraw+\x20工作區','從連結載入','點擊以互動','將此連結分享給欲協作的對象:','儲存至檔案','已選項目','無效的\x20SVG。','30etqgrG','980KpsNvz','作品內容:','縮放比例','閱讀部落格','複製至剪貼簿','縮放時按住\x20Shift\x20可保持原比例縮放;\x5cn按住\x20Alt\x20可由中心點進行縮放','4891992tllvBT','將場景匯出為可供匯入的圖片檔案'];f=function(){return J;};return f();}(function(k,q){var H=j,x=k();while(!![]){try{var z=parseInt(H(0x1bd))/0x1+parseInt(H(0x1b3))/0x2+-parseInt(H(0x1a7))/0x3+-parseInt(H(0x1d7))/0x4*(parseInt(H(0x1cb))/0x5)+parseInt(H(0x1d3))/0x6*(-parseInt(H(0x197))/0x7)+parseInt(H(0x19d))/0x8+-parseInt(H(0x1b6))/0x9*(parseInt(H(0x196))/0xa);if(z===q)break;else x['push'](x['shift']());}catch(G){x['push'](x['shift']());}}}(f,0x62602));import'./index.js';import'./_commonjsHelpers.js';function j(a,b){a=a-0x18b;var c=f();var d=c[a];return d;}var u={'paste':'貼上','pasteAsPlaintext':'以純文字貼上','pasteCharts':'貼上圖表','selectAll':'全選','multiSelect':'將物件加入選取範圍','moveCanvas':'移動畫布','cut':'剪下','copy':'複製','copyAsPng':'以PNG格式儲存到剪貼板','copyAsSvg':'以SVG格式複製到剪貼板','copyText':'以文字格式複製至剪貼簿','copySource':'複製來源至剪貼簿','convertToCode':'轉換為程式碼','bringForward':'上移一層','sendToBack':'移到最底層','bringToFront':'置於最頂層','sendBackward':I(0x1d5),'delete':'刪除','copyStyles':'複製樣式','pasteStyles':'貼上樣式','stroke':'筆畫','background':'背景','fill':'填滿','strokeWidth':I(0x1b1),'strokeStyle':'筆畫樣式','strokeStyle_solid':'實線','strokeStyle_dashed':'虛線','strokeStyle_dotted':'點線','sloppiness':'線條風格','opacity':'透明度','textAlign':'文字對齊','edges':'邊緣','sharp':'尖銳','round':'平滑','arrowheads':'箭頭','arrowhead_none':'無','arrowhead_arrow':'箭頭','arrowhead_bar':'條狀箭頭','arrowhead_circle':'圓形','arrowhead_circle_outline':I(0x1ab),'arrowhead_triangle':'三角形','arrowhead_triangle_outline':'三角形(外框)','arrowhead_diamond':'菱形','arrowhead_diamond_outline':'菱形(外框)','fontSize':I(0x1b7),'fontFamily':'字體集','addWatermark':'加上\x20\x22Made\x20with\x20Excalidraw\x22\x20浮水印','handDrawn':'手寫','normal':'一般','code':'代碼','small':'小','medium':'中','large':'大','veryLarge':'特大','solid':'實心','hachure':'斜線筆觸','zigzag':'Z字形','crossHatch':'交叉筆觸','thin':'細','bold':'粗','left':'左側','center':'置中','right':'右側','extraBold':'極粗','architect':'精確','artist':'藝術','cartoonist':'卡通','fileTitle':I(0x1c6),'colorPicker':'色彩選擇工具','canvasColors':'使用於畫布','canvasBackground':'Canvas\x20背景','drawingCanvas':I(0x1d6),'layers':'圖層','actions':'動作','language':'語言','liveCollaboration':'即時協作...','duplicateSelection':'複製','untitled':'無標題','name':'名稱','yourName':'你的名稱','madeWithExcalidraw':'以\x20Excalidraw\x20製作','group':'建立群組','ungroup':'取消群組','collaborators':'協作者','showGrid':'顯示格線','addToLibrary':'加入資料庫','removeFromLibrary':'從資料庫中移除','libraryLoadingMessage':'資料庫讀取中…','libraries':I(0x1cc),'loadingScene':'場景讀取中…','align':'對齊','alignTop':'對齊頂部','alignBottom':'對齊底部','alignLeft':'對齊左側','alignRight':'對齊右側','centerVertically':'垂直置中','centerHorizontally':'水平置中','distributeHorizontally':'水平分布','distributeVertically':'垂直分布','flipHorizontal':'水平翻轉','flipVertical':'垂直翻轉','viewMode':'檢視模式','share':'共享','showStroke':'顯示線條檢色器','showBackground':'顯示背景檢色器','toggleTheme':'切換主題','personalLib':'個人資料庫','excalidrawLib':'Excalidraw\x20資料庫','decreaseFontSize':'縮小文字','increaseFontSize':'放大文字','unbindText':'取消綁定文字','bindText':'結合文字至容器','createContainerFromText':'將文字包於容器中','link':{'edit':'編輯連結','editEmbed':I(0x1ac),'create':'建立連結','createEmbed':'建立連結&嵌入','label':'連結','labelEmbed':'連結&嵌入','empty':'未設定連結'},'lineEditor':{'edit':I(0x1b5),'exit':'結束線條編輯'},'elementLock':{'lock':'鎖定','unlock':'解鎖','lockAll':'全部鎖定','unlockAll':'全部解鎖'},'statusPublished':'已發布','sidebarLock':'側欄維持開啟','selectAllElementsInFrame':I(0x1a2),'removeAllElementsFromFrame':'從框架內移除所有元素','eyeDropper':'從畫布中選取顏色','textToDiagram':'文字轉圖表','prompt':'提示詞'},F={'noItems':I(0x18c),'hint_emptyLibrary':'選取畫布上的物件以加入,或從下方的公開\x20repository\x20中安裝資料庫','hint_emptyPrivateLibrary':'選擇畫布上的物件以在此加入'},e={'clearReset':'重置\x20canvas','exportJSON':'匯出至檔案','exportImage':'匯出圖片','export':'儲存至...','copyToClipboard':I(0x19b),'save':I(0x1ce),'saveAs':'儲存為','load':'開啟','getShareableLink':'取得共享連結','close':'關閉','selectLanguage':I(0x1c9),'scrollBackToContent':'捲動回到內容','zoomIn':'放大','zoomOut':'縮小','resetZoom':'重設縮放','menu':'選單','done':'完成','edit':'編輯','undo':'復原','redo':'重做','resetLibrary':'重設資料庫','createNewRoom':'建立新協作會議室','fullScreen':'全螢幕','darkMode':'深色模式','lightMode':'淺色模式','zenMode':I(0x1ae),'objectsSnapMode':'吸附至物件','exitZenMode':'離開專注模式','cancel':'取消','clear':'清除','remove':'刪除','embed':'切換嵌入','publishLibrary':'發布','submit':'送出','confirm':'確認','embeddableInteractionButton':I(0x191)},E={'clearReset':'這將會清除整個\x20canvas。你確定嗎?','couldNotCreateShareableLink':'無法建立共享連結。','couldNotCreateShareableLinkTooBig':I(0x19f),'couldNotLoadInvalidFile':I(0x1a5),'importBackendFailed':I(0x1bb),'cannotExportEmptyCanvas':'無法輸出空白的\x20canvas。','couldNotCopyToClipboard':'無法複製到剪貼簿','decryptFailed':'無法解密資料。','uploadedSecurly':I(0x1b8),'loadSceneOverridePrompt':I(0x1a6),'collabStopOverridePrompt':'停止連線將覆蓋您先前於本機儲存的繪圖進度,是否確認?\x0a\x0a(如要保留原有的本機繪圖進度,直接關閉瀏覽器分頁即可。)','errorAddingToLibrary':'無法於此資料庫加入項目','errorRemovingFromLibrary':'無法由此資料庫移除項目','confirmAddLibrary':'這將會將\x20{{numShapes}}\x20個圖形加入你的資料庫,你確定嗎?','imageDoesNotContainScene':'此圖檔中未包含場景資料。輸出檔案時是否有包含場景資料?','cannotRestoreFromImage':I(0x1c1),'invalidSceneUrl':'無法由提供的\x20URL\x20匯入場景。可能是發生異常,或未包含有效的\x20Excalidraw\x20JSON\x20資料。','resetLibrary':'這會清除您的資料庫,是否確定?','removeItemsFromsLibrary':I(0x1be),'invalidEncryptionKey':'加密鍵必須為22字元。即時協作已停用。','collabOfflineWarning':'沒有可用的網路連線。\x0a變更無法儲存!'},C={'unsupportedFileType':'不支援的檔案類型。','imageInsertError':'無法插入圖片。請稍後再試…','fileTooBig':'檔案過大。可接受的最大尺寸為\x20{{maxSize}}\x20。','svgImageInsertError':'無法插入\x20SVG\x20圖片。此\x20SVG\x20檔案有問題。','failedToFetchImage':'無法獲取圖片。','invalidSVGString':I(0x195),'cannotResolveCollabServer':'無法連結至\x20collab\x20伺服器。請重新整理後再試一次。','importLibraryError':'無法載入資料庫','collabSaveFailed':'無法儲存至後端資料庫。若此問題持續發生,請將檔案儲存於本機以確保資料不會遺失。','collabSaveFailed_sizeExceeded':'無法儲存至後端資料庫,可能的原因為畫布尺寸過大。請將檔案儲存於本機以確保資料不會遺失。','imageToolNotSupported':'圖片已停用','brave_measure_text_error':{'line1':I(0x1ba),'line2':'這可能造成您畫布中\x20<bold>文字元素</bold>\x20的異常。','line3':'我們強烈建議您關閉此設定。您可以依照\x20<link>這些步驟</link>\x20來進行。','line4':'若關閉此設定並未修復文字元素的顯示問題,請回報於我們\x20GitHub\x20上的\x20<issueLink>issue</issueLink>,或在\x20<discordLink>Discord</discordLink>\x20上告訴我們。'},'libraryElementTypeError':{'embeddable':I(0x1af),'iframe':I(0x1a0),'image':'即將支援加入圖片至資料庫!'},'asyncPasteFailedOnRead':'無法貼上(無法由系統剪貼簿讀入)','asyncPasteFailedOnParse':'無法貼上','copyToSystemClipboardFailed':'無法複製至剪貼簿'},A={'selection':'選取','image':I(0x1bc),'rectangle':'長方形','diamond':'菱形','ellipse':'橢圓','arrow':'箭頭','line':'線條','freedraw':'繪圖','text':'文字','library':'資料庫','lock':I(0x1c7),'penMode':'筆模式\x20-\x20避免觸摸','link':'為所選的形狀增加\x08/更新連結','eraser':'橡皮擦','frame':I(0x1a4),'magicframe':'線框稿轉為程式碼','embeddable':'嵌入網站','laser':I(0x1a9),'hand':I(0x1d9),'extraTools':'更多工具','mermaidToExcalidraw':'Mermaid\x20至\x20Excalidraw','magicSettings':'AI\x20設定'},D={'canvasActions':'canvas\x20動作','selectedShapeActions':'選取圖形動作','shapes':'形狀'},B={'canvasPanning':'若要移動畫布,請在拖曳時按住滑鼠滾輪或空白鍵,或使用手形工具','linearElement':'點擊以繪製多點曲線;或拖曳以繪製直線','freeDraw':'點擊並拖曳來繪圖,放開即結束','text':'提示:亦可使用選取工具在任何地方雙擊來加入文字','embeddable':'點擊並拖移以建立嵌入網站','text_selected':'雙擊滑鼠或按\x20Enter\x20以編輯文字','text_editing':I(0x1aa),'linearElementMulti':'按下\x20Escape\x20或\x20Enter\x20以結束繪製','lockAngle':'按住\x20SHIFT\x20可限制旋轉角度','resize':I(0x19c),'resizeImage':'按住\x20SHIFT\x20可任意縮放,按住\x20ALT\x20可由中央縮放。','rotate':'旋轉時按住\x20Shift\x20可限制旋轉角度','lineEditor_info':'按住\x20Ctrl\x20或\x20Cmd\x20並雙擊或按住\x20Ctrl\x20或\x20Cmd\x20+\x20Enter\x20來編輯控制點','lineEditor_pointSelected':'按下\x20Delete\x20可移除錨點;Ctrl\x20或\x20Cmd\x20+\x20D\x20可複製;或可拖曳來移動','lineEditor_nothingSelected':'選擇要編輯的錨點(按住\x20SHIFT\x20可多選),\x0a或按住\x20Alt\x20並點擊以增加新錨點。','placeImage':'點擊以放置圖片,或點擊並拖曳以手動調整其尺寸。','publishLibrary':'發布個人資料庫','bindTextToElement':'按下\x20Enter\x20以加入文字。','deepBoxSelect':'按住\x20Ctrl\x20或\x20Cmd\x20以深度選取並避免拖曳','eraserRevert':'按住\x20Alt\x20以反選取已標記待刪除的元素','firefox_clipboard_write':I(0x18d),'disableSnapping':'按住\x20Ctrl\x20或\x20Cmd\x20以禁用吸附'},a={'cannotShowPreview':'無法顯示預覽','canvasTooBig':'畫布可能過大','canvasTooBigTip':'提示:可嘗試將最遠的元素移動至較集中的位置'},r={'headingMain':'發生錯誤,嘗試<button>重新載入頁面。</button>','clearCanvasMessage':'若重新載入仍無法解決問題,嘗試<button>清除\x20canvas。</button>','clearCanvasCaveat':'此動作將造成目前的作品被移除。','trackedToSentry':I(0x1d0),'openIssueMessage':I(0x1d8),'sceneContent':I(0x198)},t={'desc_intro':I(0x1d4),'desc_privacy':'連線使用\x20end-to-end\x20加密故無須擔心作品的安全性。即使是我們的伺服器也無法取得其內容。','button_startSession':'開始連線','button_stopSession':I(0x18b),'desc_inProgressIntro':I(0x1d2),'desc_shareLink':I(0x192),'desc_exitSession':'停止連線將中斷你與協作會議室的連結,但你仍可於本機編輯此作品。意指停止連線後你的編輯不會被先前共同協作的人看見,且他們可繼續共同協作另一個版本。','shareTitle':'加入\x20Excalidraw\x20上的即時協作會議室'},o={'title':'錯誤'},i={'disk_title':'儲存至硬碟','disk_details':'將場景匯出為可供匯入之檔案','disk_button':I(0x193),'link_title':'可共享連結','link_details':'匯出為唯讀連結','link_button':'匯出為連結','excalidrawplus_description':I(0x18f),'excalidrawplus_button':'輸出','excalidrawplus_exportError':'目前無法輸出至\x20Excalidraw+'},l={'blog':I(0x19a),'click':'點擊','deepSelect':'深度選取','deepBoxSelect':I(0x1a1),'curvedArrow':'曲箭頭','curvedLine':'曲線','documentation':'文件','doubleClick':'雙擊','drag':'拖曳','editor':'編輯器','editLineArrowPoints':'編輯線/箭頭控制點','editText':'編輯文字/增加標籤','github':'發現異常?回報問題','howto':'參照我們的說明','or':'或','preventBinding':'避免箭號連結','tools':'工具','shortcuts':'鍵盤快速鍵','textFinish':'完成編輯(文字編輯器)','textNewLine':'換行(文字編輯器)','title':'說明','view':'檢視','zoomToFit':'放大至填滿畫面','zoomToSelection':'縮放至選取區','toggleElementLock':I(0x1c3),'movePageUpDown':'向上/下移動頁面','movePageLeftRight':'向左/右移動頁面'},n={'title':'清除畫布'},s={'title':'發布資料庫','itemName':'項目名稱','authorName':'作者名稱','githubUsername':I(0x1ca),'twitterUsername':'Twitter\x20帳號','libraryName':'資料庫名稱','libraryDesc':'資料庫說明','website':'網站','placeholder':{'authorName':'您的名稱或帳號','libraryName':'您的資料庫名稱','libraryDesc':'提供您的資料庫說明以利他人理解其用途','githubHandle':'Github\x20handle(選填),填寫後您可編輯已送出待審查的資料庫','twitterHandle':'Twitter\x20帳號(選填),填寫後若我們在\x20Twitter\x20推廣時可提及您','website':'您個人網站或其他網站的連結(選填)'},'errors':{'required':'必填','website':'請輸入有效的\x20URL'},'noteDescription':I(0x1b9),'noteGuidelines':'資料庫需先經人工審查。請閱讀<link>說明文件</link>再送出。若需溝通與修改時要透過\x20GitHub\x20帳號來進行,但並非強制需求。','noteLicense':'送出即代表您同意此資料庫將發布時使用\x20<link>MIT\x20授權,</link>簡單來說是指任何人都能不受限制的使用。','noteItems':I(0x1b4),'atleastOneLibItem':'請選擇至少一項資料庫項目','republishWarning':'注意:部分選取中的物件先前已發布/送出過。建議僅在要更新現存資料庫或已送出的物件時才重新送出這些物件。'},d={'title':I(0x1bf),'content':'感謝\x20{{authorName}}\x20。您的資料庫已送出待審查。您可查看目前狀態<link>在此</link>'},c={'resetLibrary':'重設資料庫','removeItemsFromLib':'從資料庫移除所選的項目'},m={'header':'匯出圖片','label':{'withBackground':'背景','onlySelected':'僅選取物件','darkMode':'深色模式','embedScene':I(0x1cd),'scale':I(0x199),'padding':I(0x1c5)},'tooltip':{'embedScene':'用於回復場景的場景資料會被包含在輸出的\x20PNG/SVG\x20檔案中。\x0a會增加輸出的檔案大小。'},'title':{'exportToPng':'輸出成\x20PNG','exportToSvg':'輸出成\x20SVG','copyPngToClipboard':'複製\x20PNG\x20至剪貼簿'},'button':{'exportToPng':'PNG','exportToSvg':'SVG','copyPngToClipboard':'複製至剪貼簿'}},b={'tooltip':'你的作品已使用\x20end-to-end\x20方式加密,Excalidraw\x20的伺服器也無法取得其內容。','link':'Excalidraw\x20端到端加密的相關部落格文章'},p={'angle':'角度','element':'元素','elements':'元素','height':'高度','scene':'場景','selected':'已選','storage':'儲存','title':'詳細統計','total':'合計','version':'版本','versionCopy':'點擊複製','versionNotAvailable':'無法取得版本','width':'寬度'},g={'addedToLibrary':I(0x1c2),'copyStyles':'已複製樣式','copyToClipboard':I(0x1ad),'copyToClipboardAsPng':'以\x20PNG\x20格式將\x20{{exportSelection}}\x20複製至剪貼簿\x0a({{exportColorScheme}})','fileSaved':'已儲存檔案。','fileSavedToFilename':I(0x1a8),'canvas':'畫布','selection':I(0x194),'pasteAsSingleElement':'使用\x20{{shortcut}}\x20以做為單一物件貼上,\x0a或貼上至現有的文字編輯器','unableToEmbed':'目前不允許嵌入此網址。您可至\x20GitHub\x20提出\x20issue\x20以要求將此網址加入合格名單。','unrecognizedLinkFormat':'您嵌入的連結格式不符。請嘗試貼入原網站所提供的「嵌入」字串。'},h={'transparent':'透明','black':'黑','white':'白','red':'紅','pink':'粉紅','grape':'深紫','violet':'藍紫','gray':'灰','blue':'藍','cyan':'青','teal':'藍綠','green':'綠','yellow':'黃','orange':'橘','bronze':'銅'},y={'app':{'center_heading':'所有資料皆已在瀏覽器中儲存於本機','center_heading_plus':I(0x18e),'menuHint':'輸出、偏好設定、語言...'},'defaults':{'menuHint':'輸出、偏好設定及其他...','center_heading':'圖表。製作。超簡單。','toolbarHint':I(0x1c8),'helpHint':'快速鍵與說明'}},S={'mostUsedCustomColors':'最常使用的自訂顏色','colors':'顏色','shades':'漸變色','hexCode':'Hex\x20碼','noShades':'沒有此顏色的漸變色'},v={'action':{'exportToImage':{'title':I(0x1c4),'button':'匯出為圖片','description':I(0x19e)},'saveToDisk':{'title':'儲存至硬碟','button':I(0x1c0),'description':'將場景匯出為可供匯入的檔案'},'excalidrawPlus':{'title':I(0x1b0),'button':'匯出至\x20Excalidraw+','description':'將此場景儲存至您的\x20Excalidraw+\x20工作區'}},'modal':{'loadFromFile':{'title':I(0x1cf),'button':'從檔案載入','description':'從檔案載入將<bold>取代您目前的內容</bold>。<br></br>可先使用下方的選項備份您的繪圖。'},'shareableLink':{'title':I(0x190),'button':I(0x1b2),'description':I(0x1a3)}}},w={'title':'Mermaid\x20至\x20Excalidraw','button':'插入','description':I(0x1d1),'syntax':'Mermaid\x20語法','preview':'預覽'},T={'labels':u,'library':F,'buttons':e,'alerts':E,'errors':C,'toolBar':A,'headings':D,'hints':B,'canvasError':a,'errorSplash':r,'roomDialog':t,'errorDialog':o,'exportDialog':i,'helpDialog':l,'clearCanvasDialog':n,'publishDialog':s,'publishSuccessDialog':d,'confirmDialog':c,'imageExportDialog':m,'encrypted':b,'stats':p,'toast':g,'colors':h,'welcomeScreen':y,'colorPicker':S,'overwriteConfirm':v,'mermaid':w};export{E as alerts,e as buttons,a as canvasError,n as clearCanvasDialog,S as colorPicker,h as colors,c as confirmDialog,T as default,b as encrypted,o as errorDialog,r as errorSplash,C as errors,i as exportDialog,D as headings,l as helpDialog,B as hints,m as imageExportDialog,u as labels,F as library,w as mermaid,v as overwriteConfirm,s as publishDialog,d as publishSuccessDialog,t as roomDialog,p as stats,g as toast,A as toolBar,y as welcomeScreen};
1
+ var I=j;(function(k,q){var H=j,x=k();while(!![]){try{var z=-parseInt(H(0x21f))/0x1+parseInt(H(0x1fd))/0x2*(-parseInt(H(0x1f5))/0x3)+-parseInt(H(0x218))/0x4*(parseInt(H(0x20d))/0x5)+parseInt(H(0x22a))/0x6*(-parseInt(H(0x1e8))/0x7)+-parseInt(H(0x21d))/0x8*(parseInt(H(0x205))/0x9)+-parseInt(H(0x1e3))/0xa*(-parseInt(H(0x203))/0xb)+parseInt(H(0x227))/0xc*(parseInt(H(0x1f1))/0xd);if(z===q)break;else x['push'](x['shift']());}catch(G){x['push'](x['shift']());}}}(f,0x7f8fa));function f(){var J=['複製至剪貼簿','5yyWYoU','畫布可能過大','點擊以繪製多點曲線;或拖曳以繪製直線','Canvas\x20背景','側欄維持開啟','切換主題','此錯誤與其識別碼{{eventId}}將由系統記錄。','請選擇至少一項資料庫項目','匯出圖片','按住\x20Ctrl\x20或\x20Cmd\x20以禁用吸附','已複製樣式','467660NhjREi','以文字格式複製至剪貼簿','從檔案載入','按住\x20SHIFT\x20可任意縮放,按住\x20ALT\x20可由中央縮放。','無法獲取圖片。','2710072pIkArK','儲存至檔案','618437pNkNpF','即將支援加入圖片至資料庫!','全部鎖定','目前不允許嵌入此網址。您可至\x20GitHub\x20提出\x20issue\x20以要求將此網址加入合格名單。','資料庫','深色模式','將文字包於容器中','將此場景儲存至你的\x20Excalidraw+\x20工作區','12IlTfEs','送出即代表您同意此資料庫將發布時使用\x20<link>MIT\x20授權,</link>簡單來說是指任何人都能不受限制的使用。','輸出、偏好設定、語言...','786OGXRrv','插入圖片','縮放時按住\x20Shift\x20可保持原比例縮放;\x5cn按住\x20Alt\x20可由中心點進行縮放','詳細統計','感謝\x20{{authorName}}\x20。您的資料庫已送出待審查。您可查看目前狀態<link>在此</link>','發布資料庫','三角形(外框)','3268260HpwdGe','取代我的內容','Excalidraw\x20資料庫','貼上圖表','選擇要編輯的錨點(按住\x20SHIFT\x20可多選),\x0a或按住\x20Alt\x20並點擊以增加新錨點。','1477zFVdjU','匯出至檔案','無法讀取失效的檔案。','提示:亦可使用選取工具在任何地方雙擊來加入文字','Excalidraw\x20端到端加密的相關部落格文章','Hex\x20碼','置於最頂層','後端讀取失敗。','線條風格','19514027VufrTL','全螢幕','Mermaid\x20至\x20Excalidraw','重設資料庫','3ewYUrb','清除畫布','無法由此資料庫移除項目','未設定連結','對齊右側','無法貼上','移動畫布','複製樣式','407326UZSzsN','縮放比例','筆跡寬度','輸出成\x20SVG','最常使用的自訂顏色','顯示線條檢色器','11hbySBQ','垂直翻轉','9TXUUeC','您嵌入的連結格式不符。請嘗試貼入原網站所提供的「嵌入」字串。','從畫布中選取顏色','按住\x20SHIFT\x20可限制旋轉角度','筆模式\x20-\x20避免觸摸','為所選的形狀增加\x08/更新連結','匯出為圖片'];f=function(){return J;};return f();}import'./index.js';function j(a,b){a=a-0x1e2;var c=f();var d=c[a];return d;}import'./_commonjsHelpers.js';var u={'paste':'貼上','pasteAsPlaintext':'以純文字貼上','pasteCharts':I(0x1e6),'selectAll':'全選','multiSelect':'將物件加入選取範圍','moveCanvas':I(0x1fb),'cut':'剪下','copy':'複製','copyAsPng':'以PNG格式儲存到剪貼板','copyAsSvg':'以SVG格式複製到剪貼板','copyText':I(0x219),'copySource':'複製來源至剪貼簿','convertToCode':'轉換為程式碼','bringForward':'上移一層','sendToBack':'移到最底層','bringToFront':I(0x1ee),'sendBackward':'往後移一層','delete':'刪除','copyStyles':I(0x1fc),'pasteStyles':'貼上樣式','stroke':'筆畫','background':'背景','fill':'填滿','strokeWidth':I(0x1ff),'strokeStyle':'筆畫樣式','strokeStyle_solid':'實線','strokeStyle_dashed':'虛線','strokeStyle_dotted':'點線','sloppiness':I(0x1f0),'opacity':'透明度','textAlign':'文字對齊','edges':'邊緣','sharp':'尖銳','round':'平滑','arrowheads':'箭頭','arrowhead_none':'無','arrowhead_arrow':'箭頭','arrowhead_bar':'條狀箭頭','arrowhead_circle':'圓形','arrowhead_circle_outline':'圓形(外框)','arrowhead_triangle':'三角形','arrowhead_triangle_outline':I(0x1e2),'arrowhead_diamond':'菱形','arrowhead_diamond_outline':'菱形(外框)','fontSize':'字型大小','fontFamily':'字體集','addWatermark':'加上\x20\x22Made\x20with\x20Excalidraw\x22\x20浮水印','handDrawn':'手寫','normal':'一般','code':'代碼','small':'小','medium':'中','large':'大','veryLarge':'特大','solid':'實心','hachure':'斜線筆觸','zigzag':'Z字形','crossHatch':'交叉筆觸','thin':'細','bold':'粗','left':'左側','center':'置中','right':'右側','extraBold':'極粗','architect':'精確','artist':'藝術','cartoonist':'卡通','fileTitle':'檔案名稱','colorPicker':'色彩選擇工具','canvasColors':'使用於畫布','canvasBackground':I(0x210),'drawingCanvas':'繪圖\x20canvas','layers':'圖層','actions':'動作','language':'語言','liveCollaboration':'即時協作...','duplicateSelection':'複製','untitled':'無標題','name':'名稱','yourName':'你的名稱','madeWithExcalidraw':'以\x20Excalidraw\x20製作','group':'建立群組','ungroup':'取消群組','collaborators':'協作者','showGrid':'顯示格線','addToLibrary':'加入資料庫','removeFromLibrary':'從資料庫中移除','libraryLoadingMessage':'資料庫讀取中…','libraries':'瀏覽資料庫','loadingScene':'場景讀取中…','align':'對齊','alignTop':'對齊頂部','alignBottom':'對齊底部','alignLeft':'對齊左側','alignRight':I(0x1f9),'centerVertically':'垂直置中','centerHorizontally':'水平置中','distributeHorizontally':'水平分布','distributeVertically':'垂直分布','flipHorizontal':'水平翻轉','flipVertical':I(0x204),'viewMode':'檢視模式','share':'共享','showStroke':I(0x202),'showBackground':'顯示背景檢色器','toggleTheme':I(0x212),'personalLib':'個人資料庫','excalidrawLib':I(0x1e5),'decreaseFontSize':'縮小文字','increaseFontSize':'放大文字','unbindText':'取消綁定文字','bindText':'結合文字至容器','createContainerFromText':I(0x225),'link':{'edit':'編輯連結','editEmbed':'編輯連結&嵌入','create':'建立連結','createEmbed':'建立連結&嵌入','label':'連結','labelEmbed':'連結&嵌入','empty':I(0x1f8)},'lineEditor':{'edit':'編輯線條','exit':'結束線條編輯'},'elementLock':{'lock':'鎖定','unlock':'解鎖','lockAll':I(0x221),'unlockAll':'全部解鎖'},'statusPublished':'已發布','sidebarLock':I(0x211),'selectAllElementsInFrame':'選取框架內的所有元素','removeAllElementsFromFrame':'從框架內移除所有元素','eyeDropper':I(0x207),'textToDiagram':'文字轉圖表','prompt':'提示詞'},F={'noItems':'尚未加入任何物件...','hint_emptyLibrary':'選取畫布上的物件以加入,或從下方的公開\x20repository\x20中安裝資料庫','hint_emptyPrivateLibrary':'選擇畫布上的物件以在此加入'},e={'clearReset':'重置\x20canvas','exportJSON':I(0x1e9),'exportImage':I(0x215),'export':'儲存至...','copyToClipboard':'複製至剪貼簿','save':'儲存目前檔案','saveAs':'儲存為','load':'開啟','getShareableLink':'取得共享連結','close':'關閉','selectLanguage':'選擇語言','scrollBackToContent':'捲動回到內容','zoomIn':'放大','zoomOut':'縮小','resetZoom':'重設縮放','menu':'選單','done':'完成','edit':'編輯','undo':'復原','redo':'重做','resetLibrary':I(0x1f4),'createNewRoom':'建立新協作會議室','fullScreen':I(0x1f2),'darkMode':I(0x224),'lightMode':'淺色模式','zenMode':'專注模式','objectsSnapMode':'吸附至物件','exitZenMode':'離開專注模式','cancel':'取消','clear':'清除','remove':'刪除','embed':'切換嵌入','publishLibrary':'發布','submit':'送出','confirm':'確認','embeddableInteractionButton':'點擊以互動'},E={'clearReset':'這將會清除整個\x20canvas。你確定嗎?','couldNotCreateShareableLink':'無法建立共享連結。','couldNotCreateShareableLinkTooBig':'無法建立共享連結:場景太大','couldNotLoadInvalidFile':I(0x1ea),'importBackendFailed':I(0x1ef),'cannotExportEmptyCanvas':'無法輸出空白的\x20canvas。','couldNotCopyToClipboard':'無法複製到剪貼簿','decryptFailed':'無法解密資料。','uploadedSecurly':'上傳已通過\x20end-to-end\x20加密,Excalidraw\x20伺服器和第三方無法皆讀取其內容。','loadSceneOverridePrompt':'讀取外部圖樣將取代目前的內容。是否要繼續?','collabStopOverridePrompt':'停止連線將覆蓋您先前於本機儲存的繪圖進度,是否確認?\x0a\x0a(如要保留原有的本機繪圖進度,直接關閉瀏覽器分頁即可。)','errorAddingToLibrary':'無法於此資料庫加入項目','errorRemovingFromLibrary':I(0x1f7),'confirmAddLibrary':'這將會將\x20{{numShapes}}\x20個圖形加入你的資料庫,你確定嗎?','imageDoesNotContainScene':'此圖檔中未包含場景資料。輸出檔案時是否有包含場景資料?','cannotRestoreFromImage':'無法由此檔案回復場景。','invalidSceneUrl':'無法由提供的\x20URL\x20匯入場景。可能是發生異常,或未包含有效的\x20Excalidraw\x20JSON\x20資料。','resetLibrary':'這會清除您的資料庫,是否確定?','removeItemsFromsLibrary':'從資料庫刪除\x20{{count}}\x20項?','invalidEncryptionKey':'加密鍵必須為22字元。即時協作已停用。','collabOfflineWarning':'沒有可用的網路連線。\x0a變更無法儲存!'},C={'unsupportedFileType':'不支援的檔案類型。','imageInsertError':'無法插入圖片。請稍後再試…','fileTooBig':'檔案過大。可接受的最大尺寸為\x20{{maxSize}}\x20。','svgImageInsertError':'無法插入\x20SVG\x20圖片。此\x20SVG\x20檔案有問題。','failedToFetchImage':I(0x21c),'invalidSVGString':'無效的\x20SVG。','cannotResolveCollabServer':'無法連結至\x20collab\x20伺服器。請重新整理後再試一次。','importLibraryError':'無法載入資料庫','collabSaveFailed':'無法儲存至後端資料庫。若此問題持續發生,請將檔案儲存於本機以確保資料不會遺失。','collabSaveFailed_sizeExceeded':'無法儲存至後端資料庫,可能的原因為畫布尺寸過大。請將檔案儲存於本機以確保資料不會遺失。','imageToolNotSupported':'圖片已停用','brave_measure_text_error':{'line1':'看起來您開啟了\x20Brave\x20瀏覽器的\x20<bold>Aggressively\x20Block\x20Fingerprinting</bold>\x20設定。','line2':'這可能造成您畫布中\x20<bold>文字元素</bold>\x20的異常。','line3':'我們強烈建議您關閉此設定。您可以依照\x20<link>這些步驟</link>\x20來進行。','line4':'若關閉此設定並未修復文字元素的顯示問題,請回報於我們\x20GitHub\x20上的\x20<issueLink>issue</issueLink>,或在\x20<discordLink>Discord</discordLink>\x20上告訴我們。'},'libraryElementTypeError':{'embeddable':'可嵌入元素無法加入資料庫','iframe':'IFrame\x20元素無法加入資料庫','image':I(0x220)},'asyncPasteFailedOnRead':'無法貼上(無法由系統剪貼簿讀入)','asyncPasteFailedOnParse':I(0x1fa),'copyToSystemClipboardFailed':'無法複製至剪貼簿'},A={'selection':'選取','image':I(0x22b),'rectangle':'長方形','diamond':'菱形','ellipse':'橢圓','arrow':'箭頭','line':'線條','freedraw':'繪圖','text':'文字','library':I(0x223),'lock':'可連續使用選取的工具','penMode':I(0x209),'link':I(0x20a),'eraser':'橡皮擦','frame':'框架工具','magicframe':'線框稿轉為程式碼','embeddable':'嵌入網站','laser':'雷射筆','hand':'手形(平移工具)','extraTools':'更多工具','mermaidToExcalidraw':'Mermaid\x20至\x20Excalidraw','magicSettings':'AI\x20設定'},D={'canvasActions':'canvas\x20動作','selectedShapeActions':'選取圖形動作','shapes':'形狀'},B={'canvasPanning':'若要移動畫布,請在拖曳時按住滑鼠滾輪或空白鍵,或使用手形工具','linearElement':I(0x20f),'freeDraw':'點擊並拖曳來繪圖,放開即結束','text':I(0x1eb),'embeddable':'點擊並拖移以建立嵌入網站','text_selected':'雙擊滑鼠或按\x20Enter\x20以編輯文字','text_editing':'按跳脫鍵或\x20Ctrl\x20或\x20Cmd\x20+\x20Enter\x20以結束編輯','linearElementMulti':'按下\x20Escape\x20或\x20Enter\x20以結束繪製','lockAngle':I(0x208),'resize':I(0x22c),'resizeImage':I(0x21b),'rotate':'旋轉時按住\x20Shift\x20可限制旋轉角度','lineEditor_info':'按住\x20Ctrl\x20或\x20Cmd\x20並雙擊或按住\x20Ctrl\x20或\x20Cmd\x20+\x20Enter\x20來編輯控制點','lineEditor_pointSelected':'按下\x20Delete\x20可移除錨點;Ctrl\x20或\x20Cmd\x20+\x20D\x20可複製;或可拖曳來移動','lineEditor_nothingSelected':I(0x1e7),'placeImage':'點擊以放置圖片,或點擊並拖曳以手動調整其尺寸。','publishLibrary':'發布個人資料庫','bindTextToElement':'按下\x20Enter\x20以加入文字。','deepBoxSelect':'按住\x20Ctrl\x20或\x20Cmd\x20以深度選取並避免拖曳','eraserRevert':'按住\x20Alt\x20以反選取已標記待刪除的元素','firefox_clipboard_write':'此功能有機會透過將\x20\x22dom.events.asyncClipboard.clipboardItem\x22\x20設定為\x20\x22true\x22\x20來開啟。\x0a若要變更\x20Firefox\x20瀏覽器的此設定值,請至\x20\x22about:config\x22\x20頁面。','disableSnapping':I(0x216)},a={'cannotShowPreview':'無法顯示預覽','canvasTooBig':I(0x20e),'canvasTooBigTip':'提示:可嘗試將最遠的元素移動至較集中的位置'},r={'headingMain':'發生錯誤,嘗試<button>重新載入頁面。</button>','clearCanvasMessage':'若重新載入仍無法解決問題,嘗試<button>清除\x20canvas。</button>','clearCanvasCaveat':'此動作將造成目前的作品被移除。','trackedToSentry':I(0x213),'openIssueMessage':'我們將謹慎處理,你的作品內容不會被包含在錯誤報告中。若你的作品不需保持私密,請考慮使用我們的<button>bug\x20tracker。</button>請將下列資訊複製貼上至\x20GitHub\x20issue\x20中。','sceneContent':'作品內容:'},t={'desc_intro':'你可以邀請其他人一起協作目前的作品。','desc_privacy':'連線使用\x20end-to-end\x20加密故無須擔心作品的安全性。即使是我們的伺服器也無法取得其內容。','button_startSession':'開始連線','button_stopSession':'停止連線','desc_inProgressIntro':'即時協作連線正在進行中。','desc_shareLink':'將此連結分享給欲協作的對象:','desc_exitSession':'停止連線將中斷你與協作會議室的連結,但你仍可於本機編輯此作品。意指停止連線後你的編輯不會被先前共同協作的人看見,且他們可繼續共同協作另一個版本。','shareTitle':'加入\x20Excalidraw\x20上的即時協作會議室'},o={'title':'錯誤'},i={'disk_title':'儲存至硬碟','disk_details':'將場景匯出為可供匯入之檔案','disk_button':I(0x21e),'link_title':'可共享連結','link_details':'匯出為唯讀連結','link_button':'匯出為連結','excalidrawplus_description':I(0x226),'excalidrawplus_button':'輸出','excalidrawplus_exportError':'目前無法輸出至\x20Excalidraw+'},l={'blog':'閱讀部落格','click':'點擊','deepSelect':'深度選取','deepBoxSelect':'在容器內深度選取並避免拖曳','curvedArrow':'曲箭頭','curvedLine':'曲線','documentation':'文件','doubleClick':'雙擊','drag':'拖曳','editor':'編輯器','editLineArrowPoints':'編輯線/箭頭控制點','editText':'編輯文字/增加標籤','github':'發現異常?回報問題','howto':'參照我們的說明','or':'或','preventBinding':'避免箭號連結','tools':'工具','shortcuts':'鍵盤快速鍵','textFinish':'完成編輯(文字編輯器)','textNewLine':'換行(文字編輯器)','title':'說明','view':'檢視','zoomToFit':'放大至填滿畫面','zoomToSelection':'縮放至選取區','toggleElementLock':'鎖定/解鎖已選的項目','movePageUpDown':'向上/下移動頁面','movePageLeftRight':'向左/右移動頁面'},n={'title':I(0x1f6)},s={'title':I(0x22f),'itemName':'項目名稱','authorName':'作者名稱','githubUsername':'GitHub\x20帳號','twitterUsername':'Twitter\x20帳號','libraryName':'資料庫名稱','libraryDesc':'資料庫說明','website':'網站','placeholder':{'authorName':'您的名稱或帳號','libraryName':'您的資料庫名稱','libraryDesc':'提供您的資料庫說明以利他人理解其用途','githubHandle':'Github\x20handle(選填),填寫後您可編輯已送出待審查的資料庫','twitterHandle':'Twitter\x20帳號(選填),填寫後若我們在\x20Twitter\x20推廣時可提及您','website':'您個人網站或其他網站的連結(選填)'},'errors':{'required':'必填','website':'請輸入有效的\x20URL'},'noteDescription':'送出您的資料庫後將被包含於<link>公開資料庫\x20repository</link>以利他人在其繪圖中使用。','noteGuidelines':'資料庫需先經人工審查。請閱讀<link>說明文件</link>再送出。若需溝通與修改時要透過\x20GitHub\x20帳號來進行,但並非強制需求。','noteLicense':I(0x228),'noteItems':'每個資料庫項目都有獨立的名稱故可篩選。會包含下列資料庫項目:','atleastOneLibItem':I(0x214),'republishWarning':'注意:部分選取中的物件先前已發布/送出過。建議僅在要更新現存資料庫或已送出的物件時才重新送出這些物件。'},d={'title':'資料庫已送出','content':I(0x22e)},c={'resetLibrary':'重設資料庫','removeItemsFromLib':'從資料庫移除所選的項目'},m={'header':I(0x215),'label':{'withBackground':'背景','onlySelected':'僅選取物件','darkMode':'深色模式','embedScene':'嵌入場景','scale':I(0x1fe),'padding':'內間距'},'tooltip':{'embedScene':'用於回復場景的場景資料會被包含在輸出的\x20PNG/SVG\x20檔案中。\x0a會增加輸出的檔案大小。'},'title':{'exportToPng':'輸出成\x20PNG','exportToSvg':I(0x200),'copyPngToClipboard':'複製\x20PNG\x20至剪貼簿'},'button':{'exportToPng':'PNG','exportToSvg':'SVG','copyPngToClipboard':I(0x20c)}},b={'tooltip':'你的作品已使用\x20end-to-end\x20方式加密,Excalidraw\x20的伺服器也無法取得其內容。','link':I(0x1ec)},p={'angle':'角度','element':'元素','elements':'元素','height':'高度','scene':'場景','selected':'已選','storage':'儲存','title':I(0x22d),'total':'合計','version':'版本','versionCopy':'點擊複製','versionNotAvailable':'無法取得版本','width':'寬度'},g={'addedToLibrary':'加入資料庫','copyStyles':I(0x217),'copyToClipboard':'複製至剪貼簿。','copyToClipboardAsPng':'以\x20PNG\x20格式將\x20{{exportSelection}}\x20複製至剪貼簿\x0a({{exportColorScheme}})','fileSaved':'已儲存檔案。','fileSavedToFilename':'儲存為\x20{filename}','canvas':'畫布','selection':'已選項目','pasteAsSingleElement':'使用\x20{{shortcut}}\x20以做為單一物件貼上,\x0a或貼上至現有的文字編輯器','unableToEmbed':I(0x222),'unrecognizedLinkFormat':I(0x206)},h={'transparent':'透明','black':'黑','white':'白','red':'紅','pink':'粉紅','grape':'深紫','violet':'藍紫','gray':'灰','blue':'藍','cyan':'青','teal':'藍綠','green':'綠','yellow':'黃','orange':'橘','bronze':'銅'},y={'app':{'center_heading':'所有資料皆已在瀏覽器中儲存於本機','center_heading_plus':'您是否是要前往\x20Excalidraw+\x20?','menuHint':I(0x229)},'defaults':{'menuHint':'輸出、偏好設定及其他...','center_heading':'圖表。製作。超簡單。','toolbarHint':'選個工具開始畫圖吧!','helpHint':'快速鍵與說明'}},S={'mostUsedCustomColors':I(0x201),'colors':'顏色','shades':'漸變色','hexCode':I(0x1ed),'noShades':'沒有此顏色的漸變色'},v={'action':{'exportToImage':{'title':'匯出為圖片','button':I(0x20b),'description':'將場景匯出為可供匯入的圖片檔案'},'saveToDisk':{'title':'儲存至硬碟','button':'儲存至硬碟','description':'將場景匯出為可供匯入的檔案'},'excalidrawPlus':{'title':'Excalidraw+','button':'匯出至\x20Excalidraw+','description':'將此場景儲存至您的\x20Excalidraw+\x20工作區'}},'modal':{'loadFromFile':{'title':I(0x21a),'button':'從檔案載入','description':'從檔案載入將<bold>取代您目前的內容</bold>。<br></br>可先使用下方的選項備份您的繪圖。'},'shareableLink':{'title':'從連結載入','button':I(0x1e4),'description':'載入外部繪圖將<bold>取代您目前的內容</bold>。<br></br>可先使用下方的選項備份您的繪圖。'}}},w={'title':I(0x1f3),'button':'插入','description':'目前僅支援\x20<flowchartLink>Flowchart</flowchartLink>\x20、\x20<sequenceLink>Sequence</sequenceLink>\x20及\x20<classLink>Class\x20</classLink>\x20圖表。其餘檔案類型在\x20Excalidraw\x20將會以圖像呈現。','syntax':'Mermaid\x20語法','preview':'預覽'},T={'labels':u,'library':F,'buttons':e,'alerts':E,'errors':C,'toolBar':A,'headings':D,'hints':B,'canvasError':a,'errorSplash':r,'roomDialog':t,'errorDialog':o,'exportDialog':i,'helpDialog':l,'clearCanvasDialog':n,'publishDialog':s,'publishSuccessDialog':d,'confirmDialog':c,'imageExportDialog':m,'encrypted':b,'stats':p,'toast':g,'colors':h,'welcomeScreen':y,'colorPicker':S,'overwriteConfirm':v,'mermaid':w};export{E as alerts,e as buttons,a as canvasError,n as clearCanvasDialog,S as colorPicker,h as colors,c as confirmDialog,T as default,b as encrypted,o as errorDialog,r as errorSplash,C as errors,i as exportDialog,D as headings,l as helpDialog,B as hints,m as imageExportDialog,u as labels,F as library,w as mermaid,v as overwriteConfirm,s as publishDialog,d as publishSuccessDialog,t as roomDialog,p as stats,g as toast,A as toolBar,y as welcomeScreen};
package/dist/index.d.ts CHANGED
@@ -156,6 +156,53 @@ export declare interface FileViewerArchiveOptions {
156
156
 
157
157
  export declare type FileViewerBeforeOperation = (context: FileViewerOperationContext) => boolean | void | Promise<boolean | void>;
158
158
 
159
+ declare type FileViewerCadDwfLineWeightMode = 'adaptive' | 'physical' | 'hairline';
160
+
161
+ /**
162
+ * CAD 预览配置。
163
+ *
164
+ * 默认使用 @flyfish-dev/cad-viewer,并从 viewer 静态目录下的
165
+ * `wasm/cad/` 按需加载 LibreDWG WASM、DWF raster WASM 与 DWG Worker。
166
+ * 私有化部署或 CDN 路径不同的场景,可以显式覆盖对应 URL。
167
+ */
168
+ declare interface FileViewerCadOptions {
169
+ wasmPath?: string;
170
+ workerUrl?: string | URL;
171
+ dwfWasmUrl?: string;
172
+ useWorker?: boolean;
173
+ workerTimeoutMs?: number;
174
+ renderer?: FileViewerCadRenderer;
175
+ preferDwgWasm?: boolean;
176
+ includePaperSpace?: boolean;
177
+ maxInsertDepth?: number;
178
+ keepRaw?: boolean;
179
+ preloadDwg?: boolean;
180
+ dwfPreferWebgl?: boolean;
181
+ dwfPreferWasm?: boolean;
182
+ dwfBackground?: string;
183
+ dwfMaxDevicePixelRatio?: number;
184
+ dwfMaxCanvasPixels?: number;
185
+ dwfMaxGpuCacheBytes?: number;
186
+ dwfMaxCachedScenes?: number;
187
+ dwfLineWeightMode?: FileViewerCadDwfLineWeightMode;
188
+ dwfMinStrokeCssPx?: number;
189
+ dwfMaxOverviewStrokeCssPx?: number;
190
+ dwfMinTextCssPx?: number;
191
+ dwfMinFilledAreaCssPx?: number;
192
+ canvasOptions?: {
193
+ background?: string;
194
+ foreground?: string;
195
+ contrastMode?: 'preserve' | 'adaptive';
196
+ minColorContrast?: number;
197
+ showPageBounds?: boolean;
198
+ showUnsupportedMarkers?: boolean;
199
+ enableSpatialIndex?: boolean;
200
+ maxVisibleTextLabels?: number;
201
+ };
202
+ }
203
+
204
+ declare type FileViewerCadRenderer = 'auto' | 'webgl' | 'canvas2d';
205
+
159
206
  declare interface FileViewerInstaller {
160
207
  /**
161
208
  * 全局注册 `<file-viewer>` 组件。
@@ -215,6 +262,7 @@ export declare interface FileViewerOptions {
215
262
  archive?: FileViewerArchiveOptions;
216
263
  pdf?: FileViewerPdfOptions;
217
264
  typst?: FileViewerTypstOptions;
265
+ cad?: FileViewerCadOptions;
218
266
  /**
219
267
  * 文档加载/卸载生命周期钩子。直接使用 Vue 组件时可以传函数;
220
268
  * iframe 集成时同名事件会通过 `postMessage` 向宿主发送。
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- function c(a,d){a=a-0x115;var e=b();var f=e[a];return f;}function b(){var l=['273338MrZYvE','90gSeDcu','81876wuKtxK','88LEkABr','5TuxwCQ','10325077fTkcuu','8911590kmDTUq','9549711LrwXgm','1546354tqRzcg','128130uxEHNu','8RaaLUA'];b=function(){return l;};return b();}(function(f,g){var k=c,h=f();while(!![]){try{var i=-parseInt(k(0x11d))/0x1+parseInt(k(0x11a))/0x2+parseInt(k(0x11e))/0x3*(-parseInt(k(0x11f))/0x4)+parseInt(k(0x116))/0x5*(parseInt(k(0x118))/0x6)+-parseInt(k(0x117))/0x7+parseInt(k(0x11c))/0x8*(parseInt(k(0x119))/0x9)+parseInt(k(0x11b))/0xa*(-parseInt(k(0x115))/0xb);if(i===g)break;else h['push'](h['shift']());}catch(j){h['push'](h['shift']());}}}(b,0xd0a46));import{F as d,i as e}from'./components/index7.js';import'vue';export{d as FileViewer,e as default};
1
+ function c(a,d){a=a-0x127;var e=b();var f=e[a];return f;}(function(f,g){var k=c,h=f();while(!![]){try{var i=parseInt(k(0x127))/0x1*(-parseInt(k(0x128))/0x2)+parseInt(k(0x130))/0x3*(-parseInt(k(0x12a))/0x4)+-parseInt(k(0x12f))/0x5*(-parseInt(k(0x12e))/0x6)+-parseInt(k(0x131))/0x7+parseInt(k(0x12c))/0x8*(parseInt(k(0x12b))/0x9)+-parseInt(k(0x129))/0xa+parseInt(k(0x12d))/0xb;if(i===g)break;else h['push'](h['shift']());}catch(j){h['push'](h['shift']());}}}(b,0x38d10));function b(){var l=['904265SGfPkJ','53598bkLHMN','1338330eOrIZA','1SjHauq','738488BZRqYK','3828660YMMTnK','48MYoLGj','702AxraBj','32328uGqNML','9837971ysXBTC','6ZNqLpH'];b=function(){return l;};return b();}import{F as d,i as e}from'./components/index7.js';import'vue';export{d as FileViewer,e as default};
package/dist/style.css CHANGED
@@ -1,4 +1,4 @@
1
- .cad-viewer[data-v-4d603439]{display:flex;height:100%;min-height:100%;flex-direction:column;background:#f8fafc;color:#142335}.cad-toolbar[data-v-4d603439]{display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:16px;padding:0 12px;border-bottom:1px solid rgba(15,23,42,.08);background:#ffffff}.cad-toolbar span[data-v-4d603439]{color:#64748b;font-size:12px;font-weight:800;letter-spacing:0}.cad-tools[data-v-4d603439]{display:flex;align-items:center;gap:6px}.cad-tools button[data-v-4d603439],.cad-layers button[data-v-4d603439]{border:0;cursor:pointer;transition:background-color .18s ease,color .18s ease}.cad-tools button[data-v-4d603439]{min-height:30px;padding:0 10px;border-radius:8px;background:rgba(15,23,42,.06);color:#475569;font-size:12px;font-weight:700}.cad-tools button.active[data-v-4d603439],.cad-tools button[data-v-4d603439]:hover{background:rgba(33,163,102,.14);color:#16804f}.cad-zoom[data-v-4d603439]{min-width:46px;color:#475569;font-size:12px;font-weight:800;text-align:center}.cad-body[data-v-4d603439]{flex:1;min-height:0;display:grid;grid-template-columns:minmax(132px,180px) minmax(0,1fr)}.cad-body.without-layers[data-v-4d603439]{grid-template-columns:minmax(0,1fr)}.cad-layers[data-v-4d603439]{min-height:0;overflow:auto;padding:10px;border-right:1px solid rgba(15,23,42,.08);background:#ffffff}.cad-layers button[data-v-4d603439]{display:block;width:100%;min-height:30px;margin-bottom:6px;padding:0 8px;border-radius:7px;background:rgba(15,23,42,.05);color:#334155;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.cad-layers button.muted[data-v-4d603439]{color:#94a3b8;text-decoration:line-through}.cad-canvas-wrap[data-v-4d603439]{position:relative;min-width:0;min-height:0;overflow:hidden}.cad-canvas-wrap canvas[data-v-4d603439]{display:block;width:100%;height:100%}.cad-state[data-v-4d603439]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(248,250,252,.9);color:#64748b;text-align:center;line-height:1.7}.cad-state.error[data-v-4d603439]{color:#b42318}.dwg-preview[data-v-4d603439]{position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;padding:18px;background:#f8fafc}.dwg-preview-frame[data-v-4d603439]{min-width:0;min-height:0;overflow:auto;display:flex;align-items:flex-start;justify-content:center;background:#ffffff;border:1px solid rgba(15,23,42,.08)}.dwg-preview img[data-v-4d603439]{flex:0 0 auto;display:block;height:auto;max-width:none;min-width:0;transform-origin:top center;transition:width .18s ease}.dwg-preview p[data-v-4d603439]{margin:0;color:#5f6f82;font-size:13px;line-height:1.6;text-align:center}@media (max-width: 720px){.cad-body[data-v-4d603439]{grid-template-columns:1fr}.cad-layers[data-v-4d603439]{display:none}}.drawing-viewer[data-v-6f438c82]{display:flex;height:100%;min-height:360px;flex-direction:column;background:#edf2f7;color:#172033}.drawing-toolbar[data-v-6f438c82]{position:sticky;top:0;z-index:2;display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:16px;padding:8px 14px;border-bottom:1px solid rgba(148,163,184,.35);background:rgba(248,250,252,.92);backdrop-filter:blur(12px)}.drawing-title[data-v-6f438c82]{display:flex;min-width:0;align-items:center;gap:10px}.drawing-title span[data-v-6f438c82]{display:inline-flex;height:24px;align-items:center;justify-content:center;border-radius:6px;padding:0 8px;background:#0f766e;color:#fff;font-size:11px;font-weight:800;letter-spacing:0}.drawing-title strong[data-v-6f438c82]{overflow:hidden;color:#172033;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.drawing-actions[data-v-6f438c82]{display:flex;flex-shrink:0;align-items:center;gap:6px}.drawing-actions button[data-v-6f438c82]{min-width:32px;height:28px;border:1px solid rgba(100,116,139,.28);border-radius:6px;background:#ffffff;color:#0f172a;cursor:pointer;font-size:12px;font-weight:800}.drawing-actions button[data-v-6f438c82]:hover{border-color:#0f766e80;color:#0f766e}.drawing-actions span[data-v-6f438c82]{min-width:48px;color:#64748b;font-size:12px;font-weight:800;text-align:center}.drawing-stage[data-v-6f438c82]{position:relative;min-height:0;flex:1;overflow:hidden}.drawing-scroll[data-v-6f438c82]{height:100%;overflow:auto;padding:22px}.drawing-canvas[data-v-6f438c82]{width:100%;min-height:420px;transition:transform .18s ease,zoom .18s ease}.drawing-canvas[data-v-6f438c82] .drawing-svg,.drawing-canvas[data-v-6f438c82] svg{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:10px;background:#ffffff;box-shadow:0 18px 42px #0f172a1f}.drawing-canvas[data-v-6f438c82] .drawing-mxgraph{min-height:420px;overflow:hidden;border-radius:10px;background:#ffffff;box-shadow:0 18px 42px #0f172a1f}.drawing-state[data-v-6f438c82]{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:24px;color:#64748b;font-size:14px;font-weight:700;text-align:center}.drawing-state.error[data-v-6f438c82]{color:#b42318}@media (max-width: 720px){.drawing-toolbar[data-v-6f438c82]{align-items:flex-start;flex-direction:column}.drawing-actions[data-v-6f438c82]{width:100%;justify-content:space-between}.drawing-scroll[data-v-6f438c82]{padding:12px}}.epub-viewer[data-v-8f8a2b3b]{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:#eef1f4;color:#172033}.epub-toolbar[data-v-8f8a2b3b]{flex-shrink:0;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.92)}.epub-title[data-v-8f8a2b3b]{min-width:0;display:flex;flex-direction:column;gap:3px}.epub-title strong[data-v-8f8a2b3b],.epub-title span[data-v-8f8a2b3b]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.epub-title strong[data-v-8f8a2b3b]{font-size:14px}.epub-title span[data-v-8f8a2b3b]{color:#64748b;font-size:12px}.epub-icon-button[data-v-8f8a2b3b],.epub-button[data-v-8f8a2b3b]{height:36px;border:1px solid rgba(15,23,42,.08);background:#ffffff;color:#172033;font:inherit;cursor:pointer}.epub-icon-button[data-v-8f8a2b3b]{width:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.epub-icon-button span[data-v-8f8a2b3b],.epub-icon-button span[data-v-8f8a2b3b]:before,.epub-icon-button span[data-v-8f8a2b3b]:after{width:16px;height:2px;display:block;border-radius:999px;background:currentColor}.epub-icon-button span[data-v-8f8a2b3b]{position:relative}.epub-icon-button span[data-v-8f8a2b3b]:before,.epub-icon-button span[data-v-8f8a2b3b]:after{content:"";position:absolute;left:0}.epub-icon-button span[data-v-8f8a2b3b]:before{top:-5px}.epub-icon-button span[data-v-8f8a2b3b]:after{top:5px}.epub-icon-button.active[data-v-8f8a2b3b]{border-color:#2563eb3d;background:rgba(37,99,235,.08);color:#1d4ed8}.epub-actions[data-v-8f8a2b3b]{display:flex;align-items:center;gap:8px}.epub-button[data-v-8f8a2b3b]{min-width:68px;padding:0 12px;border-radius:8px;font-size:13px;font-weight:700}.epub-button[data-v-8f8a2b3b]:disabled{color:#94a3b8;cursor:not-allowed}.epub-progress[data-v-8f8a2b3b]{min-width:58px;color:#64748b;font-size:12px;text-align:center}.epub-body[data-v-8f8a2b3b]{flex:1;min-height:0;display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr)}.epub-viewer--toc-hidden .epub-body[data-v-8f8a2b3b]{grid-template-columns:minmax(0,1fr)}.epub-toc[data-v-8f8a2b3b]{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.8)}.epub-toc-head[data-v-8f8a2b3b]{flex-shrink:0;display:flex;justify-content:space-between;gap:8px;padding:12px;color:#172033;font-size:13px}.epub-toc-head span[data-v-8f8a2b3b]{color:#64748b}.epub-toc-list[data-v-8f8a2b3b]{flex:1;min-height:0;overflow:auto;padding:0 8px 10px}.epub-toc-item[data-v-8f8a2b3b]{width:100%;min-height:34px;border:0;border-radius:8px;background:transparent;color:#475569;font:inherit;font-size:12px;text-align:left;cursor:pointer}.epub-toc-item[data-v-8f8a2b3b]:hover,.epub-toc-item.active[data-v-8f8a2b3b]{background:rgba(37,99,235,.08);color:#1d4ed8}.epub-stage-wrap[data-v-8f8a2b3b]{position:relative;min-width:0;min-height:0;padding:18px;overflow:hidden}.epub-stage[data-v-8f8a2b3b]{width:100%;height:100%;overflow-x:hidden;overflow-y:auto;border-radius:8px;background:#ffffff;box-shadow:0 18px 45px #0f172a1f,inset 0 0 0 1px #0f172a0f}.epub-stage[data-v-8f8a2b3b] .epub-container{width:100%!important;max-width:100%;overflow-x:hidden!important;overflow-y:auto!important}.epub-stage[data-v-8f8a2b3b] iframe{max-width:100%}.epub-state[data-v-8f8a2b3b]{position:absolute;inset:18px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:rgba(255,255,255,.92);color:#64748b;font-size:14px}.epub-state.error[data-v-8f8a2b3b]{color:#b42318}@media (max-width: 720px){.epub-toolbar[data-v-8f8a2b3b]{grid-template-columns:40px minmax(0,1fr)}.epub-actions[data-v-8f8a2b3b]{grid-column:1 / -1;justify-content:space-between}.epub-body[data-v-8f8a2b3b]{position:relative;grid-template-columns:minmax(0,1fr)}.epub-toc[data-v-8f8a2b3b]{position:absolute;z-index:5;top:0;bottom:0;left:0;width:min(82vw,280px);box-shadow:18px 0 40px #0f172a29}.epub-stage-wrap[data-v-8f8a2b3b]{padding:12px}}.audio-viewer[data-v-608bd328]{width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;padding:28px;background:linear-gradient(135deg,rgba(14,116,144,.1),transparent 34%),linear-gradient(180deg,#f5f8fb 0%,#edf2f7 100%)}.audio-card[data-v-608bd328]{width:min(100%,640px);display:grid;grid-template-columns:86px minmax(0,1fr);gap:18px;align-items:center;padding:24px;border-radius:8px;border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.92);box-shadow:0 20px 52px #0f172a21}.audio-art[data-v-608bd328]{position:relative;width:86px;height:86px;border-radius:8px;background:linear-gradient(135deg,#0f766e,#2dd4bf);box-shadow:inset 0 0 0 1px #ffffff3d}.audio-art span[data-v-608bd328]{position:absolute;inset:18px;border-radius:999px;border:8px solid rgba(255,255,255,.88)}.audio-art i[data-v-608bd328]{position:absolute;right:18px;bottom:20px;width:18px;height:36px;border-radius:10px 10px 4px 4px;background:rgba(255,255,255,.9)}.audio-copy[data-v-608bd328]{min-width:0}.audio-kicker[data-v-608bd328]{color:#0f766e;font-size:12px;font-weight:800;letter-spacing:0}.audio-copy strong[data-v-608bd328]{display:block;margin-top:5px;color:#132235;font-size:23px;line-height:1.15}.audio-copy p[data-v-608bd328]{margin:8px 0 0;color:#64748b;font-size:13px;line-height:1.7}.audio-meter[data-v-608bd328]{grid-column:1 / -1;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:10px;color:#64748b;font-size:12px;font-variant-numeric:tabular-nums}.audio-progress[data-v-608bd328]{height:6px;overflow:hidden;border-radius:999px;background:rgba(15,118,110,.12)}.audio-progress i[data-v-608bd328]{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f766e,#2dd4bf);transition:width .18s ease}.audio-control[data-v-608bd328]{grid-column:1 / -1;width:100%;height:42px}@media (max-width: 560px){.audio-viewer[data-v-608bd328]{padding:16px}.audio-card[data-v-608bd328]{grid-template-columns:1fr}.audio-art[data-v-608bd328]{width:72px;height:72px}}.ofd-viewer[data-v-e746c457]{position:relative;min-height:100%;background:#e9edf2}.ofd-stage[data-v-e746c457]{min-height:100%;padding:18px 0 28px;overflow:auto}.ofd-state[data-v-e746c457]{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;background:rgba(246,248,250,.92);color:#64748b;font-size:14px}.ofd-state.error[data-v-e746c457]{color:#b42318}.ofd-page{box-shadow:0 10px 26px #0f172a1f}.email-viewer[data-v-ad420ff9]{position:relative;height:100%;min-height:0;display:flex;flex-direction:column;background:#f3f6f8;color:#172033}.email-header[data-v-ad420ff9]{padding:18px 22px;border-bottom:1px solid rgba(23,32,51,.08);background:#ffffff}.email-header>span[data-v-ad420ff9]{color:#1f7a58;font-size:12px;font-weight:900}.email-header h2[data-v-ad420ff9]{margin:4px 0 12px;font-size:22px;line-height:1.25}.email-meta[data-v-ad420ff9]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.email-meta p[data-v-ad420ff9]{margin:0;color:#526275;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-meta strong[data-v-ad420ff9]{margin-right:8px;color:#172033}.email-body[data-v-ad420ff9]{flex:1;min-height:0;display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr)}.email-sidebar[data-v-ad420ff9]{min-height:0;display:flex;flex-direction:column;gap:14px;padding:14px;border-right:1px solid rgba(23,32,51,.08);background:rgba(255,255,255,.7)}.body-tabs[data-v-ad420ff9]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;border-radius:12px;background:rgba(23,32,51,.06)}.body-tabs button[data-v-ad420ff9],.attachment-item[data-v-ad420ff9],.attachment-preview-head button[data-v-ad420ff9]{font:inherit;cursor:pointer}.body-tabs button[data-v-ad420ff9]{height:34px;border:0;border-radius:9px;background:transparent;color:#64748b;font-size:12px;font-weight:800}.body-tabs button.active[data-v-ad420ff9]{background:#ffffff;color:#172033}.body-tabs button[data-v-ad420ff9]:disabled{opacity:.4;cursor:not-allowed}.attachment-panel[data-v-ad420ff9]{min-height:0;overflow:auto}.attachment-title[data-v-ad420ff9]{display:flex;justify-content:space-between;color:#172033;font-size:14px;margin-bottom:8px}.attachment-title span[data-v-ad420ff9]{color:#64748b}.attachment-item[data-v-ad420ff9]{width:100%;min-height:62px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;margin-bottom:8px;padding:9px;border:1px solid rgba(23,32,51,.08);border-radius:12px;background:#ffffff;text-align:left}.attachment-item[data-v-ad420ff9]:hover,.attachment-item.active[data-v-ad420ff9]{border-color:#1f7a5847;box-shadow:0 10px 22px #17203314}.attachment-item span[data-v-ad420ff9]{grid-row:span 2;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:rgba(31,122,88,.12);color:#1f7a58;font-size:11px;font-weight:900}.attachment-item strong[data-v-ad420ff9],.attachment-item em[data-v-ad420ff9]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-item em[data-v-ad420ff9]{color:#64748b;font-size:12px;font-style:normal}.message-panel[data-v-ad420ff9]{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(240px,46%) minmax(0,1fr)}.email-html[data-v-ad420ff9],.email-text[data-v-ad420ff9]{width:100%;height:100%;border:0;background:#ffffff}.email-text[data-v-ad420ff9]{margin:0;overflow:auto;padding:20px;white-space:pre-wrap;word-break:break-word;line-height:1.65}.attachment-preview[data-v-ad420ff9]{min-height:0;display:flex;flex-direction:column;border-top:1px solid rgba(23,32,51,.08)}.attachment-preview-head[data-v-ad420ff9]{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;background:rgba(255,255,255,.78)}.attachment-preview-head button[data-v-ad420ff9]{height:32px;padding:0 12px;border:0;border-radius:9px;background:#1f7a58;color:#fff;font-weight:800}.attachment-target[data-v-ad420ff9]{flex:1;min-height:0;overflow:auto}.email-state[data-v-ad420ff9]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:14px;background:rgba(243,246,248,.86)}.email-state span[data-v-ad420ff9]{width:34px;height:34px;border-radius:999px;border:3px solid rgba(31,122,88,.16);border-top-color:#1f7a58;animation:email-spin-ad420ff9 .9s linear infinite}.email-error[data-v-ad420ff9]{position:absolute;right:18px;bottom:18px;width:min(460px,calc(100% - 36px));padding:14px;border-radius:14px;background:#fff7e8;color:#8a4b00;box-shadow:0 16px 36px #17203324}@keyframes email-spin-ad420ff9{to{transform:rotate(360deg)}}@media (max-width: 860px){.email-meta[data-v-ad420ff9],.email-body[data-v-ad420ff9]{grid-template-columns:1fr}.email-body[data-v-ad420ff9]{grid-template-rows:auto minmax(0,1fr)}.email-sidebar[data-v-ad420ff9]{border-right:0;border-bottom:1px solid rgba(23,32,51,.08)}}.email-attachment-render{width:100%;height:100%;min-height:320px}.eda-viewer[data-v-b26a304a]{position:relative;height:100%;min-height:0;display:flex;flex-direction:column;background:#edf1f5;color:#172033}.eda-header[data-v-b26a304a]{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 176px 18px 22px;border-bottom:1px solid rgba(23,32,51,.08);background:#ffffff}.eda-header span[data-v-b26a304a],.eda-panel-head span[data-v-b26a304a]{color:#0b7480;font-size:12px;font-weight:900;letter-spacing:0}.eda-header h2[data-v-b26a304a]{margin:4px 0 0;font-size:22px;line-height:1.2}.eda-header dl[data-v-b26a304a]{display:grid;grid-template-columns:repeat(4,minmax(70px,auto));gap:10px;margin:0}.eda-header dt[data-v-b26a304a],.eda-header dd[data-v-b26a304a],.eda-entity-group dl[data-v-b26a304a],.eda-entity-group dt[data-v-b26a304a],.eda-entity-group dd[data-v-b26a304a]{margin:0}.eda-header dt[data-v-b26a304a]{color:#718096;font-size:12px}.eda-header dd[data-v-b26a304a]{color:#172033;font-weight:900}.eda-body[data-v-b26a304a]{flex:1;min-height:0;display:grid;grid-template-columns:minmax(300px,32%) minmax(0,1fr)}.eda-sidebar[data-v-b26a304a]{min-height:0;display:flex;flex-direction:column;gap:12px;padding:16px;border-right:1px solid rgba(23,32,51,.08);background:rgba(255,255,255,.74)}.eda-summary[data-v-b26a304a],.eda-warning[data-v-b26a304a],.eda-panel[data-v-b26a304a],.eda-error[data-v-b26a304a]{border-radius:14px;background:#ffffff;box-shadow:inset 0 0 0 1px #1720330f}.eda-summary[data-v-b26a304a],.eda-warning[data-v-b26a304a]{padding:12px}.eda-summary strong[data-v-b26a304a]{display:block;color:#172033}.eda-summary p[data-v-b26a304a],.eda-warning p[data-v-b26a304a],.eda-empty p[data-v-b26a304a],.eda-entity-group p[data-v-b26a304a]{margin:6px 0 0;color:#64748b;line-height:1.55}.eda-mini-grid[data-v-b26a304a],.eda-stat-grid[data-v-b26a304a]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.eda-mini-grid div[data-v-b26a304a],.eda-stat-grid div[data-v-b26a304a]{min-width:0;padding:10px;border-radius:12px;background:#ffffff;box-shadow:inset 0 0 0 1px #1720330f}.eda-mini-grid span[data-v-b26a304a],.eda-stat-grid span[data-v-b26a304a]{display:block;color:#718096;font-size:12px}.eda-mini-grid strong[data-v-b26a304a],.eda-stat-grid strong[data-v-b26a304a]{display:block;margin-top:4px;overflow:hidden;color:#172033;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.eda-warning[data-v-b26a304a]{background:#fff7e8;color:#8a4b00}.eda-search[data-v-b26a304a]{height:42px;padding:0 12px;border-radius:12px;border:1px solid rgba(23,32,51,.1);outline:none;background:#ffffff;font:inherit}.eda-stream-list[data-v-b26a304a]{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:8px}.eda-stream[data-v-b26a304a]{min-height:78px;display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px 10px;align-items:center;padding:10px;border:1px solid rgba(23,32,51,.08);border-radius:13px;background:#ffffff;color:inherit;font:inherit;text-align:left;cursor:pointer}.eda-stream[data-v-b26a304a]:hover,.eda-stream.active[data-v-b26a304a],.eda-tree button[data-v-b26a304a]:hover,.eda-tree button.active[data-v-b26a304a],.eda-entity-group button[data-v-b26a304a]:hover{border-color:#0b74804d;box-shadow:0 10px 22px #17203314}.eda-stream span[data-v-b26a304a]{grid-row:span 3;min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;border-radius:10px;background:rgba(11,116,128,.12);color:#0b7480;font-size:11px;font-weight:900}.eda-stream span[data-role=symbol][data-v-b26a304a]{background:rgba(34,134,90,.14);color:#1d7a52}.eda-stream span[data-role=footprint][data-v-b26a304a],.eda-stream span[data-role=padstack][data-v-b26a304a]{background:rgba(111,87,190,.14);color:#5c47a5}.eda-stream strong[data-v-b26a304a],.eda-stream em[data-v-b26a304a],.eda-tree strong[data-v-b26a304a],.eda-tree em[data-v-b26a304a],.eda-tree small[data-v-b26a304a],.eda-entity-group strong[data-v-b26a304a],.eda-entity-group span[data-v-b26a304a],.eda-entity-group dd[data-v-b26a304a]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eda-stream em[data-v-b26a304a],.eda-stream small[data-v-b26a304a]{color:#718096;font-size:12px;font-style:normal}.eda-preview[data-v-b26a304a]{min-width:0;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:14px;padding:16px}.eda-panel[data-v-b26a304a]{min-height:0;overflow:hidden}.eda-panel-head[data-v-b26a304a]{min-height:54px;padding:12px 14px;border-bottom:1px solid rgba(23,32,51,.08)}.eda-panel-head strong[data-v-b26a304a]{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eda-panel--compact .eda-panel-head[data-v-b26a304a]{min-height:auto}.eda-stat-grid[data-v-b26a304a]{padding:14px}.eda-stat-grid div[data-v-b26a304a]{background:#f6f9fb}.eda-topology[data-v-b26a304a],.eda-bottom[data-v-b26a304a]{min-height:300px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:14px}.eda-topology>.eda-panel[data-v-b26a304a]{min-height:360px;max-height:min(58vh,620px);display:flex;flex-direction:column}.eda-tree[data-v-b26a304a],.eda-entities[data-v-b26a304a],.eda-diagnostics[data-v-b26a304a],.eda-string-grid[data-v-b26a304a]{min-height:0;max-height:380px;overflow:auto;overscroll-behavior:contain}.eda-tree[data-v-b26a304a]{flex:1;max-height:none;padding:10px}.eda-entities[data-v-b26a304a]{flex:1;max-height:none}.eda-tree button[data-v-b26a304a]{width:100%;min-height:42px;display:grid;grid-template-columns:minmax(22px,auto) minmax(0,1fr) minmax(72px,auto) minmax(72px,auto);gap:8px;align-items:center;margin-bottom:6px;padding:8px;border:1px solid rgba(23,32,51,.06);border-radius:10px;background:#f8fafc;color:inherit;font:inherit;text-align:left;cursor:pointer}.eda-tree span[data-v-b26a304a]{color:#0b7480;font-weight:900}.eda-tree em[data-v-b26a304a],.eda-tree small[data-v-b26a304a]{color:#718096;font-size:12px;font-style:normal}.eda-entities[data-v-b26a304a]{padding:12px}.eda-entity-group+.eda-entity-group[data-v-b26a304a]{margin-top:16px}.eda-entity-group h3[data-v-b26a304a]{margin:0 0 8px;color:#172033;font-size:14px}.eda-entity-group button[data-v-b26a304a]{width:100%;display:block;margin-bottom:8px;padding:12px;border:1px solid rgba(23,32,51,.08);border-radius:12px;background:#f8fafc;color:inherit;font:inherit;text-align:left;cursor:pointer}.eda-entity-group button>span[data-v-b26a304a]{display:block;margin-top:4px;color:#718096;font-size:12px}.eda-entity-group dl[data-v-b26a304a]{display:grid;gap:6px;margin-top:10px}.eda-entity-group dl div[data-v-b26a304a]{min-width:0;display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;color:#475569;font-size:12px}.eda-entity-group dt[data-v-b26a304a]{color:#718096;font-weight:800}.eda-selected-meta[data-v-b26a304a],.eda-property-grid[data-v-b26a304a],.eda-local-strings[data-v-b26a304a]{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px 0}.eda-selected-meta span[data-v-b26a304a],.eda-property-grid div[data-v-b26a304a],.eda-local-strings span[data-v-b26a304a]{min-width:0;display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#eef6f7;color:#0b7480;font-size:12px;font-weight:800}.eda-selected-meta span[data-v-b26a304a],.eda-local-strings span[data-v-b26a304a]{padding:6px 10px}.eda-property-grid div[data-v-b26a304a]{max-width:100%;padding:6px 10px}.eda-property-grid span[data-v-b26a304a]{color:#64748b;font-weight:700}.eda-property-grid strong[data-v-b26a304a]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eda-panel pre[data-v-b26a304a]{min-height:220px;max-height:440px;margin:12px 0 0;overflow:auto;padding:16px;border-top:1px solid rgba(23,32,51,.08);background:#101725;color:#d9e7ff;font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.eda-empty[data-v-b26a304a]{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}.eda-string-grid[data-v-b26a304a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-content:start;gap:8px;padding:14px}.eda-string-grid span[data-v-b26a304a]{min-width:0;padding:8px 10px;border-radius:10px;background:#f6f9fb;color:#334155;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eda-diagnostics[data-v-b26a304a]{padding:14px}.eda-diagnostics p[data-v-b26a304a]{margin:0 0 8px;padding:10px;border-radius:10px;background:#f6f9fb;color:#475569;line-height:1.5}.eda-diagnostics p[data-level=warning][data-v-b26a304a]{background:#fff7e8;color:#8a4b00}.eda-diagnostics span[data-v-b26a304a]{display:inline-flex;margin-right:8px;color:#0b7480;font-size:11px;font-weight:900;text-transform:uppercase}.eda-local-strings[data-v-b26a304a]{padding-bottom:14px}.eda-local-strings strong[data-v-b26a304a]{width:100%;color:#172033;font-size:13px}.eda-state[data-v-b26a304a]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;background:rgba(237,241,245,.9)}.eda-state span[data-v-b26a304a]{width:32px;height:32px;border-radius:999px;border:3px solid rgba(11,116,128,.16);border-top-color:#0b7480;animation:eda-spin-b26a304a .9s linear infinite}.eda-error[data-v-b26a304a]{position:absolute;right:18px;bottom:18px;width:min(440px,calc(100% - 36px));padding:14px;background:#fff7e8;color:#8a4b00}@keyframes eda-spin-b26a304a{to{transform:rotate(360deg)}}@media (max-width: 980px){.eda-header[data-v-b26a304a],.eda-body[data-v-b26a304a],.eda-topology[data-v-b26a304a],.eda-bottom[data-v-b26a304a]{grid-template-columns:1fr}.eda-header[data-v-b26a304a]{align-items:flex-start;flex-direction:column;padding-right:22px}.eda-body[data-v-b26a304a]{display:flex;flex-direction:column}.eda-sidebar[data-v-b26a304a]{max-height:42vh;border-right:0;border-bottom:1px solid rgba(23,32,51,.08)}}@media (max-width: 640px){.eda-header dl[data-v-b26a304a],.eda-mini-grid[data-v-b26a304a],.eda-stat-grid[data-v-b26a304a]{grid-template-columns:repeat(2,minmax(0,1fr))}.eda-tree button[data-v-b26a304a]{grid-template-columns:minmax(22px,auto) minmax(0,1fr)}.eda-tree em[data-v-b26a304a],.eda-tree small[data-v-b26a304a]{display:none}}.umd-viewer[data-v-c855ba56]{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:#eef1f4;color:#172033}.umd-toolbar[data-v-c855ba56]{flex-shrink:0;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.94)}.umd-title[data-v-c855ba56]{min-width:0;display:flex;flex-direction:column;gap:3px}.umd-title strong[data-v-c855ba56],.umd-title span[data-v-c855ba56]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.umd-title strong[data-v-c855ba56]{font-size:14px}.umd-title span[data-v-c855ba56]{color:#64748b;font-size:12px}.umd-icon-button[data-v-c855ba56],.umd-button[data-v-c855ba56]{height:36px;border:1px solid rgba(15,23,42,.08);background:#ffffff;color:#172033;font:inherit;cursor:pointer}.umd-icon-button[data-v-c855ba56]{width:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.umd-icon-button span[data-v-c855ba56],.umd-icon-button span[data-v-c855ba56]:before,.umd-icon-button span[data-v-c855ba56]:after{width:16px;height:2px;display:block;border-radius:999px;background:currentColor}.umd-icon-button span[data-v-c855ba56]{position:relative}.umd-icon-button span[data-v-c855ba56]:before,.umd-icon-button span[data-v-c855ba56]:after{content:"";position:absolute;left:0}.umd-icon-button span[data-v-c855ba56]:before{top:-5px}.umd-icon-button span[data-v-c855ba56]:after{top:5px}.umd-icon-button.active[data-v-c855ba56]{border-color:#0284c73d;background:rgba(2,132,199,.08);color:#0369a1}.umd-actions[data-v-c855ba56]{display:flex;align-items:center;gap:8px}.umd-button[data-v-c855ba56]{min-width:68px;padding:0 12px;border-radius:8px;font-size:13px;font-weight:700}.umd-button[data-v-c855ba56]:disabled{color:#94a3b8;cursor:not-allowed}.umd-progress[data-v-c855ba56]{min-width:58px;color:#64748b;font-size:12px;text-align:center}.umd-body[data-v-c855ba56]{flex:1;min-height:0;display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr)}.umd-viewer--toc-hidden .umd-body[data-v-c855ba56]{grid-template-columns:minmax(0,1fr)}.umd-toc[data-v-c855ba56]{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.82)}.umd-toc-head[data-v-c855ba56]{flex-shrink:0;display:flex;justify-content:space-between;gap:8px;padding:12px;color:#172033;font-size:13px}.umd-toc-head span[data-v-c855ba56]{color:#64748b}.umd-toc-list[data-v-c855ba56]{flex:1;min-height:0;overflow:auto;padding:0 8px 10px}.umd-toc-item[data-v-c855ba56]{width:100%;min-height:34px;padding:7px 10px;border:0;border-radius:8px;background:transparent;color:#475569;font:inherit;font-size:12px;text-align:left;cursor:pointer}.umd-toc-item[data-v-c855ba56]:hover,.umd-toc-item.active[data-v-c855ba56]{background:rgba(2,132,199,.08);color:#0369a1}.umd-stage-wrap[data-v-c855ba56]{position:relative;min-width:0;min-height:0;padding:18px;overflow:hidden}.umd-stage[data-v-c855ba56]{width:100%;height:100%;overflow:auto;border-radius:8px;background:#fffef8;box-shadow:0 18px 45px #0f172a1f,inset 0 0 0 1px #0f172a0f}.umd-book-head[data-v-c855ba56]{display:flex;gap:20px;max-width:820px;margin:0 auto;padding:32px 34px 8px}.umd-book-head img[data-v-c855ba56]{width:96px;max-height:136px;object-fit:cover;border-radius:6px;box-shadow:0 12px 26px #0f172a29}.umd-book-head div[data-v-c855ba56]{min-width:0}.umd-book-head h1[data-v-c855ba56]{margin:0;color:#111827;font-size:24px;line-height:1.3}.umd-book-head p[data-v-c855ba56]{margin:8px 0 0;color:#64748b;font-size:13px;line-height:1.6}.umd-chapter[data-v-c855ba56]{max-width:820px;margin:0 auto;padding:28px 34px 56px}.umd-chapter h2[data-v-c855ba56]{margin:0 0 22px;color:#111827;font-size:22px;line-height:1.35}.umd-text[data-v-c855ba56]{color:#1f2937;font-family:Georgia,Times New Roman,Songti SC,SimSun,serif;font-size:17px;line-height:1.86;white-space:pre-wrap;word-break:break-word}.umd-image-list[data-v-c855ba56]{display:grid;gap:18px}.umd-image-list figure[data-v-c855ba56]{margin:0;text-align:center}.umd-image-list img[data-v-c855ba56]{max-width:100%;height:auto;border-radius:6px;box-shadow:0 10px 24px #0f172a1f}.umd-empty[data-v-c855ba56],.umd-warning[data-v-c855ba56]{color:#64748b;font-size:14px;line-height:1.7}.umd-warning[data-v-c855ba56]{max-width:820px;margin:-28px auto 36px;padding:0 34px;color:#b45309}.umd-state[data-v-c855ba56]{position:absolute;inset:18px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:rgba(255,255,255,.92);color:#64748b;font-size:14px}.umd-state.error[data-v-c855ba56]{color:#b42318}@media (max-width: 720px){.umd-toolbar[data-v-c855ba56]{grid-template-columns:40px minmax(0,1fr)}.umd-actions[data-v-c855ba56]{grid-column:1 / -1;justify-content:space-between}.umd-body[data-v-c855ba56]{position:relative;grid-template-columns:minmax(0,1fr)}.umd-toc[data-v-c855ba56]{position:absolute;z-index:5;top:0;bottom:0;left:0;width:min(82vw,280px);box-shadow:18px 0 40px #0f172a29}.umd-stage-wrap[data-v-c855ba56]{padding:12px}.umd-book-head[data-v-c855ba56]{padding:24px 20px 0}.umd-chapter[data-v-c855ba56]{padding:24px 20px 42px}}.markdown-body{--base-size-16: 1rem;--base-size-24: 1.5rem;--base-size-4: .25rem;--base-size-40: 2.5rem;--base-size-8: .5rem;--base-text-weight-medium: 500;--base-text-weight-normal: 400;--base-text-weight-semibold: 600;--fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;--fontStack-sansSerif: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--fgColor-accent: Highlight}@media (prefers-color-scheme: dark){.markdown-body,[data-theme=dark]{color-scheme:dark;--fgColor-accent: #4493f8;--bgColor-attention-muted: #bb800926;--bgColor-default: #0d1117;--bgColor-muted: #151b23;--bgColor-neutral-muted: #656c7633;--borderColor-accent-emphasis: #1f6feb;--borderColor-attention-emphasis: #9e6a03;--borderColor-danger-emphasis: #da3633;--borderColor-default: #3d444d;--borderColor-done-emphasis: #8957e5;--borderColor-success-emphasis: #238636;--color-prettylights-syntax-brackethighlighter-angle: #9198a1;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-comment: #9198a1;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-markup-bold: #f0f6fc;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-markup-ignored-text: #f0f6fc;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-italic: #f0f6fc;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #f0f6fc;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-sublimelinter-gutter-mark: #3d444d;--color-prettylights-syntax-variable: #ffa657;--fgColor-attention: #d29922;--fgColor-danger: #f85149;--fgColor-default: #f0f6fc;--fgColor-done: #ab7df8;--fgColor-muted: #9198a1;--fgColor-success: #3fb950;--borderColor-muted: #3d444db3;--color-prettylights-syntax-invalid-illegal-bg: var(--bgColor-danger-muted);--color-prettylights-syntax-invalid-illegal-text: var(--fgColor-danger);--focus-outlineColor: var(--borderColor-accent-emphasis);--borderColor-neutral-muted: var(--borderColor-muted)}}@media (prefers-color-scheme: light){.markdown-body,[data-theme=light]{color-scheme:light;--fgColor-danger: #d1242f;--bgColor-attention-muted: #fff8c5;--bgColor-muted: #f6f8fa;--bgColor-neutral-muted: #818b981f;--borderColor-accent-emphasis: #0969da;--borderColor-attention-emphasis: #9a6700;--borderColor-danger-emphasis: #cf222e;--borderColor-default: #d1d9e0;--borderColor-done-emphasis: #8250df;--borderColor-success-emphasis: #1a7f37;--color-prettylights-syntax-brackethighlighter-angle: #59636e;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-comment: #59636e;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-prettylights-syntax-entity: #6639ba;--color-prettylights-syntax-entity-tag: #0550ae;--color-prettylights-syntax-invalid-illegal-text: var(--fgColor-danger);--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-markup-ignored-text: #d1d9e0;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-sublimelinter-gutter-mark: #818b98;--color-prettylights-syntax-variable: #953800;--fgColor-accent: #0969da;--fgColor-attention: #9a6700;--fgColor-done: #8250df;--fgColor-muted: #59636e;--fgColor-success: #1a7f37;--bgColor-default: #ffffff;--borderColor-muted: #d1d9e0b3;--color-prettylights-syntax-invalid-illegal-bg: var(--bgColor-danger-muted);--color-prettylights-syntax-markup-bold: #1f2328;--color-prettylights-syntax-markup-italic: #1f2328;--color-prettylights-syntax-storage-modifier-import: #1f2328;--fgColor-default: #1f2328;--focus-outlineColor: var(--borderColor-accent-emphasis);--borderColor-neutral-muted: var(--borderColor-muted)}}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;font-weight:var(--base-text-weight-normal, 400);color:var(--fgColor-default);background-color:var(--bgColor-default);font-family:var(--fontStack-sansSerif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji");font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body a{text-decoration:underline;text-underline-offset:.2rem}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:" ";display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:#0000;color:var(--fgColor-accent);text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body mark{background-color:var(--bgColor-attention-muted);color:var(--fgColor-default)}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em var(--base-size-40)}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:rgba(0,0,0,0);border-bottom:1px solid var(--borderColor-muted);height:.25em;padding:0;margin:var(--base-size-24) 0;background-color:var(--borderColor-default);border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button;appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:var(--fgColor-muted);opacity:1}.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px rgba(0,0,0,0)}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:var(--base-size-4);font:11px var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);line-height:10px;color:var(--fgColor-default);vertical-align:middle;background-color:var(--bgColor-muted);border:solid 1px var(--borderColor-neutral-muted);border-bottom-color:var(--borderColor-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--borderColor-neutral-muted)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:var(--base-size-24);margin-bottom:var(--base-size-16);font-weight:var(--base-text-weight-semibold, 600);line-height:1.25}.markdown-body h2{font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body h3{font-weight:var(--base-text-weight-semibold, 600);font-size:1.25em}.markdown-body h4{font-weight:var(--base-text-weight-semibold, 600);font-size:1em}.markdown-body h5{font-weight:var(--base-text-weight-semibold, 600);font-size:.875em}.markdown-body h6{font-weight:var(--base-text-weight-semibold, 600);font-size:.85em;color:var(--fgColor-muted)}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:var(--fgColor-muted);border-left:.25em solid var(--borderColor-default)}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button{margin:0;appearance:none}.markdown-body .mr-2{margin-right:var(--base-size-8, 8px)!important}.markdown-body:before{display:table;content:""}.markdown-body:after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0!important}.markdown-body>*:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--fgColor-danger)}.markdown-body .anchor{float:left;padding-right:var(--base-size-4);margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:var(--base-size-16)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--fgColor-default);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type="a s"]{list-style-type:lower-alpha}.markdown-body ol[type="A s"]{list-style-type:upper-alpha}.markdown-body ol[type="i s"]{list-style-type:lower-roman}.markdown-body ol[type="I s"]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:var(--base-size-16)}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:var(--base-size-16);font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dl dd{padding:0 var(--base-size-16);margin-bottom:var(--base-size-16)}.markdown-body table th{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--borderColor-default)}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:var(--bgColor-default);border-top:1px solid var(--borderColor-muted)}.markdown-body table tr:nth-child(2n){background-color:var(--bgColor-muted)}.markdown-body table img{background-color:#0000}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:#0000}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--borderColor-default)}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--fgColor-default)}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:var(--bgColor-neutral-muted);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:rgba(0,0,0,0);border:0}.markdown-body .highlight{margin-bottom:var(--base-size-16)}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:var(--base-size-16);overflow:auto;font-size:85%;line-height:1.45;color:var(--fgColor-default);background-color:var(--bgColor-muted);border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:#0000;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px var(--base-size-8) 9px;text-align:right;background:var(--bgColor-default);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:var(--base-text-weight-semibold, 600);background:var(--bgColor-muted);border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{font-size:12px;color:var(--fgColor-muted);border-top:1px solid var(--borderColor-default)}.markdown-body .footnotes ol{padding-left:var(--base-size-16)}.markdown-body .footnotes ol ul{display:inline-block;padding-left:var(--base-size-16);margin-top:var(--base-size-16)}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{position:absolute;top:calc(var(--base-size-8)*-1);right:calc(var(--base-size-8)*-1);bottom:calc(var(--base-size-8)*-1);left:calc(var(--base-size-24)*-1);pointer-events:none;content:"";border:2px solid var(--borderColor-accent-emphasis);border-radius:6px}.markdown-body .footnotes li:target{color:var(--fgColor-default)}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body .pl-c{color:var(--color-prettylights-syntax-comment)}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.markdown-body .pl-e,.markdown-body .pl-en{color:var(--color-prettylights-syntax-entity)}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:var(--color-prettylights-syntax-storage-modifier-import)}.markdown-body .pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.markdown-body .pl-k{color:var(--color-prettylights-syntax-keyword)}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:var(--color-prettylights-syntax-string)}.markdown-body .pl-v,.markdown-body .pl-smw{color:var(--color-prettylights-syntax-variable)}.markdown-body .pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.markdown-body .pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.markdown-body .pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.markdown-body .pl-sr .pl-cce{font-weight:700;color:var(--color-prettylights-syntax-string-regexp)}.markdown-body .pl-ml{color:var(--color-prettylights-syntax-markup-list)}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:var(--color-prettylights-syntax-markup-heading)}.markdown-body .pl-mi{font-style:italic;color:var(--color-prettylights-syntax-markup-italic)}.markdown-body .pl-mb{font-weight:700;color:var(--color-prettylights-syntax-markup-bold)}.markdown-body .pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.markdown-body .pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.markdown-body .pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.markdown-body .pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.markdown-body .pl-mdr{font-weight:700;color:var(--color-prettylights-syntax-meta-diff-range)}.markdown-body .pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.markdown-body .pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.markdown-body .pl-corl{text-decoration:underline;color:var(--color-prettylights-syntax-constant-other-reference-link)}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible){outline:none;box-shadow:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:var(--base-text-weight-normal, 400);line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body a:has(>p,>div,>pre,>blockquote){display:block}.markdown-body a:has(>p,>div,>pre,>blockquote):not(:has(.snippet-clipboard-content,>pre)){width:fit-content}.markdown-body a:has(>p,>div,>pre,>blockquote):has(.snippet-clipboard-content,>pre):focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:2px}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:var(--base-text-weight-normal, 400)}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:var(--base-size-4)}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body ol:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip-path:none}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:var(--base-size-8) var(--base-size-16);margin-bottom:var(--base-size-16);color:inherit;border-left:.25em solid var(--borderColor-default)}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{display:flex;font-weight:var(--base-text-weight-medium, 500);align-items:center;line-height:1}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis)}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent)}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis)}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done)}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis)}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention)}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis)}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success)}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis)}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger)}.markdown-body>*:first-child>.heading-element:first-child{margin-top:0!important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}.markdown-viewer[data-v-4e44ce1e]{min-height:100%;padding:28px 16px 48px;background:#eef1f4;overflow:auto}.markdown-body[data-v-4e44ce1e]{color-scheme:light;--bgColor-default: #ffffff;--bgColor-muted: #f6f8fa;--bgColor-neutral-muted: #818b981f;--borderColor-default: #d1d9e0;--borderColor-muted: #d1d9e0b3;--borderColor-neutral-muted: #d1d9e0b3;--fgColor-default: #1f2328;--fgColor-muted: #59636e;--fgColor-accent: #0969da;background:var(--bgColor-default);border:1px solid rgba(20,35,53,.1);border-radius:12px;margin:0 auto;box-sizing:border-box;min-width:200px;max-width:980px;padding:45px;color:var(--fgColor-default);box-shadow:0 18px 42px #0f172a1a}@media (max-width: 767px){.markdown-viewer[data-v-4e44ce1e]{padding:14px 10px 28px}.markdown-body[data-v-4e44ce1e]{padding:22px 18px;border-radius:10px}}@media (prefers-color-scheme: dark){.markdown-viewer[data-v-4e44ce1e]{background:#101820}.markdown-body[data-v-4e44ce1e]{color-scheme:dark;--bgColor-default: #0d1117;--bgColor-muted: #151b23;--bgColor-neutral-muted: #656c7633;--borderColor-default: #3d444d;--borderColor-muted: #3d444db3;--borderColor-neutral-muted: #3d444db3;--fgColor-default: #f0f6fc;--fgColor-muted: #9198a1;--fgColor-accent: #4493f8;background:var(--bgColor-default);border-color:#8b949e42;color:var(--fgColor-default);box-shadow:0 24px 56px #00000061}}.model-viewer[data-v-9d2e23df]{display:flex;height:100%;min-height:100%;flex-direction:column;background:#f8fafc;color:#162333}.model-toolbar[data-v-9d2e23df]{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:16px;padding:0 12px;border-bottom:1px solid rgba(15,23,42,.08);background:#ffffff}.model-actions[data-v-9d2e23df]{display:flex;min-width:0;flex-wrap:wrap;gap:6px}.model-actions button[data-v-9d2e23df]{min-height:30px;border:0;border-radius:8px;padding:0 10px;background:rgba(15,23,42,.06);color:#475569;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:0;transition:background-color .18s ease,color .18s ease}.model-actions button.active[data-v-9d2e23df],.model-actions button[data-v-9d2e23df]:hover{background:rgba(33,163,102,.14);color:#16804f}.model-meta[data-v-9d2e23df]{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;color:#64748b;font-size:12px}.model-meta strong[data-v-9d2e23df]{color:#0f766e;font-weight:800}.model-meta span[data-v-9d2e23df]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-stage[data-v-9d2e23df]{position:relative;flex:1;min-height:0;overflow:hidden}.model-stage canvas[data-v-9d2e23df]{display:block;width:100%;height:100%;outline:none}.model-state[data-v-9d2e23df]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;background:rgba(248,250,252,.88);color:#64748b;text-align:center;line-height:1.7}.model-state.error[data-v-9d2e23df]{color:#b42318}.model-state strong[data-v-9d2e23df]{color:#b42318;font-size:18px}@media (max-width: 720px){.model-toolbar[data-v-9d2e23df]{min-height:64px;align-items:flex-start;flex-direction:column;gap:8px;padding:8px 10px}.model-meta[data-v-9d2e23df]{width:100%;justify-content:flex-start}}/*!
1
+ .drawing-viewer[data-v-6f438c82]{display:flex;height:100%;min-height:360px;flex-direction:column;background:#edf2f7;color:#172033}.drawing-toolbar[data-v-6f438c82]{position:sticky;top:0;z-index:2;display:flex;min-height:46px;align-items:center;justify-content:space-between;gap:16px;padding:8px 14px;border-bottom:1px solid rgba(148,163,184,.35);background:rgba(248,250,252,.92);backdrop-filter:blur(12px)}.drawing-title[data-v-6f438c82]{display:flex;min-width:0;align-items:center;gap:10px}.drawing-title span[data-v-6f438c82]{display:inline-flex;height:24px;align-items:center;justify-content:center;border-radius:6px;padding:0 8px;background:#0f766e;color:#fff;font-size:11px;font-weight:800;letter-spacing:0}.drawing-title strong[data-v-6f438c82]{overflow:hidden;color:#172033;font-size:13px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.drawing-actions[data-v-6f438c82]{display:flex;flex-shrink:0;align-items:center;gap:6px}.drawing-actions button[data-v-6f438c82]{min-width:32px;height:28px;border:1px solid rgba(100,116,139,.28);border-radius:6px;background:#ffffff;color:#0f172a;cursor:pointer;font-size:12px;font-weight:800}.drawing-actions button[data-v-6f438c82]:hover{border-color:#0f766e80;color:#0f766e}.drawing-actions span[data-v-6f438c82]{min-width:48px;color:#64748b;font-size:12px;font-weight:800;text-align:center}.drawing-stage[data-v-6f438c82]{position:relative;min-height:0;flex:1;overflow:hidden}.drawing-scroll[data-v-6f438c82]{height:100%;overflow:auto;padding:22px}.drawing-canvas[data-v-6f438c82]{width:100%;min-height:420px;transition:transform .18s ease,zoom .18s ease}.drawing-canvas[data-v-6f438c82] .drawing-svg,.drawing-canvas[data-v-6f438c82] svg{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:10px;background:#ffffff;box-shadow:0 18px 42px #0f172a1f}.drawing-canvas[data-v-6f438c82] .drawing-mxgraph{min-height:420px;overflow:hidden;border-radius:10px;background:#ffffff;box-shadow:0 18px 42px #0f172a1f}.drawing-state[data-v-6f438c82]{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:24px;color:#64748b;font-size:14px;font-weight:700;text-align:center}.drawing-state.error[data-v-6f438c82]{color:#b42318}@media (max-width: 720px){.drawing-toolbar[data-v-6f438c82]{align-items:flex-start;flex-direction:column}.drawing-actions[data-v-6f438c82]{width:100%;justify-content:space-between}.drawing-scroll[data-v-6f438c82]{padding:12px}}.epub-viewer[data-v-8f8a2b3b]{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:#eef1f4;color:#172033}.epub-toolbar[data-v-8f8a2b3b]{flex-shrink:0;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.92)}.epub-title[data-v-8f8a2b3b]{min-width:0;display:flex;flex-direction:column;gap:3px}.epub-title strong[data-v-8f8a2b3b],.epub-title span[data-v-8f8a2b3b]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.epub-title strong[data-v-8f8a2b3b]{font-size:14px}.epub-title span[data-v-8f8a2b3b]{color:#64748b;font-size:12px}.epub-icon-button[data-v-8f8a2b3b],.epub-button[data-v-8f8a2b3b]{height:36px;border:1px solid rgba(15,23,42,.08);background:#ffffff;color:#172033;font:inherit;cursor:pointer}.epub-icon-button[data-v-8f8a2b3b]{width:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.epub-icon-button span[data-v-8f8a2b3b],.epub-icon-button span[data-v-8f8a2b3b]:before,.epub-icon-button span[data-v-8f8a2b3b]:after{width:16px;height:2px;display:block;border-radius:999px;background:currentColor}.epub-icon-button span[data-v-8f8a2b3b]{position:relative}.epub-icon-button span[data-v-8f8a2b3b]:before,.epub-icon-button span[data-v-8f8a2b3b]:after{content:"";position:absolute;left:0}.epub-icon-button span[data-v-8f8a2b3b]:before{top:-5px}.epub-icon-button span[data-v-8f8a2b3b]:after{top:5px}.epub-icon-button.active[data-v-8f8a2b3b]{border-color:#2563eb3d;background:rgba(37,99,235,.08);color:#1d4ed8}.epub-actions[data-v-8f8a2b3b]{display:flex;align-items:center;gap:8px}.epub-button[data-v-8f8a2b3b]{min-width:68px;padding:0 12px;border-radius:8px;font-size:13px;font-weight:700}.epub-button[data-v-8f8a2b3b]:disabled{color:#94a3b8;cursor:not-allowed}.epub-progress[data-v-8f8a2b3b]{min-width:58px;color:#64748b;font-size:12px;text-align:center}.epub-body[data-v-8f8a2b3b]{flex:1;min-height:0;display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr)}.epub-viewer--toc-hidden .epub-body[data-v-8f8a2b3b]{grid-template-columns:minmax(0,1fr)}.epub-toc[data-v-8f8a2b3b]{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.8)}.epub-toc-head[data-v-8f8a2b3b]{flex-shrink:0;display:flex;justify-content:space-between;gap:8px;padding:12px;color:#172033;font-size:13px}.epub-toc-head span[data-v-8f8a2b3b]{color:#64748b}.epub-toc-list[data-v-8f8a2b3b]{flex:1;min-height:0;overflow:auto;padding:0 8px 10px}.epub-toc-item[data-v-8f8a2b3b]{width:100%;min-height:34px;border:0;border-radius:8px;background:transparent;color:#475569;font:inherit;font-size:12px;text-align:left;cursor:pointer}.epub-toc-item[data-v-8f8a2b3b]:hover,.epub-toc-item.active[data-v-8f8a2b3b]{background:rgba(37,99,235,.08);color:#1d4ed8}.epub-stage-wrap[data-v-8f8a2b3b]{position:relative;min-width:0;min-height:0;padding:18px;overflow:hidden}.epub-stage[data-v-8f8a2b3b]{width:100%;height:100%;overflow-x:hidden;overflow-y:auto;border-radius:8px;background:#ffffff;box-shadow:0 18px 45px #0f172a1f,inset 0 0 0 1px #0f172a0f}.epub-stage[data-v-8f8a2b3b] .epub-container{width:100%!important;max-width:100%;overflow-x:hidden!important;overflow-y:auto!important}.epub-stage[data-v-8f8a2b3b] iframe{max-width:100%}.epub-state[data-v-8f8a2b3b]{position:absolute;inset:18px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:rgba(255,255,255,.92);color:#64748b;font-size:14px}.epub-state.error[data-v-8f8a2b3b]{color:#b42318}@media (max-width: 720px){.epub-toolbar[data-v-8f8a2b3b]{grid-template-columns:40px minmax(0,1fr)}.epub-actions[data-v-8f8a2b3b]{grid-column:1 / -1;justify-content:space-between}.epub-body[data-v-8f8a2b3b]{position:relative;grid-template-columns:minmax(0,1fr)}.epub-toc[data-v-8f8a2b3b]{position:absolute;z-index:5;top:0;bottom:0;left:0;width:min(82vw,280px);box-shadow:18px 0 40px #0f172a29}.epub-stage-wrap[data-v-8f8a2b3b]{padding:12px}}.audio-viewer[data-v-608bd328]{width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;padding:28px;background:linear-gradient(135deg,rgba(14,116,144,.1),transparent 34%),linear-gradient(180deg,#f5f8fb 0%,#edf2f7 100%)}.audio-card[data-v-608bd328]{width:min(100%,640px);display:grid;grid-template-columns:86px minmax(0,1fr);gap:18px;align-items:center;padding:24px;border-radius:8px;border:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.92);box-shadow:0 20px 52px #0f172a21}.audio-art[data-v-608bd328]{position:relative;width:86px;height:86px;border-radius:8px;background:linear-gradient(135deg,#0f766e,#2dd4bf);box-shadow:inset 0 0 0 1px #ffffff3d}.audio-art span[data-v-608bd328]{position:absolute;inset:18px;border-radius:999px;border:8px solid rgba(255,255,255,.88)}.audio-art i[data-v-608bd328]{position:absolute;right:18px;bottom:20px;width:18px;height:36px;border-radius:10px 10px 4px 4px;background:rgba(255,255,255,.9)}.audio-copy[data-v-608bd328]{min-width:0}.audio-kicker[data-v-608bd328]{color:#0f766e;font-size:12px;font-weight:800;letter-spacing:0}.audio-copy strong[data-v-608bd328]{display:block;margin-top:5px;color:#132235;font-size:23px;line-height:1.15}.audio-copy p[data-v-608bd328]{margin:8px 0 0;color:#64748b;font-size:13px;line-height:1.7}.audio-meter[data-v-608bd328]{grid-column:1 / -1;display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:10px;color:#64748b;font-size:12px;font-variant-numeric:tabular-nums}.audio-progress[data-v-608bd328]{height:6px;overflow:hidden;border-radius:999px;background:rgba(15,118,110,.12)}.audio-progress i[data-v-608bd328]{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f766e,#2dd4bf);transition:width .18s ease}.audio-control[data-v-608bd328]{grid-column:1 / -1;width:100%;height:42px}@media (max-width: 560px){.audio-viewer[data-v-608bd328]{padding:16px}.audio-card[data-v-608bd328]{grid-template-columns:1fr}.audio-art[data-v-608bd328]{width:72px;height:72px}}.ofd-viewer[data-v-e746c457]{position:relative;min-height:100%;background:#e9edf2}.ofd-stage[data-v-e746c457]{min-height:100%;padding:18px 0 28px;overflow:auto}.ofd-state[data-v-e746c457]{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;background:rgba(246,248,250,.92);color:#64748b;font-size:14px}.ofd-state.error[data-v-e746c457]{color:#b42318}.ofd-page{box-shadow:0 10px 26px #0f172a1f}.email-viewer[data-v-ad420ff9]{position:relative;height:100%;min-height:0;display:flex;flex-direction:column;background:#f3f6f8;color:#172033}.email-header[data-v-ad420ff9]{padding:18px 22px;border-bottom:1px solid rgba(23,32,51,.08);background:#ffffff}.email-header>span[data-v-ad420ff9]{color:#1f7a58;font-size:12px;font-weight:900}.email-header h2[data-v-ad420ff9]{margin:4px 0 12px;font-size:22px;line-height:1.25}.email-meta[data-v-ad420ff9]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.email-meta p[data-v-ad420ff9]{margin:0;color:#526275;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-meta strong[data-v-ad420ff9]{margin-right:8px;color:#172033}.email-body[data-v-ad420ff9]{flex:1;min-height:0;display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr)}.email-sidebar[data-v-ad420ff9]{min-height:0;display:flex;flex-direction:column;gap:14px;padding:14px;border-right:1px solid rgba(23,32,51,.08);background:rgba(255,255,255,.7)}.body-tabs[data-v-ad420ff9]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:4px;border-radius:12px;background:rgba(23,32,51,.06)}.body-tabs button[data-v-ad420ff9],.attachment-item[data-v-ad420ff9],.attachment-preview-head button[data-v-ad420ff9]{font:inherit;cursor:pointer}.body-tabs button[data-v-ad420ff9]{height:34px;border:0;border-radius:9px;background:transparent;color:#64748b;font-size:12px;font-weight:800}.body-tabs button.active[data-v-ad420ff9]{background:#ffffff;color:#172033}.body-tabs button[data-v-ad420ff9]:disabled{opacity:.4;cursor:not-allowed}.attachment-panel[data-v-ad420ff9]{min-height:0;overflow:auto}.attachment-title[data-v-ad420ff9]{display:flex;justify-content:space-between;color:#172033;font-size:14px;margin-bottom:8px}.attachment-title span[data-v-ad420ff9]{color:#64748b}.attachment-item[data-v-ad420ff9]{width:100%;min-height:62px;display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;margin-bottom:8px;padding:9px;border:1px solid rgba(23,32,51,.08);border-radius:12px;background:#ffffff;text-align:left}.attachment-item[data-v-ad420ff9]:hover,.attachment-item.active[data-v-ad420ff9]{border-color:#1f7a5847;box-shadow:0 10px 22px #17203314}.attachment-item span[data-v-ad420ff9]{grid-row:span 2;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:rgba(31,122,88,.12);color:#1f7a58;font-size:11px;font-weight:900}.attachment-item strong[data-v-ad420ff9],.attachment-item em[data-v-ad420ff9]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-item em[data-v-ad420ff9]{color:#64748b;font-size:12px;font-style:normal}.message-panel[data-v-ad420ff9]{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(240px,46%) minmax(0,1fr)}.email-html[data-v-ad420ff9],.email-text[data-v-ad420ff9]{width:100%;height:100%;border:0;background:#ffffff}.email-text[data-v-ad420ff9]{margin:0;overflow:auto;padding:20px;white-space:pre-wrap;word-break:break-word;line-height:1.65}.attachment-preview[data-v-ad420ff9]{min-height:0;display:flex;flex-direction:column;border-top:1px solid rgba(23,32,51,.08)}.attachment-preview-head[data-v-ad420ff9]{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;background:rgba(255,255,255,.78)}.attachment-preview-head button[data-v-ad420ff9]{height:32px;padding:0 12px;border:0;border-radius:9px;background:#1f7a58;color:#fff;font-weight:800}.attachment-target[data-v-ad420ff9]{flex:1;min-height:0;overflow:auto}.email-state[data-v-ad420ff9]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:14px;background:rgba(243,246,248,.86)}.email-state span[data-v-ad420ff9]{width:34px;height:34px;border-radius:999px;border:3px solid rgba(31,122,88,.16);border-top-color:#1f7a58;animation:email-spin-ad420ff9 .9s linear infinite}.email-error[data-v-ad420ff9]{position:absolute;right:18px;bottom:18px;width:min(460px,calc(100% - 36px));padding:14px;border-radius:14px;background:#fff7e8;color:#8a4b00;box-shadow:0 16px 36px #17203324}@keyframes email-spin-ad420ff9{to{transform:rotate(360deg)}}@media (max-width: 860px){.email-meta[data-v-ad420ff9],.email-body[data-v-ad420ff9]{grid-template-columns:1fr}.email-body[data-v-ad420ff9]{grid-template-rows:auto minmax(0,1fr)}.email-sidebar[data-v-ad420ff9]{border-right:0;border-bottom:1px solid rgba(23,32,51,.08)}}.email-attachment-render{width:100%;height:100%;min-height:320px}.eda-viewer[data-v-b26a304a]{position:relative;height:100%;min-height:0;display:flex;flex-direction:column;background:#edf1f5;color:#172033}.eda-header[data-v-b26a304a]{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 176px 18px 22px;border-bottom:1px solid rgba(23,32,51,.08);background:#ffffff}.eda-header span[data-v-b26a304a],.eda-panel-head span[data-v-b26a304a]{color:#0b7480;font-size:12px;font-weight:900;letter-spacing:0}.eda-header h2[data-v-b26a304a]{margin:4px 0 0;font-size:22px;line-height:1.2}.eda-header dl[data-v-b26a304a]{display:grid;grid-template-columns:repeat(4,minmax(70px,auto));gap:10px;margin:0}.eda-header dt[data-v-b26a304a],.eda-header dd[data-v-b26a304a],.eda-entity-group dl[data-v-b26a304a],.eda-entity-group dt[data-v-b26a304a],.eda-entity-group dd[data-v-b26a304a]{margin:0}.eda-header dt[data-v-b26a304a]{color:#718096;font-size:12px}.eda-header dd[data-v-b26a304a]{color:#172033;font-weight:900}.eda-body[data-v-b26a304a]{flex:1;min-height:0;display:grid;grid-template-columns:minmax(300px,32%) minmax(0,1fr)}.eda-sidebar[data-v-b26a304a]{min-height:0;display:flex;flex-direction:column;gap:12px;padding:16px;border-right:1px solid rgba(23,32,51,.08);background:rgba(255,255,255,.74)}.eda-summary[data-v-b26a304a],.eda-warning[data-v-b26a304a],.eda-panel[data-v-b26a304a],.eda-error[data-v-b26a304a]{border-radius:14px;background:#ffffff;box-shadow:inset 0 0 0 1px #1720330f}.eda-summary[data-v-b26a304a],.eda-warning[data-v-b26a304a]{padding:12px}.eda-summary strong[data-v-b26a304a]{display:block;color:#172033}.eda-summary p[data-v-b26a304a],.eda-warning p[data-v-b26a304a],.eda-empty p[data-v-b26a304a],.eda-entity-group p[data-v-b26a304a]{margin:6px 0 0;color:#64748b;line-height:1.55}.eda-mini-grid[data-v-b26a304a],.eda-stat-grid[data-v-b26a304a]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.eda-mini-grid div[data-v-b26a304a],.eda-stat-grid div[data-v-b26a304a]{min-width:0;padding:10px;border-radius:12px;background:#ffffff;box-shadow:inset 0 0 0 1px #1720330f}.eda-mini-grid span[data-v-b26a304a],.eda-stat-grid span[data-v-b26a304a]{display:block;color:#718096;font-size:12px}.eda-mini-grid strong[data-v-b26a304a],.eda-stat-grid strong[data-v-b26a304a]{display:block;margin-top:4px;overflow:hidden;color:#172033;font-size:18px;text-overflow:ellipsis;white-space:nowrap}.eda-warning[data-v-b26a304a]{background:#fff7e8;color:#8a4b00}.eda-search[data-v-b26a304a]{height:42px;padding:0 12px;border-radius:12px;border:1px solid rgba(23,32,51,.1);outline:none;background:#ffffff;font:inherit}.eda-stream-list[data-v-b26a304a]{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:8px}.eda-stream[data-v-b26a304a]{min-height:78px;display:grid;grid-template-columns:74px minmax(0,1fr);gap:8px 10px;align-items:center;padding:10px;border:1px solid rgba(23,32,51,.08);border-radius:13px;background:#ffffff;color:inherit;font:inherit;text-align:left;cursor:pointer}.eda-stream[data-v-b26a304a]:hover,.eda-stream.active[data-v-b26a304a],.eda-tree button[data-v-b26a304a]:hover,.eda-tree button.active[data-v-b26a304a],.eda-entity-group button[data-v-b26a304a]:hover{border-color:#0b74804d;box-shadow:0 10px 22px #17203314}.eda-stream span[data-v-b26a304a]{grid-row:span 3;min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;border-radius:10px;background:rgba(11,116,128,.12);color:#0b7480;font-size:11px;font-weight:900}.eda-stream span[data-role=symbol][data-v-b26a304a]{background:rgba(34,134,90,.14);color:#1d7a52}.eda-stream span[data-role=footprint][data-v-b26a304a],.eda-stream span[data-role=padstack][data-v-b26a304a]{background:rgba(111,87,190,.14);color:#5c47a5}.eda-stream strong[data-v-b26a304a],.eda-stream em[data-v-b26a304a],.eda-tree strong[data-v-b26a304a],.eda-tree em[data-v-b26a304a],.eda-tree small[data-v-b26a304a],.eda-entity-group strong[data-v-b26a304a],.eda-entity-group span[data-v-b26a304a],.eda-entity-group dd[data-v-b26a304a]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eda-stream em[data-v-b26a304a],.eda-stream small[data-v-b26a304a]{color:#718096;font-size:12px;font-style:normal}.eda-preview[data-v-b26a304a]{min-width:0;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:14px;padding:16px}.eda-panel[data-v-b26a304a]{min-height:0;overflow:hidden}.eda-panel-head[data-v-b26a304a]{min-height:54px;padding:12px 14px;border-bottom:1px solid rgba(23,32,51,.08)}.eda-panel-head strong[data-v-b26a304a]{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eda-panel--compact .eda-panel-head[data-v-b26a304a]{min-height:auto}.eda-stat-grid[data-v-b26a304a]{padding:14px}.eda-stat-grid div[data-v-b26a304a]{background:#f6f9fb}.eda-topology[data-v-b26a304a],.eda-bottom[data-v-b26a304a]{min-height:300px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:14px}.eda-topology>.eda-panel[data-v-b26a304a]{min-height:360px;max-height:min(58vh,620px);display:flex;flex-direction:column}.eda-tree[data-v-b26a304a],.eda-entities[data-v-b26a304a],.eda-diagnostics[data-v-b26a304a],.eda-string-grid[data-v-b26a304a]{min-height:0;max-height:380px;overflow:auto;overscroll-behavior:contain}.eda-tree[data-v-b26a304a]{flex:1;max-height:none;padding:10px}.eda-entities[data-v-b26a304a]{flex:1;max-height:none}.eda-tree button[data-v-b26a304a]{width:100%;min-height:42px;display:grid;grid-template-columns:minmax(22px,auto) minmax(0,1fr) minmax(72px,auto) minmax(72px,auto);gap:8px;align-items:center;margin-bottom:6px;padding:8px;border:1px solid rgba(23,32,51,.06);border-radius:10px;background:#f8fafc;color:inherit;font:inherit;text-align:left;cursor:pointer}.eda-tree span[data-v-b26a304a]{color:#0b7480;font-weight:900}.eda-tree em[data-v-b26a304a],.eda-tree small[data-v-b26a304a]{color:#718096;font-size:12px;font-style:normal}.eda-entities[data-v-b26a304a]{padding:12px}.eda-entity-group+.eda-entity-group[data-v-b26a304a]{margin-top:16px}.eda-entity-group h3[data-v-b26a304a]{margin:0 0 8px;color:#172033;font-size:14px}.eda-entity-group button[data-v-b26a304a]{width:100%;display:block;margin-bottom:8px;padding:12px;border:1px solid rgba(23,32,51,.08);border-radius:12px;background:#f8fafc;color:inherit;font:inherit;text-align:left;cursor:pointer}.eda-entity-group button>span[data-v-b26a304a]{display:block;margin-top:4px;color:#718096;font-size:12px}.eda-entity-group dl[data-v-b26a304a]{display:grid;gap:6px;margin-top:10px}.eda-entity-group dl div[data-v-b26a304a]{min-width:0;display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;color:#475569;font-size:12px}.eda-entity-group dt[data-v-b26a304a]{color:#718096;font-weight:800}.eda-selected-meta[data-v-b26a304a],.eda-property-grid[data-v-b26a304a],.eda-local-strings[data-v-b26a304a]{display:flex;flex-wrap:wrap;gap:8px;padding:12px 14px 0}.eda-selected-meta span[data-v-b26a304a],.eda-property-grid div[data-v-b26a304a],.eda-local-strings span[data-v-b26a304a]{min-width:0;display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:#eef6f7;color:#0b7480;font-size:12px;font-weight:800}.eda-selected-meta span[data-v-b26a304a],.eda-local-strings span[data-v-b26a304a]{padding:6px 10px}.eda-property-grid div[data-v-b26a304a]{max-width:100%;padding:6px 10px}.eda-property-grid span[data-v-b26a304a]{color:#64748b;font-weight:700}.eda-property-grid strong[data-v-b26a304a]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eda-panel pre[data-v-b26a304a]{min-height:220px;max-height:440px;margin:12px 0 0;overflow:auto;padding:16px;border-top:1px solid rgba(23,32,51,.08);background:#101725;color:#d9e7ff;font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word}.eda-empty[data-v-b26a304a]{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}.eda-string-grid[data-v-b26a304a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));align-content:start;gap:8px;padding:14px}.eda-string-grid span[data-v-b26a304a]{min-width:0;padding:8px 10px;border-radius:10px;background:#f6f9fb;color:#334155;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eda-diagnostics[data-v-b26a304a]{padding:14px}.eda-diagnostics p[data-v-b26a304a]{margin:0 0 8px;padding:10px;border-radius:10px;background:#f6f9fb;color:#475569;line-height:1.5}.eda-diagnostics p[data-level=warning][data-v-b26a304a]{background:#fff7e8;color:#8a4b00}.eda-diagnostics span[data-v-b26a304a]{display:inline-flex;margin-right:8px;color:#0b7480;font-size:11px;font-weight:900;text-transform:uppercase}.eda-local-strings[data-v-b26a304a]{padding-bottom:14px}.eda-local-strings strong[data-v-b26a304a]{width:100%;color:#172033;font-size:13px}.eda-state[data-v-b26a304a]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:12px;background:rgba(237,241,245,.9)}.eda-state span[data-v-b26a304a]{width:32px;height:32px;border-radius:999px;border:3px solid rgba(11,116,128,.16);border-top-color:#0b7480;animation:eda-spin-b26a304a .9s linear infinite}.eda-error[data-v-b26a304a]{position:absolute;right:18px;bottom:18px;width:min(440px,calc(100% - 36px));padding:14px;background:#fff7e8;color:#8a4b00}@keyframes eda-spin-b26a304a{to{transform:rotate(360deg)}}@media (max-width: 980px){.eda-header[data-v-b26a304a],.eda-body[data-v-b26a304a],.eda-topology[data-v-b26a304a],.eda-bottom[data-v-b26a304a]{grid-template-columns:1fr}.eda-header[data-v-b26a304a]{align-items:flex-start;flex-direction:column;padding-right:22px}.eda-body[data-v-b26a304a]{display:flex;flex-direction:column}.eda-sidebar[data-v-b26a304a]{max-height:42vh;border-right:0;border-bottom:1px solid rgba(23,32,51,.08)}}@media (max-width: 640px){.eda-header dl[data-v-b26a304a],.eda-mini-grid[data-v-b26a304a],.eda-stat-grid[data-v-b26a304a]{grid-template-columns:repeat(2,minmax(0,1fr))}.eda-tree button[data-v-b26a304a]{grid-template-columns:minmax(22px,auto) minmax(0,1fr)}.eda-tree em[data-v-b26a304a],.eda-tree small[data-v-b26a304a]{display:none}}.dwfv-root{height:100%;min-height:0;display:grid;grid-template-rows:auto 1fr;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#111827}.dwfv-toolbar{display:flex;gap:8px;align-items:center;padding:8px 12px;background:#fff;border-bottom:1px solid #e5e7eb}.dwfv-toolbar button,.dwfv-toolbar select{font:inherit}.dwfv-workspace{min-height:0;display:grid;grid-template-columns:minmax(220px,300px) 1fr}.dwfv-tree{overflow:auto;border-right:1px solid #d6d8dd;background:#fff;font-size:12px;padding:8px}.dwfv-tree[style*="display: none"]+.dwfv-stage{grid-column:1 / -1}.dwfv-tree-header{font-weight:700;margin-bottom:4px}.dwfv-tree-stats{color:#6b7280;margin-bottom:8px}.dwfv-tree details{margin-left:8px}.dwfv-tree summary{cursor:pointer;padding:2px 0}.dwfv-tree-meta{color:#6b7280;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;padding-left:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dwfv-stage{position:relative;overflow:hidden;background:#e5e7eb}.dwfv-canvas{position:absolute;inset:0;width:100%;height:100%}.dwfv-webgl-canvas{pointer-events:none}.dwfv-overlay-canvas{pointer-events:auto;touch-action:none;cursor:grab}.dwfv-overlay-canvas:active{cursor:grabbing}.dwfv-status{margin-left:auto;font-size:12px;color:#4b5563}.dwfv-warn{color:#92400e}.cad-viewer-container{position:relative;overflow:hidden;min-width:0;min-height:0}.cad-viewer-canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.cad-viewer-canvas.is-dragging{cursor:grabbing}.cad-viewer-webgl-canvas{position:relative;z-index:0}.cad-viewer-text-overlay{display:block;contain:strict;-webkit-user-select:none;user-select:none}.cad-viewer-native-host{position:absolute;inset:0;display:none;z-index:2;min-width:0;min-height:0;background:#05070d}.cad-viewer-native-host.is-active{display:block}.cad-viewer-native-host .dwfv-root{height:100%;min-height:0;color:#dbeafe;background:#05070d}.cad-viewer-native-host .dwfv-toolbar{min-height:34px;padding:5px 8px;gap:6px;border-bottom:1px solid rgba(71,85,105,.65);background:#0f172af5;color:#e5e7eb}.cad-viewer-native-host .dwfv-toolbar button,.cad-viewer-native-host .dwfv-toolbar select{height:24px;border:1px solid rgba(100,116,139,.75);border-radius:6px;background:#111827;color:#e5e7eb;font-size:12px}.cad-viewer-native-host .dwfv-toolbar button{padding:0 8px;cursor:pointer}.cad-viewer-native-host .dwfv-toolbar button:hover,.cad-viewer-native-host .dwfv-toolbar select:hover{border-color:#60a5fa;color:#bfdbfe}.cad-viewer-native-host .dwfv-status{color:#93c5fd;font-size:12px}.cad-viewer-native-host .dwfv-workspace{min-height:0;background:#05070d}.cad-viewer-native-host .dwfv-stage{background:#05070d}.cad-viewer-native-host .dwfv-tree{border-right:1px solid rgba(71,85,105,.7);background:#0f172a;color:#dbeafe}.cad-viewer-native-host .dwfv-tree-stats,.cad-viewer-native-host .dwfv-tree-meta{color:#94a3b8}.cad-viewer-native-host .dwfv-warn{color:#fbbf24}.cad-shell[data-v-06294777]{display:flex;height:100%;min-height:100%;flex-direction:column;background:#f5f7fb;color:#142335}.cad-toolbar[data-v-06294777]{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:16px;padding:0 14px;border-bottom:1px solid rgba(15,23,42,.08);background:#ffffff}.cad-tools[data-v-06294777],.cad-meta[data-v-06294777]{display:flex;align-items:center;gap:8px}.cad-tools button[data-v-06294777]{min-width:34px;min-height:30px;border:0;border-radius:8px;background:rgba(15,23,42,.06);color:#25344c;cursor:pointer;font-weight:800;transition:background-color .18s ease,color .18s ease}.cad-tools button[data-v-06294777]:hover{background:rgba(31,150,110,.14);color:#0f8f62}.cad-zoom[data-v-06294777],.cad-meta span[data-v-06294777]{color:#64748b;font-size:12px;font-weight:800;letter-spacing:0}.cad-meta span[data-v-06294777]{border-radius:999px;padding:5px 9px;background:rgba(15,23,42,.06)}.cad-body[data-v-06294777]{display:grid;min-height:0;flex:1;grid-template-columns:minmax(168px,220px) minmax(0,1fr) minmax(150px,190px);background:#eef2f7}.cad-body.without-layers[data-v-06294777]{grid-template-columns:minmax(0,1fr) minmax(150px,190px)}.cad-layers[data-v-06294777],.cad-inspector[data-v-06294777]{min-height:0;overflow:auto;border-right:1px solid rgba(15,23,42,.08);background:#ffffff}.cad-inspector[data-v-06294777]{border-right:0;border-left:1px solid rgba(15,23,42,.08);padding:14px}.cad-layers-head[data-v-06294777]{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:12px 12px 8px;background:#ffffff;color:#1f2a3d;font-size:13px;z-index:1}.cad-layers-head span[data-v-06294777]{color:#7b8ca5;font-size:12px;font-weight:700}.cad-layers button[data-v-06294777]{display:flex;width:calc(100% - 16px);min-height:34px;align-items:center;gap:8px;margin:0 8px 6px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#f8fafc;color:#25344c;cursor:pointer;font-size:12px;font-weight:700;text-align:left}.cad-layers button.muted[data-v-06294777]{opacity:.48}.cad-layer-color[data-v-06294777]{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:#1f966e;box-shadow:inset 0 0 0 1px #0f172a24}.cad-canvas-wrap[data-v-06294777]{position:relative;min-width:0;min-height:0;overflow:hidden;background:linear-gradient(90deg,rgba(15,23,42,.04) 1px,transparent 1px),linear-gradient(180deg,rgba(15,23,42,.04) 1px,transparent 1px),#f8fafc;background-size:28px 28px}.cad-stage[data-v-06294777]{position:relative;width:100%;height:100%;min-height:420px;overflow:hidden}.cad-stage[data-v-06294777] canvas{position:absolute;inset:0;display:block;width:100%!important;height:100%!important}.cad-native-stage[data-v-06294777]{position:absolute;inset:0;z-index:2;display:none;overflow:hidden}.cad-native-stage[data-v-06294777]:not(:empty){display:block}.cad-native-stage[data-v-06294777] *{box-sizing:border-box}.cad-state[data-v-06294777]{position:absolute;inset:50% auto auto 50%;max-width:min(520px,calc(100% - 48px));transform:translate(-50%,-50%);border-radius:12px;padding:14px 18px;background:rgba(255,255,255,.92);box-shadow:0 14px 38px #0f172a1f;color:#53637a;font-size:13px;font-weight:800;text-align:center}.cad-state.error[data-v-06294777]{color:#b42318}.cad-inspector strong[data-v-06294777]{display:block;margin-bottom:12px;color:#1f2a3d;font-size:13px}.cad-inspector dl[data-v-06294777]{display:grid;gap:8px;margin:0}.cad-inspector dl div[data-v-06294777]{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:8px;padding:8px 10px;background:#f8fafc}.cad-inspector dt[data-v-06294777],.cad-inspector dd[data-v-06294777]{margin:0;font-size:12px}.cad-inspector dt[data-v-06294777]{color:#7b8ca5;font-weight:700}.cad-inspector dd[data-v-06294777]{color:#20304a;font-weight:900}.cad-warning[data-v-06294777]{margin:12px 0 0;border-radius:8px;padding:10px;background:rgba(245,158,11,.13);color:#92400e;font-size:12px;line-height:1.55}@media (max-width: 860px){.cad-body[data-v-06294777],.cad-body.without-layers[data-v-06294777]{grid-template-columns:minmax(0,1fr)}.cad-layers[data-v-06294777],.cad-inspector[data-v-06294777]{display:none}}.umd-viewer[data-v-c855ba56]{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:#eef1f4;color:#172033}.umd-toolbar[data-v-c855ba56]{flex-shrink:0;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.94)}.umd-title[data-v-c855ba56]{min-width:0;display:flex;flex-direction:column;gap:3px}.umd-title strong[data-v-c855ba56],.umd-title span[data-v-c855ba56]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.umd-title strong[data-v-c855ba56]{font-size:14px}.umd-title span[data-v-c855ba56]{color:#64748b;font-size:12px}.umd-icon-button[data-v-c855ba56],.umd-button[data-v-c855ba56]{height:36px;border:1px solid rgba(15,23,42,.08);background:#ffffff;color:#172033;font:inherit;cursor:pointer}.umd-icon-button[data-v-c855ba56]{width:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px}.umd-icon-button span[data-v-c855ba56],.umd-icon-button span[data-v-c855ba56]:before,.umd-icon-button span[data-v-c855ba56]:after{width:16px;height:2px;display:block;border-radius:999px;background:currentColor}.umd-icon-button span[data-v-c855ba56]{position:relative}.umd-icon-button span[data-v-c855ba56]:before,.umd-icon-button span[data-v-c855ba56]:after{content:"";position:absolute;left:0}.umd-icon-button span[data-v-c855ba56]:before{top:-5px}.umd-icon-button span[data-v-c855ba56]:after{top:5px}.umd-icon-button.active[data-v-c855ba56]{border-color:#0284c73d;background:rgba(2,132,199,.08);color:#0369a1}.umd-actions[data-v-c855ba56]{display:flex;align-items:center;gap:8px}.umd-button[data-v-c855ba56]{min-width:68px;padding:0 12px;border-radius:8px;font-size:13px;font-weight:700}.umd-button[data-v-c855ba56]:disabled{color:#94a3b8;cursor:not-allowed}.umd-progress[data-v-c855ba56]{min-width:58px;color:#64748b;font-size:12px;text-align:center}.umd-body[data-v-c855ba56]{flex:1;min-height:0;display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr)}.umd-viewer--toc-hidden .umd-body[data-v-c855ba56]{grid-template-columns:minmax(0,1fr)}.umd-toc[data-v-c855ba56]{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid rgba(15,23,42,.08);background:rgba(255,255,255,.82)}.umd-toc-head[data-v-c855ba56]{flex-shrink:0;display:flex;justify-content:space-between;gap:8px;padding:12px;color:#172033;font-size:13px}.umd-toc-head span[data-v-c855ba56]{color:#64748b}.umd-toc-list[data-v-c855ba56]{flex:1;min-height:0;overflow:auto;padding:0 8px 10px}.umd-toc-item[data-v-c855ba56]{width:100%;min-height:34px;padding:7px 10px;border:0;border-radius:8px;background:transparent;color:#475569;font:inherit;font-size:12px;text-align:left;cursor:pointer}.umd-toc-item[data-v-c855ba56]:hover,.umd-toc-item.active[data-v-c855ba56]{background:rgba(2,132,199,.08);color:#0369a1}.umd-stage-wrap[data-v-c855ba56]{position:relative;min-width:0;min-height:0;padding:18px;overflow:hidden}.umd-stage[data-v-c855ba56]{width:100%;height:100%;overflow:auto;border-radius:8px;background:#fffef8;box-shadow:0 18px 45px #0f172a1f,inset 0 0 0 1px #0f172a0f}.umd-book-head[data-v-c855ba56]{display:flex;gap:20px;max-width:820px;margin:0 auto;padding:32px 34px 8px}.umd-book-head img[data-v-c855ba56]{width:96px;max-height:136px;object-fit:cover;border-radius:6px;box-shadow:0 12px 26px #0f172a29}.umd-book-head div[data-v-c855ba56]{min-width:0}.umd-book-head h1[data-v-c855ba56]{margin:0;color:#111827;font-size:24px;line-height:1.3}.umd-book-head p[data-v-c855ba56]{margin:8px 0 0;color:#64748b;font-size:13px;line-height:1.6}.umd-chapter[data-v-c855ba56]{max-width:820px;margin:0 auto;padding:28px 34px 56px}.umd-chapter h2[data-v-c855ba56]{margin:0 0 22px;color:#111827;font-size:22px;line-height:1.35}.umd-text[data-v-c855ba56]{color:#1f2937;font-family:Georgia,Times New Roman,Songti SC,SimSun,serif;font-size:17px;line-height:1.86;white-space:pre-wrap;word-break:break-word}.umd-image-list[data-v-c855ba56]{display:grid;gap:18px}.umd-image-list figure[data-v-c855ba56]{margin:0;text-align:center}.umd-image-list img[data-v-c855ba56]{max-width:100%;height:auto;border-radius:6px;box-shadow:0 10px 24px #0f172a1f}.umd-empty[data-v-c855ba56],.umd-warning[data-v-c855ba56]{color:#64748b;font-size:14px;line-height:1.7}.umd-warning[data-v-c855ba56]{max-width:820px;margin:-28px auto 36px;padding:0 34px;color:#b45309}.umd-state[data-v-c855ba56]{position:absolute;inset:18px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:rgba(255,255,255,.92);color:#64748b;font-size:14px}.umd-state.error[data-v-c855ba56]{color:#b42318}@media (max-width: 720px){.umd-toolbar[data-v-c855ba56]{grid-template-columns:40px minmax(0,1fr)}.umd-actions[data-v-c855ba56]{grid-column:1 / -1;justify-content:space-between}.umd-body[data-v-c855ba56]{position:relative;grid-template-columns:minmax(0,1fr)}.umd-toc[data-v-c855ba56]{position:absolute;z-index:5;top:0;bottom:0;left:0;width:min(82vw,280px);box-shadow:18px 0 40px #0f172a29}.umd-stage-wrap[data-v-c855ba56]{padding:12px}.umd-book-head[data-v-c855ba56]{padding:24px 20px 0}.umd-chapter[data-v-c855ba56]{padding:24px 20px 42px}}.markdown-body{--base-size-16: 1rem;--base-size-24: 1.5rem;--base-size-4: .25rem;--base-size-40: 2.5rem;--base-size-8: .5rem;--base-text-weight-medium: 500;--base-text-weight-normal: 400;--base-text-weight-semibold: 600;--fontStack-monospace: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;--fontStack-sansSerif: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--fgColor-accent: Highlight}@media (prefers-color-scheme: dark){.markdown-body,[data-theme=dark]{color-scheme:dark;--fgColor-accent: #4493f8;--bgColor-attention-muted: #bb800926;--bgColor-default: #0d1117;--bgColor-muted: #151b23;--bgColor-neutral-muted: #656c7633;--borderColor-accent-emphasis: #1f6feb;--borderColor-attention-emphasis: #9e6a03;--borderColor-danger-emphasis: #da3633;--borderColor-default: #3d444d;--borderColor-done-emphasis: #8957e5;--borderColor-success-emphasis: #238636;--color-prettylights-syntax-brackethighlighter-angle: #9198a1;--color-prettylights-syntax-brackethighlighter-unmatched: #f85149;--color-prettylights-syntax-carriage-return-bg: #b62324;--color-prettylights-syntax-carriage-return-text: #f0f6fc;--color-prettylights-syntax-comment: #9198a1;--color-prettylights-syntax-constant: #79c0ff;--color-prettylights-syntax-constant-other-reference-link: #a5d6ff;--color-prettylights-syntax-entity: #d2a8ff;--color-prettylights-syntax-entity-tag: #7ee787;--color-prettylights-syntax-keyword: #ff7b72;--color-prettylights-syntax-markup-bold: #f0f6fc;--color-prettylights-syntax-markup-changed-bg: #5a1e02;--color-prettylights-syntax-markup-changed-text: #ffdfb6;--color-prettylights-syntax-markup-deleted-bg: #67060c;--color-prettylights-syntax-markup-deleted-text: #ffdcd7;--color-prettylights-syntax-markup-heading: #1f6feb;--color-prettylights-syntax-markup-ignored-bg: #1158c7;--color-prettylights-syntax-markup-ignored-text: #f0f6fc;--color-prettylights-syntax-markup-inserted-bg: #033a16;--color-prettylights-syntax-markup-inserted-text: #aff5b4;--color-prettylights-syntax-markup-italic: #f0f6fc;--color-prettylights-syntax-markup-list: #f2cc60;--color-prettylights-syntax-meta-diff-range: #d2a8ff;--color-prettylights-syntax-storage-modifier-import: #f0f6fc;--color-prettylights-syntax-string: #a5d6ff;--color-prettylights-syntax-string-regexp: #7ee787;--color-prettylights-syntax-sublimelinter-gutter-mark: #3d444d;--color-prettylights-syntax-variable: #ffa657;--fgColor-attention: #d29922;--fgColor-danger: #f85149;--fgColor-default: #f0f6fc;--fgColor-done: #ab7df8;--fgColor-muted: #9198a1;--fgColor-success: #3fb950;--borderColor-muted: #3d444db3;--color-prettylights-syntax-invalid-illegal-bg: var(--bgColor-danger-muted);--color-prettylights-syntax-invalid-illegal-text: var(--fgColor-danger);--focus-outlineColor: var(--borderColor-accent-emphasis);--borderColor-neutral-muted: var(--borderColor-muted)}}@media (prefers-color-scheme: light){.markdown-body,[data-theme=light]{color-scheme:light;--fgColor-danger: #d1242f;--bgColor-attention-muted: #fff8c5;--bgColor-muted: #f6f8fa;--bgColor-neutral-muted: #818b981f;--borderColor-accent-emphasis: #0969da;--borderColor-attention-emphasis: #9a6700;--borderColor-danger-emphasis: #cf222e;--borderColor-default: #d1d9e0;--borderColor-done-emphasis: #8250df;--borderColor-success-emphasis: #1a7f37;--color-prettylights-syntax-brackethighlighter-angle: #59636e;--color-prettylights-syntax-brackethighlighter-unmatched: #82071e;--color-prettylights-syntax-carriage-return-bg: #cf222e;--color-prettylights-syntax-carriage-return-text: #f6f8fa;--color-prettylights-syntax-comment: #59636e;--color-prettylights-syntax-constant: #0550ae;--color-prettylights-syntax-constant-other-reference-link: #0a3069;--color-prettylights-syntax-entity: #6639ba;--color-prettylights-syntax-entity-tag: #0550ae;--color-prettylights-syntax-invalid-illegal-text: var(--fgColor-danger);--color-prettylights-syntax-keyword: #cf222e;--color-prettylights-syntax-markup-changed-bg: #ffd8b5;--color-prettylights-syntax-markup-changed-text: #953800;--color-prettylights-syntax-markup-deleted-bg: #ffebe9;--color-prettylights-syntax-markup-deleted-text: #82071e;--color-prettylights-syntax-markup-heading: #0550ae;--color-prettylights-syntax-markup-ignored-bg: #0550ae;--color-prettylights-syntax-markup-ignored-text: #d1d9e0;--color-prettylights-syntax-markup-inserted-bg: #dafbe1;--color-prettylights-syntax-markup-inserted-text: #116329;--color-prettylights-syntax-markup-list: #3b2300;--color-prettylights-syntax-meta-diff-range: #8250df;--color-prettylights-syntax-string: #0a3069;--color-prettylights-syntax-string-regexp: #116329;--color-prettylights-syntax-sublimelinter-gutter-mark: #818b98;--color-prettylights-syntax-variable: #953800;--fgColor-accent: #0969da;--fgColor-attention: #9a6700;--fgColor-done: #8250df;--fgColor-muted: #59636e;--fgColor-success: #1a7f37;--bgColor-default: #ffffff;--borderColor-muted: #d1d9e0b3;--color-prettylights-syntax-invalid-illegal-bg: var(--bgColor-danger-muted);--color-prettylights-syntax-markup-bold: #1f2328;--color-prettylights-syntax-markup-italic: #1f2328;--color-prettylights-syntax-storage-modifier-import: #1f2328;--fgColor-default: #1f2328;--focus-outlineColor: var(--borderColor-accent-emphasis);--borderColor-neutral-muted: var(--borderColor-muted)}}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;margin:0;font-weight:var(--base-text-weight-normal, 400);color:var(--fgColor-default);background-color:var(--bgColor-default);font-family:var(--fontStack-sansSerif, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji");font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body a{text-decoration:underline;text-underline-offset:.2rem}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body h1:hover .anchor .octicon-link:before,.markdown-body h2:hover .anchor .octicon-link:before,.markdown-body h3:hover .anchor .octicon-link:before,.markdown-body h4:hover .anchor .octicon-link:before,.markdown-body h5:hover .anchor .octicon-link:before,.markdown-body h6:hover .anchor .octicon-link:before{width:16px;height:16px;content:" ";display:inline-block;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>");mask-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg>")}.markdown-body details,.markdown-body figcaption,.markdown-body figure{display:block}.markdown-body summary{display:list-item}.markdown-body [hidden]{display:none!important}.markdown-body a{background-color:#0000;color:var(--fgColor-accent);text-decoration:none}.markdown-body abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.markdown-body b,.markdown-body strong{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dfn{font-style:italic}.markdown-body h1{margin:.67em 0;font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:2em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body mark{background-color:var(--bgColor-attention-muted);color:var(--fgColor-default)}.markdown-body small{font-size:90%}.markdown-body sub,.markdown-body sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.markdown-body sub{bottom:-.25em}.markdown-body sup{top:-.5em}.markdown-body img{border-style:none;max-width:100%;box-sizing:content-box}.markdown-body code,.markdown-body kbd,.markdown-body pre,.markdown-body samp{font-family:monospace;font-size:1em}.markdown-body figure{margin:1em var(--base-size-40)}.markdown-body hr{box-sizing:content-box;overflow:hidden;background:rgba(0,0,0,0);border-bottom:1px solid var(--borderColor-muted);height:.25em;padding:0;margin:var(--base-size-24) 0;background-color:var(--borderColor-default);border:0}.markdown-body input{font:inherit;margin:0;overflow:visible;font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body [type=button],.markdown-body [type=reset],.markdown-body [type=submit]{-webkit-appearance:button;appearance:button}.markdown-body [type=checkbox],.markdown-body [type=radio]{box-sizing:border-box;padding:0}.markdown-body [type=number]::-webkit-inner-spin-button,.markdown-body [type=number]::-webkit-outer-spin-button{height:auto}.markdown-body [type=search]::-webkit-search-cancel-button,.markdown-body [type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.markdown-body ::-webkit-input-placeholder{color:inherit;opacity:.54}.markdown-body ::-webkit-file-upload-button{-webkit-appearance:button;appearance:button;font:inherit}.markdown-body a:hover{text-decoration:underline}.markdown-body ::placeholder{color:var(--fgColor-muted);opacity:1}.markdown-body hr:before{display:table;content:""}.markdown-body hr:after{display:table;clear:both;content:""}.markdown-body table{border-spacing:0;border-collapse:collapse;display:block;width:max-content;max-width:100%;overflow:auto;font-variant:tabular-nums}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body a:focus,.markdown-body [role=button]:focus,.markdown-body input[type=radio]:focus,.markdown-body input[type=checkbox]:focus{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:focus:not(:focus-visible),.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body input[type=radio]:focus:not(:focus-visible),.markdown-body input[type=checkbox]:focus:not(:focus-visible){outline:solid 1px rgba(0,0,0,0)}.markdown-body a:focus-visible,.markdown-body [role=button]:focus-visible,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:-2px;box-shadow:none}.markdown-body a:not([class]):focus,.markdown-body a:not([class]):focus-visible,.markdown-body input[type=radio]:focus,.markdown-body input[type=radio]:focus-visible,.markdown-body input[type=checkbox]:focus,.markdown-body input[type=checkbox]:focus-visible{outline-offset:0}.markdown-body kbd{display:inline-block;padding:var(--base-size-4);font:11px var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);line-height:10px;color:var(--fgColor-default);vertical-align:middle;background-color:var(--bgColor-muted);border:solid 1px var(--borderColor-neutral-muted);border-bottom-color:var(--borderColor-neutral-muted);border-radius:6px;box-shadow:inset 0 -1px 0 var(--borderColor-neutral-muted)}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:var(--base-size-24);margin-bottom:var(--base-size-16);font-weight:var(--base-text-weight-semibold, 600);line-height:1.25}.markdown-body h2{font-weight:var(--base-text-weight-semibold, 600);padding-bottom:.3em;font-size:1.5em;border-bottom:1px solid var(--borderColor-muted)}.markdown-body h3{font-weight:var(--base-text-weight-semibold, 600);font-size:1.25em}.markdown-body h4{font-weight:var(--base-text-weight-semibold, 600);font-size:1em}.markdown-body h5{font-weight:var(--base-text-weight-semibold, 600);font-size:.875em}.markdown-body h6{font-weight:var(--base-text-weight-semibold, 600);font-size:.85em;color:var(--fgColor-muted)}.markdown-body p{margin-top:0;margin-bottom:10px}.markdown-body blockquote{margin:0;padding:0 1em;color:var(--fgColor-muted);border-left:.25em solid var(--borderColor-default)}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:0;padding-left:2em}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ul ul ol,.markdown-body ul ol ol,.markdown-body ol ul ol,.markdown-body ol ol ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body tt,.markdown-body code,.markdown-body samp{font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px}.markdown-body pre{margin-top:0;margin-bottom:0;font-family:var(--fontStack-monospace, ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace);font-size:12px;word-wrap:normal}.markdown-body .octicon{display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-body input::-webkit-outer-spin-button,.markdown-body input::-webkit-inner-spin-button{margin:0;appearance:none}.markdown-body .mr-2{margin-right:var(--base-size-8, 8px)!important}.markdown-body:before{display:table;content:""}.markdown-body:after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0!important}.markdown-body>*:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:var(--fgColor-danger)}.markdown-body .anchor{float:left;padding-right:var(--base-size-4);margin-left:-20px;line-height:1}.markdown-body .anchor:focus{outline:none}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre,.markdown-body details{margin-top:0;margin-bottom:var(--base-size-16)}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:var(--fgColor-default);vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{padding:0 .2em;font-size:inherit}.markdown-body summary h1,.markdown-body summary h2,.markdown-body summary h3,.markdown-body summary h4,.markdown-body summary h5,.markdown-body summary h6{display:inline-block}.markdown-body summary h1 .anchor,.markdown-body summary h2 .anchor,.markdown-body summary h3 .anchor,.markdown-body summary h4 .anchor,.markdown-body summary h5 .anchor,.markdown-body summary h6 .anchor{margin-left:-40px}.markdown-body summary h1,.markdown-body summary h2{padding-bottom:0;border-bottom:0}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ol[type="a s"]{list-style-type:lower-alpha}.markdown-body ol[type="A s"]{list-style-type:upper-alpha}.markdown-body ol[type="i s"]{list-style-type:lower-roman}.markdown-body ol[type="I s"]{list-style-type:upper-roman}.markdown-body ol[type="1"]{list-style-type:decimal}.markdown-body div>ol:not([type]){list-style-type:decimal}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:var(--base-size-16)}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:var(--base-size-16);font-size:1em;font-style:italic;font-weight:var(--base-text-weight-semibold, 600)}.markdown-body dl dd{padding:0 var(--base-size-16);margin-bottom:var(--base-size-16)}.markdown-body table th{font-weight:var(--base-text-weight-semibold, 600)}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--borderColor-default)}.markdown-body table td>:last-child{margin-bottom:0}.markdown-body table tr{background-color:var(--bgColor-default);border-top:1px solid var(--borderColor-muted)}.markdown-body table tr:nth-child(2n){background-color:var(--bgColor-muted)}.markdown-body table img{background-color:#0000}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none;vertical-align:text-top;background-color:#0000}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid var(--borderColor-default)}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:var(--fgColor-default)}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:.2em .4em;margin:0;font-size:85%;white-space:break-spaces;background-color:var(--bgColor-neutral-muted);border-radius:6px}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body samp{font-size:85%}.markdown-body pre code{font-size:100%}.markdown-body pre>code{padding:0;margin:0;word-break:normal;white-space:pre;background:rgba(0,0,0,0);border:0}.markdown-body .highlight{margin-bottom:var(--base-size-16)}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{padding:var(--base-size-16);overflow:auto;font-size:85%;line-height:1.45;color:var(--fgColor-default);background-color:var(--bgColor-muted);border-radius:6px}.markdown-body pre code,.markdown-body pre tt{display:inline;padding:0;margin:0;overflow:visible;line-height:inherit;word-wrap:normal;background-color:#0000;border:0}.markdown-body .csv-data td,.markdown-body .csv-data th{padding:5px;overflow:hidden;font-size:12px;line-height:1;text-align:left;white-space:nowrap}.markdown-body .csv-data .blob-num{padding:10px var(--base-size-8) 9px;text-align:right;background:var(--bgColor-default);border:0}.markdown-body .csv-data tr{border-top:0}.markdown-body .csv-data th{font-weight:var(--base-text-weight-semibold, 600);background:var(--bgColor-muted);border-top:0}.markdown-body [data-footnote-ref]:before{content:"["}.markdown-body [data-footnote-ref]:after{content:"]"}.markdown-body .footnotes{font-size:12px;color:var(--fgColor-muted);border-top:1px solid var(--borderColor-default)}.markdown-body .footnotes ol{padding-left:var(--base-size-16)}.markdown-body .footnotes ol ul{display:inline-block;padding-left:var(--base-size-16);margin-top:var(--base-size-16)}.markdown-body .footnotes li{position:relative}.markdown-body .footnotes li:target:before{position:absolute;top:calc(var(--base-size-8)*-1);right:calc(var(--base-size-8)*-1);bottom:calc(var(--base-size-8)*-1);left:calc(var(--base-size-24)*-1);pointer-events:none;content:"";border:2px solid var(--borderColor-accent-emphasis);border-radius:6px}.markdown-body .footnotes li:target{color:var(--fgColor-default)}.markdown-body .footnotes .data-footnote-backref g-emoji{font-family:monospace}.markdown-body .pl-c{color:var(--color-prettylights-syntax-comment)}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:var(--color-prettylights-syntax-constant)}.markdown-body .pl-e,.markdown-body .pl-en{color:var(--color-prettylights-syntax-entity)}.markdown-body .pl-smi,.markdown-body .pl-s .pl-s1{color:var(--color-prettylights-syntax-storage-modifier-import)}.markdown-body .pl-ent{color:var(--color-prettylights-syntax-entity-tag)}.markdown-body .pl-k{color:var(--color-prettylights-syntax-keyword)}.markdown-body .pl-s,.markdown-body .pl-pds,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sre,.markdown-body .pl-sr .pl-sra{color:var(--color-prettylights-syntax-string)}.markdown-body .pl-v,.markdown-body .pl-smw{color:var(--color-prettylights-syntax-variable)}.markdown-body .pl-bu{color:var(--color-prettylights-syntax-brackethighlighter-unmatched)}.markdown-body .pl-ii{color:var(--color-prettylights-syntax-invalid-illegal-text);background-color:var(--color-prettylights-syntax-invalid-illegal-bg)}.markdown-body .pl-c2{color:var(--color-prettylights-syntax-carriage-return-text);background-color:var(--color-prettylights-syntax-carriage-return-bg)}.markdown-body .pl-sr .pl-cce{font-weight:700;color:var(--color-prettylights-syntax-string-regexp)}.markdown-body .pl-ml{color:var(--color-prettylights-syntax-markup-list)}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{font-weight:700;color:var(--color-prettylights-syntax-markup-heading)}.markdown-body .pl-mi{font-style:italic;color:var(--color-prettylights-syntax-markup-italic)}.markdown-body .pl-mb{font-weight:700;color:var(--color-prettylights-syntax-markup-bold)}.markdown-body .pl-md{color:var(--color-prettylights-syntax-markup-deleted-text);background-color:var(--color-prettylights-syntax-markup-deleted-bg)}.markdown-body .pl-mi1{color:var(--color-prettylights-syntax-markup-inserted-text);background-color:var(--color-prettylights-syntax-markup-inserted-bg)}.markdown-body .pl-mc{color:var(--color-prettylights-syntax-markup-changed-text);background-color:var(--color-prettylights-syntax-markup-changed-bg)}.markdown-body .pl-mi2{color:var(--color-prettylights-syntax-markup-ignored-text);background-color:var(--color-prettylights-syntax-markup-ignored-bg)}.markdown-body .pl-mdr{font-weight:700;color:var(--color-prettylights-syntax-meta-diff-range)}.markdown-body .pl-ba{color:var(--color-prettylights-syntax-brackethighlighter-angle)}.markdown-body .pl-sg{color:var(--color-prettylights-syntax-sublimelinter-gutter-mark)}.markdown-body .pl-corl{text-decoration:underline;color:var(--color-prettylights-syntax-constant-other-reference-link)}.markdown-body [role=button]:focus:not(:focus-visible),.markdown-body [role=tabpanel][tabindex="0"]:focus:not(:focus-visible),.markdown-body button:focus:not(:focus-visible),.markdown-body summary:focus:not(:focus-visible),.markdown-body a:focus:not(:focus-visible){outline:none;box-shadow:none}.markdown-body [tabindex="0"]:focus:not(:focus-visible),.markdown-body details-dialog:focus:not(:focus-visible){outline:none}.markdown-body g-emoji{display:inline-block;min-width:1ch;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;font-size:1em;font-style:normal!important;font-weight:var(--base-text-weight-normal, 400);line-height:1;vertical-align:-.075em}.markdown-body g-emoji img{width:1em;height:1em}.markdown-body a:has(>p,>div,>pre,>blockquote){display:block}.markdown-body a:has(>p,>div,>pre,>blockquote):not(:has(.snippet-clipboard-content,>pre)){width:fit-content}.markdown-body a:has(>p,>div,>pre,>blockquote):has(.snippet-clipboard-content,>pre):focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:2px}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item label{font-weight:var(--base-text-weight-normal, 400)}.markdown-body .task-list-item.enabled label{cursor:pointer}.markdown-body .task-list-item+.task-list-item{margin-top:var(--base-size-4)}.markdown-body .task-list-item .handle{display:none}.markdown-body .task-list-item-checkbox{margin:0 .2em .25em -1.4em;vertical-align:middle}.markdown-body ul:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body ol:dir(rtl) .task-list-item-checkbox{margin:0 -1.6em .25em .2em}.markdown-body .contains-task-list:hover .task-list-item-convert-container,.markdown-body .contains-task-list:focus-within .task-list-item-convert-container{display:block;width:auto;height:24px;overflow:visible;clip-path:none}.markdown-body ::-webkit-calendar-picker-indicator{filter:invert(50%)}.markdown-body .markdown-alert{padding:var(--base-size-8) var(--base-size-16);margin-bottom:var(--base-size-16);color:inherit;border-left:.25em solid var(--borderColor-default)}.markdown-body .markdown-alert>:first-child{margin-top:0}.markdown-body .markdown-alert>:last-child{margin-bottom:0}.markdown-body .markdown-alert .markdown-alert-title{display:flex;font-weight:var(--base-text-weight-medium, 500);align-items:center;line-height:1}.markdown-body .markdown-alert.markdown-alert-note{border-left-color:var(--borderColor-accent-emphasis)}.markdown-body .markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--fgColor-accent)}.markdown-body .markdown-alert.markdown-alert-important{border-left-color:var(--borderColor-done-emphasis)}.markdown-body .markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--fgColor-done)}.markdown-body .markdown-alert.markdown-alert-warning{border-left-color:var(--borderColor-attention-emphasis)}.markdown-body .markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--fgColor-attention)}.markdown-body .markdown-alert.markdown-alert-tip{border-left-color:var(--borderColor-success-emphasis)}.markdown-body .markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--fgColor-success)}.markdown-body .markdown-alert.markdown-alert-caution{border-left-color:var(--borderColor-danger-emphasis)}.markdown-body .markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--fgColor-danger)}.markdown-body>*:first-child>.heading-element:first-child{margin-top:0!important}.markdown-body .highlight pre:has(+.zeroclipboard-container){min-height:52px}.markdown-viewer[data-v-4e44ce1e]{min-height:100%;padding:28px 16px 48px;background:#eef1f4;overflow:auto}.markdown-body[data-v-4e44ce1e]{color-scheme:light;--bgColor-default: #ffffff;--bgColor-muted: #f6f8fa;--bgColor-neutral-muted: #818b981f;--borderColor-default: #d1d9e0;--borderColor-muted: #d1d9e0b3;--borderColor-neutral-muted: #d1d9e0b3;--fgColor-default: #1f2328;--fgColor-muted: #59636e;--fgColor-accent: #0969da;background:var(--bgColor-default);border:1px solid rgba(20,35,53,.1);border-radius:12px;margin:0 auto;box-sizing:border-box;min-width:200px;max-width:980px;padding:45px;color:var(--fgColor-default);box-shadow:0 18px 42px #0f172a1a}@media (max-width: 767px){.markdown-viewer[data-v-4e44ce1e]{padding:14px 10px 28px}.markdown-body[data-v-4e44ce1e]{padding:22px 18px;border-radius:10px}}@media (prefers-color-scheme: dark){.markdown-viewer[data-v-4e44ce1e]{background:#101820}.markdown-body[data-v-4e44ce1e]{color-scheme:dark;--bgColor-default: #0d1117;--bgColor-muted: #151b23;--bgColor-neutral-muted: #656c7633;--borderColor-default: #3d444d;--borderColor-muted: #3d444db3;--borderColor-neutral-muted: #3d444db3;--fgColor-default: #f0f6fc;--fgColor-muted: #9198a1;--fgColor-accent: #4493f8;background:var(--bgColor-default);border-color:#8b949e42;color:var(--fgColor-default);box-shadow:0 24px 56px #00000061}}.model-viewer[data-v-9d2e23df]{display:flex;height:100%;min-height:100%;flex-direction:column;background:#f8fafc;color:#162333}.model-toolbar[data-v-9d2e23df]{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:16px;padding:0 12px;border-bottom:1px solid rgba(15,23,42,.08);background:#ffffff}.model-actions[data-v-9d2e23df]{display:flex;min-width:0;flex-wrap:wrap;gap:6px}.model-actions button[data-v-9d2e23df]{min-height:30px;border:0;border-radius:8px;padding:0 10px;background:rgba(15,23,42,.06);color:#475569;cursor:pointer;font-size:12px;font-weight:700;letter-spacing:0;transition:background-color .18s ease,color .18s ease}.model-actions button.active[data-v-9d2e23df],.model-actions button[data-v-9d2e23df]:hover{background:rgba(33,163,102,.14);color:#16804f}.model-meta[data-v-9d2e23df]{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px;color:#64748b;font-size:12px}.model-meta strong[data-v-9d2e23df]{color:#0f766e;font-weight:800}.model-meta span[data-v-9d2e23df]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-stage[data-v-9d2e23df]{position:relative;flex:1;min-height:0;overflow:hidden}.model-stage canvas[data-v-9d2e23df]{display:block;width:100%;height:100%;outline:none}.model-state[data-v-9d2e23df]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;background:rgba(248,250,252,.88);color:#64748b;text-align:center;line-height:1.7}.model-state.error[data-v-9d2e23df]{color:#b42318}.model-state strong[data-v-9d2e23df]{color:#b42318;font-size:18px}@media (max-width: 720px){.model-toolbar[data-v-9d2e23df]{min-height:64px;align-items:flex-start;flex-direction:column;gap:8px;padding:8px 10px}.model-meta[data-v-9d2e23df]{width:100%;justify-content:flex-start}}/*!
2
2
  * Viewer.js v1.11.7
3
3
  * https://fengyuanchen.github.io/viewerjs
4
4
  *