lookatstudy-mobile 0.26.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/package.json +1 -1
  2. package/server.cjs +84 -16
  3. package/web/assets/{CanvasStage-sR8T2IFn.js → CanvasStage-FNc0fAev.js} +1 -1
  4. package/web/assets/{CommandPalette-xoHRtFTt.js → CommandPalette-CJkFc4-C.js} +1 -1
  5. package/web/assets/{CourseSearchPanel-Blz5uOZo.js → CourseSearchPanel-CVTtA5GA.js} +1 -1
  6. package/web/assets/{ExamView-DcD9-XhK.js → ExamView-CdVzMzhT.js} +1 -1
  7. package/web/assets/{ReviewPanel-DPX_Gbvn.js → ReviewPanel-vkt0HRIg.js} +1 -1
  8. package/web/assets/{SettingsView-DpSiGIUo.js → SettingsView-B-UXIGbq.js} +2 -2
  9. package/web/assets/{VoicePanel-BFuMIduE.js → VoicePanel-D41yhI3s.js} +1 -1
  10. package/web/assets/{abnfDiagram-N423BO3Z-BRYm-LZF.js → abnfDiagram-N423BO3Z-BX72EuH4.js} +1 -1
  11. package/web/assets/{abnfDiagram-VCTEODGH-ODA7YWAP-B--kWzEh.js → abnfDiagram-VCTEODGH-ODA7YWAP-CrKVuoFK.js} +1 -1
  12. package/web/assets/{architectureDiagram-5GKGNRK7-C4PU3XN7-DzOQ5fo_.js → architectureDiagram-5GKGNRK7-C4PU3XN7-CBkqfD9a.js} +1 -1
  13. package/web/assets/{architectureDiagram-T3A2C74G-BhljJtMX.js → architectureDiagram-T3A2C74G-oDllY9JB.js} +1 -1
  14. package/web/assets/{arrow-right-DtCWRkvj.js → arrow-right-CNFwlOFs.js} +1 -1
  15. package/web/assets/{blockDiagram-NRAW4CY4-UMJ6PMQQ-D3KXfJhJ.js → blockDiagram-NRAW4CY4-UMJ6PMQQ-CyntxAS9.js} +1 -1
  16. package/web/assets/{blockDiagram-VBNYF7ZC-Dr7ZTeLw.js → blockDiagram-VBNYF7ZC-D3cru8IW.js} +1 -1
  17. package/web/assets/{c4Diagram-5PPSVZJV-CPi9fgO4.js → c4Diagram-5PPSVZJV-CGW7ZlpV.js} +1 -1
  18. package/web/assets/{c4Diagram-UCG6FXSJ-75X3U2P3-Bj0Dw0IT.js → c4Diagram-UCG6FXSJ-75X3U2P3-CX1TnI9R.js} +1 -1
  19. package/web/assets/channel-DCLuLkSM.js +1 -0
  20. package/web/assets/{chunk-2GRJ4B5K-DeZ82qe7.js → chunk-2GRJ4B5K-CUEHuLy3.js} +1 -1
  21. package/web/assets/{chunk-2Q5K7J3B-B1WwbyzY.js → chunk-2Q5K7J3B-DkIUIEaI.js} +1 -1
  22. package/web/assets/{chunk-5RXB4S5H-BX9ZzOwO.js → chunk-5RXB4S5H-CyB-ViQU.js} +1 -1
  23. package/web/assets/{chunk-5VM5RSS4-9-QvfnU2.js → chunk-5VM5RSS4-Dq0Nclqv.js} +1 -1
  24. package/web/assets/{chunk-6Q2QTUOP-Dkt-zdDg.js → chunk-6Q2QTUOP-B7RbHSiN.js} +1 -1
  25. package/web/assets/{chunk-7XDTSPCN-DOxJ22Ws.js → chunk-7XDTSPCN-wv3wP8cs.js} +1 -1
  26. package/web/assets/{chunk-CTNIYPP6-2D6eMEGx.js → chunk-CTNIYPP6-CLk50SEG.js} +1 -1
  27. package/web/assets/{chunk-CXNFBKHE-BETxgCVr.js → chunk-CXNFBKHE-CBmrsaec.js} +1 -1
  28. package/web/assets/{chunk-GF5L2VYU-JBwf_TWs.js → chunk-GF5L2VYU-j1jML1MN.js} +1 -1
  29. package/web/assets/{chunk-ISA7TJRJ-DGTMMKAm.js → chunk-ISA7TJRJ-KLXCCJMM.js} +1 -1
  30. package/web/assets/{chunk-JWPE2WC7-B_A1as9r.js → chunk-JWPE2WC7-ydMr7Y8S.js} +1 -1
  31. package/web/assets/{chunk-KBJHAD2P-bmR9qwSi.js → chunk-KBJHAD2P-DcwUHrHu.js} +1 -1
  32. package/web/assets/{chunk-LV3HUYFY-D8UFu3pb.js → chunk-LV3HUYFY-Bw7HCnGp.js} +1 -1
  33. package/web/assets/{chunk-M3IUQBOH-r4ZZKIWR.js → chunk-M3IUQBOH-CcxirlXI.js} +1 -1
  34. package/web/assets/{chunk-NDIOYS4C-BuC155ii.js → chunk-NDIOYS4C-BqhmZmij.js} +1 -1
  35. package/web/assets/{chunk-RE4WF27V-DJoYieaa.js → chunk-RE4WF27V-D3eWSsNL.js} +1 -1
  36. package/web/assets/{chunk-RYQCIY6F-DNF6lO1-.js → chunk-RYQCIY6F-CehSrhR1.js} +1 -1
  37. package/web/assets/{chunk-VII2H2IX-DBudi9Y-.js → chunk-VII2H2IX-DtekM2PF.js} +1 -1
  38. package/web/assets/{chunk-X5GNSKZ3-Dzcgoim8.js → chunk-X5GNSKZ3-DuN6Tete.js} +1 -1
  39. package/web/assets/{chunk-XCWWM2C3-3YSDgOL-.js → chunk-XCWWM2C3-DTd-d3kF.js} +1 -1
  40. package/web/assets/{chunk-XXDRQBXY-B5LLJm9i.js → chunk-XXDRQBXY-Bw9k-H89.js} +1 -1
  41. package/web/assets/classDiagram-DTDB5LWJ-LWRDKZ5K-De5tS0AE.js +1 -0
  42. package/web/assets/classDiagram-JCYQIIEL-CtsXINca.js +1 -0
  43. package/web/assets/classDiagram-v2-JRS7N3AN-2BZHGRP2-De5tS0AE.js +1 -0
  44. package/web/assets/classDiagram-v2-OCEON4UE-CtsXINca.js +1 -0
  45. package/web/assets/{core-Cf-iwesp.js → core-DVeJ1XkC.js} +1 -1
  46. package/web/assets/{cose-bilkent-JH36ORCC-DweZYTE6.js → cose-bilkent-JH36ORCC-C_dMXA1J.js} +1 -1
  47. package/web/assets/{cose-bilkent-JH36ORCC-OB24KH3T-D3S0f4LW.js → cose-bilkent-JH36ORCC-OB24KH3T-gd4b-gMh.js} +1 -1
  48. package/web/assets/{cynefin-OW5HDTMX-GVF3BKWE-DrtBkvjj.js → cynefin-OW5HDTMX-GVF3BKWE-B8_RwK2h.js} +1 -1
  49. package/web/assets/{cynefin-VYW2F7L2-lYm8p8qp.js → cynefin-VYW2F7L2-B4XLICgQ.js} +1 -1
  50. package/web/assets/{cynefinDiagram-5FMLGOSQ-H3WIRU3N-CGurIKbY.js → cynefinDiagram-5FMLGOSQ-H3WIRU3N-DAs97RQS.js} +1 -1
  51. package/web/assets/{cynefinDiagram-MW4NZA55-EMZxCSzT.js → cynefinDiagram-MW4NZA55-Mk7G2CvL.js} +1 -1
  52. package/web/assets/{dagre-3AP2YEHR-DCERTXHT-B3xLLC4U.js → dagre-3AP2YEHR-DCERTXHT-C2I1Q1bb.js} +1 -1
  53. package/web/assets/{dagre-VZM6K2ZE-lqYJ3WXC.js → dagre-VZM6K2ZE-u8-0tsnQ.js} +1 -1
  54. package/web/assets/{diagram-7IWD3JNH-DXSSf7q4.js → diagram-7IWD3JNH-Xh9kmgjO.js} +1 -1
  55. package/web/assets/{diagram-B4RE2ZJO-ak7sOZ19.js → diagram-B4RE2ZJO-Ch_gzQEg.js} +1 -1
  56. package/web/assets/{diagram-LBJQPF4R-XmQxOAH-.js → diagram-LBJQPF4R-F2RrFDj0.js} +1 -1
  57. package/web/assets/{diagram-Q27KOJAE-D-yQEvjN.js → diagram-Q27KOJAE-BlVtIA1U.js} +1 -1
  58. package/web/assets/{diagram-S7CK7UJ4-MULGZGEL-D5WNGIG9.js → diagram-S7CK7UJ4-MULGZGEL-DL01tKLo.js} +1 -1
  59. package/web/assets/{diagram-UB23O5K3-CRgze-MQ.js → diagram-UB23O5K3-Sd21ww6P.js} +1 -1
  60. package/web/assets/{diagram-UQ7AKVKN-YQBY353J-CSvMx1Fm.js → diagram-UQ7AKVKN-YQBY353J-zzdRG4_S.js} +1 -1
  61. package/web/assets/{diagram-VSXAHHWV-WLNH2ELY-DMVZ0M5s.js → diagram-VSXAHHWV-WLNH2ELY-CgDSoEol.js} +1 -1
  62. package/web/assets/{diagram-VX7I27RA-XW6YQV5G-NONTq7mV.js → diagram-VX7I27RA-XW6YQV5G-BOS_sWZG.js} +1 -1
  63. package/web/assets/{diagram-Z3DM3KII-HG7RF65D-D0VfGCJh.js → diagram-Z3DM3KII-HG7RF65D-wA1VVGqb.js} +1 -1
  64. package/web/assets/{ebnfDiagram-BXEA7PRR-D0k0RumW.js → ebnfDiagram-BXEA7PRR-DjWeKGy3.js} +1 -1
  65. package/web/assets/{ebnfDiagram-PWID7BFC-OKY4VHYD-By7cMb-m.js → ebnfDiagram-PWID7BFC-OKY4VHYD-B7nuy6d7.js} +1 -1
  66. package/web/assets/{elk.bundled-DCJrDGbL.js → elk.bundled-CFVmrENq.js} +1 -1
  67. package/web/assets/{erDiagram-JOGREHBK-DxDlKHXu.js → erDiagram-JOGREHBK-8xBSIbMe.js} +1 -1
  68. package/web/assets/{erDiagram-SSCWMZ5O-PIPKOIK7-DwWrIKUB.js → erDiagram-SSCWMZ5O-PIPKOIK7-Dy-x1rDt.js} +1 -1
  69. package/web/assets/{flowDiagram-A5DVABFB-2Z4AVO5R-eqJKcw9W.js → flowDiagram-A5DVABFB-2Z4AVO5R-CGEajdA9.js} +1 -1
  70. package/web/assets/{flowDiagram-UKHOOZJN-CC84JD3t.js → flowDiagram-UKHOOZJN-BmeseSM6.js} +1 -1
  71. package/web/assets/{ganttDiagram-EL5Y4UJY-JZNG7GOG-CWOtJ46k.js → ganttDiagram-EL5Y4UJY-JZNG7GOG-BLBavz74.js} +1 -1
  72. package/web/assets/{ganttDiagram-PKOTCBZU-Bw78KC7C.js → ganttDiagram-PKOTCBZU-CxTYrHaZ.js} +1 -1
  73. package/web/assets/{gitGraphDiagram-DS77QQ5N-CywKDUgv.js → gitGraphDiagram-DS77QQ5N-Cxn8rlg9.js} +1 -1
  74. package/web/assets/{gitGraphDiagram-WWUBYQGX-DMWMLL3G-DIUZBjRH.js → gitGraphDiagram-WWUBYQGX-DMWMLL3G-Bhds8N21.js} +1 -1
  75. package/web/assets/{index-BLO7CDRf.js → index-BrUu8L9U.js} +1 -1
  76. package/web/assets/index-DE7AQhbx.js +53 -0
  77. package/web/assets/{index-CAFnQS2L.js → index-fDfa_uZ7.js} +1 -1
  78. package/web/assets/{index-WF4B6heO.js → index-gUoQyjeT.js} +4 -4
  79. package/web/assets/index-nEKLYTbZ.css +1 -0
  80. package/web/assets/{infoDiagram-6WML65LV-DFCB1zK_.js → infoDiagram-6WML65LV-Eccib9CD.js} +1 -1
  81. package/web/assets/{infoDiagram-RXCK75RN-HANS5KVC-CR0XCzL1.js → infoDiagram-RXCK75RN-HANS5KVC-CziZwhge.js} +1 -1
  82. package/web/assets/{ishikawaDiagram-5VMMS53U-7GCIT7WU-BQmMapB0.js → ishikawaDiagram-5VMMS53U-7GCIT7WU-ChVxHIBv.js} +1 -1
  83. package/web/assets/{ishikawaDiagram-WSZJBQD7-CDVYsb8F.js → ishikawaDiagram-WSZJBQD7-CbXVh_w9.js} +1 -1
  84. package/web/assets/{journeyDiagram-EYS64GPL-OAPELBT7-Bv57BEbI.js → journeyDiagram-EYS64GPL-OAPELBT7-D5w31aoi.js} +1 -1
  85. package/web/assets/{journeyDiagram-NVQOT4AX-BUhHhw49.js → journeyDiagram-NVQOT4AX-DC4QtFCD.js} +1 -1
  86. package/web/assets/{kanban-definition-27J2QSJJ-DJWi_jsV.js → kanban-definition-27J2QSJJ-iebv-9rj.js} +1 -1
  87. package/web/assets/{kanban-definition-3QL26DDD-I7RKWQQY-DeQuTmff.js → kanban-definition-3QL26DDD-I7RKWQQY-CzX1zd1-.js} +1 -1
  88. package/web/assets/{katex-N6JRN4PM-CsmS8bAu.js → katex-N6JRN4PM-DMTDt_XL.js} +1 -1
  89. package/web/assets/{main-Bkgg11ZB.js → main-BB_2C5wg.js} +105 -104
  90. package/web/assets/{mermaid-layout-elk.core-DDX9gcIM.js → mermaid-layout-elk.core-D5SipCA5.js} +2 -2
  91. package/web/assets/{mermaid.core-D0rh4nEj.js → mermaid.core-C9HnEz85.js} +4 -4
  92. package/web/assets/{mindmap-definition-FAOFIHXS-nqKMiE2n.js → mindmap-definition-FAOFIHXS-BjqXinGm.js} +1 -1
  93. package/web/assets/{mindmap-definition-FBJOCRG2-KIYZG64Y-CgkstHv4.js → mindmap-definition-FBJOCRG2-KIYZG64Y-DB17YyS-.js} +1 -1
  94. package/web/assets/{pegDiagram-VL7TDLO6-Cy8v2veR.js → pegDiagram-VL7TDLO6-CAmS1CE2.js} +1 -1
  95. package/web/assets/{pegDiagram-XKGWAZYB-OIP57N6J-DHOcOx86.js → pegDiagram-XKGWAZYB-OIP57N6J-Df_AQALz.js} +1 -1
  96. package/web/assets/{pet-DaccG5xt.js → pet-DpH_cHJO.js} +1 -1
  97. package/web/assets/{pieDiagram-7S7Q4E2Y-D2e6HI5F.js → pieDiagram-7S7Q4E2Y-CT420S0-.js} +1 -1
  98. package/web/assets/{pieDiagram-E7YTZNPT-2UOTW327-9oqFgJEQ.js → pieDiagram-E7YTZNPT-2UOTW327-C3DSd8Eb.js} +1 -1
  99. package/web/assets/{quadrantDiagram-AXDQQJYC-SN3ASJJK-aRI00491.js → quadrantDiagram-AXDQQJYC-SN3ASJJK-ClL--L1m.js} +1 -1
  100. package/web/assets/{quadrantDiagram-CIZ2JOQS-BxVU5r4V.js → quadrantDiagram-CIZ2JOQS-DCM96WK8.js} +1 -1
  101. package/web/assets/{railroadDiagram-AXF67PYL-CxcdKdyz.js → railroadDiagram-AXF67PYL-DZlCBWCW.js} +1 -1
  102. package/web/assets/{railroadDiagram-O6MQD6OU-34742W6X-82y7OitY.js → railroadDiagram-O6MQD6OU-34742W6X-B9OktXDA.js} +1 -1
  103. package/web/assets/{render-O7CIS3YK-0coM2jiE.js → render-O7CIS3YK-CW2i3jER.js} +7 -7
  104. package/web/assets/{requirementDiagram-EFPCY7ZU-NGAFFSMB-CiCBt9Q_.js → requirementDiagram-EFPCY7ZU-NGAFFSMB-C7DEdIjw.js} +1 -1
  105. package/web/assets/{requirementDiagram-LRYGKXZP-a-jqBbh4.js → requirementDiagram-LRYGKXZP-DHG4CmGT.js} +1 -1
  106. package/web/assets/{rotate-ccw-DPfbZXyQ.js → rotate-ccw-BRkeYImF.js} +1 -1
  107. package/web/assets/{sankeyDiagram-P5KCCOFB-3D3M4XPB-vVOpmIBk.js → sankeyDiagram-P5KCCOFB-3D3M4XPB-m3oUF_a_.js} +1 -1
  108. package/web/assets/{sankeyDiagram-W5VNT64P-CXBDBsJf.js → sankeyDiagram-W5VNT64P-BQwdhwr6.js} +1 -1
  109. package/web/assets/{sequenceDiagram-SI44F4Z6-BEzEovun.js → sequenceDiagram-SI44F4Z6-CJHAphYy.js} +1 -1
  110. package/web/assets/{sequenceDiagram-WJ2MYXX4-Q2IOPB4R-BAt30Hjd.js → sequenceDiagram-WJ2MYXX4-Q2IOPB4R-C7BKJsGg.js} +1 -1
  111. package/web/assets/{sizeCapture-X5ZJPWSS-PSGVOMYM-DPuPQlRM.js → sizeCapture-X5ZJPWSS-PSGVOMYM-BKJJ_83n.js} +1 -1
  112. package/web/assets/{sizeCapture-X5ZJPWSS-CqVF9LHS.js → sizeCapture-X5ZJPWSS-e1xvCWH7.js} +1 -1
  113. package/web/assets/{stateDiagram-HBIQ2CUA-4M2S6MAN-DnF-bmgm.js → stateDiagram-HBIQ2CUA-4M2S6MAN-Hfk9xxqA.js} +1 -1
  114. package/web/assets/{stateDiagram-OKZ733FA-CKebmBa5.js → stateDiagram-OKZ733FA-BD6BjoUQ.js} +1 -1
  115. package/web/assets/stateDiagram-v2-4QOOHH4V-LBBLA2WV-Dwx3U-na.js +1 -0
  116. package/web/assets/stateDiagram-v2-UEYNNEHI-QAqCepZL.js +1 -0
  117. package/web/assets/{swimlanes-SLNWSIFB-M10HmJH-.js → swimlanes-SLNWSIFB-YdDSBwPE.js} +2 -2
  118. package/web/assets/{swimlanes-XN3QIQJK-N6N2CCQ6-DzcOR4_D.js → swimlanes-XN3QIQJK-N6N2CCQ6-nm5K9Jqd.js} +1 -1
  119. package/web/assets/swimlanesDiagram-ULZ7WXOC-Y7Ths9Nc.js +8 -0
  120. package/web/assets/swimlanesDiagram-VK2B7HYN-E6N4H5SY-DmtKJrpN.js +8 -0
  121. package/web/assets/{timeline-definition-24CTP7MA-KN7RSRVM-CMhLQnxM.js → timeline-definition-24CTP7MA-KN7RSRVM-D_OPVXwR.js} +1 -1
  122. package/web/assets/{timeline-definition-Z64GVDOM-LcGdwXI-.js → timeline-definition-Z64GVDOM-CBSo2iHp.js} +1 -1
  123. package/web/assets/{vennDiagram-4TSXK5OY-AKJ7LXAN-CKicd48A.js → vennDiagram-4TSXK5OY-AKJ7LXAN-DJt2RpyC.js} +1 -1
  124. package/web/assets/{vennDiagram-T6HMQDX7-D7hxv4W7.js → vennDiagram-T6HMQDX7-DCgFe3Fc.js} +1 -1
  125. package/web/assets/{wardleyDiagram-T6FBY63Y-DnTzvRkP.js → wardleyDiagram-T6FBY63Y-fS2evO5t.js} +1 -1
  126. package/web/assets/{wardleyDiagram-VM6X3IG4-3B6A3BN5-CBmbko0H.js → wardleyDiagram-VM6X3IG4-3B6A3BN5-tE1Z96cj.js} +1 -1
  127. package/web/assets/{xychartDiagram-ELKLHX3M-B1fLmbSX.js → xychartDiagram-ELKLHX3M-mVgUs7Fz.js} +1 -1
  128. package/web/assets/{xychartDiagram-S5SC5T6Z-OBDNV6WG-D1kFCVEP.js → xychartDiagram-S5SC5T6Z-OBDNV6WG-zM51d34B.js} +1 -1
  129. package/web/index.html +3 -3
  130. package/web/pet.html +3 -3
  131. package/web/assets/channel-aqWuF1WT.js +0 -1
  132. package/web/assets/classDiagram-DTDB5LWJ-LWRDKZ5K-DhFaZ76j.js +0 -1
  133. package/web/assets/classDiagram-JCYQIIEL-CNvSQ-RA.js +0 -1
  134. package/web/assets/classDiagram-v2-JRS7N3AN-2BZHGRP2-DhFaZ76j.js +0 -1
  135. package/web/assets/classDiagram-v2-OCEON4UE-CNvSQ-RA.js +0 -1
  136. package/web/assets/index-BNNZmZ7L.js +0 -53
  137. package/web/assets/index-Coa1vpTG.css +0 -1
  138. package/web/assets/stateDiagram-v2-4QOOHH4V-LBBLA2WV-BLTGkUFQ.js +0 -1
  139. package/web/assets/stateDiagram-v2-UEYNNEHI-BLjk4IRo.js +0 -1
  140. package/web/assets/swimlanesDiagram-ULZ7WXOC-DCxkAVHU.js +0 -8
  141. package/web/assets/swimlanesDiagram-VK2B7HYN-E6N4H5SY-JLTPHNIv.js +0 -8
@@ -1,4 +1,4 @@
1
- import{w as Qe,v as o1,x as u1,y as h1,z as c1,A as m1}from"./main-Bkgg11ZB.js";import"./index-BNNZmZ7L.js";function d1(r,e){return Qr(r,{})||{type:"root",children:[]}}function Qr(r,e){const t=f1(r,e);return t&&e.afterTransform&&e.afterTransform(r,t),t}function f1(r,e){switch(r.nodeType){case 1:return b1(r,e);case 3:return v1(r);case 8:return g1(r);case 9:return lr(r,e);case 10:return p1();case 11:return lr(r,e);default:return}}function lr(r,e){return{type:"root",children:_r(r,e)}}function p1(){return{type:"doctype"}}function v1(r){return{type:"text",value:r.nodeValue||""}}function g1(r){return{type:"comment",value:r.nodeValue||""}}function b1(r,e){const t=r.namespaceURI,a=t===Qe.svg?o1:u1,n=t===Qe.html?r.tagName.toLowerCase():r.tagName,s=t===Qe.html&&n==="template"?r.content:r,o=r.getAttributeNames(),h={};let c=-1;for(;++c<o.length;)h[o[c]]=r.getAttribute(o[c])||"";return a(n,h,_r(s,e))}function _r(r,e){const t=r.childNodes,a=[];let n=-1;for(;++n<t.length;){const s=Qr(t[n],e);s!==void 0&&a.push(s)}return a}new DOMParser;function y1(r,e){const t=x1(r);return d1(t)}function x1(r){const e=document.createElement("template");return e.innerHTML=r,e.content}const or=(function(r,e,t){const a=h1(t);if(!r||!r.type||!r.children)throw new Error("Expected parent node");if(typeof e=="number"){if(e<0||e===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(e=r.children.indexOf(e),e<0)throw new Error("Expected child node or index");for(;++e<r.children.length;)if(a(r.children[e],e,r))return r.children[e]}),W0=(function(r){if(r==null)return S1;if(typeof r=="string")return k1(r);if(typeof r=="object")return w1(r);if(typeof r=="function")return Rt(r);throw new Error("Expected function, string, or array as `test`")});function w1(r){const e=[];let t=-1;for(;++t<r.length;)e[t]=W0(r[t]);return Rt(a);function a(...n){let s=-1;for(;++s<e.length;)if(e[s].apply(this,n))return!0;return!1}}function k1(r){return Rt(e);function e(t){return t.tagName===r}}function Rt(r){return e;function e(t,a,n){return!!(z1(t)&&r.call(this,t,typeof a=="number"?a:void 0,n||void 0))}}function S1(r){return!!(r&&typeof r=="object"&&"type"in r&&r.type==="element"&&"tagName"in r&&typeof r.tagName=="string")}function z1(r){return r!==null&&typeof r=="object"&&"type"in r&&"tagName"in r}const ur=/\n/g,hr=/[\t ]+/g,pt=W0("br"),cr=W0(E1),A1=W0("p"),mr=W0("tr"),M1=W0(["datalist","head","noembed","noframes","noscript","rp","script","style","template","title",q1,N1]),ea=W0(["address","article","aside","blockquote","body","caption","center","dd","dialog","dir","dl","dt","div","figure","figcaption","footer","form,","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","legend","li","listing","main","menu","nav","ol","p","plaintext","pre","section","ul","xmp"]);function T1(r,e){const t=e||{},a="children"in r?r.children:[],n=ea(r),s=aa(r,{whitespace:t.whitespace||"normal"}),o=[];(r.type==="text"||r.type==="comment")&&o.push(...ra(r,{breakBefore:!0,breakAfter:!0}));let h=-1;for(;++h<a.length;)o.push(...ta(a[h],r,{whitespace:s,breakBefore:h?void 0:n,breakAfter:h<a.length-1?pt(a[h+1]):n}));const c=[];let f;for(h=-1;++h<o.length;){const v=o[h];typeof v=="number"?f!==void 0&&v>f&&(f=v):v&&(f!==void 0&&f>-1&&c.push(`
1
+ import{w as Qe,v as o1,x as u1,y as h1,z as c1,A as m1}from"./main-BB_2C5wg.js";import"./index-DE7AQhbx.js";function d1(r,e){return Qr(r,{})||{type:"root",children:[]}}function Qr(r,e){const t=f1(r,e);return t&&e.afterTransform&&e.afterTransform(r,t),t}function f1(r,e){switch(r.nodeType){case 1:return b1(r,e);case 3:return v1(r);case 8:return g1(r);case 9:return lr(r,e);case 10:return p1();case 11:return lr(r,e);default:return}}function lr(r,e){return{type:"root",children:_r(r,e)}}function p1(){return{type:"doctype"}}function v1(r){return{type:"text",value:r.nodeValue||""}}function g1(r){return{type:"comment",value:r.nodeValue||""}}function b1(r,e){const t=r.namespaceURI,a=t===Qe.svg?o1:u1,n=t===Qe.html?r.tagName.toLowerCase():r.tagName,s=t===Qe.html&&n==="template"?r.content:r,o=r.getAttributeNames(),h={};let c=-1;for(;++c<o.length;)h[o[c]]=r.getAttribute(o[c])||"";return a(n,h,_r(s,e))}function _r(r,e){const t=r.childNodes,a=[];let n=-1;for(;++n<t.length;){const s=Qr(t[n],e);s!==void 0&&a.push(s)}return a}new DOMParser;function y1(r,e){const t=x1(r);return d1(t)}function x1(r){const e=document.createElement("template");return e.innerHTML=r,e.content}const or=(function(r,e,t){const a=h1(t);if(!r||!r.type||!r.children)throw new Error("Expected parent node");if(typeof e=="number"){if(e<0||e===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(e=r.children.indexOf(e),e<0)throw new Error("Expected child node or index");for(;++e<r.children.length;)if(a(r.children[e],e,r))return r.children[e]}),W0=(function(r){if(r==null)return S1;if(typeof r=="string")return k1(r);if(typeof r=="object")return w1(r);if(typeof r=="function")return Rt(r);throw new Error("Expected function, string, or array as `test`")});function w1(r){const e=[];let t=-1;for(;++t<r.length;)e[t]=W0(r[t]);return Rt(a);function a(...n){let s=-1;for(;++s<e.length;)if(e[s].apply(this,n))return!0;return!1}}function k1(r){return Rt(e);function e(t){return t.tagName===r}}function Rt(r){return e;function e(t,a,n){return!!(z1(t)&&r.call(this,t,typeof a=="number"?a:void 0,n||void 0))}}function S1(r){return!!(r&&typeof r=="object"&&"type"in r&&r.type==="element"&&"tagName"in r&&typeof r.tagName=="string")}function z1(r){return r!==null&&typeof r=="object"&&"type"in r&&"tagName"in r}const ur=/\n/g,hr=/[\t ]+/g,pt=W0("br"),cr=W0(E1),A1=W0("p"),mr=W0("tr"),M1=W0(["datalist","head","noembed","noframes","noscript","rp","script","style","template","title",q1,N1]),ea=W0(["address","article","aside","blockquote","body","caption","center","dd","dialog","dir","dl","dt","div","figure","figcaption","footer","form,","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","legend","li","listing","main","menu","nav","ol","p","plaintext","pre","section","ul","xmp"]);function T1(r,e){const t=e||{},a="children"in r?r.children:[],n=ea(r),s=aa(r,{whitespace:t.whitespace||"normal"}),o=[];(r.type==="text"||r.type==="comment")&&o.push(...ra(r,{breakBefore:!0,breakAfter:!0}));let h=-1;for(;++h<a.length;)o.push(...ta(a[h],r,{whitespace:s,breakBefore:h?void 0:n,breakAfter:h<a.length-1?pt(a[h+1]):n}));const c=[];let f;for(h=-1;++h<o.length;){const v=o[h];typeof v=="number"?f!==void 0&&v>f&&(f=v):v&&(f!==void 0&&f>-1&&c.push(`
2
2
  `.repeat(f)||" "),f=-1,c.push(v))}return c.join("")}function ta(r,e,t){return r.type==="element"?B1(r,e,t):r.type==="text"?t.whitespace==="normal"?ra(r,t):C1(r):[]}function B1(r,e,t){const a=aa(r,t),n=r.children||[];let s=-1,o=[];if(M1(r))return o;let h,c;for(pt(r)||mr(r)&&or(e,r,mr)?c=`
3
3
  `:A1(r)?(h=2,c=2):ea(r)&&(h=1,c=1);++s<n.length;)o=o.concat(ta(n[s],r,{whitespace:a,breakBefore:s?void 0:h,breakAfter:s<n.length-1?pt(n[s+1]):c}));return cr(r)&&or(e,r,cr)&&o.push(" "),h&&o.unshift(h),c&&o.push(c),o}function ra(r,e){const t=String(r.value),a=[],n=[];let s=0;for(;s<=t.length;){ur.lastIndex=s;const c=ur.exec(t),f=c&&"index"in c?c.index:t.length;a.push(D1(t.slice(s,f).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g,""),s===0?e.breakBefore:!0,f===t.length?e.breakAfter:!0)),s=f+1}let o=-1,h;for(;++o<a.length;)a[o].charCodeAt(a[o].length-1)===8203||o<a.length-1&&a[o+1].charCodeAt(0)===8203?(n.push(a[o]),h=void 0):a[o]?(typeof h=="number"&&n.push(h),n.push(a[o]),h=0):(o===0||o===a.length-1)&&n.push(0);return n}function C1(r){return[String(r.value)]}function D1(r,e,t){const a=[];let n=0,s;for(;n<r.length;){hr.lastIndex=n;const o=hr.exec(r);s=o?o.index:r.length,!n&&!s&&o&&!e&&a.push(""),n!==s&&a.push(r.slice(n,s)),n=o?s+o[0].length:s}return n!==s&&!t&&a.push(""),a.join(" ")}function aa(r,e){if(r.type==="element"){const t=r.properties||{};switch(r.tagName){case"listing":case"plaintext":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return t.wrap?"pre-wrap":"pre";case"td":case"th":return t.noWrap?"nowrap":e.whitespace;case"textarea":return"pre-wrap"}}return e.whitespace}function q1(r){return!!(r.properties||{}).hidden}function E1(r){return r.tagName==="td"||r.tagName==="th"}function N1(r){return r.tagName==="dialog"&&!(r.properties||{}).open}class S extends Error{constructor(e,t){var a="KaTeX parse error: "+e,n,s,o=t&&t.loc;if(o&&o.start<=o.end){var h=o.lexer.input;n=o.start,s=o.end,n===h.length?a+=" at end of input: ":a+=" at position "+(n+1)+": ";var c=h.slice(n,s).replace(/[^]/g,"$&̲"),f;n>15?f="…"+h.slice(n-15,n):f=h.slice(0,n);var v;s+15<h.length?v=h.slice(s,s+15)+"…":v=h.slice(s),a+=f+c+v}super(a),this.name="ParseError",this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,S.prototype),this.position=n,n!=null&&s!=null&&(this.length=s-n),this.rawMessage=e}}var I1=/([A-Z])/g,R1=r=>r.replace(I1,"-$1").toLowerCase(),F1={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},O1=/[&><"']/g,n0=r=>String(r).replace(O1,e=>F1[e]),De=r=>r.type==="ordgroup"||r.type==="color"?r.body.length===1?De(r.body[0]):r:r.type==="font"?De(r.body):r,H1=new Set(["mathord","textord","atom"]),D0=r=>H1.has(De(r).type),L1=r=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(r);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},vt={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:r=>"#"+r},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(r,e)=>(e.push(r),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:r=>Math.max(0,r),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:r=>Math.max(0,r),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:r=>Math.max(0,r),cli:"-e, --max-expand <n>",cliProcessor:r=>r==="Infinity"?1/0:parseInt(r)},globalGroup:{type:"boolean",cli:!1}};function P1(r){if(typeof r!="string")return r.enum[0];switch(r){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw new Error("Unexpected schema type; settings must declare an explicit default.")}}function G1(r){if(r.default!==void 0)return r.default;var e=Array.isArray(r.type)?r.type[0]:r.type;return P1(e)}function U1(r,e,t,a){var n=t[e];r[e]=n!==void 0?a.processor?a.processor(n):n:G1(a)}class Ft{constructor(e){e===void 0&&(e={}),this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var t of Object.keys(vt)){var a=vt[t];a&&U1(this,t,e,a)}}reportNonstrict(e,t,a){var n=this.strict;if(typeof n=="function"&&(n=n(e,t,a)),!(!n||n==="ignore")){if(n===!0||n==="error")throw new S("LaTeX-incompatible input and strict mode is set to 'error': "+(t+" ["+e+"]"),a);n==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+n+"': "+t+" ["+e+"]"))}}useStrictBehavior(e,t,a){var n=this.strict;if(typeof n=="function")try{n=n(e,t,a)}catch{n="error"}return!n||n==="ignore"?!1:n===!0||n==="error"?!0:n==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+n+"': "+t+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var t=L1(e.url);if(t==null)return!1;e.protocol=t}var a=typeof this.trust=="function"?this.trust(e):this.trust;return!!a}}class F0{constructor(e,t,a){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=a}sup(){return w0[V1[this.id]]}sub(){return w0[X1[this.id]]}fracNum(){return w0[Y1[this.id]]}fracDen(){return w0[$1[this.id]]}cramp(){return w0[W1[this.id]]}text(){return w0[j1[this.id]]}isTight(){return this.size>=2}}var Ot=0,Ee=1,ee=2,B0=3,me=4,v0=5,te=6,l0=7,w0=[new F0(Ot,0,!1),new F0(Ee,0,!0),new F0(ee,1,!1),new F0(B0,1,!0),new F0(me,2,!1),new F0(v0,2,!0),new F0(te,3,!1),new F0(l0,3,!0)],V1=[me,v0,me,v0,te,l0,te,l0],X1=[v0,v0,v0,v0,l0,l0,l0,l0],Y1=[ee,B0,me,v0,te,l0,te,l0],$1=[B0,B0,v0,v0,l0,l0,l0,l0],W1=[Ee,Ee,B0,B0,v0,v0,l0,l0],j1=[Ot,Ee,ee,B0,ee,B0,ee,B0],R={DISPLAY:w0[Ot],TEXT:w0[ee],SCRIPT:w0[me],SCRIPTSCRIPT:w0[te]},gt=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function Z1(r){for(var e=0;e<gt.length;e++)for(var t=gt[e],a=0;a<t.blocks.length;a++){var n=t.blocks[a];if(r>=n[0]&&r<=n[1])return t.name}return null}var qe=[];gt.forEach(r=>r.blocks.forEach(e=>qe.push(...e)));function na(r){for(var e=0;e<qe.length;e+=2)if(r>=qe[e]&&r<=qe[e+1])return!0;return!1}var r0=r=>r+" "+r,_0=80,K1=function(e,t){return"M95,"+(622+e+t)+`
4
4
  c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./elk.bundled-DCJrDGbL.js","./index-BNNZmZ7L.js","./index-Coa1vpTG.css","./_commonjs-dynamic-modules-TDtrdbi3.js","./mermaid.core-D0rh4nEj.js","./main-Bkgg11ZB.js","./main-BXa7WYYr.css","./transform-B5_amWNh.js","./mermaid-layout-elk.core-DDX9gcIM.js"])))=>i.map(i=>d[i]);
2
- import{r as h,j as e,c as de}from"./index-BNNZmZ7L.js";import{c as Q,u as L,b as me,D as ue,X as J,_ as U,E as he,H as O,I as fe,N as xe,j as ge,J as be,K as pe,i as Y,O as we,Q as je,R as ye,V as ke}from"./main-Bkgg11ZB.js";import{M as H,C as F}from"./CanvasStage-sR8T2IFn.js";import{A as ve}from"./arrow-right-DtCWRkvj.js";import{R as Ne}from"./rotate-ccw-DPfbZXyQ.js";/**
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./elk.bundled-CFVmrENq.js","./index-DE7AQhbx.js","./index-nEKLYTbZ.css","./_commonjs-dynamic-modules-TDtrdbi3.js","./mermaid.core-C9HnEz85.js","./main-BB_2C5wg.js","./main-BXa7WYYr.css","./transform-B5_amWNh.js","./mermaid-layout-elk.core-D5SipCA5.js"])))=>i.map(i=>d[i]);
2
+ import{r as h,j as e,c as de}from"./index-DE7AQhbx.js";import{c as Q,u as L,b as me,D as ue,X as J,_ as U,E as he,H as O,I as fe,N as xe,j as ge,J as be,K as pe,i as Y,O as we,Q as je,R as ye,V as ke}from"./main-BB_2C5wg.js";import{M as H,C as F}from"./CanvasStage-FNc0fAev.js";import{A as ve}from"./arrow-right-CNFwlOFs.js";import{R as Ne}from"./rotate-ccw-BRkeYImF.js";/**
3
3
  * @license lucide-react v0.468.0 - ISC
4
4
  *
5
5
  * This source code is licensed under the ISC license.
@@ -14,8 +14,8 @@ import{r as h,j as e,c as de}from"./index-BNNZmZ7L.js";import{c as Q,u as L,b as
14
14
  *
15
15
  * This source code is licensed under the ISC license.
16
16
  * See the LICENSE file in the root directory of this source tree.
17
- */const Se=Q("Workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]);function K({title:t,onClose:r,children:a}){const n=L(),s=h.useRef(null);return me(s,!0),h.useEffect(()=>{const i=o=>{o.key==="Escape"&&r()};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[r]),ue.createPortal(e.jsxs("div",{className:"fixed inset-0 z-50 flex flex-col bg-black/80","data-testid":"diagram-viewer-modal","data-noswipe":"",role:"dialog","aria-modal":"true","aria-label":t,children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 px-4 py-2.5 shrink-0",onClick:i=>i.stopPropagation(),children:[e.jsx("h3",{className:"text-body font-bold text-white truncate",children:t}),e.jsxs("div",{className:"flex items-center gap-3 shrink-0",children:[e.jsx("span",{className:"text-caption text-white/50 hidden sm:inline",children:n("artifact.viewer.hint")}),e.jsx("button",{onClick:r,"data-testid":"diagram-viewer-close","aria-label":n("action.close"),"data-tooltip":n("action.close"),className:"text-white/70 hover:text-white w-9 h-9 flex items-center justify-center rounded-lg hover:bg-white/10 transition-colors",children:e.jsx(J,{className:"w-5 h-5"})})]})]}),e.jsx("div",{className:"flex-1 min-h-0 px-2 pb-2",onClick:r,children:e.jsx("div",{ref:s,className:"h-full w-full",onClick:i=>i.stopPropagation(),children:a})})]}),document.body)}function T(t,r=13){let a=0;for(const n of t)a+=/[\u2e80-\u9fff\uf900-\ufaff\uff00-\uffef\u3000-\u303f]/.test(n)?r:r*.58;return a}const q=118;function Ee(t){if(T(t)<=q)return[t];const r=[];for(let l=0;l<t.length;l++)/[\s/\-—·]/.test(t[l]??"")&&r.push(l);const a=t.length/2;let n=-1,s=1/0;for(const l of r){const g=Math.abs(l+1-a);g<s&&(s=g,n=l)}let i,o;if(n>=0)i=t.slice(0,n+1).trim(),o=t.slice(n+1).trim();else{let l=0,g=0;for(const w of t)if(l+=T(w),g++,l>=T(t)/2)break;i=t.slice(0,g),o=t.slice(g)}if(T(i)<=q&&T(o)<=q)return[i,o];const c=l=>{let g="";for(const w of l){if(T(g+w+"…")>q)break;g+=w}return g+"…"};return[T(i)>q?c(i):i,T(o)>q?c(o):o]}function ie(t,r){const a=Ee(t),n=r?14:13,s=Math.max(...a.map(l=>T(l,n))),i=r?30:24,o=17,c=r?18:14;return{width:Math.min(r?200:180,Math.max(r?92:76,s+i)),height:c+a.length*o,lines:a}}function ze(t,r,a){const n=new Set(t.map(s=>s.id));if(Array.isArray(a)&&a.length>0){const s=new Set,i=[];for(const o of a){if(!o||typeof o.id!="string"||!o.id)continue;const c=Array.isArray(o.nodeIds)?[...new Set(o.nodeIds.filter(l=>typeof l=="string"&&n.has(l)&&!s.has(l)))]:[];c.length<2||(c.forEach(l=>s.add(l)),i.push({id:o.id,label:typeof o.label=="string"&&o.label?o.label:"分组",nodeIds:c}))}if(i.length>0&&!(i.length===1&&s.size===t.length&&t.length>2))return{groups:i,fallback:!1}}return{groups:$e(t,r),fallback:!0}}function $e(t,r){if(t.length<4)return[];const a=new Map(t.map((m,d)=>[m.id,d])),n=new Map;for(const m of t)n.set(m.id,[]);const s=new Set;for(const m of r){if(!a.has(m.from)||!a.has(m.to)||m.from===m.to)continue;const d=[m.from,m.to].sort().join("→");s.has(d)||(s.add(d),n.get(m.from).push(m.to),n.get(m.to).push(m.from))}const i=[...t].sort((m,d)=>{const f=n.get(m.id).length,C=n.get(d.id).length;return f!==C?C-f:(a.get(m.id)??0)-(a.get(d.id)??0)}),o=Math.min(3,Math.max(1,Math.ceil(t.length/4))),c=i.slice(0,o).filter(m=>{var d;return(((d=n.get(m.id))==null?void 0:d.length)??0)>0});if(c.length===0)return[];const l=new Map;c.forEach((m,d)=>l.set(m.id,d));const g=c.map(m=>m.id);for(;g.length;){const m=g.shift(),d=l.get(m);for(const f of n.get(m)??[])l.has(f)||(l.set(f,d),g.push(f))}const w=[];return c.forEach((m,d)=>{const f=t.filter(C=>l.get(C.id)===d).map(C=>C.id);f.length<2||w.push({id:`grp-${m.id}`,label:m.label.length<=5?`${m.label}相关`:m.label,nodeIds:f})}),w}const W=34;function Ie(t,r,a){var m;const n=new Set(t.map(d=>d.id)),s=new Map;for(const d of t)s.set(d.id,0);const i=new Set,o=[];for(const d of r){if(!n.has(d.from)||!n.has(d.to)||d.from===d.to)continue;const f=[d.from,d.to].sort().join("→");i.has(f)||(i.add(f),o.push(d),s.set(d.from,s.get(d.from)+1),s.set(d.to,s.get(d.to)+1))}let c=((m=t[0])==null?void 0:m.id)??"";for(const d of t)(s.get(d.id)??0)>(s.get(c)??0)&&(c=d.id);const l=new Map;for(const d of a)for(const f of d.nodeIds)n.has(f)&&!l.has(f)&&l.set(f,d.id);const g=d=>{const f=ie(d.label,d.id===c||(s.get(d.id)??0)>=4);return{id:d.id,width:Math.ceil(f.width),height:Math.ceil(f.height)}},w=[];for(const d of a){const f=d.nodeIds.filter(C=>l.get(C)===d.id&&n.has(C));f.length!==0&&w.push({id:`g:${d.id}`,layoutOptions:{"elk.padding":`[top=${W},left=14,bottom=12,right=14]`},children:f.map(C=>g(t.find(p=>p.id===C)))})}for(const d of t)l.has(d.id)||w.push(g(d));return{id:"root",layoutOptions:{"elk.algorithm":"layered","elk.direction":"DOWN","elk.edgeRouting":"ORTHOGONAL","elk.hierarchyHandling":"INCLUDE_CHILDREN","elk.spacing.nodeNode":"34","elk.spacing.edgeNode":"26","elk.spacing.componentComponent":"48","elk.layered.spacing.nodeNodeBetweenLayers":"56"},children:w,edges:o.map((d,f)=>({id:`e${f}`,sources:[d.from],targets:[d.to]}))}}function Te(t){if(t.length===0)return{x:0,y:0};if(t.length===1)return t[0];const r=[];let a=0;for(let s=1;s<t.length;s++){const i=Math.hypot(t[s].x-t[s-1].x,t[s].y-t[s-1].y);r.push(i),a+=i}let n=a/2;for(let s=0;s<r.length;s++){if(n<=r[s]||s===r.length-1){const i=r[s]===0?0:n/r[s];return{x:t[s].x+(t[s+1].x-t[s].x)*i,y:t[s].y+(t[s+1].y-t[s].y)*i}}n-=r[s]}return t[t.length-1]}function Le(t,r,a,n,s,i){var b;const o=new Map(r.map(u=>[u.id,u])),c=new Map;n.forEach((u,x)=>c.set(u.id,x%5));const l=new Map(n.map(u=>[u.id,u])),g=new Map;for(const u of n)for(const x of u.nodeIds)g.has(x)||g.set(x,u.id);const w=[],m=[],d=[],f=new Map([["root",{x:0,y:0}]]),C=[],p=(u,x,y,E)=>{var M;for(const S of u.children??[]){const z=x+(S.x??0),I=y+(S.y??0);if((M=S.children)!=null&&M.length){const k=S.id.startsWith("g:")?S.id.slice(2):S.id,v=l.get(k);m.push({id:k,label:(v==null?void 0:v.label)??"分组",x:z,y:I,w:S.width??0,h:S.height??0,colorIdx:c.get(k)??0}),f.set(S.id,{x:z,y:I}),p(S,z,I,k)}else{const k=o.get(S.id);if(!k)continue;const v=ie(k.label,k.id===i),$=g.get(k.id)??null;w.push({id:k.id,x:z,y:I,w:S.width??Math.ceil(v.width),h:S.height??Math.ceil(v.height),lines:v.lines,hub:k.id===i,groupId:E,colorIdx:$!=null?c.get($)??0:-1})}}for(const S of u.edges??[])C.push({e:S,fallback:{x,y}})};p(t,0,0,null);for(const{e:u,fallback:x}of C){const y=(b=u.sections)==null?void 0:b[0];if(!y)continue;const E=(u.container!=null?f.get(u.container):void 0)??x,M=[y.startPoint,...y.bendPoints??[],y.endPoint].map(I=>({x:I.x+E.x,y:I.y+E.y})),S=Number(u.id.slice(1)),z=a[S];z&&d.push({from:z.from,to:z.to,label:z.label,pts:M,labelPt:z.label?Te(M):null})}return{width:Math.ceil(t.width??0),height:Math.ceil(t.height??0),nodes:w,groups:m,edges:d,hubId:i,groupsFallback:s}}let ae=null;function Re(){return ae??(ae=U(()=>import("./elk.bundled-DCJrDGbL.js").then(t=>t.e),__vite__mapDeps([0,1,2,3]),import.meta.url).then(t=>{const r=t,a=r.default??r;return new a})),ae}async function _e(t,r,a){const n=ze(t,r,a),s=Ie(t,r,n.groups),i=qe(t,r),c=await(await Re()).layout(s);return Le(c,t,r,n.groups,n.fallback,i)}function qe(t,r){var o;const a=new Set(t.map(c=>c.id)),n=new Map;for(const c of t)n.set(c.id,0);const s=new Set;for(const c of r){if(!a.has(c.from)||!a.has(c.to)||c.from===c.to)continue;const l=[c.from,c.to].sort().join("→");s.has(l)||(s.add(l),n.set(c.from,n.get(c.from)+1),n.set(c.to,n.get(c.to)+1))}let i=((o=t[0])==null?void 0:o.id)??"";for(const c of t)(n.get(c.id)??0)>(n.get(i)??0)&&(i=c.id);return i}const A=.4,V=2.5,B=.2;function Oe(t){return t.map((r,a)=>`${a===0?"M":"L"} ${r.x.toFixed(1)} ${r.y.toFixed(1)}`).join(" ")}function X({layout:t}){return e.jsxs("svg",{width:t.width,height:t.height,viewBox:`0 0 ${t.width} ${t.height}`,style:{display:"block"},"data-testid":"conceptmap-svg",children:[e.jsx("defs",{children:e.jsx("marker",{id:"cm-arrow",viewBox:"0 0 10 10",refX:9,refY:5,markerWidth:6.5,markerHeight:6.5,orient:"auto-start-reverse",children:e.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",className:"fill-ink-faint"})})}),t.groups.map((r,a)=>e.jsxs("g",{className:"cm-enter",style:{animationDelay:`${a*60}ms`},children:[e.jsx("rect",{x:r.x,y:r.y,width:r.w,height:r.h,rx:14,className:"cm-group-box",style:{fill:`var(--cm-c${r.colorIdx}-fill)`,stroke:`var(--cm-c${r.colorIdx}-line)`}}),e.jsx("rect",{x:r.x,y:r.y,width:r.w,height:W,rx:14,className:"cm-group-head",style:{fill:`var(--cm-c${r.colorIdx}-line)`}}),e.jsx("rect",{x:r.x,y:r.y+W/2,width:r.w,height:W/2,className:"cm-group-head",style:{fill:`var(--cm-c${r.colorIdx}-line)`}}),e.jsx("text",{x:r.x+14,y:r.y+22,fontSize:12,fontWeight:600,fill:`var(--cm-c${r.colorIdx}-line)`,"data-testid":"conceptmap-group-label",children:r.label})]},`g-${r.id}`)),t.edges.map((r,a)=>{const n=r.label?{width:T(r.label,12)+16,height:19}:null;return e.jsxs("g",{className:"cm-enter",style:{animationDelay:`${(t.groups.length+1)*60+a*30}ms`},children:[e.jsx("path",{d:Oe(r.pts),className:"fill-none stroke-ink-faint/80",strokeWidth:1.6,markerEnd:"url(#cm-arrow)"}),r.label&&n&&r.labelPt&&e.jsxs("g",{children:[e.jsx("rect",{x:r.labelPt.x-n.width/2,y:r.labelPt.y-n.height/2,width:n.width,height:n.height,rx:n.height/2,className:"fill-surface-0/95 stroke-[var(--border-faint)]",strokeWidth:1}),e.jsx("text",{x:r.labelPt.x,y:r.labelPt.y+3.5,textAnchor:"middle",fontSize:12,className:"fill-ink-muted font-medium",style:{paintOrder:"stroke"},stroke:"var(--surface-0)",strokeWidth:3,children:r.label})]})]},`e-${a}`)}),t.nodes.map((r,a)=>{const n=r.colorIdx>=0?`var(--cm-c${r.colorIdx}-fill)`:"var(--surface-3)",s=r.colorIdx>=0?`var(--cm-c${r.colorIdx}-line)`:"var(--border)",i=r.hub?14:13;return e.jsxs("g",{className:"cm-enter",style:{animationDelay:`${(t.groups.length+2)*60+a*35}ms`},children:[e.jsx("rect",{x:r.x,y:r.y,width:r.w,height:r.h,rx:r.hub?12:10,fill:n,stroke:s,strokeWidth:r.hub?1.8:1.4}),r.lines.map((o,c)=>e.jsx("text",{x:r.x+r.w/2,y:r.y+r.h/2+(c-(r.lines.length-1)/2)*17+4.5,textAnchor:"middle",fontSize:i,className:r.hub?"fill-ink-strong font-bold":"fill-ink",children:o},c))]},r.id)})]})}function Ae({data:t,variant:r="card"}){const a=t,n=L(),s=h.useMemo(()=>JSON.stringify({n:a.nodes,e:a.edges,g:a.groups??null}),[a.nodes,a.edges,a.groups]),[i,o]=h.useState(null);h.useEffect(()=>{let b=!0;return o(null),_e(a.nodes,a.edges,a.groups??null).then(u=>{b&&o(u)}).catch(()=>{}),()=>{b=!1}},[s]);const[c,l]=h.useState(1),[g,w]=h.useState(!1),m=h.useRef(null);h.useEffect(()=>{const b=m.current;if(!b||!i)return;const u=()=>{const y=(b.clientWidth-16)/i.width;y<1&&l(Math.max(A,+y.toFixed(2)))};u();const x=new ResizeObserver(u);return x.observe(b),()=>x.disconnect()},[i==null?void 0:i.width,i]);const d=h.useCallback(()=>l(b=>Math.min(V,+(b+B).toFixed(2))),[]),f=h.useCallback(()=>l(b=>Math.max(A,+(b-B).toFixed(2))),[]),C=h.useCallback(()=>l(1),[]),p=h.useCallback(b=>{if(!b.ctrlKey&&!b.metaKey)return;b.preventDefault();const u=b.deltaY>0?-B:B;l(x=>Math.min(V,Math.max(A,+(x+u).toFixed(2))))},[]);return r==="canvas"?e.jsx("div",{"data-testid":"conceptmap-canvas-content",children:i?e.jsx(X,{layout:i}):e.jsx("div",{style:{minWidth:320,minHeight:160}})}):e.jsxs("div",{className:"surface-card p-4","data-testid":"artifact-concept-map",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3 gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[e.jsx(he,{className:"w-4 h-4 text-ink-muted shrink-0"}),e.jsx("h3",{className:"text-body font-bold text-ink truncate",children:a.title})]}),e.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[e.jsxs("div",{className:"flex items-center gap-1","data-testid":"conceptmap-zoom-controls",children:[e.jsx("button",{onClick:f,disabled:c<=A,className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 disabled:opacity-30 text-label font-bold flex items-center justify-center",title:n("artifact.zoomOut"),children:"−"}),e.jsxs("button",{onClick:C,className:"px-1.5 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 text-caption font-bold tabular-nums",title:n("artifact.zoomReset"),children:[Math.round(c*100),"%"]}),e.jsx("button",{onClick:d,disabled:c>=V,className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 disabled:opacity-30 text-label font-bold flex items-center justify-center",title:n("artifact.zoomIn"),children:"+"})]}),e.jsx("button",{onClick:()=>w(!0),"data-testid":"conceptmap-expand","aria-label":n("artifact.viewer.open"),"data-tooltip":n("artifact.viewer.open"),className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 flex items-center justify-center",children:e.jsx(H,{className:"w-3.5 h-3.5"})})]})]}),e.jsx("div",{ref:m,onClick:()=>w(!0),onWheel:p,className:"bg-surface-0/40 rounded-lg p-2 overflow-auto min-h-[160px] max-h-[500px] select-none",style:{touchAction:"pan-x pan-y"},"data-testid":"conceptmap-render-area","data-noswipe":"",children:i?e.jsx("div",{style:{width:i.width*c,height:i.height*c,margin:"0 auto"},children:e.jsx("div",{style:{transform:`scale(${c})`,transformOrigin:"top left",width:i.width,height:i.height},children:e.jsx(X,{layout:i})})}):e.jsx("div",{className:"h-[152px] flex items-center justify-center text-caption text-ink-muted","data-testid":"conceptmap-loading",children:"…"})}),e.jsx("div",{className:"mt-1.5 flex items-center justify-between text-caption text-ink-muted",children:e.jsx("span",{children:n("artifact.conceptmap.stats",{nodes:a.nodes.length,edges:a.edges.length})})}),a.warnings&&a.warnings.length>0&&e.jsxs("div",{className:"mt-1 text-caption text-warning flex items-start gap-1","data-testid":"artifact-warnings",children:[e.jsx(O,{className:"w-3.5 h-3.5 shrink-0 mt-0.5"}),e.jsx("span",{children:a.warnings.join("; ")})]}),g&&e.jsx(K,{title:a.title,onClose:()=>w(!1),children:e.jsx("div",{className:"h-full w-full rounded-xl overflow-hidden bg-surface-0/60",children:e.jsx(F,{testid:"conceptmap-modal-stage",children:i?e.jsx(X,{layout:i}):e.jsx("div",{className:"min-w-[320px] min-h-[160px]"})})})})]})}function Be(t,r){const{correct:a,total:n}=t,s=n>0&&a===n,i=n>0&&a<n,o=r!=null&&r>=fe,c=r!=null&&r>=xe;return i?[{id:"explain-wrong"},{id:"retry"}]:s&&o?[{id:"next-topic"},{id:"go-deeper"}]:s&&c?[{id:"mark-mastered",advancesMastery:!0},{id:"next-topic"},{id:"go-deeper"}]:[{id:"go-deeper"},{id:"retry"}]}const Pe="ls-quiz-progress:";function We(t){const r=t.questions.map(n=>`${n.prompt}|${(n.options??[]).join("/")}#${n.answer??""}`).join(`
17
+ */const Se=Q("Workflow",[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]]);function K({title:t,onClose:r,children:a}){const n=L(),s=h.useRef(null);return me(s,!0),h.useEffect(()=>{const i=o=>{o.key==="Escape"&&r()};return window.addEventListener("keydown",i),()=>window.removeEventListener("keydown",i)},[r]),ue.createPortal(e.jsxs("div",{className:"fixed inset-0 z-50 flex flex-col bg-black/80","data-testid":"diagram-viewer-modal","data-noswipe":"",role:"dialog","aria-modal":"true","aria-label":t,children:[e.jsxs("div",{className:"flex items-center justify-between gap-3 px-4 py-2.5 shrink-0",onClick:i=>i.stopPropagation(),children:[e.jsx("h3",{className:"text-body font-bold text-white truncate",children:t}),e.jsxs("div",{className:"flex items-center gap-3 shrink-0",children:[e.jsx("span",{className:"text-caption text-white/50 hidden sm:inline",children:n("artifact.viewer.hint")}),e.jsx("button",{onClick:r,"data-testid":"diagram-viewer-close","aria-label":n("action.close"),"data-tooltip":n("action.close"),className:"text-white/70 hover:text-white w-9 h-9 flex items-center justify-center rounded-lg hover:bg-white/10 transition-colors",children:e.jsx(J,{className:"w-5 h-5"})})]})]}),e.jsx("div",{className:"flex-1 min-h-0 px-2 pb-2",onClick:r,children:e.jsx("div",{ref:s,className:"h-full w-full",onClick:i=>i.stopPropagation(),children:a})})]}),document.body)}function T(t,r=13){let a=0;for(const n of t)a+=/[\u2e80-\u9fff\uf900-\ufaff\uff00-\uffef\u3000-\u303f]/.test(n)?r:r*.58;return a}const q=118;function Ee(t){if(T(t)<=q)return[t];const r=[];for(let l=0;l<t.length;l++)/[\s/\-—·]/.test(t[l]??"")&&r.push(l);const a=t.length/2;let n=-1,s=1/0;for(const l of r){const g=Math.abs(l+1-a);g<s&&(s=g,n=l)}let i,o;if(n>=0)i=t.slice(0,n+1).trim(),o=t.slice(n+1).trim();else{let l=0,g=0;for(const w of t)if(l+=T(w),g++,l>=T(t)/2)break;i=t.slice(0,g),o=t.slice(g)}if(T(i)<=q&&T(o)<=q)return[i,o];const c=l=>{let g="";for(const w of l){if(T(g+w+"…")>q)break;g+=w}return g+"…"};return[T(i)>q?c(i):i,T(o)>q?c(o):o]}function ie(t,r){const a=Ee(t),n=r?14:13,s=Math.max(...a.map(l=>T(l,n))),i=r?30:24,o=17,c=r?18:14;return{width:Math.min(r?200:180,Math.max(r?92:76,s+i)),height:c+a.length*o,lines:a}}function ze(t,r,a){const n=new Set(t.map(s=>s.id));if(Array.isArray(a)&&a.length>0){const s=new Set,i=[];for(const o of a){if(!o||typeof o.id!="string"||!o.id)continue;const c=Array.isArray(o.nodeIds)?[...new Set(o.nodeIds.filter(l=>typeof l=="string"&&n.has(l)&&!s.has(l)))]:[];c.length<2||(c.forEach(l=>s.add(l)),i.push({id:o.id,label:typeof o.label=="string"&&o.label?o.label:"分组",nodeIds:c}))}if(i.length>0&&!(i.length===1&&s.size===t.length&&t.length>2))return{groups:i,fallback:!1}}return{groups:$e(t,r),fallback:!0}}function $e(t,r){if(t.length<4)return[];const a=new Map(t.map((m,d)=>[m.id,d])),n=new Map;for(const m of t)n.set(m.id,[]);const s=new Set;for(const m of r){if(!a.has(m.from)||!a.has(m.to)||m.from===m.to)continue;const d=[m.from,m.to].sort().join("→");s.has(d)||(s.add(d),n.get(m.from).push(m.to),n.get(m.to).push(m.from))}const i=[...t].sort((m,d)=>{const f=n.get(m.id).length,C=n.get(d.id).length;return f!==C?C-f:(a.get(m.id)??0)-(a.get(d.id)??0)}),o=Math.min(3,Math.max(1,Math.ceil(t.length/4))),c=i.slice(0,o).filter(m=>{var d;return(((d=n.get(m.id))==null?void 0:d.length)??0)>0});if(c.length===0)return[];const l=new Map;c.forEach((m,d)=>l.set(m.id,d));const g=c.map(m=>m.id);for(;g.length;){const m=g.shift(),d=l.get(m);for(const f of n.get(m)??[])l.has(f)||(l.set(f,d),g.push(f))}const w=[];return c.forEach((m,d)=>{const f=t.filter(C=>l.get(C.id)===d).map(C=>C.id);f.length<2||w.push({id:`grp-${m.id}`,label:m.label.length<=5?`${m.label}相关`:m.label,nodeIds:f})}),w}const W=34;function Ie(t,r,a){var m;const n=new Set(t.map(d=>d.id)),s=new Map;for(const d of t)s.set(d.id,0);const i=new Set,o=[];for(const d of r){if(!n.has(d.from)||!n.has(d.to)||d.from===d.to)continue;const f=[d.from,d.to].sort().join("→");i.has(f)||(i.add(f),o.push(d),s.set(d.from,s.get(d.from)+1),s.set(d.to,s.get(d.to)+1))}let c=((m=t[0])==null?void 0:m.id)??"";for(const d of t)(s.get(d.id)??0)>(s.get(c)??0)&&(c=d.id);const l=new Map;for(const d of a)for(const f of d.nodeIds)n.has(f)&&!l.has(f)&&l.set(f,d.id);const g=d=>{const f=ie(d.label,d.id===c||(s.get(d.id)??0)>=4);return{id:d.id,width:Math.ceil(f.width),height:Math.ceil(f.height)}},w=[];for(const d of a){const f=d.nodeIds.filter(C=>l.get(C)===d.id&&n.has(C));f.length!==0&&w.push({id:`g:${d.id}`,layoutOptions:{"elk.padding":`[top=${W},left=14,bottom=12,right=14]`},children:f.map(C=>g(t.find(p=>p.id===C)))})}for(const d of t)l.has(d.id)||w.push(g(d));return{id:"root",layoutOptions:{"elk.algorithm":"layered","elk.direction":"DOWN","elk.edgeRouting":"ORTHOGONAL","elk.hierarchyHandling":"INCLUDE_CHILDREN","elk.spacing.nodeNode":"34","elk.spacing.edgeNode":"26","elk.spacing.componentComponent":"48","elk.layered.spacing.nodeNodeBetweenLayers":"56"},children:w,edges:o.map((d,f)=>({id:`e${f}`,sources:[d.from],targets:[d.to]}))}}function Te(t){if(t.length===0)return{x:0,y:0};if(t.length===1)return t[0];const r=[];let a=0;for(let s=1;s<t.length;s++){const i=Math.hypot(t[s].x-t[s-1].x,t[s].y-t[s-1].y);r.push(i),a+=i}let n=a/2;for(let s=0;s<r.length;s++){if(n<=r[s]||s===r.length-1){const i=r[s]===0?0:n/r[s];return{x:t[s].x+(t[s+1].x-t[s].x)*i,y:t[s].y+(t[s+1].y-t[s].y)*i}}n-=r[s]}return t[t.length-1]}function Le(t,r,a,n,s,i){var b;const o=new Map(r.map(u=>[u.id,u])),c=new Map;n.forEach((u,x)=>c.set(u.id,x%5));const l=new Map(n.map(u=>[u.id,u])),g=new Map;for(const u of n)for(const x of u.nodeIds)g.has(x)||g.set(x,u.id);const w=[],m=[],d=[],f=new Map([["root",{x:0,y:0}]]),C=[],p=(u,x,y,E)=>{var M;for(const S of u.children??[]){const z=x+(S.x??0),I=y+(S.y??0);if((M=S.children)!=null&&M.length){const k=S.id.startsWith("g:")?S.id.slice(2):S.id,v=l.get(k);m.push({id:k,label:(v==null?void 0:v.label)??"分组",x:z,y:I,w:S.width??0,h:S.height??0,colorIdx:c.get(k)??0}),f.set(S.id,{x:z,y:I}),p(S,z,I,k)}else{const k=o.get(S.id);if(!k)continue;const v=ie(k.label,k.id===i),$=g.get(k.id)??null;w.push({id:k.id,x:z,y:I,w:S.width??Math.ceil(v.width),h:S.height??Math.ceil(v.height),lines:v.lines,hub:k.id===i,groupId:E,colorIdx:$!=null?c.get($)??0:-1})}}for(const S of u.edges??[])C.push({e:S,fallback:{x,y}})};p(t,0,0,null);for(const{e:u,fallback:x}of C){const y=(b=u.sections)==null?void 0:b[0];if(!y)continue;const E=(u.container!=null?f.get(u.container):void 0)??x,M=[y.startPoint,...y.bendPoints??[],y.endPoint].map(I=>({x:I.x+E.x,y:I.y+E.y})),S=Number(u.id.slice(1)),z=a[S];z&&d.push({from:z.from,to:z.to,label:z.label,pts:M,labelPt:z.label?Te(M):null})}return{width:Math.ceil(t.width??0),height:Math.ceil(t.height??0),nodes:w,groups:m,edges:d,hubId:i,groupsFallback:s}}let ae=null;function Re(){return ae??(ae=U(()=>import("./elk.bundled-CFVmrENq.js").then(t=>t.e),__vite__mapDeps([0,1,2,3]),import.meta.url).then(t=>{const r=t,a=r.default??r;return new a})),ae}async function _e(t,r,a){const n=ze(t,r,a),s=Ie(t,r,n.groups),i=qe(t,r),c=await(await Re()).layout(s);return Le(c,t,r,n.groups,n.fallback,i)}function qe(t,r){var o;const a=new Set(t.map(c=>c.id)),n=new Map;for(const c of t)n.set(c.id,0);const s=new Set;for(const c of r){if(!a.has(c.from)||!a.has(c.to)||c.from===c.to)continue;const l=[c.from,c.to].sort().join("→");s.has(l)||(s.add(l),n.set(c.from,n.get(c.from)+1),n.set(c.to,n.get(c.to)+1))}let i=((o=t[0])==null?void 0:o.id)??"";for(const c of t)(n.get(c.id)??0)>(n.get(i)??0)&&(i=c.id);return i}const A=.4,V=2.5,B=.2;function Oe(t){return t.map((r,a)=>`${a===0?"M":"L"} ${r.x.toFixed(1)} ${r.y.toFixed(1)}`).join(" ")}function X({layout:t}){return e.jsxs("svg",{width:t.width,height:t.height,viewBox:`0 0 ${t.width} ${t.height}`,style:{display:"block"},"data-testid":"conceptmap-svg",children:[e.jsx("defs",{children:e.jsx("marker",{id:"cm-arrow",viewBox:"0 0 10 10",refX:9,refY:5,markerWidth:6.5,markerHeight:6.5,orient:"auto-start-reverse",children:e.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",className:"fill-ink-faint"})})}),t.groups.map((r,a)=>e.jsxs("g",{className:"cm-enter",style:{animationDelay:`${a*60}ms`},children:[e.jsx("rect",{x:r.x,y:r.y,width:r.w,height:r.h,rx:14,className:"cm-group-box",style:{fill:`var(--cm-c${r.colorIdx}-fill)`,stroke:`var(--cm-c${r.colorIdx}-line)`}}),e.jsx("rect",{x:r.x,y:r.y,width:r.w,height:W,rx:14,className:"cm-group-head",style:{fill:`var(--cm-c${r.colorIdx}-line)`}}),e.jsx("rect",{x:r.x,y:r.y+W/2,width:r.w,height:W/2,className:"cm-group-head",style:{fill:`var(--cm-c${r.colorIdx}-line)`}}),e.jsx("text",{x:r.x+14,y:r.y+22,fontSize:12,fontWeight:600,fill:`var(--cm-c${r.colorIdx}-line)`,"data-testid":"conceptmap-group-label",children:r.label})]},`g-${r.id}`)),t.edges.map((r,a)=>{const n=r.label?{width:T(r.label,12)+16,height:19}:null;return e.jsxs("g",{className:"cm-enter",style:{animationDelay:`${(t.groups.length+1)*60+a*30}ms`},children:[e.jsx("path",{d:Oe(r.pts),className:"fill-none stroke-ink-faint/80",strokeWidth:1.6,markerEnd:"url(#cm-arrow)"}),r.label&&n&&r.labelPt&&e.jsxs("g",{children:[e.jsx("rect",{x:r.labelPt.x-n.width/2,y:r.labelPt.y-n.height/2,width:n.width,height:n.height,rx:n.height/2,className:"fill-surface-0/95 stroke-[var(--border-faint)]",strokeWidth:1}),e.jsx("text",{x:r.labelPt.x,y:r.labelPt.y+3.5,textAnchor:"middle",fontSize:12,className:"fill-ink-muted font-medium",style:{paintOrder:"stroke"},stroke:"var(--surface-0)",strokeWidth:3,children:r.label})]})]},`e-${a}`)}),t.nodes.map((r,a)=>{const n=r.colorIdx>=0?`var(--cm-c${r.colorIdx}-fill)`:"var(--surface-3)",s=r.colorIdx>=0?`var(--cm-c${r.colorIdx}-line)`:"var(--border)",i=r.hub?14:13;return e.jsxs("g",{className:"cm-enter",style:{animationDelay:`${(t.groups.length+2)*60+a*35}ms`},children:[e.jsx("rect",{x:r.x,y:r.y,width:r.w,height:r.h,rx:r.hub?12:10,fill:n,stroke:s,strokeWidth:r.hub?1.8:1.4}),r.lines.map((o,c)=>e.jsx("text",{x:r.x+r.w/2,y:r.y+r.h/2+(c-(r.lines.length-1)/2)*17+4.5,textAnchor:"middle",fontSize:i,className:r.hub?"fill-ink-strong font-bold":"fill-ink",children:o},c))]},r.id)})]})}function Ae({data:t,variant:r="card"}){const a=t,n=L(),s=h.useMemo(()=>JSON.stringify({n:a.nodes,e:a.edges,g:a.groups??null}),[a.nodes,a.edges,a.groups]),[i,o]=h.useState(null);h.useEffect(()=>{let b=!0;return o(null),_e(a.nodes,a.edges,a.groups??null).then(u=>{b&&o(u)}).catch(()=>{}),()=>{b=!1}},[s]);const[c,l]=h.useState(1),[g,w]=h.useState(!1),m=h.useRef(null);h.useEffect(()=>{const b=m.current;if(!b||!i)return;const u=()=>{const y=(b.clientWidth-16)/i.width;y<1&&l(Math.max(A,+y.toFixed(2)))};u();const x=new ResizeObserver(u);return x.observe(b),()=>x.disconnect()},[i==null?void 0:i.width,i]);const d=h.useCallback(()=>l(b=>Math.min(V,+(b+B).toFixed(2))),[]),f=h.useCallback(()=>l(b=>Math.max(A,+(b-B).toFixed(2))),[]),C=h.useCallback(()=>l(1),[]),p=h.useCallback(b=>{if(!b.ctrlKey&&!b.metaKey)return;b.preventDefault();const u=b.deltaY>0?-B:B;l(x=>Math.min(V,Math.max(A,+(x+u).toFixed(2))))},[]);return r==="canvas"?e.jsx("div",{"data-testid":"conceptmap-canvas-content",children:i?e.jsx(X,{layout:i}):e.jsx("div",{style:{minWidth:320,minHeight:160}})}):e.jsxs("div",{className:"surface-card p-4","data-testid":"artifact-concept-map",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3 gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[e.jsx(he,{className:"w-4 h-4 text-ink-muted shrink-0"}),e.jsx("h3",{className:"text-body font-bold text-ink truncate",children:a.title})]}),e.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[e.jsxs("div",{className:"flex items-center gap-1","data-testid":"conceptmap-zoom-controls",children:[e.jsx("button",{onClick:f,disabled:c<=A,className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 disabled:opacity-30 text-label font-bold flex items-center justify-center",title:n("artifact.zoomOut"),children:"−"}),e.jsxs("button",{onClick:C,className:"px-1.5 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 text-caption font-bold tabular-nums",title:n("artifact.zoomReset"),children:[Math.round(c*100),"%"]}),e.jsx("button",{onClick:d,disabled:c>=V,className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 disabled:opacity-30 text-label font-bold flex items-center justify-center",title:n("artifact.zoomIn"),children:"+"})]}),e.jsx("button",{onClick:()=>w(!0),"data-testid":"conceptmap-expand","aria-label":n("artifact.viewer.open"),"data-tooltip":n("artifact.viewer.open"),className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 flex items-center justify-center",children:e.jsx(H,{className:"w-3.5 h-3.5"})})]})]}),e.jsx("div",{ref:m,onClick:()=>w(!0),onWheel:p,className:"bg-surface-0/40 rounded-lg p-2 overflow-auto min-h-[160px] max-h-[500px] select-none",style:{touchAction:"pan-x pan-y"},"data-testid":"conceptmap-render-area","data-noswipe":"",children:i?e.jsx("div",{style:{width:i.width*c,height:i.height*c,margin:"0 auto"},children:e.jsx("div",{style:{transform:`scale(${c})`,transformOrigin:"top left",width:i.width,height:i.height},children:e.jsx(X,{layout:i})})}):e.jsx("div",{className:"h-[152px] flex items-center justify-center text-caption text-ink-muted","data-testid":"conceptmap-loading",children:"…"})}),e.jsx("div",{className:"mt-1.5 flex items-center justify-between text-caption text-ink-muted",children:e.jsx("span",{children:n("artifact.conceptmap.stats",{nodes:a.nodes.length,edges:a.edges.length})})}),a.warnings&&a.warnings.length>0&&e.jsxs("div",{className:"mt-1 text-caption text-warning flex items-start gap-1","data-testid":"artifact-warnings",children:[e.jsx(O,{className:"w-3.5 h-3.5 shrink-0 mt-0.5"}),e.jsx("span",{children:a.warnings.join("; ")})]}),g&&e.jsx(K,{title:a.title,onClose:()=>w(!1),children:e.jsx("div",{className:"h-full w-full rounded-xl overflow-hidden bg-surface-0/60",children:e.jsx(F,{testid:"conceptmap-modal-stage",children:i?e.jsx(X,{layout:i}):e.jsx("div",{className:"min-w-[320px] min-h-[160px]"})})})})]})}function Be(t,r){const{correct:a,total:n}=t,s=n>0&&a===n,i=n>0&&a<n,o=r!=null&&r>=fe,c=r!=null&&r>=xe;return i?[{id:"explain-wrong"},{id:"retry"}]:s&&o?[{id:"next-topic"},{id:"go-deeper"}]:s&&c?[{id:"mark-mastered",advancesMastery:!0},{id:"next-topic"},{id:"go-deeper"}]:[{id:"go-deeper"},{id:"retry"}]}const Pe="ls-quiz-progress:";function We(t){const r=t.questions.map(n=>`${n.prompt}|${(n.options??[]).join("/")}#${n.answer??""}`).join(`
18
18
  `);let a=2166136261;for(let n=0;n<r.length;n++)a^=r.charCodeAt(n),a=Math.imul(a,16777619);return`${Pe}${(a>>>0).toString(36)}`}function De(t){var r,a;try{const n=localStorage.getItem(t);if(!n)return null;const s=JSON.parse(n);return typeof(s==null?void 0:s.current)=="number"&&s.current>=0&&typeof((r=s==null?void 0:s.score)==null?void 0:r.correct)=="number"&&typeof((a=s==null?void 0:s.score)==null?void 0:a.total)=="number"?s:null}catch{return null}}function He(t,r){try{localStorage.setItem(t,JSON.stringify(r))}catch{}}const Fe={"explain-wrong":{icon:Ce,labelKey:"quiz.action.explainWrong",message:"我刚才有题答错了,帮我讲讲为什么错、正确的思路是什么。"},retry:{icon:Ne,labelKey:"quiz.action.retry",message:"再来一组类似的题巩固一下。"},"go-deeper":{icon:be,labelKey:"quiz.action.goDeeper",message:"这组我答得不错,帮我深入讲讲背后的原理和容易混淆的地方。"},"mark-mastered":{icon:ge,labelKey:"quiz.action.markMastered",message:"这课我觉得掌握了,帮我确认一下——出个综合题检验,通过了就标记为掌握。"},"next-topic":{icon:ve,labelKey:"quiz.action.nextTopic",message:"进入下一个知识点。"}};function Ke({data:t,onAnswered:r,quizMastery:a,onPickAction:n,onQuizCompleted:s}){const i=t,o=L(),c=h.useMemo(()=>We(i),[i]),l=h.useMemo(()=>De(c),[c]),[g,w]=h.useState((l==null?void 0:l.current)??0),[m,d]=h.useState(null),[f,C]=h.useState(!1),[p,b]=h.useState((l==null?void 0:l.score)??{correct:0,total:0}),u=h.useRef([]),x=h.useRef(null);h.useEffect(()=>{He(c,{current:g,score:p})},[c,g,p]);const[y,E]=h.useState(!1);if(g>=i.questions.length){const k=!!n&&!s;if(s)return e.jsxs("div",{className:"surface-card p-4 text-center","data-testid":"artifact-quiz-done",children:[e.jsx("div",{className:"text-2xl mb-2",children:p.correct===p.total?"🎉":"📚"}),e.jsx("div",{className:"text-body font-bold text-ink",children:o("quiz.scoreSummary",{correct:p.correct,total:p.total})}),y?e.jsx("div",{className:"text-label text-ink-muted mt-1","data-testid":"quiz-hook-sent",children:o("quiz.hook.sent")}):e.jsx("button",{onClick:()=>{E(!0),s({title:i.title??"",correct:p.correct,total:p.total,detail:[...u.current]})},"data-testid":"quiz-hook-finish",className:"btn-3d-brand mt-3 px-5 py-2 text-body",children:o("quiz.hook.finish")})]});const v=k?Be(p,a??null):[];return e.jsxs("div",{className:"surface-card p-4 text-center","data-testid":"artifact-quiz-done",children:[e.jsx("div",{className:"text-2xl mb-2",children:p.correct===p.total?"🎉":"📚"}),e.jsx("div",{className:"text-body font-bold text-ink",children:o("quiz.scoreSummary",{correct:p.correct,total:p.total})}),e.jsx("div",{className:"text-label text-ink-muted mt-1",children:p.correct===p.total?o("quiz.allCorrectHint"):o("quiz.tryAgainHint")}),v.length>0&&e.jsxs("div",{className:"mt-3 space-y-2 text-left","data-testid":"quiz-next-actions",children:[e.jsx("div",{className:"text-label text-ink-muted",children:o("quiz.action.nextPrompt")}),v.map(($,j)=>{const N=Fe[$.id],R=N.icon;return e.jsxs("button",{onClick:()=>n==null?void 0:n(N.message),"data-testid":`quiz-action-${$.id}`,className:`${j===0?"btn-3d-brand":"btn-3d-neutral"} w-full py-2 text-body flex items-center justify-center gap-1.5`,children:[e.jsx(R,{className:"w-4 h-4"}),o(N.labelKey)]},$.id)})]})]})}const M=i.questions[g],S=f&&m===M.answer,z=()=>{if(m===null)return;C(!0);const k=m===M.answer;b(v=>({correct:v.correct+(k?1:0),total:v.total+1})),r==null||r(M,m,k),u.current.push({prompt:M.prompt,chosen:M.options[m]??"?",answerText:M.options[M.answer]??"?",correct:k}),de(k?"correct":"wrong",{origin:k&&x.current?(()=>{const v=x.current.getBoundingClientRect();return{x:v.right-48,y:v.top+24}})():void 0})},I=()=>{g===i.questions.length-1&&s&&!y&&(E(!0),s({title:i.title??"",correct:p.correct,total:p.total,detail:[...u.current]})),w(k=>k+1),d(null),C(!1)};return e.jsxs("div",{ref:x,className:"surface-card p-4","data-testid":"artifact-quiz",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(pe,{className:"w-4 h-4 text-brand"}),e.jsx("span",{className:"text-label font-bold text-brand",children:o("quiz.questionProgress",{cur:g+1,total:i.questions.length})})]}),e.jsx("span",{className:"text-label text-ink-muted",children:o("quiz.answeredCorrect",{n:p.correct})})]}),e.jsx("div",{className:"text-body text-ink font-medium mb-3 leading-relaxed",children:M.prompt}),e.jsx("div",{className:"space-y-2 mb-3",children:M.options.map((k,v)=>{const $=m===v,j=f&&v===M.answer,N=f&&$&&!j;return e.jsxs("button",{onClick:()=>!f&&d(v),disabled:f,"data-testid":`quiz-option-${v}`,className:`w-full text-left text-body p-2.5 rounded-lg border-2 font-medium transition-colors ${j?"border-brand bg-brand/10 text-brand animate-answer-correct":N?"border-warning bg-warning/10 text-warning animate-answer-wrong":$?"border-accent bg-accent/10 text-accent":"border-[var(--border)] text-ink-muted hover:border-[var(--border)]"} ${f?"cursor-default":"cursor-pointer"}`,children:[e.jsx("span",{className:"font-bold mr-2",children:String.fromCharCode(65+v)}),k,j&&e.jsx("span",{className:"float-right",children:e.jsx(Y,{className:"w-4 h-4 inline-block"})}),N&&e.jsx("span",{className:"float-right",children:e.jsx(J,{className:"w-4 h-4 inline-block"})})]},v)})}),f&&e.jsxs("div",{className:`rounded-lg p-3 mb-3 text-body leading-relaxed animate-artifact-render ${S?"bg-brand/10 border border-brand/30 text-brand":"bg-warning/10 border border-warning/30 text-warning"}`,"data-testid":"quiz-explanation",children:[e.jsxs("div",{className:"font-bold mb-1 flex items-center gap-1.5",children:[S?e.jsx(Y,{className:"w-4 h-4"}):e.jsx(J,{className:"w-4 h-4"}),e.jsx("span",{children:o(S?"quiz.correct":"quiz.wrong")})]}),e.jsx("div",{className:"text-ink-muted",children:M.explanation})]}),f?e.jsx("button",{onClick:I,"data-testid":"quiz-next",className:"btn-3d-brand w-full py-2 text-body",children:g+1<i.questions.length?o("exercise.next"):o("quiz.finish")}):e.jsx("button",{onClick:z,disabled:m===null,"data-testid":"quiz-submit",className:"btn-3d-brand w-full py-2 text-body disabled:opacity-40",children:o("exercise.submit")}),i.warnings&&i.warnings.length>0&&e.jsxs("div",{className:"mt-2 text-caption text-warning flex items-start gap-1","data-testid":"artifact-warnings",children:[e.jsx(O,{className:"w-3.5 h-3.5 shrink-0 mt-0.5"}),e.jsx("span",{children:i.warnings.join("; ")})]})]})}function oe({data:t,variant:r="card"}){const a=t,n=L(),[s,i]=h.useState(!1),o=e.jsxs("table",{className:"text-body",style:{width:"max-content",minWidth:"100%"},children:[e.jsx("thead",{children:e.jsx("tr",{className:"bg-surface-3/60",children:a.headers.map((c,l)=>e.jsx("th",{className:`px-3 py-2.5 text-left font-bold border-b border-[var(--border)] ${l===0?"text-ink-strong":"text-ink"}`,children:c},l))})}),e.jsx("tbody",{children:a.rows.map((c,l)=>e.jsx("tr",{className:l%2===0?"bg-surface-0/40":"",children:c.map((g,w)=>e.jsx("td",{className:`px-3 py-2.5 border-b border-[var(--border-faint)] align-top leading-relaxed ${w===0?"font-bold text-ink-strong whitespace-nowrap bg-surface-1/40":"text-ink-muted"}`,style:w===0?void 0:{maxWidth:260,overflowWrap:"anywhere"},children:g},w))},l))})]});return r==="canvas"?e.jsx("div",{className:"w-fit","data-testid":"comparetable-canvas-content",children:o}):e.jsxs("div",{className:"surface-card p-4","data-testid":"artifact-compare-table",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx(we,{className:"w-4 h-4 text-ink-muted shrink-0"}),e.jsx("h3",{className:"text-body font-bold text-ink truncate",children:a.title})]}),e.jsx("button",{onClick:()=>i(!0),"data-testid":"comparetable-expand","aria-label":n("artifact.viewer.open"),"data-tooltip":n("artifact.viewer.open"),className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 flex items-center justify-center shrink-0",children:e.jsx(H,{className:"w-3.5 h-3.5"})})]}),e.jsx("div",{className:"overflow-x-auto rounded-lg border border-[var(--border-faint)]",onClick:()=>i(!0),style:{touchAction:"pan-x pan-y"},"data-noswipe":"",children:o}),a.warnings&&a.warnings.length>0&&e.jsxs("div",{className:"mt-2 text-caption text-warning flex items-start gap-1","data-testid":"artifact-warnings",children:[e.jsx(O,{className:"w-3.5 h-3.5 shrink-0 mt-0.5"}),e.jsx("span",{children:a.warnings.join("; ")})]}),s&&e.jsx(K,{title:a.title,onClose:()=>i(!1),children:e.jsx("div",{className:"h-full w-full rounded-xl overflow-hidden bg-surface-0/60",children:e.jsx(F,{testid:"comparetable-modal-stage",children:e.jsx("div",{className:"p-2 surface-card",children:e.jsx(oe,{data:t,variant:"canvas"})})})})})]})}function Ve(t){const r=t.split(`
19
19
  `);for(let a=0;a<r.length;a++){const n=r[a]??"",s=n.trim();if(!(!s||s.startsWith("%%")))return/^flowchart-elk\b/i.test(s)?t:/^(flowchart|graph)\b/i.test(s)?(r[a]=n.replace(/^(\s*)(flowchart|graph)\b/i,"$1flowchart-elk"),r.join(`
20
- `)):t}return t}let D=null;function Xe(){return D||(D=U(()=>import("./mermaid.core-D0rh4nEj.js").then(t=>t.aW),__vite__mapDeps([4,5,1,2,6,7]),import.meta.url).then(async t=>{const r=t.default,{default:a}=await U(async()=>{const{default:n}=await import("./mermaid-layout-elk.core-DDX9gcIM.js").then(s=>s.m);return{default:n}},__vite__mapDeps([8,5,1,2,6]),import.meta.url);return r.registerLayoutLoaders(a),r.initialize({startOnLoad:!1,theme:"base",securityLevel:"loose",themeVariables:Ge(),flowchart:{useMaxWidth:!0,htmlLabels:!0,curve:"basis",nodeSpacing:42,rankSpacing:54,padding:10},sequence:{useMaxWidth:!0,boxMargin:8,noteMargin:8,messageMargin:32}}),r})),D}function Ge(){const t=(a,n)=>{if(typeof document>"u")return n;const s=getComputedStyle(document.documentElement).getPropertyValue(a).trim();return s?`rgb(${s})`:n};return{background:"transparent",fontFamily:typeof document<"u"&&getComputedStyle(document.body).fontFamily||"ui-sans-serif, system-ui, sans-serif",fontSize:"14px",primaryColor:t("--surface-3-rgb","rgb(42 43 46)"),primaryBorderColor:t("--border-rgb","rgb(37 38 41)"),primaryTextColor:t("--ink-strong-rgb","rgb(250 250 250)"),secondaryColor:t("--surface-2-rgb","rgb(32 33 36)"),secondaryBorderColor:t("--border-faint-rgb","rgb(26 26 29)"),secondaryTextColor:t("--ink-rgb","rgb(245 245 250)"),tertiaryColor:t("--surface-1-rgb","rgb(24 25 27)"),tertiaryBorderColor:t("--border-faint-rgb","rgb(26 26 29)"),tertiaryTextColor:t("--ink-rgb","rgb(245 245 250)"),lineColor:t("--ink-faint-rgb","rgb(117 117 126)"),textColor:t("--ink-rgb","rgb(245 245 250)"),edgeLabelBackground:t("--surface-0-rgb","rgb(12 13 15)"),clusterBkg:t("--surface-1-rgb","rgb(24 25 27)"),clusterBorder:t("--border-faint-rgb","rgb(26 26 29)"),nodeBorder:t("--border-rgb","rgb(37 38 41)"),mainBkg:t("--surface-3-rgb","rgb(42 43 46)"),nodeTextColor:t("--ink-rgb","rgb(245 245 250)"),arrowheadColor:t("--ink-faint-rgb","rgb(117 117 126)"),actorBkg:t("--surface-3-rgb","rgb(42 43 46)"),actorBorder:t("--border-rgb","rgb(37 38 41)"),actorTextColor:t("--ink-strong-rgb","rgb(250 250 250)"),activationBkgColor:t("--surface-3-rgb","rgb(42 43 46)"),activationBorderColor:t("--border-rgb","rgb(37 38 41)"),signalColor:t("--ink-rgb","rgb(245 245 250)"),signalTextColor:t("--ink-rgb","rgb(245 245 250)"),labelBoxBkgColor:t("--surface-2-rgb","rgb(32 33 36)"),labelBoxBorderColor:t("--border-rgb","rgb(37 38 41)"),labelTextColor:t("--ink-rgb","rgb(245 245 250)"),loopTextColor:t("--ink-strong-rgb","rgb(250 250 250)"),noteBkgColor:"rgb(255 200 0 / 0.12)",noteBorderColor:"rgb(255 200 0 / 0.4)",noteTextColor:t("--ink-rgb","rgb(245 245 250)")}}typeof window<"u"&&window.addEventListener("theme-changed",()=>{D=null});async function Ze(t,r){const a=await Xe(),n=Ve(r);try{await a.parse(n)}catch(i){throw new Error(`mermaid 语法校验失败: ${i instanceof Error?i.message:String(i)}`)}const{svg:s}=await a.render(t,n);if(s.includes('aria-roledescription="error"')||s.includes('class="error-text"')||s.includes("Syntax error"))throw new Error("mermaid 渲染失败(语法错误或节点 label 含未转义特殊字符)");return s}function ne(t){let r=5381;for(let a=0;a<t.length;a++)r=(r<<5)+r+t.charCodeAt(a)>>>0;return r.toString(36)}const G=.3,Z=3,P=.2;function ce({data:t,variant:r="card"}){const a=t,n=L(),s={flowchart:n("artifact.diagram.flowchart"),sequence:n("artifact.diagram.sequence"),state:n("artifact.diagram.state")},i=h.useId().replace(/[:]/g,"_"),[o,c]=h.useState({status:"loading"}),[l,g]=h.useState(()=>{try{return sessionStorage.getItem(`mmdfix:${a.mermaid.length}:${ne(a.mermaid)}`)??a.mermaid}catch{return a.mermaid}}),[w,m]=h.useState(!1),[d,f]=h.useState(!1),[C,p]=h.useState(0);h.useEffect(()=>{const j=()=>p(N=>N+1);return window.addEventListener("theme-changed",j),()=>window.removeEventListener("theme-changed",j)},[]);const[b,u]=h.useState(null),[x,y]=h.useState(1),[E,M]=h.useState(!1);h.useEffect(()=>{let j=!1;return c({status:"loading"}),u(null),Ze(`mmd-${i}`,l).then(N=>{if(!j&&(c({status:"rendered",svg:N}),l!==a.mermaid))try{sessionStorage.setItem(`mmdfix:${a.mermaid.length}:${ne(a.mermaid)}`,l)}catch{}}).catch(N=>{j||(console.error("[MermaidArtifact] render failed:",N),c({status:"error",message:N instanceof Error?N.message:String(N)}))}),()=>{j=!0}},[l,i,C,a.mermaid]),h.useEffect(()=>{var j;o.status!=="error"||w||(m(!0),l===a.mermaid&&(j=window.api)!=null&&j.repairMermaidDiagram&&(f(!0),window.api.repairMermaidDiagram({mermaid:l,errorMessage:o.message,diagramType:a.diagramType}).then(N=>{N.ok&&N.mermaid.trim()&&g(N.mermaid)}).catch(()=>{}).finally(()=>f(!1))))},[o,w,l,a.mermaid,a.diagramType]);const S=`https://mermaid.live/edit#${encodeURIComponent(l)}`,z=h.useCallback(()=>y(j=>Math.min(Z,+(j+P).toFixed(2))),[]),I=h.useCallback(()=>y(j=>Math.max(G,+(j-P).toFixed(2))),[]),k=h.useCallback(()=>y(1),[]),v=h.useCallback(j=>{if(!j.ctrlKey&&!j.metaKey)return;j.preventDefault();const N=j.deltaY>0?-P:P;y(R=>Math.min(Z,Math.max(G,+(R+N).toFixed(2))))},[]),$=o.status==="rendered"?e.jsx("div",{ref:j=>{var N;if(j&&!b){const R=j.querySelector("svg");if(R){const ee=R.getBoundingClientRect(),_=(N=R.viewBox)==null?void 0:N.baseVal,te=_&&_.width?_.width:ee.width,re=_&&_.height?_.height:ee.height;te>0&&re>0&&u({width:te,height:re})}}},style:{width:(b==null?void 0:b.width)??void 0,height:(b==null?void 0:b.height)??void 0},dangerouslySetInnerHTML:{__html:o.svg},"data-testid":"mermaid-svg"}):null;return r==="canvas"?e.jsx("div",{"data-testid":"mermaid-canvas-content",children:$}):e.jsxs("div",{className:"surface-card p-4","data-testid":"artifact-mermaid",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3 gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[e.jsx(Se,{className:"w-4 h-4 text-ink-muted shrink-0"}),e.jsx("h3",{className:"text-body font-bold text-ink truncate",children:a.title}),e.jsx("span",{className:"text-caption font-bold px-1.5 py-0.5 rounded bg-accent/15 text-accent shrink-0",children:s[a.diagramType]??a.diagramType})]}),e.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[o.status==="rendered"&&e.jsxs("div",{className:"flex items-center gap-1","data-testid":"mermaid-zoom-controls",children:[e.jsx("button",{onClick:I,disabled:x<=G,className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-1 hover:bg-surface-3 disabled:opacity-30 text-label font-bold flex items-center justify-center",title:n("artifact.zoomOut"),"data-testid":"mermaid-zoom-out",children:"−"}),e.jsxs("button",{onClick:k,className:"px-1.5 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-1 hover:bg-surface-3 text-caption font-bold tabular-nums",title:n("artifact.zoomReset"),"data-testid":"mermaid-zoom-reset",children:[Math.round(x*100),"%"]}),e.jsx("button",{onClick:z,disabled:x>=Z,className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-1 hover:bg-surface-3 disabled:opacity-30 text-label font-bold flex items-center justify-center",title:n("artifact.zoomIn"),"data-testid":"mermaid-zoom-in",children:"+"})]}),o.status==="rendered"&&e.jsx("button",{onClick:()=>M(!0),"data-testid":"mermaid-expand","aria-label":n("artifact.viewer.open"),"data-tooltip":n("artifact.viewer.open"),className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 flex items-center justify-center",children:e.jsx(H,{className:"w-3.5 h-3.5"})})]}),e.jsx("button",{onClick:()=>window.open(S,"_blank"),className:"text-caption text-accent hover:underline font-bold shrink-0","data-testid":"mermaid-open-live",title:n("artifact.mermaid.openLive"),children:"mermaid.live ↗"})]}),e.jsxs("div",{onClick:()=>{o.status==="rendered"&&M(!0)},onWheel:v,className:"bg-surface-0/40 rounded-lg p-3 overflow-auto min-h-[120px] max-h-[500px] select-none",style:{touchAction:"pan-x pan-y"},"data-testid":"mermaid-render-area","data-noswipe":"",children:[o.status==="loading"&&e.jsxs("div",{className:"flex items-center gap-2 text-body text-ink-muted my-8 justify-center","data-testid":"mermaid-loading",children:[e.jsx("span",{className:"typing-dot w-1.5 h-1.5 bg-accent rounded-full inline-block"}),e.jsx("span",{children:n("artifact.mermaid.rendering")})]}),o.status==="rendered"&&e.jsx("div",{style:{width:b?b.width*x:"auto",height:b?b.height*x:"auto",margin:"0 auto"},children:e.jsx("div",{style:{transform:`scale(${x})`,transformOrigin:"top left"},children:$})}),o.status==="error"&&d&&e.jsxs("div",{className:"flex items-center gap-2 text-body text-ink-muted my-8 justify-center","data-testid":"mermaid-repairing",children:[e.jsx("span",{className:"typing-dot w-1.5 h-1.5 bg-accent rounded-full inline-block"}),e.jsx("span",{children:n("artifact.mermaid.repairing")})]}),o.status==="error"&&!d&&e.jsxs("div",{className:"w-full text-center my-4","data-testid":"mermaid-fallback",children:[e.jsxs("div",{className:"text-body text-warning mb-2 flex items-center justify-center gap-1.5",children:[e.jsx(O,{className:"w-4 h-4 shrink-0"}),e.jsx("span",{children:n("artifact.mermaid.renderFailed")})]}),e.jsx("pre",{className:"text-label bg-surface-1/60 rounded p-2 overflow-x-auto text-ink-muted font-mono text-left",children:l}),e.jsx("div",{className:"text-caption text-ink-muted mt-2",children:n("artifact.mermaid.errorPrefix",{msg:o.message})})]})]}),o.status==="rendered"&&e.jsx("div",{className:"mt-1.5 text-caption text-ink-muted flex items-center gap-2",children:e.jsx("span",{children:n("artifact.mermaid.hint")})}),E&&o.status==="rendered"&&e.jsx(K,{title:a.title,onClose:()=>M(!1),children:e.jsx("div",{className:"h-full w-full rounded-xl overflow-hidden bg-surface-0/60",children:e.jsx(F,{testid:"mermaid-modal-stage",children:e.jsx(ce,{data:t,variant:"canvas"})})})}),a.warnings&&a.warnings.length>0&&e.jsxs("div",{className:"mt-2 text-caption text-warning flex items-start gap-1","data-testid":"artifact-warnings",children:[e.jsx(O,{className:"w-3.5 h-3.5 shrink-0 mt-0.5"}),e.jsx("span",{children:a.warnings.join("; ")})]})]})}function le({data:t,variant:r="card"}){const a=t,n=L(),[s,i]=h.useState(null),[o,c]=h.useState(!1),l=h.useRef([]),g=h.useRef([]),w=a.code.split(`
20
+ `)):t}return t}let D=null;function Xe(){return D||(D=U(()=>import("./mermaid.core-C9HnEz85.js").then(t=>t.aW),__vite__mapDeps([4,5,1,2,6,7]),import.meta.url).then(async t=>{const r=t.default,{default:a}=await U(async()=>{const{default:n}=await import("./mermaid-layout-elk.core-D5SipCA5.js").then(s=>s.m);return{default:n}},__vite__mapDeps([8,5,1,2,6]),import.meta.url);return r.registerLayoutLoaders(a),r.initialize({startOnLoad:!1,theme:"base",securityLevel:"loose",themeVariables:Ge(),flowchart:{useMaxWidth:!0,htmlLabels:!0,curve:"basis",nodeSpacing:42,rankSpacing:54,padding:10},sequence:{useMaxWidth:!0,boxMargin:8,noteMargin:8,messageMargin:32}}),r})),D}function Ge(){const t=(a,n)=>{if(typeof document>"u")return n;const s=getComputedStyle(document.documentElement).getPropertyValue(a).trim();return s?`rgb(${s})`:n};return{background:"transparent",fontFamily:typeof document<"u"&&getComputedStyle(document.body).fontFamily||"ui-sans-serif, system-ui, sans-serif",fontSize:"14px",primaryColor:t("--surface-3-rgb","rgb(42 43 46)"),primaryBorderColor:t("--border-rgb","rgb(37 38 41)"),primaryTextColor:t("--ink-strong-rgb","rgb(250 250 250)"),secondaryColor:t("--surface-2-rgb","rgb(32 33 36)"),secondaryBorderColor:t("--border-faint-rgb","rgb(26 26 29)"),secondaryTextColor:t("--ink-rgb","rgb(245 245 250)"),tertiaryColor:t("--surface-1-rgb","rgb(24 25 27)"),tertiaryBorderColor:t("--border-faint-rgb","rgb(26 26 29)"),tertiaryTextColor:t("--ink-rgb","rgb(245 245 250)"),lineColor:t("--ink-faint-rgb","rgb(117 117 126)"),textColor:t("--ink-rgb","rgb(245 245 250)"),edgeLabelBackground:t("--surface-0-rgb","rgb(12 13 15)"),clusterBkg:t("--surface-1-rgb","rgb(24 25 27)"),clusterBorder:t("--border-faint-rgb","rgb(26 26 29)"),nodeBorder:t("--border-rgb","rgb(37 38 41)"),mainBkg:t("--surface-3-rgb","rgb(42 43 46)"),nodeTextColor:t("--ink-rgb","rgb(245 245 250)"),arrowheadColor:t("--ink-faint-rgb","rgb(117 117 126)"),actorBkg:t("--surface-3-rgb","rgb(42 43 46)"),actorBorder:t("--border-rgb","rgb(37 38 41)"),actorTextColor:t("--ink-strong-rgb","rgb(250 250 250)"),activationBkgColor:t("--surface-3-rgb","rgb(42 43 46)"),activationBorderColor:t("--border-rgb","rgb(37 38 41)"),signalColor:t("--ink-rgb","rgb(245 245 250)"),signalTextColor:t("--ink-rgb","rgb(245 245 250)"),labelBoxBkgColor:t("--surface-2-rgb","rgb(32 33 36)"),labelBoxBorderColor:t("--border-rgb","rgb(37 38 41)"),labelTextColor:t("--ink-rgb","rgb(245 245 250)"),loopTextColor:t("--ink-strong-rgb","rgb(250 250 250)"),noteBkgColor:"rgb(255 200 0 / 0.12)",noteBorderColor:"rgb(255 200 0 / 0.4)",noteTextColor:t("--ink-rgb","rgb(245 245 250)")}}typeof window<"u"&&window.addEventListener("theme-changed",()=>{D=null});async function Ze(t,r){const a=await Xe(),n=Ve(r);try{await a.parse(n)}catch(i){throw new Error(`mermaid 语法校验失败: ${i instanceof Error?i.message:String(i)}`)}const{svg:s}=await a.render(t,n);if(s.includes('aria-roledescription="error"')||s.includes('class="error-text"')||s.includes("Syntax error"))throw new Error("mermaid 渲染失败(语法错误或节点 label 含未转义特殊字符)");return s}function ne(t){let r=5381;for(let a=0;a<t.length;a++)r=(r<<5)+r+t.charCodeAt(a)>>>0;return r.toString(36)}const G=.3,Z=3,P=.2;function ce({data:t,variant:r="card"}){const a=t,n=L(),s={flowchart:n("artifact.diagram.flowchart"),sequence:n("artifact.diagram.sequence"),state:n("artifact.diagram.state")},i=h.useId().replace(/[:]/g,"_"),[o,c]=h.useState({status:"loading"}),[l,g]=h.useState(()=>{try{return sessionStorage.getItem(`mmdfix:${a.mermaid.length}:${ne(a.mermaid)}`)??a.mermaid}catch{return a.mermaid}}),[w,m]=h.useState(!1),[d,f]=h.useState(!1),[C,p]=h.useState(0);h.useEffect(()=>{const j=()=>p(N=>N+1);return window.addEventListener("theme-changed",j),()=>window.removeEventListener("theme-changed",j)},[]);const[b,u]=h.useState(null),[x,y]=h.useState(1),[E,M]=h.useState(!1);h.useEffect(()=>{let j=!1;return c({status:"loading"}),u(null),Ze(`mmd-${i}`,l).then(N=>{if(!j&&(c({status:"rendered",svg:N}),l!==a.mermaid))try{sessionStorage.setItem(`mmdfix:${a.mermaid.length}:${ne(a.mermaid)}`,l)}catch{}}).catch(N=>{j||(console.error("[MermaidArtifact] render failed:",N),c({status:"error",message:N instanceof Error?N.message:String(N)}))}),()=>{j=!0}},[l,i,C,a.mermaid]),h.useEffect(()=>{var j;o.status!=="error"||w||(m(!0),l===a.mermaid&&(j=window.api)!=null&&j.repairMermaidDiagram&&(f(!0),window.api.repairMermaidDiagram({mermaid:l,errorMessage:o.message,diagramType:a.diagramType}).then(N=>{N.ok&&N.mermaid.trim()&&g(N.mermaid)}).catch(()=>{}).finally(()=>f(!1))))},[o,w,l,a.mermaid,a.diagramType]);const S=`https://mermaid.live/edit#${encodeURIComponent(l)}`,z=h.useCallback(()=>y(j=>Math.min(Z,+(j+P).toFixed(2))),[]),I=h.useCallback(()=>y(j=>Math.max(G,+(j-P).toFixed(2))),[]),k=h.useCallback(()=>y(1),[]),v=h.useCallback(j=>{if(!j.ctrlKey&&!j.metaKey)return;j.preventDefault();const N=j.deltaY>0?-P:P;y(R=>Math.min(Z,Math.max(G,+(R+N).toFixed(2))))},[]),$=o.status==="rendered"?e.jsx("div",{ref:j=>{var N;if(j&&!b){const R=j.querySelector("svg");if(R){const ee=R.getBoundingClientRect(),_=(N=R.viewBox)==null?void 0:N.baseVal,te=_&&_.width?_.width:ee.width,re=_&&_.height?_.height:ee.height;te>0&&re>0&&u({width:te,height:re})}}},style:{width:(b==null?void 0:b.width)??void 0,height:(b==null?void 0:b.height)??void 0},dangerouslySetInnerHTML:{__html:o.svg},"data-testid":"mermaid-svg"}):null;return r==="canvas"?e.jsx("div",{"data-testid":"mermaid-canvas-content",children:$}):e.jsxs("div",{className:"surface-card p-4","data-testid":"artifact-mermaid",children:[e.jsxs("div",{className:"flex items-center justify-between mb-3 gap-2",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[e.jsx(Se,{className:"w-4 h-4 text-ink-muted shrink-0"}),e.jsx("h3",{className:"text-body font-bold text-ink truncate",children:a.title}),e.jsx("span",{className:"text-caption font-bold px-1.5 py-0.5 rounded bg-accent/15 text-accent shrink-0",children:s[a.diagramType]??a.diagramType})]}),e.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[o.status==="rendered"&&e.jsxs("div",{className:"flex items-center gap-1","data-testid":"mermaid-zoom-controls",children:[e.jsx("button",{onClick:I,disabled:x<=G,className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-1 hover:bg-surface-3 disabled:opacity-30 text-label font-bold flex items-center justify-center",title:n("artifact.zoomOut"),"data-testid":"mermaid-zoom-out",children:"−"}),e.jsxs("button",{onClick:k,className:"px-1.5 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-1 hover:bg-surface-3 text-caption font-bold tabular-nums",title:n("artifact.zoomReset"),"data-testid":"mermaid-zoom-reset",children:[Math.round(x*100),"%"]}),e.jsx("button",{onClick:z,disabled:x>=Z,className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-1 hover:bg-surface-3 disabled:opacity-30 text-label font-bold flex items-center justify-center",title:n("artifact.zoomIn"),"data-testid":"mermaid-zoom-in",children:"+"})]}),o.status==="rendered"&&e.jsx("button",{onClick:()=>M(!0),"data-testid":"mermaid-expand","aria-label":n("artifact.viewer.open"),"data-tooltip":n("artifact.viewer.open"),className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 flex items-center justify-center",children:e.jsx(H,{className:"w-3.5 h-3.5"})})]}),e.jsx("button",{onClick:()=>window.open(S,"_blank"),className:"text-caption text-accent hover:underline font-bold shrink-0","data-testid":"mermaid-open-live",title:n("artifact.mermaid.openLive"),children:"mermaid.live ↗"})]}),e.jsxs("div",{onClick:()=>{o.status==="rendered"&&M(!0)},onWheel:v,className:"bg-surface-0/40 rounded-lg p-3 overflow-auto min-h-[120px] max-h-[500px] select-none",style:{touchAction:"pan-x pan-y"},"data-testid":"mermaid-render-area","data-noswipe":"",children:[o.status==="loading"&&e.jsxs("div",{className:"flex items-center gap-2 text-body text-ink-muted my-8 justify-center","data-testid":"mermaid-loading",children:[e.jsx("span",{className:"typing-dot w-1.5 h-1.5 bg-accent rounded-full inline-block"}),e.jsx("span",{children:n("artifact.mermaid.rendering")})]}),o.status==="rendered"&&e.jsx("div",{style:{width:b?b.width*x:"auto",height:b?b.height*x:"auto",margin:"0 auto"},children:e.jsx("div",{style:{transform:`scale(${x})`,transformOrigin:"top left"},children:$})}),o.status==="error"&&d&&e.jsxs("div",{className:"flex items-center gap-2 text-body text-ink-muted my-8 justify-center","data-testid":"mermaid-repairing",children:[e.jsx("span",{className:"typing-dot w-1.5 h-1.5 bg-accent rounded-full inline-block"}),e.jsx("span",{children:n("artifact.mermaid.repairing")})]}),o.status==="error"&&!d&&e.jsxs("div",{className:"w-full text-center my-4","data-testid":"mermaid-fallback",children:[e.jsxs("div",{className:"text-body text-warning mb-2 flex items-center justify-center gap-1.5",children:[e.jsx(O,{className:"w-4 h-4 shrink-0"}),e.jsx("span",{children:n("artifact.mermaid.renderFailed")})]}),e.jsx("pre",{className:"text-label bg-surface-1/60 rounded p-2 overflow-x-auto text-ink-muted font-mono text-left",children:l}),e.jsx("div",{className:"text-caption text-ink-muted mt-2",children:n("artifact.mermaid.errorPrefix",{msg:o.message})})]})]}),o.status==="rendered"&&e.jsx("div",{className:"mt-1.5 text-caption text-ink-muted flex items-center gap-2",children:e.jsx("span",{children:n("artifact.mermaid.hint")})}),E&&o.status==="rendered"&&e.jsx(K,{title:a.title,onClose:()=>M(!1),children:e.jsx("div",{className:"h-full w-full rounded-xl overflow-hidden bg-surface-0/60",children:e.jsx(F,{testid:"mermaid-modal-stage",children:e.jsx(ce,{data:t,variant:"canvas"})})})}),a.warnings&&a.warnings.length>0&&e.jsxs("div",{className:"mt-2 text-caption text-warning flex items-start gap-1","data-testid":"artifact-warnings",children:[e.jsx(O,{className:"w-3.5 h-3.5 shrink-0 mt-0.5"}),e.jsx("span",{children:a.warnings.join("; ")})]})]})}function le({data:t,variant:r="card"}){const a=t,n=L(),[s,i]=h.useState(null),[o,c]=h.useState(!1),l=h.useRef([]),g=h.useRef([]),w=a.code.split(`
21
21
  `),[m,d]=h.useState(null);h.useEffect(()=>{let u=!0;return je(a.code,a.language).then(x=>{u&&x&&d(x)}),()=>{u=!1}},[a.code,a.language]);const f=u=>{if(s===null)return!1;const x=a.annotations[s];return x&&u>=x.lineStart&&u<=x.lineEnd},C=u=>{const x=s===u?null:u;if(i(x),x!==null){const y=a.annotations[x],E=(o?g:l).current[y.lineStart-1];E==null||E.scrollIntoView({behavior:"smooth",block:"center"})}},p=u=>e.jsx("div",{className:"bg-neutral-950 rounded-lg overflow-hidden border border-neutral-800 max-h-[420px] overflow-y-auto",children:e.jsx("pre",{className:"text-label font-mono leading-relaxed overflow-x-auto",children:e.jsx("code",{children:w.map((x,y)=>{const E=y+1;return e.jsxs("div",{ref:M=>{u.current[y]=M},className:`flex ${f(E)?"bg-brand/15":""}`,children:[e.jsx("span",{className:"select-none text-neutral-600 pr-3 pl-3 text-right w-10 shrink-0 border-r border-neutral-800 tabular-nums",children:E}),m&&m[y]!=null?e.jsx("span",{className:"pl-3 whitespace-pre text-neutral-200","data-testid":"walk-shiki-line",dangerouslySetInnerHTML:{__html:m[y]||" "}}):e.jsx("span",{className:"text-neutral-200 pl-3 whitespace-pre",children:x||" "})]},y)})})})}),b=e.jsxs("div",{className:"space-y-2",children:[e.jsx("div",{className:"text-caption font-bold text-ink-muted",children:n("artifact.codewalk.sectionLabel")}),a.annotations.map((u,x)=>e.jsxs("button",{onClick:()=>C(x),"data-testid":`annotation-${x}`,className:`w-full text-left p-2.5 rounded-lg border transition-colors ${s===x?"border-brand bg-brand/10":"border-[var(--border-faint)] hover:border-[var(--border)]"}`,children:[e.jsx("div",{className:"text-caption font-bold text-brand mb-0.5",children:u.lineEnd!==u.lineStart?n("artifact.codewalk.lineRange",{a:u.lineStart,b:u.lineEnd}):n("artifact.codewalk.lineSingle",{n:u.lineStart})}),e.jsx("div",{className:"text-body text-ink-muted leading-relaxed",children:u.note})]},x))]});return r==="canvas"?e.jsx("div",{className:"w-fit","data-testid":"codewalk-canvas-content",children:p(g)}):e.jsxs("div",{className:"surface-card p-4","data-testid":"artifact-code-walkthrough",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2 mb-3",children:[e.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[e.jsx(ye,{className:"w-4 h-4 text-ink-muted shrink-0"}),e.jsx("h3",{className:"text-body font-bold text-ink truncate",children:a.title}),e.jsx("span",{className:"text-caption font-bold px-1.5 py-0.5 rounded bg-surface-3 text-ink-muted font-mono shrink-0",children:a.language})]}),e.jsx("button",{onClick:()=>c(!0),"data-testid":"codewalk-expand","aria-label":n("artifact.viewer.open"),"data-tooltip":n("artifact.viewer.open"),className:"w-6 h-6 rounded border border-[var(--border)] text-ink-muted hover:bg-surface-3 flex items-center justify-center shrink-0",children:e.jsx(H,{className:"w-3.5 h-3.5"})})]}),e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-3",children:[e.jsx("div",{onClick:()=>{o||c(!0)},style:{touchAction:"pan-x pan-y"},"data-noswipe":"",children:p(l)}),b]}),a.warnings&&a.warnings.length>0&&e.jsxs("div",{className:"mt-2 text-caption text-warning flex items-start gap-1","data-testid":"artifact-warnings",children:[e.jsx(O,{className:"w-3.5 h-3.5 shrink-0 mt-0.5"}),e.jsx("span",{children:a.warnings.join("; ")})]}),o&&e.jsx(K,{title:a.title,onClose:()=>c(!1),children:e.jsx("div",{className:"h-full w-full rounded-xl overflow-hidden bg-surface-0/60",children:e.jsx(F,{testid:"codewalk-modal-stage",children:e.jsx(le,{data:t,variant:"canvas"})})})})]})}function Je({data:t,onPickAction:r}){const a=t,n=L(),[s,i]=h.useState(null),o=c=>{s||(i(c.id),r==null||r(`${n("guess.pickedPrefix")}${c.label}`))};return e.jsxs("div",{className:"surface-card p-4","data-testid":"artifact-guess",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[e.jsx(Me,{className:"w-4 h-4 text-accent"}),e.jsx("span",{className:"text-label font-bold text-accent",children:n("guess.header")})]}),e.jsx("div",{className:"text-body text-ink font-medium mb-3 leading-relaxed",children:a.prompt}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2 mb-2",children:a.options.map(c=>{const l=s===c.id,g=s!==null;return e.jsxs("button",{onClick:()=>o(c),disabled:g,"data-testid":`guess-option-${c.id}`,className:`text-body p-2.5 rounded-lg border-2 font-medium transition-colors text-left flex items-center justify-between gap-2 ${l?"border-accent bg-accent/10 text-accent":g?"border-[var(--border-faint)] text-ink-faint cursor-default":"border-[var(--border)] text-ink-muted hover:border-accent hover:text-accent cursor-pointer"}`,children:[e.jsx("span",{children:c.label}),l&&e.jsx(Y,{className:"w-4 h-4 shrink-0"})]},c.id)})}),s&&e.jsx("div",{className:"text-label text-ink-muted mt-1","data-testid":"guess-picked-hint",children:n("guess.waitReveal")}),a.warnings&&a.warnings.length>0&&e.jsx("div",{className:"mt-2 text-caption text-warning","data-testid":"artifact-warnings",children:a.warnings.join("; ")})]})}function rt({data:t,onQuizAnswered:r,quizMastery:a,onPickAction:n,onQuizCompleted:s,variant:i="card"}){const o=t;if(!o||!o.artifactType)return e.jsx(se,{data:t});switch(o.artifactType){case"concept_map":return e.jsx(Ae,{data:t,variant:i});case"quiz":return e.jsx(Ke,{data:t,onAnswered:r,quizMastery:a,onPickAction:n,onQuizCompleted:s});case"compare_table":return e.jsx(oe,{data:t,variant:i});case"diagram":return e.jsx(ce,{data:t,variant:i});case"code_walkthrough":return e.jsx(le,{data:t,variant:i});case"guess":return e.jsx(Je,{data:t,onPickAction:n});default:return e.jsx(se,{data:t})}}function se({data:t}){var a;const r=L();return e.jsxs("div",{className:"surface-card p-4 text-body text-ink-muted","data-testid":"artifact-unknown",children:[e.jsxs("div",{className:"font-bold mb-1 flex items-center gap-1.5",children:[e.jsx(ke,{className:"w-4 h-4"}),r("artifact.unknownHeader")]}),e.jsx("pre",{className:"text-caption overflow-x-auto text-ink-muted",children:(a=JSON.stringify(t,null,2))==null?void 0:a.slice(0,200)})]})}export{rt as ArtifactRenderer,le as CodeWalkthroughArtifact,oe as CompareTableArtifact,Ae as ConceptMapArtifact,Je as GuessArtifact,ce as MermaidArtifact,Ke as QuizArtifact};
@@ -0,0 +1 @@
1
+ *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:DIN Round,system-ui,-apple-system,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html,body,#root{height:100%}.text-caption{font-size:.75rem}.text-label{font-size:.825rem}.text-body{font-size:.875rem}.text-lead{font-size:1rem}.text-title{font-size:1.125rem}.text-hero{font-size:1.5rem}.canvas-grid{background-image:radial-gradient(rgb(var(--ink-rgb) / .1) 1px,transparent 1px);background-size:22px 22px;background-position:center}.canvas-stage-gesture{cursor:grab}.canvas-stage-gesture:active{cursor:grabbing}body{font-feature-settings:"cv02","cv03","cv04","cv11";-webkit-font-smoothing:antialiased;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation}input,textarea,[contenteditable]{-webkit-user-select:text;-moz-user-select:text;user-select:text}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.\!prose{color:var(--ink)!important;max-width:none!important}.prose{color:var(--ink);max-width:none}.\!prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6em!important;margin-bottom:.6em!important;line-height:1.65!important}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6em;margin-bottom:.6em;line-height:1.65}.\!prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead)!important;font-size:1.25em!important;line-height:1.6!important;margin-top:1.2em!important;margin-bottom:1.2em!important}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.\!prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:rgb(var(--accent-rgb))!important;text-decoration:none!important;font-weight:500!important}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:rgb(var(--accent-rgb));text-decoration:none;font-weight:500}.\!prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{text-decoration:underline!important}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)):hover{text-decoration:underline}.\!prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink-strong)!important;font-weight:700!important}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink-strong);font-weight:700}.\!prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.\!prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.\!prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.\!prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal!important;margin-top:.5em!important;margin-bottom:.5em!important;padding-inline-start:1.625em!important;padding-left:1.3em!important}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:.5em;margin-bottom:.5em;padding-inline-start:1.625em;padding-left:1.3em}.\!prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha!important}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.\!prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha!important}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.\!prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha!important}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.\!prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha!important}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.\!prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman!important}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.\!prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman!important}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.\!prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman!important}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.\!prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman!important}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.\!prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal!important}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.\!prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc!important;margin-top:.5em!important;margin-bottom:.5em!important;padding-inline-start:1.625em!important;padding-left:1.3em!important}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:.5em;margin-bottom:.5em;padding-inline-start:1.625em;padding-left:1.3em}.\!prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400!important;color:var(--tw-prose-counters)!important}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.\!prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)!important}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.\!prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings)!important;font-weight:600!important;margin-top:1.25em!important}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.\!prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:rgb(var(--border-rgb))!important;border-top-width:1px!important;margin-top:1.2em!important;margin-bottom:1.2em!important}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:rgb(var(--border-rgb));border-top-width:1px;margin-top:1.2em;margin-bottom:1.2em}.\!prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500!important;font-style:normal!important;color:var(--ink-muted)!important;border-inline-start-width:.25rem!important;border-inline-start-color:var(--tw-prose-quote-borders)!important;quotes:"“""”""‘""’"!important;margin-top:.8em!important;margin-bottom:.8em!important;padding-inline-start:1em!important;border-left-color:rgb(var(--accent-rgb))!important;border-left-width:3px!important;background-color:rgb(var(--accent-rgb) / .06)!important;padding-left:.9em!important;padding-top:.4em!important;padding-bottom:.4em!important;border-radius:0 .4rem .4rem 0!important}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:normal;color:var(--ink-muted);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:.8em;margin-bottom:.8em;padding-inline-start:1em;border-left-color:rgb(var(--accent-rgb));border-left-width:3px;background-color:rgb(var(--accent-rgb) / .06);padding-left:.9em;padding-top:.4em;padding-bottom:.4em;border-radius:0 .4rem .4rem 0}.\!prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote!important}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.\!prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote!important}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.\!prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink-strong)!important;font-weight:800!important;font-size:1.25rem!important;margin-top:1.25em!important;margin-bottom:.5em!important;line-height:1.1111111!important}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink-strong);font-weight:800;font-size:1.25rem;margin-top:1.25em;margin-bottom:.5em;line-height:1.1111111}.\!prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900!important;color:inherit!important}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.\!prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink-strong)!important;font-weight:700!important;font-size:1.1rem!important;margin-top:1.2em!important;margin-bottom:.4em!important;line-height:1.3333333!important;padding-bottom:.3em!important;border-bottom:1px solid rgb(var(--border-rgb))!important}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink-strong);font-weight:700;font-size:1.1rem;margin-top:1.2em;margin-bottom:.4em;line-height:1.3333333;padding-bottom:.3em;border-bottom:1px solid rgb(var(--border-rgb))}.\!prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800!important;color:inherit!important}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.\!prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink)!important;font-weight:700!important;font-size:1rem!important;margin-top:1em!important;margin-bottom:.3em!important;line-height:1.6!important}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink);font-weight:700;font-size:1rem;margin-top:1em;margin-bottom:.3em;line-height:1.6}.\!prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700!important;color:inherit!important}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.\!prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink)!important;font-weight:700!important;margin-top:.8em!important;margin-bottom:.2em!important;line-height:1.5!important;font-size:.9rem!important}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink);font-weight:700;margin-top:.8em;margin-bottom:.2em;line-height:1.5;font-size:.9rem}.\!prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700!important;color:inherit!important}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.\!prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6em!important;margin-bottom:.6em!important;border-radius:.5rem!important}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.6em;margin-bottom:.6em;border-radius:.5rem}.\!prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block!important;margin-top:2em!important;margin-bottom:2em!important}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.\!prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em!important;margin-bottom:2em!important}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.\!prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500!important;font-family:inherit!important;color:var(--tw-prose-kbd)!important;box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows)!important;font-size:.875em!important;border-radius:.3125rem!important;padding-top:.1875em!important;padding-inline-end:.375em!important;padding-bottom:.1875em!important;padding-inline-start:.375em!important}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.\!prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:rgb(var(--accent-rgb))!important;font-weight:500!important;font-size:.85em!important;background-color:rgb(var(--surface-3-rgb) / .6)!important;padding:.15em .4em!important;border-radius:.3rem!important}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:rgb(var(--accent-rgb));font-weight:500;font-size:.85em;background-color:rgb(var(--surface-3-rgb) / .6);padding:.15em .4em;border-radius:.3rem}.\!prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:""!important}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:""}.\!prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:""!important}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:""}.\!prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"!important}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.\!prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"!important}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.\!prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.\!prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.\!prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important;font-size:.875em!important}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.\!prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important;font-size:.9em!important}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.\!prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.\!prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.\!prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit!important}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.\!prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink)!important;background-color:rgb(var(--surface-0-rgb))!important;overflow-x:auto!important;font-weight:400!important;font-size:.82em!important;line-height:1.55!important;margin-top:.7em!important;margin-bottom:.7em!important;border-radius:.5rem!important;padding-inline-end:1.1428571em!important;padding-inline-start:1.1428571em!important;padding:.9em 1em!important;border:1px solid rgb(var(--border-rgb))!important}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink);background-color:rgb(var(--surface-0-rgb));overflow-x:auto;font-weight:400;font-size:.82em;line-height:1.55;margin-top:.7em;margin-bottom:.7em;border-radius:.5rem;padding-inline-end:1.1428571em;padding-inline-start:1.1428571em;padding:.9em 1em;border:1px solid rgb(var(--border-rgb))}.\!prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent!important;border-width:0!important;border-radius:0!important;padding:0!important;font-weight:inherit!important;color:inherit!important;font-size:inherit!important;font-family:inherit!important;line-height:inherit!important}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.\!prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none!important}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.\!prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none!important}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.\!prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%!important;table-layout:auto!important;margin-top:.8em!important;margin-bottom:.8em!important;font-size:.85em!important;line-height:1.7142857!important;border-collapse:collapse!important;display:block!important;overflow-x:auto!important}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:.8em;margin-bottom:.8em;font-size:.85em;line-height:1.7142857;border-collapse:collapse;display:block;overflow-x:auto}.\!prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:2px!important;border-bottom-color:rgb(var(--brand-rgb))!important}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:2px;border-bottom-color:rgb(var(--brand-rgb))}.\!prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings)!important;font-weight:600!important;vertical-align:bottom!important;padding-inline-end:.5714286em!important;padding-bottom:.5714286em!important;padding-inline-start:.5714286em!important}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.\!prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px!important;border-bottom-color:var(--tw-prose-td-borders)!important}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.\!prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0!important}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.\!prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline!important}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.\!prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px!important;border-top-color:var(--tw-prose-th-borders)!important}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.\!prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top!important}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.\!prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start!important}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.\!prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important;margin-bottom:0!important}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.\!prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions)!important;font-size:.875em!important;line-height:1.4285714!important;margin-top:.8571429em!important}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.\!prose{--tw-prose-body: #374151 !important;--tw-prose-headings: #111827 !important;--tw-prose-lead: #4b5563 !important;--tw-prose-links: #111827 !important;--tw-prose-bold: #111827 !important;--tw-prose-counters: #6b7280 !important;--tw-prose-bullets: #d1d5db !important;--tw-prose-hr: #e5e7eb !important;--tw-prose-quotes: #111827 !important;--tw-prose-quote-borders: #e5e7eb !important;--tw-prose-captions: #6b7280 !important;--tw-prose-kbd: #111827 !important;--tw-prose-kbd-shadows: rgb(17 24 39 / 10%) !important;--tw-prose-code: #111827 !important;--tw-prose-pre-code: #e5e7eb !important;--tw-prose-pre-bg: #1f2937 !important;--tw-prose-th-borders: #d1d5db !important;--tw-prose-td-borders: #e5e7eb !important;--tw-prose-invert-body: #d1d5db !important;--tw-prose-invert-headings: #fff !important;--tw-prose-invert-lead: #9ca3af !important;--tw-prose-invert-links: #fff !important;--tw-prose-invert-bold: #fff !important;--tw-prose-invert-counters: #9ca3af !important;--tw-prose-invert-bullets: #4b5563 !important;--tw-prose-invert-hr: #374151 !important;--tw-prose-invert-quotes: #f3f4f6 !important;--tw-prose-invert-quote-borders: #374151 !important;--tw-prose-invert-captions: #9ca3af !important;--tw-prose-invert-kbd: #fff !important;--tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%) !important;--tw-prose-invert-code: #fff !important;--tw-prose-invert-pre-code: #d1d5db !important;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%) !important;--tw-prose-invert-th-borders: #4b5563 !important;--tw-prose-invert-td-borders: #374151 !important;font-size:1rem!important;line-height:1.75!important}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: rgb(17 24 39 / 10%);--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.\!prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important;margin-bottom:0!important}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.\!prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.25em!important;margin-bottom:.25em!important;padding-left:.2em!important}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.25em;margin-bottom:.25em;padding-left:.2em}.\!prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em!important}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.\!prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em!important}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.\!prose :where(.\!prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em!important;margin-bottom:.75em!important}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.\!prose :where(.\!prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em!important}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.\!prose :where(.\!prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em!important}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.\!prose :where(.\!prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em!important}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.\!prose :where(.\!prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em!important}.\!prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em!important;margin-bottom:.75em!important}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.\!prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em!important;margin-bottom:1.25em!important}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.\!prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em!important;padding-inline-start:1.625em!important}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.\!prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.\!prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.\!prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.\!prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.\!prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0!important}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.\!prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0!important}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.\!prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em!important;padding-inline-end:.5714286em!important;padding-bottom:.5714286em!important;padding-inline-start:.5714286em!important}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.\!prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0!important}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.\!prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0!important}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.\!prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em!important;margin-bottom:2em!important}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.\!prose :where(.\!prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0!important}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.\!prose :where(.\!prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0!important}.\!prose :where(em):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink)!important}.prose :where(em):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink)}.\!prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:rgb(var(--brand-rgb))!important}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:rgb(var(--brand-rgb))}.\!prose :where(th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink-strong)!important;font-weight:700!important;text-align:left!important;padding:.5em .7em!important;font-size:.95em!important}.prose :where(th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--ink-strong);font-weight:700;text-align:left;padding:.5em .7em;font-size:.95em}.\!prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *)){padding:.45em .7em!important;border-bottom:1px solid rgb(var(--border-rgb))!important;vertical-align:top!important;color:var(--ink)!important}.prose :where(td):not(:where([class~=not-prose],[class~=not-prose] *)){padding:.45em .7em;border-bottom:1px solid rgb(var(--border-rgb));vertical-align:top;color:var(--ink)}.\!prose :where(tbody tr:nth-child(odd)):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:rgb(var(--surface-3-rgb) / .3)!important}.prose :where(tbody tr:nth-child(odd)):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:rgb(var(--surface-3-rgb) / .3)}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;border-radius:.3125rem;padding-top:.1428571em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.shadow-elevated{box-shadow:0 8px 24px -4px rgb(var(--shadow-rgb) / .18),0 2px 6px -2px rgb(var(--shadow-rgb) / .12)}.shadow-card{box-shadow:0 1px 3px -1px rgb(var(--shadow-rgb) / .08)}.shadow-pop{box-shadow:0 4px 12px -2px rgb(var(--shadow-rgb) / .14),0 1px 3px -1px rgb(var(--shadow-rgb) / .08)}.btn-3d{position:relative;border-radius:1rem;font-weight:700;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-timing-function:cubic-bezier(.34,1.56,.64,1)}.btn-3d:active{--tw-translate-y: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-3d-brand{position:relative;border-radius:1rem;font-weight:700;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-timing-function:cubic-bezier(.34,1.56,.64,1)}.btn-3d-brand:active{--tw-translate-y: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-3d-brand{--tw-bg-opacity: 1;background-color:rgb(var(--brand-rgb) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));box-shadow:0 4px 0 0 var(--brand-dark)}.btn-3d-brand:hover{--tw-bg-opacity: 1;background-color:rgb(var(--brand-light-rgb) / var(--tw-bg-opacity, 1))}.btn-3d-brand:active{box-shadow:0 1px 0 0 var(--brand-dark)}.btn-3d-neutral{position:relative;border-radius:1rem;font-weight:700;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-timing-function:cubic-bezier(.34,1.56,.64,1)}.btn-3d-neutral:active{--tw-translate-y: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-3d-neutral{--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(38 38 38 / var(--tw-text-opacity, 1))}.btn-3d-neutral:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.btn-3d-neutral{box-shadow:0 4px rgb(var(--shadow-rgb) / .2)}.btn-3d-neutral:active{box-shadow:0 1px rgb(var(--shadow-rgb) / .2)}.btn-icon-3d-brand{position:relative;display:flex;align-items:center;justify-content:center;border-radius:9999px;font-weight:700;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-timing-function:cubic-bezier(.34,1.56,.64,1)}.btn-icon-3d-brand:active{--tw-translate-y: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-icon-3d-brand{--tw-bg-opacity: 1;background-color:rgb(var(--brand-rgb) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));box-shadow:0 3px 0 0 var(--brand-dark)}.btn-icon-3d-brand:hover{--tw-bg-opacity: 1;background-color:rgb(var(--brand-light-rgb) / var(--tw-bg-opacity, 1))}.btn-icon-3d-brand:active{box-shadow:0 1px 0 0 var(--brand-dark)}.btn-icon-3d-brand:disabled{cursor:not-allowed;background-color:#73737380;box-shadow:none}.btn-icon-3d-warning{position:relative;display:flex;align-items:center;justify-content:center;border-radius:9999px;font-weight:700;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;transition-timing-function:cubic-bezier(.34,1.56,.64,1)}.btn-icon-3d-warning:active{--tw-translate-y: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn-icon-3d-warning{--tw-bg-opacity: 1;background-color:rgb(var(--warning-rgb) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));box-shadow:0 3px 0 0 var(--warning-dark)}.btn-icon-3d-warning:hover{--tw-bg-opacity: 1;background-color:rgb(var(--warning-light-rgb) / var(--tw-bg-opacity, 1))}.btn-icon-3d-warning:active{box-shadow:0 1px 0 0 var(--warning-dark)}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-top-0\.5{top:-.125rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.bottom-0{bottom:0}.bottom-1\.5{bottom:.375rem}.bottom-3{bottom:.75rem}.bottom-4{bottom:1rem}.bottom-full{bottom:100%}.left-0{left:0}.left-0\.5{left:.125rem}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.right-4{right:1rem}.right-48{right:12rem}.top-0{top:0}.top-1\/2{top:50%}.top-14{top:3.5rem}.top-4{top:1rem}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[60\]{z-index:60}.z-\[70\]{z-index:70}.float-right{float:right}.m-2{margin:.5rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-8{margin-top:2rem;margin-bottom:2rem}.\!mt-0{margin-top:0!important}.-mt-2{margin-top:-.5rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-5{margin-left:1.25rem}.ml-\[68px\]{margin-left:68px}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-px{margin-top:1px}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.\!hidden{display:none!important}.hidden{display:none}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-28{height:7rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[152px\]{height:152px}.h-\[var\(--app-height\,100vh\)\]{height:var(--app-height,100vh)}.h-auto{height:auto}.h-full{height:100%}.max-h-48{max-height:12rem}.max-h-72{max-height:18rem}.max-h-80{max-height:20rem}.max-h-\[40vh\]{max-height:40vh}.max-h-\[420px\]{max-height:420px}.max-h-\[500px\]{max-height:500px}.max-h-\[90vh\]{max-height:90vh}.max-h-full{max-height:100%}.min-h-0{min-height:0px}.min-h-\[120px\]{min-height:120px}.min-h-\[160px\]{min-height:160px}.min-h-\[var\(--app-height\,100vh\)\]{min-height:var(--app-height,100vh)}.min-h-full{min-height:100%}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[220px\]{width:220px}.w-\[300px\]{width:300px}.w-\[min\(400px\,90vw\)\]{width:min(400px,90vw)}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[100px\]{min-width:100px}.min-w-\[3\.25rem\]{min-width:3.25rem}.min-w-\[320px\]{min-width:320px}.min-w-\[440px\]{min-width:440px}.min-w-\[72px\]{min-width:72px}.max-w-2xl{max-width:42rem}.max-w-\[10rem\]{max-width:10rem}.max-w-\[120px\]{max-width:120px}.max-w-\[12rem\]{max-width:12rem}.max-w-\[13rem\]{max-width:13rem}.max-w-\[140px\]{max-width:140px}.max-w-\[80ch\]{max-width:80ch}.max-w-\[85\%\]{max-width:85%}.max-w-\[90vw\]{max-width:90vw}.max-w-\[960px\]{max-width:960px}.max-w-\[calc\(100vw-1\.5rem\)\]{max-width:calc(100vw - 1.5rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-6{--tw-translate-x: 1.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-\[0\.99\]{--tw-scale-x: .99;--tw-scale-y: .99;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[toast-enter_\.15s_ease-out\]{animation:toast-enter .15s ease-out}@keyframes answer-correct{0%{transform:scale(1)}40%{transform:scale(1.05)}to{transform:scale(1)}}.animate-answer-correct{animation:answer-correct .35s cubic-bezier(.34,1.56,.64,1)}@keyframes answer-wrong{0%,to{transform:translate(0)}20%,60%{transform:translate(-3px)}40%,80%{transform:translate(3px)}}.animate-answer-wrong{animation:answer-wrong .32s ease-in-out}@keyframes artifact-render{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-artifact-render{animation:artifact-render .22s cubic-bezier(.34,1.2,.64,1)}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes tab-slide{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.animate-tab-slide{animation:tab-slide .18s cubic-bezier(.16,1,.3,1)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-zoom-out{cursor:zoom-out}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-text{-webkit-user-select:text;-moz-user-select:text;user-select:text}.resize-none{resize:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-0\.5{-moz-column-gap:.125rem;column-gap:.125rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-y-1{row-gap:.25rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.\!rounded-t-none{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.rounded-br-md{border-bottom-right-radius:.375rem}.border{border-width:1px}.border-2{border-width:2px}.\!border-t-0{border-top-width:0px!important}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border\)\]{border-color:var(--border)}.border-\[var\(--border-faint\)\]{border-color:var(--border-faint)}.border-\[var\(--ink-strong\)\]{border-color:var(--ink-strong)}.border-accent{--tw-border-opacity: 1;border-color:rgb(var(--accent-rgb) / var(--tw-border-opacity, 1))}.border-accent\/20{border-color:rgb(var(--accent-rgb) / .2)}.border-accent\/40{border-color:rgb(var(--accent-rgb) / .4)}.border-brand{--tw-border-opacity: 1;border-color:rgb(var(--brand-rgb) / var(--tw-border-opacity, 1))}.border-brand\/30{border-color:rgb(var(--brand-rgb) / .3)}.border-brand\/40{border-color:rgb(var(--brand-rgb) / .4)}.border-gold\/30{border-color:rgb(var(--gold-rgb) / .3)}.border-ink\/10{border-color:rgb(var(--ink-rgb) / .1)}.border-neutral-50{--tw-border-opacity: 1;border-color:rgb(250 250 250 / var(--tw-border-opacity, 1))}.border-neutral-800{--tw-border-opacity: 1;border-color:rgb(38 38 38 / var(--tw-border-opacity, 1))}.border-review\/20{border-color:rgb(var(--review-rgb) / .2)}.border-transparent{border-color:transparent}.border-warning{--tw-border-opacity: 1;border-color:rgb(var(--warning-rgb) / var(--tw-border-opacity, 1))}.border-warning\/30{border-color:rgb(var(--warning-rgb) / .3)}.border-warning\/40{border-color:rgb(var(--warning-rgb) / .4)}.border-warning\/50{border-color:rgb(var(--warning-rgb) / .5)}.border-white\/15{border-color:#ffffff26}.border-white\/20{border-color:#fff3}.border-t-transparent{border-top-color:transparent}.bg-\[\#0e2a12\]{--tw-bg-opacity: 1;background-color:rgb(14 42 18 / var(--tw-bg-opacity, 1))}.bg-\[var\(--border\)\]{background-color:var(--border)}.bg-accent{--tw-bg-opacity: 1;background-color:rgb(var(--accent-rgb) / var(--tw-bg-opacity, 1))}.bg-accent\/10{background-color:rgb(var(--accent-rgb) / .1)}.bg-accent\/15{background-color:rgb(var(--accent-rgb) / .15)}.bg-accent\/20{background-color:rgb(var(--accent-rgb) / .2)}.bg-accent\/25{background-color:rgb(var(--accent-rgb) / .25)}.bg-accent\/30{background-color:rgb(var(--accent-rgb) / .3)}.bg-accent\/5{background-color:rgb(var(--accent-rgb) / .05)}.bg-black\/25{background-color:#00000040}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-black\/80{background-color:#000c}.bg-brand{--tw-bg-opacity: 1;background-color:rgb(var(--brand-rgb) / var(--tw-bg-opacity, 1))}.bg-brand\/10{background-color:rgb(var(--brand-rgb) / .1)}.bg-brand\/15{background-color:rgb(var(--brand-rgb) / .15)}.bg-brand\/20{background-color:rgb(var(--brand-rgb) / .2)}.bg-brand\/30{background-color:rgb(var(--brand-rgb) / .3)}.bg-brand\/5{background-color:rgb(var(--brand-rgb) / .05)}.bg-brand\/90{background-color:rgb(var(--brand-rgb) / .9)}.bg-exam{--tw-bg-opacity: 1;background-color:rgb(var(--exam-rgb) / var(--tw-bg-opacity, 1))}.bg-gold{--tw-bg-opacity: 1;background-color:rgb(var(--gold-rgb) / var(--tw-bg-opacity, 1))}.bg-gold\/5{background-color:rgb(var(--gold-rgb) / .05)}.bg-ink-faint{--tw-bg-opacity: 1;background-color:rgb(var(--ink-faint-rgb) / var(--tw-bg-opacity, 1))}.bg-ink-strong{--tw-bg-opacity: 1;background-color:rgb(var(--ink-strong-rgb) / var(--tw-bg-opacity, 1))}.bg-ink\/10{background-color:rgb(var(--ink-rgb) / .1)}.bg-ink\/20{background-color:rgb(var(--ink-rgb) / .2)}.bg-ink\/5{background-color:rgb(var(--ink-rgb) / .05)}.bg-ink\/50{background-color:rgb(var(--ink-rgb) / .5)}.bg-ink\/70{background-color:rgb(var(--ink-rgb) / .7)}.bg-ink\/\[0\.04\]{background-color:rgb(var(--ink-rgb) / .04)}.bg-ink\/\[0\.05\]{background-color:rgb(var(--ink-rgb) / .05)}.bg-ink\/\[0\.06\]{background-color:rgb(var(--ink-rgb) / .06)}.bg-ink\/\[0\.08\]{background-color:rgb(var(--ink-rgb) / .08)}.bg-neutral-200{--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))}.bg-neutral-950{--tw-bg-opacity: 1;background-color:rgb(10 10 10 / var(--tw-bg-opacity, 1))}.bg-review{--tw-bg-opacity: 1;background-color:rgb(var(--review-rgb) / var(--tw-bg-opacity, 1))}.bg-review\/10{background-color:rgb(var(--review-rgb) / .1)}.bg-review\/20{background-color:rgb(var(--review-rgb) / .2)}.bg-surface-0{--tw-bg-opacity: 1;background-color:rgb(var(--surface-0-rgb) / var(--tw-bg-opacity, 1))}.bg-surface-0\/40{background-color:rgb(var(--surface-0-rgb) / .4)}.bg-surface-0\/60{background-color:rgb(var(--surface-0-rgb) / .6)}.bg-surface-0\/90{background-color:rgb(var(--surface-0-rgb) / .9)}.bg-surface-1{--tw-bg-opacity: 1;background-color:rgb(var(--surface-1-rgb) / var(--tw-bg-opacity, 1))}.bg-surface-1\/40{background-color:rgb(var(--surface-1-rgb) / .4)}.bg-surface-1\/50{background-color:rgb(var(--surface-1-rgb) / .5)}.bg-surface-1\/60{background-color:rgb(var(--surface-1-rgb) / .6)}.bg-surface-2{--tw-bg-opacity: 1;background-color:rgb(var(--surface-2-rgb) / var(--tw-bg-opacity, 1))}.bg-surface-3{--tw-bg-opacity: 1;background-color:rgb(var(--surface-3-rgb) / var(--tw-bg-opacity, 1))}.bg-surface-3\/60{background-color:rgb(var(--surface-3-rgb) / .6)}.bg-surface-rail{--tw-bg-opacity: 1;background-color:rgb(var(--surface-rail-rgb) / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-warning{--tw-bg-opacity: 1;background-color:rgb(var(--warning-rgb) / var(--tw-bg-opacity, 1))}.bg-warning\/10{background-color:rgb(var(--warning-rgb) / .1)}.bg-warning\/15{background-color:rgb(var(--warning-rgb) / .15)}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-white\/5{background-color:#ffffff0d}.fill-current{fill:currentColor}.fill-gold{fill:rgb(var(--gold-rgb) / 1)}.fill-ink{fill:rgb(var(--ink-rgb) / 1)}.fill-ink-faint{fill:rgb(var(--ink-faint-rgb) / 1)}.fill-ink-muted{fill:rgb(var(--ink-muted-rgb) / 1)}.fill-ink-strong{fill:rgb(var(--ink-strong-rgb) / 1)}.fill-none{fill:none}.fill-surface-0\/95{fill:rgb(var(--surface-0-rgb) / .95)}.stroke-\[var\(--border-faint\)\]{stroke:var(--border-faint)}.stroke-ink-faint\/80{stroke:rgb(var(--ink-faint-rgb) / .8)}.stroke-ink\/20{stroke:rgb(var(--ink-rgb) / .2)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-1{padding-left:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.pt-20{padding-top:5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-48{padding-top:12rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-\[15vh\]{padding-top:15vh}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-\[-3px\]{vertical-align:-3px}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.text-accent{--tw-text-opacity: 1;color:rgb(var(--accent-rgb) / var(--tw-text-opacity, 1))}.text-brand{--tw-text-opacity: 1;color:rgb(var(--brand-rgb) / var(--tw-text-opacity, 1))}.text-gold{--tw-text-opacity: 1;color:rgb(var(--gold-rgb) / var(--tw-text-opacity, 1))}.text-ink{--tw-text-opacity: 1;color:rgb(var(--ink-rgb) / var(--tw-text-opacity, 1))}.text-ink-faint{--tw-text-opacity: 1;color:rgb(var(--ink-faint-rgb) / var(--tw-text-opacity, 1))}.text-ink-muted{--tw-text-opacity: 1;color:rgb(var(--ink-muted-rgb) / var(--tw-text-opacity, 1))}.text-ink-strong{--tw-text-opacity: 1;color:rgb(var(--ink-strong-rgb) / var(--tw-text-opacity, 1))}.text-ink\/20{color:rgb(var(--ink-rgb) / .2)}.text-neutral-200{--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity, 1))}.text-neutral-500{--tw-text-opacity: 1;color:rgb(115 115 115 / var(--tw-text-opacity, 1))}.text-neutral-600{--tw-text-opacity: 1;color:rgb(82 82 82 / var(--tw-text-opacity, 1))}.text-neutral-900{--tw-text-opacity: 1;color:rgb(23 23 23 / var(--tw-text-opacity, 1))}.text-review{--tw-text-opacity: 1;color:rgb(var(--review-rgb) / var(--tw-text-opacity, 1))}.text-review\/80{color:rgb(var(--review-rgb) / .8)}.text-surface-0{--tw-text-opacity: 1;color:rgb(var(--surface-0-rgb) / var(--tw-text-opacity, 1))}.text-warning{--tw-text-opacity: 1;color:rgb(var(--warning-rgb) / var(--tw-text-opacity, 1))}.text-warning-light{--tw-text-opacity: 1;color:rgb(var(--warning-light-rgb) / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/25{color:#ffffff40}.text-white\/35{color:#ffffff59}.text-white\/40{color:#fff6}.text-white\/45{color:#ffffff73}.text-white\/50{color:#ffffff80}.text-white\/55{color:#ffffff8c}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.accent-\[var\(--brand\)\]{accent-color:var(--brand)}.accent-brand{accent-color:rgb(var(--brand-rgb) / 1)}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-45{opacity:.45}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-\[var\(--border\)\]{--tw-ring-color: var(--border)}.ring-accent{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--accent-rgb) / var(--tw-ring-opacity, 1))}.ring-accent\/40{--tw-ring-color: rgb(var(--accent-rgb) / .4)}.ring-brand\/30{--tw-ring-color: rgb(var(--brand-rgb) / .3)}.ring-brand\/40{--tw-ring-color: rgb(var(--brand-rgb) / .4)}.ring-gold\/40{--tw-ring-color: rgb(var(--gold-rgb) / .4)}.ring-review\/20{--tw-ring-color: rgb(var(--review-rgb) / .2)}.ring-review\/30{--tw-ring-color: rgb(var(--review-rgb) / .3)}.ring-white\/10{--tw-ring-color: rgb(255 255 255 / .1)}.ring-white\/15{--tw-ring-color: rgb(255 255 255 / .15)}.ring-offset-2{--tw-ring-offset-width: 2px}.ring-offset-neutral-50{--tw-ring-offset-color: #fafafa}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.4\)\]{--tw-drop-shadow: drop-shadow(0 1px 2px rgba(0,0,0,.4));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.7\)\]{--tw-drop-shadow: drop-shadow(0 1px 2px rgba(0,0,0,.7));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0_1px_3px_rgba\(0\,0\,0\,0\.6\)\]{--tw-drop-shadow: drop-shadow(0 1px 3px rgba(0,0,0,.6));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-lg{--tw-drop-shadow: drop-shadow(0 10px 8px rgb(0 0 0 / .04)) drop-shadow(0 4px 3px rgb(0 0 0 / .1));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-out-back{transition-timing-function:cubic-bezier(.34,1.2,.64,1)}.ease-out-expo{transition-timing-function:cubic-bezier(.16,1,.3,1)}.will-change-transform{will-change:transform}:root{--brand: #58CC01;--brand-rgb: 88 204 2;--brand-dark: #46A302;--brand-dark-rgb: 70 163 2;--brand-light: #7ED957;--brand-light-rgb: 126 217 87;--brand-glow: #58CC0159;--brand-ring: #58CC0126;--accent: #1DB0F6;--accent-rgb: 28 176 246;--accent-dark: #098CDC;--accent-dark-rgb: 10 140 220;--accent-light: #65C6FF;--accent-light-rgb: 94 212 255;--accent-glow: #1DB0F64C;--accent-ring: #1DB0F626;--gold: #FFC801;--gold-rgb: 255 200 0;--gold-dark: #D59800;--gold-dark-rgb: 217 158 0;--gold-light: #FFE294;--gold-light-rgb: 255 230 128;--gold-glow: #FFC80173;--gold-ring: #FFC80133;--warning: #FF4B4B;--warning-rgb: 255 75 75;--warning-dark: #D01C29;--warning-dark-rgb: 230 43 43;--warning-light: #FF7E77;--warning-light-rgb: 255 117 117;--warning-glow: #FF4B4B4C;--warning-ring: #FF4B4B26;--warning-tint: #FF4B4B1A;--warning-tint-border: #FF4B4B40;--review: #FA6E1D;--review-rgb: 255 122 26;--review-glow: #FA6E1D26;--review-tint: #FA6E1D1A;--exam: #A855F7;--exam-rgb: 168 85 247;--exam-dark: #7E22CE;--exam-dark-rgb: 126 34 206;--exam-light: #C084FC;--exam-light-rgb: 192 132 252;--exam-locked: #524569;--exam-glow: #A855F759;--exam-ring: #A855F726;--surface-rail: #08090B;--surface-rail-rgb: 8 9 11;--surface-0: #0C0D0F;--surface-0-rgb: 12 13 15;--surface-1: #111114;--surface-1-rgb: 17 17 20;--surface-2: #1A1A1D;--surface-2-rgb: 26 26 29;--surface-3: #2A2B2E;--surface-3-rgb: 42 43 46;--ink: #F1F2F4;--ink-rgb: 245 245 250;--ink-strong: #FAFAFA;--ink-strong-rgb: 250 250 250;--ink-muted: #9D9EA2;--ink-muted-rgb: 166 166 176;--ink-faint: #88898C;--ink-faint-rgb: 136 137 140;--border: #252629;--border-rgb: 37 38 41;--border-faint: #1A1A1D;--border-faint-rgb: 26 26 29;--shadow-rgb: 0 0 0;--inner-highlight: rgb(255 255 255 / .55);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-back: cubic-bezier(.34, 1.2, .64, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1)}@supports (color: oklch(.748 .229 137.6)){:root{--brand: oklch(.748 .229 137.6);--brand-dark: oklch(.633 .193 137.5);--brand-light: oklch(.801 .188 137.5);--brand-glow: oklch(.748 .229 137.6 / .35);--brand-ring: oklch(.748 .229 137.6 / .15);--accent: oklch(.718 .151 237.1);--accent-dark: oklch(.619 .155 245.4);--accent-light: oklch(.79 .13 237);--accent-glow: oklch(.718 .151 237.1 / .3);--accent-ring: oklch(.718 .151 237.1 / .15);--gold: oklch(.857 .175 88.5);--gold-dark: oklch(.72 .16 80);--gold-light: oklch(.92 .16 90);--gold-glow: oklch(.857 .175 88.5 / .45);--gold-ring: oklch(.857 .175 88.5 / .2);--warning: oklch(.671 .217 25.2);--warning-dark: oklch(.55 .21 25);--warning-light: oklch(.74 .18 25);--warning-glow: oklch(.671 .217 25.2 / .3);--warning-ring: oklch(.671 .217 25.2 / .15);--warning-tint: oklch(.671 .217 25.2 / .1);--warning-tint-border: oklch(.671 .217 25.2 / .25);--review: oklch(.7 .19 45);--review-glow: oklch(.7 .19 45 / .15);--review-tint: oklch(.7 .19 45 / .1);--exam: oklch(.627 .233 303.9);--exam-dark: oklch(.496 .237 301.9);--exam-light: oklch(.722 .177 305.5);--exam-locked: oklch(.42 .06 300);--exam-glow: oklch(.627 .233 303.9 / .35);--exam-ring: oklch(.627 .233 303.9 / .15);--surface-rail: oklch(.14 .005 270);--surface-0: oklch(.16 .005 270);--surface-1: oklch(.18 .005 270);--surface-2: oklch(.22 .005 270);--surface-3: oklch(.29 .005 270);--ink: oklch(.96 .003 270);--ink-strong: oklch(.985 0 0);--ink-muted: oklch(.7 .005 270);--ink-faint: oklch(.63 .005 270);--border: oklch(.27 .005 270);--border-faint: oklch(.22 .005 270)}}:where(button,a,[role=button],[tabindex="0"]):focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}html.light{--surface-rail: #F1F2F4;--surface-rail-rgb: 241 242 244;--surface-0: #FFFFFF;--surface-0-rgb: 255 255 255;--surface-1: #F8F8F8;--surface-1-rgb: 248 248 248;--surface-2: #FFFFFF;--surface-2-rgb: 255 255 255;--surface-3: #EAEBED;--surface-3-rgb: 234 235 237;--ink: #181818;--ink-rgb: 24 24 24;--ink-strong: #0A0A0A;--ink-strong-rgb: 10 10 10;--ink-muted: #555555;--ink-muted-rgb: 85 85 85;--ink-faint: #717171;--ink-faint-rgb: 113 113 113;--border: #E4E4E4;--border-rgb: 228 228 228;--border-faint: #EEEEEE;--border-faint-rgb: 238 238 238;--inner-highlight: rgb(255 255 255 / .3);--brand: #3C8613;--brand-rgb: 60 134 19;--brand-dark: #286600;--brand-dark-rgb: 34 103 0;--brand-light: #559A38;--brand-light-rgb: 85 154 56;--brand-glow: #3C861340;--brand-ring: #3C86132E;--accent: #006B99;--accent-rgb: 0 108 177;--accent-dark: #005183;--accent-dark-rgb: 0 79 152;--accent-light: #0084BB;--accent-light-rgb: 0 132 194;--accent-glow: #006B9938;--accent-ring: #006B992E;--gold: #B08900;--gold-rgb: 180 136 0;--gold-dark: #946900;--gold-dark-rgb: 155 101 0;--gold-light: #C7A01E;--gold-light-rgb: 199 160 30;--gold-glow: #B089004C;--gold-ring: #B0890033;--warning: #BB071E;--warning-rgb: 187 7 30;--warning-dark: #940015;--warning-dark-rgb: 158 0 0;--warning-light: #C8393A;--warning-light-rgb: 200 57 58;--warning-glow: #BB071E38;--warning-ring: #BB071E2E;--warning-tint: #BB071E14;--warning-tint-border: #BB071E38;--review: #B84B00;--review-rgb: 189 70 0;--review-glow: #B84B001F;--review-tint: #B84B0014;--exam: #7D37BD;--exam-rgb: 125 55 189;--exam-dark: #641AA5;--exam-dark-rgb: 100 26 165;--exam-light: #905FC0;--exam-light-rgb: 144 95 192;--exam-locked: #756D86;--exam-locked-mix: #A7A2B2;--exam-locked-rgb: 117 109 134;--exam-glow: #7D37BD40;--exam-ring: #7D37BD2E}@supports (color: oklch(.748 .229 137.6)){html.light{--surface-rail: oklch(.96 .003 270);--surface-0: oklch(1 0 0);--surface-1: oklch(.98 0 0);--surface-2: oklch(1 0 0);--surface-3: oklch(.94 .003 270);--ink: oklch(.21 0 0);--ink-strong: oklch(.145 0 0);--ink-muted: oklch(.45 0 0);--ink-faint: oklch(.55 0 0);--border: oklch(.92 0 0);--border-faint: oklch(.95 0 0);--brand: oklch(.55 .16 137.6);--brand-dark: oklch(.45 .15 137.6);--brand-light: oklch(.62 .15 137.6);--brand-glow: oklch(.55 .16 137.6 / .25);--brand-ring: oklch(.55 .16 137.6 / .18);--accent: oklch(.5 .16 237.1);--accent-dark: oklch(.42 .15 245.4);--accent-light: oklch(.58 .14 237);--accent-glow: oklch(.5 .16 237.1 / .22);--accent-ring: oklch(.5 .16 237.1 / .18);--gold: oklch(.65 .15 88.5);--gold-dark: oklch(.55 .14 80);--gold-light: oklch(.72 .14 90);--gold-glow: oklch(.65 .15 88.5 / .3);--gold-ring: oklch(.65 .15 88.5 / .2);--warning: oklch(.5 .2 25.2);--warning-dark: oklch(.42 .2 25);--warning-light: oklch(.56 .18 25);--warning-glow: oklch(.5 .2 25.2 / .22);--warning-ring: oklch(.5 .2 25.2 / .18);--warning-tint: oklch(.5 .2 25.2 / .08);--warning-tint-border: oklch(.5 .2 25.2 / .22);--review: oklch(.55 .17 45);--review-glow: oklch(.55 .17 45 / .12);--review-tint: oklch(.55 .17 45 / .08);--exam: oklch(.5 .2 303.9);--exam-dark: oklch(.42 .2 301.9);--exam-light: oklch(.58 .15 305.5);--exam-locked: oklch(.55 .04 300);--exam-glow: oklch(.5 .2 303.9 / .25);--exam-ring: oklch(.5 .2 303.9 / .18)}}html.light .map-rail-scope{--surface-rail: #08090B;--surface-rail-rgb: 8 9 11;--surface-0: #0C0D0F;--surface-0-rgb: 12 13 15;--surface-1: #111114;--surface-1-rgb: 17 17 20;--surface-2: #1A1A1D;--surface-2-rgb: 26 26 29;--ink: #F1F2F4;--ink-rgb: 245 245 250;--ink-strong: #FAFAFA;--ink-strong-rgb: 250 250 250;--ink-muted: #9D9EA2;--ink-muted-rgb: 166 166 176;--ink-faint: #88898C;--ink-faint-rgb: 136 137 140;--border: #252629;--border-faint: #1A1A1D}@supports (color: oklch(.748 .229 137.6)){html.light .map-rail-scope{--border: oklch(.27 .005 270);--border-faint: oklch(.22 .005 270)}}html.light .lesson-bubble-locked{background:radial-gradient(circle at 35% 30%,#858689,#68696c 60%,#545558);box-shadow:inset 0 3px 6px #00000040,inset 0 -2px 4px #ffffff26,0 2px 4px #00000026}html.light .lesson-bubble-locked:before{background:radial-gradient(ellipse at center,#ffffff40,#fff0 70%)}html.light .exam-bubble-locked{background:radial-gradient(circle at 35% 30%,#7d778a,#605a6c 60%,#4a4553);box-shadow:inset 0 3px 6px #00000040,inset 0 -2px 4px #ffffff1f,0 2px 4px #00000026}.coarse-only{display:none}@media(pointer:coarse){.coarse-only{display:inline-flex}.tb-label,.tb-chevron{display:none}.composer-toolbar,.composer-toolbar .flex-wrap{flex-wrap:nowrap}.composer-toolbar button:not([role=menuitemradio]):not([role=menuitem]),.touch-lift{min-height:40px;min-width:40px;max-width:44px;justify-content:center;padding-left:.25rem;padding-right:.25rem}.composer-toolbar button:not([role=menuitemradio]):not([role=menuitem]) svg,.touch-lift svg{width:1.1rem;height:1.1rem}.composer-card .btn-icon-3d-brand,.composer-card .btn-icon-3d-warning{width:2.75rem;height:2.75rem}.touch-target-sm{position:relative}.touch-target-sm:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}}[data-selection-popover]{white-space:nowrap}@media(pointer:coarse){[data-selection-popover] button{min-height:44px;padding-left:.875rem;padding-right:.875rem;font-size:1rem;font-weight:700}[data-selection-popover] button svg{width:1rem;height:1rem}}.lesson-bubble{position:relative;border-radius:9999px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;transition-timing-function:cubic-bezier(.34,1.2,.64,1);background-position:30% 25%}.lesson-bubble:before{content:"";position:absolute;top:12%;left:22%;width:38%;height:28%;border-radius:50%;background:radial-gradient(ellipse at center,var(--inner-highlight) 0%,rgb(255 255 255 / 0) 70%);pointer-events:none;z-index:1}.lesson-bubble-locked{background:radial-gradient(circle at 35% 30%,var(--surface-3) 0%,var(--surface-2) 60%,var(--surface-1) 100%);box-shadow:inset 0 3px 6px rgb(var(--shadow-rgb) / .5),inset 0 -2px 4px #ffffff0a,0 2px 4px rgb(var(--shadow-rgb) / .3)}.lesson-bubble-locked:before{background:radial-gradient(ellipse at center,#ffffff1f,#fff0 70%)}.lesson-bubble-available{background:radial-gradient(circle at 32% 28%,var(--brand-light) 0%,var(--brand) 45%,var(--brand-dark) 100%);box-shadow:0 0 0 4px var(--brand-ring),0 0 16px var(--brand-glow),0 4px 10px rgb(var(--shadow-rgb) / .25)}.lesson-bubble-available:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 0 0 5px rgb(var(--brand-rgb) / .2),0 0 22px rgb(var(--brand-rgb) / .5),0 6px 14px rgb(var(--shadow-rgb) / .3)}.lesson-bubble-available:active{transform:translateY(2px) scale(.97);box-shadow:0 0 0 3px var(--brand-ring),0 0 10px rgb(var(--brand-rgb) / .3),0 2px 6px rgb(var(--shadow-rgb) / .2)}.lesson-bubble-in-progress{background:radial-gradient(circle at 32% 28%,var(--accent-light) 0%,var(--accent) 45%,var(--accent-dark) 100%);box-shadow:0 0 0 4px var(--accent-ring),0 0 14px var(--accent-glow),0 4px 10px rgb(var(--shadow-rgb) / .25)}.lesson-bubble-in-progress:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 0 0 5px rgb(var(--accent-rgb) / .2),0 0 20px rgb(var(--accent-rgb) / .45),0 6px 14px rgb(var(--shadow-rgb) / .3)}.lesson-bubble-mastered{background:radial-gradient(circle at 32% 28%,var(--gold-light) 0%,var(--gold) 45%,var(--gold-dark) 100%);box-shadow:0 0 0 4px var(--gold-ring),0 0 22px var(--gold-glow),0 0 40px rgb(var(--gold-rgb) / .15),0 4px 12px rgb(var(--shadow-rgb) / .25);transform:scale(1.1)}.lesson-bubble-mastered:before{background:radial-gradient(ellipse at center,#ffffffb3,#fff0 70%)}.lesson-bubble-mastered:hover{transform:scale(1.13) translateY(-2px);box-shadow:0 0 0 5px rgb(var(--gold-rgb) / .25),0 0 28px rgb(var(--gold-rgb) / .55),0 0 50px rgb(var(--gold-rgb) / .2),0 6px 16px rgb(var(--shadow-rgb) / .3)}.exam-bubble{background:radial-gradient(circle at 32% 28%,var(--exam-light) 0%,var(--exam) 45%,var(--exam-dark) 100%);box-shadow:0 0 0 4px var(--exam-ring),0 0 16px var(--exam-glow),0 4px 10px rgb(var(--shadow-rgb) / .25)}.exam-bubble-locked{background:radial-gradient(circle at 35% 30%,var(--exam-locked) 0%,var(--exam-locked-mix) 60%,var(--surface-1) 100%);box-shadow:inset 0 3px 6px rgb(var(--shadow-rgb) / .5),inset 0 -2px 4px #ffffff0a,0 2px 4px rgb(var(--shadow-rgb) / .3)}.exam-bubble-passed{background:radial-gradient(circle at 32% 28%,rgb(var(--exam-light-rgb)) 0%,var(--exam-light) 40%,var(--exam) 100%);box-shadow:0 0 0 4px var(--gold-ring),0 0 18px var(--exam-glow),0 0 28px rgb(var(--gold-rgb) / .15),0 4px 12px rgb(var(--shadow-rgb) / .25)}@keyframes bubble-active-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}.lesson-bubble-available{animation:bubble-active-pulse 2.4s ease-in-out infinite}.env-spring .lesson-bubble{filter:hue-rotate(-12deg) saturate(1.15) brightness(1.02)}.env-summer .lesson-bubble{filter:saturate(1.4) brightness(1.08) contrast(1.05)}.env-autumn .lesson-bubble{filter:hue-rotate(-22deg) saturate(1.1) brightness(.97)}.env-winter .lesson-bubble{filter:saturate(.5) brightness(1.05) hue-rotate(8deg)}.surface-card{background:var(--surface-2);border:1px solid var(--border-faint);border-radius:1rem}:root{--cm-c0-fill: #1C3352;--cm-c0-line: #6F9FD4;--cm-c1-fill: #1F3A29;--cm-c1-line: #7FB37F;--cm-c2-fill: #42301A;--cm-c2-line: #CFA05E;--cm-c3-fill: #3D3620;--cm-c3-line: #CBB75E;--cm-c4-fill: #33294A;--cm-c4-line: #A48DCB}html.light{--cm-c0-fill: #DAE8FC;--cm-c0-line: #6C8EBF;--cm-c1-fill: #D5E8D4;--cm-c1-line: #82B366;--cm-c2-fill: #FFE6CC;--cm-c2-line: #D79B00;--cm-c3-fill: #FFF2CC;--cm-c3-line: #D6B656;--cm-c4-fill: #E1D5E7;--cm-c4-line: #9673A6}@keyframes cm-node-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.cm-enter{animation:cm-node-enter .22s var(--ease-out-expo, ease-out) both}.cm-group-box{fill-opacity:.42;stroke-opacity:.85;stroke-width:1.25}.cm-group-head{fill-opacity:.18}html.light .cm-group-box{fill-opacity:.55;stroke-opacity:.95}html.light .cm-group-head{fill-opacity:.22}.md-shiki pre.shiki{background-color:rgb(var(--surface-0-rgb));color:var(--ink);margin:0;padding:.9em 1em;border:1px solid rgb(var(--border-rgb));border-top:0;border-radius:0 0 .5rem .5rem;overflow-x:auto;font-size:.82em;line-height:1.55;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.md-shiki pre.shiki code{display:block;width:-moz-max-content;width:max-content}.md-shiki pre.shiki .line{display:block;white-space:pre}.md-shiki pre.shiki .line:empty:after{content:" "}html.light .md-shiki pre.shiki span{color:var(--shiki-light)!important}.md-walk-line:empty:after{content:" "}@keyframes msg-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msg-enter{animation:msg-enter .2s var(--ease-out-expo)}.proposal-card{border-color:rgb(var(--brand-rgb) / .3);padding:.75rem;background:var(--surface-2);border:1px solid var(--border-faint);border-radius:1rem;box-shadow:0 0 0 1px var(--brand-ring),0 4px 12px rgb(var(--brand-rgb) / .08)}@keyframes typing-dot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.typing-dot{animation:typing-dot 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}@keyframes toast-enter{0%{opacity:0;transform:translateY(-12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-exit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.97)}}.toast-enter{animation:toast-enter .22s var(--ease-out-back)}.toast-exit{animation:toast-exit .18s var(--ease-out-quart) forwards}@keyframes confirm-enter{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.confirm-card{animation:confirm-enter .16s var(--ease-out-back)}.map-sky-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;display:block}.map-orb-weather-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:20;display:block}.map-path{background:transparent}.map-sky-content{position:relative;z-index:1}.map-header{z-index:30;background:linear-gradient(to bottom,rgb(var(--surface-rail-rgb) / .66) 0%,rgb(var(--surface-rail-rgb) / .5) 40%,rgb(var(--surface-rail-rgb) / .28) 65%,rgb(var(--surface-rail-rgb) / .12) 82%,rgb(var(--surface-rail-rgb) / .04) 92%,transparent 100%)}.map-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);-webkit-mask:linear-gradient(to bottom,black 0%,black 70%,transparent 100%);mask:linear-gradient(to bottom,black 0%,black 70%,transparent 100%)}.app-header{position:relative;background:transparent;z-index:30}.app-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);-webkit-mask:linear-gradient(to bottom,black 0%,black 65%,transparent 100%);mask:linear-gradient(to bottom,black 0%,black 65%,transparent 100%);background:linear-gradient(to bottom,rgb(var(--surface-1-rgb) / .85) 0%,rgb(var(--surface-1-rgb) / .55) 60%,rgb(var(--surface-1-rgb) / .15) 85%,transparent 100%)}.map-signpost{background:rgb(var(--surface-rail-rgb) / .55);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);border:1px solid rgb(var(--gold-rgb) / .18);border-top-color:rgb(var(--gold-rgb) / .35);box-shadow:0 2px 8px rgb(var(--shadow-rgb) / .35),inset 0 1px #ffffff0f}@keyframes balloon-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.balloon-bob{animation:balloon-bob var(--bob-duration, 6s) ease-in-out infinite;animation-delay:var(--bob-delay, 0s)}@keyframes path-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.progress-ring-circle{transition:stroke-dashoffset .5s var(--ease-out-expo);transform:rotate(-90deg);transform-origin:50% 50%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:9999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--surface-3);background-clip:padding-box}html.light ::-webkit-scrollbar-thumb{background:#0000002e}html.light ::-webkit-scrollbar-thumb:hover{background:#00000047}@keyframes energy-breathe{0%,to{opacity:.78;filter:drop-shadow(0 0 0 var(--brand))}50%{opacity:1;filter:drop-shadow(0 0 4px var(--brand-glow))}}.energy-breathe{animation:energy-breathe 2s ease-in-out infinite}@keyframes flame-flicker{0%,to{transform:scale(1) rotate(-2deg)}25%{transform:scale(1.06) rotate(1deg)}50%{transform:scale(.97) rotate(-1deg)}75%{transform:scale(1.04) rotate(2deg)}}.flame-flicker{animation:flame-flicker 1.4s ease-in-out infinite;transform-origin:50% 80%}@keyframes crown-sparkle{0%,to{transform:scale(1);filter:drop-shadow(0 0 0 var(--gold))}50%{transform:scale(1.08);filter:drop-shadow(0 0 6px var(--gold-glow))}}.crown-sparkle{animation:crown-sparkle 1.6s ease-in-out infinite;display:inline-block}@media(prefers-reduced-motion:reduce){.cp-screen-key,.cp-writing,.cp-pen,.cp-core-lit,.cp-note-tick{animation:none;stroke-dashoffset:0}.cp-scope-bar{animation:none;opacity:.7}.cp-keypress .cp-mascot{animation:none}.cp-screen-key-flash{animation:none;opacity:.9}.cp-screen-wave rect{animation:none;transform:scaleY(.6)}.cm-enter{animation-delay:0ms!important}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.cp-mascot{pointer-events:none;cursor:default;overflow:visible}.cp-mascot *{pointer-events:visiblePainted}.cp-bot{transform-box:fill-box;transform-origin:50% 90%;animation:cp-bob 3.4s ease-in-out infinite alternate}@keyframes cp-bob{0%{transform:translateY(0)}to{transform:translateY(-5px)}}.cp-thrust{transform-box:fill-box;transform-origin:center;animation:cp-flick .38s ease-in-out infinite alternate}@keyframes cp-flick{0%{transform:scaleY(1)}to{transform:scaleY(.72)}}.cp-ant-glow{animation:cp-glow 2.2s ease-in-out infinite}@keyframes cp-glow{0%,to{opacity:.15}50%{opacity:.4}}.cp-pose-hop .cp-bot{animation:cp-hop .9s cubic-bezier(.3,1.4,.5,1) 1,cp-bob 3.4s ease-in-out .95s infinite alternate}@keyframes cp-hop{0%{transform:none}18%{transform:translateY(2px) scale(1.05,.92)}45%{transform:translateY(-16px) scale(.96,1.07)}75%{transform:translateY(0) scale(1.04,.95)}to{transform:none}}.cp-pose-punch .cp-armR{transform-box:fill-box;transform-origin:30% 20%;animation:cp-punch .5s cubic-bezier(.2,1.6,.4,1) 1}@keyframes cp-punch{0%{transform:rotate(0)}35%{transform:rotate(-72deg)}to{transform:rotate(0)}}.cp-pose-punch .cp-bot{animation:cp-tilt .5s ease-out 1,cp-bob 3.4s ease-in-out .55s infinite alternate}@keyframes cp-tilt{0%{transform:none}30%{transform:rotate(-4deg)}to{transform:none}}.cp-pose-oops .cp-head{transform-box:fill-box;transform-origin:50% 95%;animation:cp-oops-head .8s ease-in-out 1}.cp-pose-oops .cp-armL{transform-box:fill-box;transform-origin:70% 15%;animation:cp-oops-armL .8s ease-in-out 1}.cp-pose-oops .cp-armR{transform-box:fill-box;transform-origin:30% 15%;animation:cp-oops-armR .8s ease-in-out 1}@keyframes cp-oops-head{0%,to{transform:rotate(0)}40%{transform:rotate(6deg)}70%{transform:rotate(3deg)}}@keyframes cp-oops-armL{0%,to{transform:rotate(0)}40%{transform:rotate(24deg)}}@keyframes cp-oops-armR{0%,to{transform:rotate(0)}40%{transform:rotate(-24deg)}}.cp-pose-thinking .cp-armL{transform-box:fill-box;transform-origin:50% 12%;transform:rotate(108deg)}.cp-pose-thinking .cp-head{transform-box:fill-box;transform-origin:50% 95%;transform:rotate(-7deg);animation:cp-think-head 3.2s ease-in-out infinite alternate}@keyframes cp-think-head{0%{transform:rotate(-7deg)}to{transform:rotate(-3deg)}}.cp-pose-lean-right .cp-bot{transform:rotate(5deg);animation:none}.cp-pose-doze .cp-bot{transform:translateY(4px) rotate(2.5deg);animation:cp-breath 4.5s ease-in-out infinite alternate}@keyframes cp-breath{0%{transform:translateY(4px) rotate(2.5deg) scale(1)}to{transform:translateY(5px) rotate(2.5deg) scale(1.015,.985)}}.cp-sweat{animation:cp-drip 1.1s ease-in-out infinite}@keyframes cp-drip{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.cp-waves path{animation:cp-wave 1s ease-in-out infinite}.cp-waves path:nth-child(2){animation-delay:.15s}.cp-waves path:nth-child(3){animation-delay:.3s}@keyframes cp-wave{0%,to{opacity:.25}50%{opacity:1}}.cp-zzz path{animation:cp-z 2.4s ease-in-out infinite}.cp-zzz path:nth-child(2){animation-delay:.8s}.cp-zzz path:nth-child(3){animation-delay:1.6s}@keyframes cp-z{0%{opacity:0;transform:translate(2px,2px)}30%{opacity:1}to{opacity:0;transform:translate(-3px,-6px)}}.cp-mouth{transition:transform .06s linear}.cp-bubble{animation:cp-bubble-in .18s cubic-bezier(.3,1.4,.5,1) 1}@keyframes cp-bubble-in{0%{opacity:0;transform:translateY(4px) scale(.9)}to{opacity:1;transform:none}}.cp-pose-typing .cp-armL{transform-box:fill-box;transform-origin:50% 12%;transform:rotate(12deg)}.cp-pose-typing .cp-armR{transform-box:fill-box;transform-origin:50% 12%;transform:rotate(-12deg)}.cp-antenna{transform-box:fill-box;transform-origin:80% 96%;animation:cp-ant-sway 3.4s ease-in-out -.35s infinite alternate}@keyframes cp-ant-sway{0%{transform:rotate(-2deg)}to{transform:rotate(2deg)}}.cp-face-pop{transform-box:fill-box;transform-origin:center;animation:cp-pop .16s cubic-bezier(.2,1.6,.4,1) 1}@keyframes cp-pop{0%{transform:scale(.9)}to{transform:scale(1)}}.cp-expr-talking .cp-head{transform-box:fill-box;transform-origin:50% 100%;animation:cp-talk-bob .55s ease-in-out infinite alternate}@keyframes cp-talk-bob{0%{transform:translateY(0)}to{transform:translateY(-1.4px)}}.cp-waves-wrap{opacity:0}.cp-creature{pointer-events:none;transition:opacity .45s ease}.cp-creature>svg{pointer-events:visiblePainted}.cp-veil{opacity:.3;filter:blur(1px) saturate(.72);transition:opacity .6s ease,filter .6s ease}.cp-creature[data-zone=rail].cp-veil{opacity:.55;filter:blur(.5px) saturate(.85)}.cp-occluding{opacity:.45;transition:opacity .3s ease}.cp-titlebar-dim{opacity:.25;transition:opacity .25s ease}.cp-titlebar-dim>svg{pointer-events:none}.cp-pose-flying .cp-armL{transform-box:fill-box;transform-origin:50% 12%;transform:rotate(26deg)}.cp-pose-flying .cp-armR{transform-box:fill-box;transform-origin:50% 12%;transform:rotate(-26deg)}.cp-pose-writing .cp-armR{transform-box:fill-box;transform-origin:50% 12%;animation:cp-write .42s ease-in-out infinite}@keyframes cp-write{0%{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(8deg) translateY(-1.5px)}to{transform:rotate(-4deg) translateY(0)}}.cp-pose-wave .cp-armR{transform-box:fill-box;transform-origin:50% 12%;animation:cp-wave-arm .38s ease-in-out 3;transform:rotate(-108deg)}@keyframes cp-wave-arm{0%{transform:rotate(-96deg)}50%{transform:rotate(-124deg)}to{transform:rotate(-96deg)}}.cp-pose-spin .cp-bot{transform-box:fill-box;transform-origin:50% 60%;animation:cp-spin .75s cubic-bezier(.45,.1,.3,1) 1}@keyframes cp-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cp-pose-point .cp-armL{transform-box:fill-box;transform-origin:50% 12%;transform:rotate(92deg)}.cp-pose-point .cp-bot{transform-box:fill-box;transform-origin:50% 62%;transform:rotate(-3deg)}.cp-pose-pointr .cp-armR{transform-box:fill-box;transform-origin:50% 12%;transform:rotate(-92deg)}.cp-pose-pointr .cp-bot{transform-box:fill-box;transform-origin:50% 62%;transform:rotate(3deg)}.cp-pose-pointu .cp-armL{transform-box:fill-box;transform-origin:50% 12%;transform:rotate(172deg)}.cp-pose-pointu .cp-bot{transform-box:fill-box;transform-origin:50% 62%;transform:rotate(-3deg)}.cp-pose-pointd .cp-armR{transform-box:fill-box;transform-origin:50% 12%;transform:rotate(-38deg)}.cp-pose-pointd .cp-bot{transform-box:fill-box;transform-origin:50% 62%;transform:rotate(3deg)}.cp-reading-mark{background-color:#1cb0f629;border-radius:4px;-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-color .25s ease}.cp-star-tw{transform-box:fill-box;transform-origin:center;animation:cp-star-tw .62s ease-in-out infinite alternate}@keyframes cp-star-tw{0%{transform:scale(.82);opacity:.75}to{transform:scale(1.12);opacity:1}}.cp-expr-sleeping .cp-bot{transform-box:fill-box;transform-origin:50% 100%;animation:cp-sleep-breath 2.8s ease-in-out infinite alternate}@keyframes cp-sleep-breath{0%{transform:scale(1)}to{transform:scale(1.015,.985)}}[data-zone=chat] .cp-mascot,[data-zone=notebook] .cp-mascot{filter:drop-shadow(4px 6px 5px rgb(15 12 20 / .32))}.cp-creature{--cp-speed: 0;--cp-thrust-deg: 90deg}.cp-thruster{opacity:0;transform-box:view-box;transform-origin:100px 135px;rotate:var(--cp-thrust-deg, 90deg);scale:calc(.5 + .6*min(1,var(--cp-speed, 0)));transition:opacity .16s linear}.cp-creature .cp-thruster{opacity:calc(min(1,var(--cp-speed, 0))*.95)}.cp-pose-flying .cp-thruster circle{r:6.4}.cp-pose-flying .cp-thruster circle:nth-child(2){r:8}.cp-pose-flying .cp-thruster{scale:1.15;filter:drop-shadow(0 0 6px rgba(53,224,232,.8));animation:cp-thruster-pulse .28s ease-in-out infinite alternate}@keyframes cp-thruster-pulse{0%{opacity:.85}to{opacity:1}}::highlight(cp-reading){background-color:#1cb0f633}.cp-beacons circle{fill:currentColor;opacity:.55}.cp-screen-key{font:700 15px ui-monospace,Cascadia Mono,Consolas,monospace;fill:#0e2a38;paint-order:stroke;stroke:#35e0e8d9;stroke-width:2.5px;animation:cp-key-pop .18s cubic-bezier(.2,1.6,.4,1);pointer-events:none}@keyframes cp-key-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.cp-screen-key{transform-box:fill-box;transform-origin:center}.cp-keypress .cp-mascot{transform-box:fill-box;transform-origin:50% 92%;animation:cp-key-squash .15s ease-out}@keyframes cp-key-squash{0%{transform:scaleY(1)}35%{transform:scaleY(.965) scaleX(1.02)}to{transform:scaleY(1)}}.cp-scope-bar{fill:#0e2a38;opacity:.8;transform-box:fill-box;transform-origin:50% 100%;animation:cp-scope-pulse .5s ease-out backwards}@keyframes cp-scope-pulse{0%{transform:scaleY(1.9);opacity:1}to{transform:scaleY(1);opacity:.55}}.cp-screen-key-flash{animation:cp-key-pop .18s cubic-bezier(.2,1.6,.4,1),cp-key-flash .55s ease-out forwards}@keyframes cp-key-flash{0%,55%{opacity:1}to{opacity:0}}.cp-screen-wave rect{fill:#0e2a38;opacity:.88;transform-box:fill-box;transform-origin:center;animation:cp-wave-bar .9s ease-in-out infinite}.cp-screen-wave rect:nth-child(2),.cp-screen-wave rect:nth-child(4){animation-delay:.13s}.cp-screen-wave rect:nth-child(3){animation-delay:.26s}@keyframes cp-wave-bar{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}.cp-writing{animation:cp-notebook-in .28s cubic-bezier(.2,1.4,.4,1);pointer-events:none}@keyframes cp-notebook-in{0%{opacity:0;transform:translateY(10px) scale(.7)}to{opacity:1;transform:translateY(0) scale(1)}}.cp-writing{transform-box:fill-box;transform-origin:50% 100%}.cp-pen{animation:cp-scribble .42s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:50% 90%}@keyframes cp-scribble{0%{transform:rotate(0) translate(0)}to{transform:rotate(-5deg) translate(-1.5px,1px)}}.cp-note-tick{stroke-dasharray:26;stroke-dashoffset:26;animation:cp-note-tick .36s cubic-bezier(.3,1.2,.4,1) forwards}@keyframes cp-note-tick{to{stroke-dashoffset:0}}.cp-core-lit{opacity:.85;stroke-dasharray:8 6;animation:cp-core-lit .9s ease-in-out infinite alternate}@keyframes cp-core-lit{0%{opacity:.45;stroke-width:2.5}to{opacity:1;stroke-width:3.6}}.cp-shoulders{pointer-events:none}.cp-beacon-l{color:#ff4b4b;animation:cp-beacon 2.6s ease-in-out infinite}.cp-beacon-r{color:#58cc02;animation:cp-beacon 2.6s ease-in-out 1.3s infinite}.cp-pose-flying .cp-beacon-l,.cp-takeoff .cp-beacon-l,.cp-pose-flying .cp-beacon-r,.cp-takeoff .cp-beacon-r{animation-duration:.62s}@keyframes cp-beacon{0%,to{opacity:.18}50%{opacity:1}}.cp-takeoff .cp-thruster{opacity:1}.cp-takeoff .cp-thruster circle{animation-duration:.12s;r:6}.cp-pose-flying .cp-thruster{opacity:1}.cp-thruster circle{fill:#ffc800}.cp-thruster circle:nth-child(2){fill:#ff9a3d}.cp-pose-flying .cp-thruster circle{animation:cp-thruster .22s ease-in-out infinite alternate}.cp-pose-flying .cp-thruster circle:nth-child(2){animation-delay:.08s}.cp-pose-flying .cp-thruster circle:nth-child(3){animation-delay:.14s}@keyframes cp-thruster{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(4px) scale(.55);opacity:.55}}.cp-thruster circle{transform-box:fill-box;transform-origin:center}.cp-halo{animation:cp-halo-spin 7s linear infinite;transform-box:fill-box;transform-origin:center}@keyframes cp-halo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cp-crown-badge{animation:cp-crown-float 2.4s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}@keyframes cp-crown-float{0%{transform:translateY(0)}to{transform:translateY(-1.6px)}}.cp-creature>svg{cursor:grab}.cp-grabbed{cursor:grabbing}.cp-grabbed>svg{cursor:grabbing}.cp-grabbed .cp-bot{animation:cp-struggle .3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@keyframes cp-struggle{0%{transform:rotate(-2.5deg)}to{transform:rotate(2.5deg)}}.cp-shiver{animation:cp-shiver .09s linear 5}@keyframes cp-shiver{0%{margin-left:-2px}to{margin-left:2px}}.cp-huffy{transform-box:fill-box;transform-origin:center;animation:cp-huffy-puff .8s ease-in-out infinite alternate}@keyframes cp-huffy-puff{0%{transform:scale(.85)}to{transform:scale(1.1)}}@media(prefers-reduced-motion:reduce){.cp-pose-writing .cp-armR{animation:none;transform:rotate(2deg)}.cp-pose-thinking .cp-head,.cp-pose-wave .cp-armR,.cp-pose-spin .cp-bot,.cp-star-tw,.cp-expr-sleeping .cp-bot{animation:none}.cp-veil{filter:none}.cp-thruster,.cp-pose-flying .cp-thruster{opacity:0}.cp-beacons circle{animation:none;opacity:.35}.cp-pose-flying .cp-thruster circle{animation:none}.cp-halo,.cp-crown-badge,.cp-grabbed .cp-bot,.cp-shiver,.cp-huffy{animation:none}}.placeholder\:text-ink-faint::-moz-placeholder{--tw-text-opacity: 1;color:rgb(var(--ink-faint-rgb) / var(--tw-text-opacity, 1))}.placeholder\:text-ink-faint::placeholder{--tw-text-opacity: 1;color:rgb(var(--ink-faint-rgb) / var(--tw-text-opacity, 1))}.placeholder\:text-white\/30::-moz-placeholder{color:#ffffff4d}.placeholder\:text-white\/30::placeholder{color:#ffffff4d}.placeholder\:text-white\/35::-moz-placeholder{color:#ffffff59}.placeholder\:text-white\/35::placeholder{color:#ffffff59}.focus-within\:bg-ink\/\[0\.07\]:focus-within{background-color:rgb(var(--ink-rgb) / .07)}.focus-within\:opacity-100:focus-within{opacity:1}.focus-within\:ring-brand\/60:focus-within{--tw-ring-color: rgb(var(--brand-rgb) / .6)}.hover\:z-30:hover{z-index:30}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[var\(--border\)\]:hover{border-color:var(--border)}.hover\:border-accent:hover{--tw-border-opacity: 1;border-color:rgb(var(--accent-rgb) / var(--tw-border-opacity, 1))}.hover\:border-brand:hover{--tw-border-opacity: 1;border-color:rgb(var(--brand-rgb) / var(--tw-border-opacity, 1))}.hover\:border-brand\/50:hover{border-color:rgb(var(--brand-rgb) / .5)}.hover\:border-ink-muted:hover{--tw-border-opacity: 1;border-color:rgb(var(--ink-muted-rgb) / var(--tw-border-opacity, 1))}.hover\:border-ink\/25:hover{border-color:rgb(var(--ink-rgb) / .25)}.hover\:bg-accent\/10:hover{background-color:rgb(var(--accent-rgb) / .1)}.hover\:bg-accent\/20:hover{background-color:rgb(var(--accent-rgb) / .2)}.hover\:bg-brand-light:hover{--tw-bg-opacity: 1;background-color:rgb(var(--brand-light-rgb) / var(--tw-bg-opacity, 1))}.hover\:bg-brand\/10:hover{background-color:rgb(var(--brand-rgb) / .1)}.hover\:bg-brand\/25:hover{background-color:rgb(var(--brand-rgb) / .25)}.hover\:bg-brand\/5:hover{background-color:rgb(var(--brand-rgb) / .05)}.hover\:bg-brand\/90:hover{background-color:rgb(var(--brand-rgb) / .9)}.hover\:bg-ink\/20:hover{background-color:rgb(var(--ink-rgb) / .2)}.hover\:bg-ink\/25:hover{background-color:rgb(var(--ink-rgb) / .25)}.hover\:bg-ink\/5:hover{background-color:rgb(var(--ink-rgb) / .05)}.hover\:bg-ink\/\[0\.06\]:hover{background-color:rgb(var(--ink-rgb) / .06)}.hover\:bg-neutral-100:hover{--tw-bg-opacity: 1;background-color:rgb(245 245 245 / var(--tw-bg-opacity, 1))}.hover\:bg-neutral-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 229 229 / var(--tw-bg-opacity, 1))}.hover\:bg-review\/20:hover{background-color:rgb(var(--review-rgb) / .2)}.hover\:bg-review\/30:hover{background-color:rgb(var(--review-rgb) / .3)}.hover\:bg-surface-1:hover{--tw-bg-opacity: 1;background-color:rgb(var(--surface-1-rgb) / var(--tw-bg-opacity, 1))}.hover\:bg-surface-2:hover{--tw-bg-opacity: 1;background-color:rgb(var(--surface-2-rgb) / var(--tw-bg-opacity, 1))}.hover\:bg-surface-3:hover{--tw-bg-opacity: 1;background-color:rgb(var(--surface-3-rgb) / var(--tw-bg-opacity, 1))}.hover\:bg-surface-3\/50:hover{background-color:rgb(var(--surface-3-rgb) / .5)}.hover\:bg-surface-3\/60:hover{background-color:rgb(var(--surface-3-rgb) / .6)}.hover\:bg-surface-3\/80:hover{background-color:rgb(var(--surface-3-rgb) / .8)}.hover\:bg-warning:hover{--tw-bg-opacity: 1;background-color:rgb(var(--warning-rgb) / var(--tw-bg-opacity, 1))}.hover\:bg-warning\/10:hover{background-color:rgb(var(--warning-rgb) / .1)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:bg-white\/20:hover{background-color:#fff3}.hover\:text-accent:hover{--tw-text-opacity: 1;color:rgb(var(--accent-rgb) / var(--tw-text-opacity, 1))}.hover\:text-brand:hover{--tw-text-opacity: 1;color:rgb(var(--brand-rgb) / var(--tw-text-opacity, 1))}.hover\:text-ink:hover{--tw-text-opacity: 1;color:rgb(var(--ink-rgb) / var(--tw-text-opacity, 1))}.hover\:text-ink-strong:hover{--tw-text-opacity: 1;color:rgb(var(--ink-strong-rgb) / var(--tw-text-opacity, 1))}.hover\:text-neutral-700:hover{--tw-text-opacity: 1;color:rgb(64 64 64 / var(--tw-text-opacity, 1))}.hover\:text-warning:hover{--tw-text-opacity: 1;color:rgb(var(--warning-rgb) / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:text-white\/80:hover{color:#fffc}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:ring-2:hover{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.hover\:ring-accent:hover{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--accent-rgb) / var(--tw-ring-opacity, 1))}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-accent:focus{--tw-border-opacity: 1;border-color:rgb(var(--accent-rgb) / var(--tw-border-opacity, 1))}.focus\:border-brand:focus{--tw-border-opacity: 1;border-color:rgb(var(--brand-rgb) / var(--tw-border-opacity, 1))}.focus\:bg-ink\/\[0\.06\]:focus{background-color:rgb(var(--ink-rgb) / .06)}.focus\:bg-ink\/\[0\.08\]:focus{background-color:rgb(var(--ink-rgb) / .08)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-brand\/20:focus{--tw-ring-color: rgb(var(--brand-rgb) / .2)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-brand\/60:focus-visible{--tw-ring-color: rgb(var(--brand-rgb) / .6)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-\[var\(--surface-2\)\]:focus-visible{--tw-ring-offset-color: var(--surface-2)}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:scale-\[0\.99\]:active{--tw-scale-x: .99;--tw-scale-y: .99;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.active\:cursor-grabbing:active{cursor:grabbing}.active\:bg-accent\/25:active{background-color:rgb(var(--accent-rgb) / .25)}.active\:bg-ink\/10:active{background-color:rgb(var(--ink-rgb) / .1)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-20:disabled{opacity:.2}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:hover\:bg-transparent:hover:disabled{background-color:transparent}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-60{opacity:.6}@media(prefers-reduced-motion:no-preference){.motion-safe\:transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.motion-safe\:transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.motion-safe\:transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.motion-safe\:duration-150{transition-duration:.15s}.motion-safe\:duration-200{transition-duration:.2s}.motion-safe\:ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}}.dark\:border-neutral-950:is(.dark *){--tw-border-opacity: 1;border-color:rgb(10 10 10 / var(--tw-border-opacity, 1))}.dark\:bg-ink\/10:is(.dark *){background-color:rgb(var(--ink-rgb) / .1)}.dark\:bg-neutral-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity, 1))}.dark\:text-neutral-100:is(.dark *){--tw-text-opacity: 1;color:rgb(245 245 245 / var(--tw-text-opacity, 1))}.dark\:text-neutral-300:is(.dark *){--tw-text-opacity: 1;color:rgb(212 212 212 / var(--tw-text-opacity, 1))}.dark\:text-neutral-400:is(.dark *){--tw-text-opacity: 1;color:rgb(163 163 163 / var(--tw-text-opacity, 1))}.dark\:ring-offset-neutral-950:is(.dark *){--tw-ring-offset-color: #0a0a0a}.dark\:hover\:bg-neutral-800:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity, 1))}.dark\:hover\:bg-neutral-800\/50:hover:is(.dark *){background-color:#26262680}.dark\:hover\:text-neutral-200:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(229 229 229 / var(--tw-text-opacity, 1))}.dark\:hover\:text-neutral-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(212 212 212 / var(--tw-text-opacity, 1))}@media(min-width:640px){.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.\[\&_button\]\:pointer-events-auto button{pointer-events:auto}.\[\&_iframe\]\:max-w-full iframe,.\[\&_img\]\:max-w-full img,.\[\&_pre\]\:max-w-full pre{max-width:100%}.\[\&_pre\]\:overflow-x-auto pre{overflow-x:auto}.\[\&_video\]\:max-w-full video{max-width:100%}
@@ -1,2 +1,2 @@
1
- import{_ as e,l as s,E as n,d as i}from"./mermaid.core-D0rh4nEj.js";import{p}from"./cynefin-VYW2F7L2-lYm8p8qp.js";import"./main-Bkgg11ZB.js";import"./index-BNNZmZ7L.js";import"./transform-B5_amWNh.js";var g={parse:e(async r=>{const a=await p("info",r);s.debug(a)},"parse")},d={version:"11.16.1"},v=e(()=>d.version,"getVersion"),m={getVersion:v},c=e((r,a,o)=>{s.debug(`rendering info diagram
1
+ import{_ as e,l as s,E as n,d as i}from"./mermaid.core-C9HnEz85.js";import{p}from"./cynefin-VYW2F7L2-B4XLICgQ.js";import"./main-BB_2C5wg.js";import"./index-DE7AQhbx.js";import"./transform-B5_amWNh.js";var g={parse:e(async r=>{const a=await p("info",r);s.debug(a)},"parse")},d={version:"11.16.1"},v=e(()=>d.version,"getVersion"),m={getVersion:v},c=e((r,a,o)=>{s.debug(`rendering info diagram
2
2
  `+r);const t=n(a);i(t,100,400,!0),t.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${o}`)},"draw"),l={draw:c},y={parser:g,db:m,renderer:l};export{y as diagram};
@@ -1,2 +1,2 @@
1
- import{p as i}from"./cynefin-OW5HDTMX-GVF3BKWE-DrtBkvjj.js";import{_ as e,l as o,G as n,d as p}from"./render-O7CIS3YK-0coM2jiE.js";import"./main-Bkgg11ZB.js";import"./index-BNNZmZ7L.js";import"./mermaid-layout-elk.core-DDX9gcIM.js";import"./transform-B5_amWNh.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";var g={parse:e(async r=>{const a=await i("info",r);o.debug(a)},"parse")},d={version:"11.17.0"},m=e(()=>d.version,"getVersion"),v={getVersion:m},c=e((r,a,s)=>{o.debug(`rendering info diagram
1
+ import{p as i}from"./cynefin-OW5HDTMX-GVF3BKWE-B8_RwK2h.js";import{_ as e,l as o,G as n,d as p}from"./render-O7CIS3YK-CW2i3jER.js";import"./main-BB_2C5wg.js";import"./index-DE7AQhbx.js";import"./mermaid-layout-elk.core-D5SipCA5.js";import"./transform-B5_amWNh.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";var g={parse:e(async r=>{const a=await i("info",r);o.debug(a)},"parse")},d={version:"11.17.0"},m=e(()=>d.version,"getVersion"),v={getVersion:m},c=e((r,a,s)=>{o.debug(`rendering info diagram
2
2
  `+r);const t=n(a);p(t,100,400,!0),t.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${s}`)},"draw"),l={draw:c},z={parser:g,db:v,renderer:l};export{z as diagram};
@@ -1,4 +1,4 @@
1
- import{_ as o,c as ht,H as dt,G as yt,aI as pt,p as ft,i as gt,n as st,a as kt,b as mt,g as wt,s as _t,o as xt,d as bt}from"./render-O7CIS3YK-0coM2jiE.js";import{_ as $}from"./mermaid-layout-elk.core-DDX9gcIM.js";import"./main-Bkgg11ZB.js";import"./index-BNNZmZ7L.js";import"./transform-B5_amWNh.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";var et=(function(){var e=o(function(P,t,s,i){for(s=s||{},i=P.length;i--;s[P[i]]=t);return s},"o"),h=[1,4],r=[1,14],a=[1,12],l=[1,13],y=[6,7,8],p=[1,20],d=[1,18],m=[1,19],c=[6,7,11],k=[1,6,13,14],g=[1,23],_=[1,24],b=[1,6,7,11,13,14],D={trace:o($(function(){},"trace"),"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:o($(function(t,s,i,u,f,n,v){var w=n.length-1;switch(f){case 6:case 7:return u;case 15:u.addNode(n[w-1].length,n[w].trim());break;case 16:u.addNode(0,n[w].trim());break}},"anonymous"),"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:h},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:h},{6:r,7:[1,10],9:9,12:11,13:a,14:l},e(y,[2,3]),{1:[2,2]},e(y,[2,4]),e(y,[2,5]),{1:[2,6],6:r,12:15,13:a,14:l},{6:r,9:16,12:11,13:a,14:l},{6:p,7:d,10:17,11:m},e(c,[2,18],{14:[1,21]}),e(c,[2,16]),e(c,[2,17]),{6:p,7:d,10:22,11:m},{1:[2,7],6:r,12:15,13:a,14:l},e(k,[2,14],{7:g,11:_}),e(b,[2,8]),e(b,[2,9]),e(b,[2,10]),e(c,[2,15]),e(k,[2,13],{7:g,11:_}),e(b,[2,11]),e(b,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:o($(function(t,s){if(s.recoverable)this.trace(t);else{var i=new Error(t);throw i.hash=s,i}},"parseError"),"parseError"),parse:o($(function(t){var s=this,i=[0],u=[],f=[null],n=[],v=this.table,w="",L=0,E=0,T=2,I=1,V=n.slice.call(arguments,1),x=Object.create(this.lexer),R={yy:{}};for(var G in this.yy)Object.prototype.hasOwnProperty.call(this.yy,G)&&(R.yy[G]=this.yy[G]);x.setInput(t,R.yy),R.yy.lexer=x,R.yy.parser=this,typeof x.yylloc>"u"&&(x.yylloc={});var M=x.yylloc;n.push(M);var O=x.options&&x.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function z(B){i.length=i.length-2*B,f.length=f.length-B,n.length=n.length-B}$(z,"popStack"),o(z,"popStack");function F(){var B;return B=u.pop()||x.lex()||I,typeof B!="number"&&(B instanceof Array&&(u=B,B=u.pop()),B=s.symbols_[B]||B),B}$(F,"lex"),o(F,"lex");for(var A,j,N,Q,U={},Y,W,it,K;;){if(j=i[i.length-1],this.defaultActions[j]?N=this.defaultActions[j]:((A===null||typeof A>"u")&&(A=F()),N=v[j]&&v[j][A]),typeof N>"u"||!N.length||!N[0]){var J="";K=[];for(Y in v[j])this.terminals_[Y]&&Y>T&&K.push("'"+this.terminals_[Y]+"'");x.showPosition?J="Parse error on line "+(L+1)+`:
1
+ import{_ as o,c as ht,H as dt,G as yt,aI as pt,p as ft,i as gt,n as st,a as kt,b as mt,g as wt,s as _t,o as xt,d as bt}from"./render-O7CIS3YK-CW2i3jER.js";import{_ as $}from"./mermaid-layout-elk.core-D5SipCA5.js";import"./main-BB_2C5wg.js";import"./index-DE7AQhbx.js";import"./transform-B5_amWNh.js";import"./_commonjs-dynamic-modules-TDtrdbi3.js";var et=(function(){var e=o(function(P,t,s,i){for(s=s||{},i=P.length;i--;s[P[i]]=t);return s},"o"),h=[1,4],r=[1,14],a=[1,12],l=[1,13],y=[6,7,8],p=[1,20],d=[1,18],m=[1,19],c=[6,7,11],k=[1,6,13,14],g=[1,23],_=[1,24],b=[1,6,7,11,13,14],D={trace:o($(function(){},"trace"),"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:o($(function(t,s,i,u,f,n,v){var w=n.length-1;switch(f){case 6:case 7:return u;case 15:u.addNode(n[w-1].length,n[w].trim());break;case 16:u.addNode(0,n[w].trim());break}},"anonymous"),"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:h},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:h},{6:r,7:[1,10],9:9,12:11,13:a,14:l},e(y,[2,3]),{1:[2,2]},e(y,[2,4]),e(y,[2,5]),{1:[2,6],6:r,12:15,13:a,14:l},{6:r,9:16,12:11,13:a,14:l},{6:p,7:d,10:17,11:m},e(c,[2,18],{14:[1,21]}),e(c,[2,16]),e(c,[2,17]),{6:p,7:d,10:22,11:m},{1:[2,7],6:r,12:15,13:a,14:l},e(k,[2,14],{7:g,11:_}),e(b,[2,8]),e(b,[2,9]),e(b,[2,10]),e(c,[2,15]),e(k,[2,13],{7:g,11:_}),e(b,[2,11]),e(b,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:o($(function(t,s){if(s.recoverable)this.trace(t);else{var i=new Error(t);throw i.hash=s,i}},"parseError"),"parseError"),parse:o($(function(t){var s=this,i=[0],u=[],f=[null],n=[],v=this.table,w="",L=0,E=0,T=2,I=1,V=n.slice.call(arguments,1),x=Object.create(this.lexer),R={yy:{}};for(var G in this.yy)Object.prototype.hasOwnProperty.call(this.yy,G)&&(R.yy[G]=this.yy[G]);x.setInput(t,R.yy),R.yy.lexer=x,R.yy.parser=this,typeof x.yylloc>"u"&&(x.yylloc={});var M=x.yylloc;n.push(M);var O=x.options&&x.options.ranges;typeof R.yy.parseError=="function"?this.parseError=R.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function z(B){i.length=i.length-2*B,f.length=f.length-B,n.length=n.length-B}$(z,"popStack"),o(z,"popStack");function F(){var B;return B=u.pop()||x.lex()||I,typeof B!="number"&&(B instanceof Array&&(u=B,B=u.pop()),B=s.symbols_[B]||B),B}$(F,"lex"),o(F,"lex");for(var A,j,N,Q,U={},Y,W,it,K;;){if(j=i[i.length-1],this.defaultActions[j]?N=this.defaultActions[j]:((A===null||typeof A>"u")&&(A=F()),N=v[j]&&v[j][A]),typeof N>"u"||!N.length||!N[0]){var J="";K=[];for(Y in v[j])this.terminals_[Y]&&Y>T&&K.push("'"+this.terminals_[Y]+"'");x.showPosition?J="Parse error on line "+(L+1)+`:
2
2
  `+x.showPosition()+`
3
3
  Expecting `+K.join(", ")+", got '"+(this.terminals_[A]||A)+"'":J="Parse error on line "+(L+1)+": Unexpected "+(A==I?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(J,{text:x.match,token:this.terminals_[A]||A,line:x.yylineno,loc:M,expected:K})}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+j+", token: "+A);switch(N[0]){case 1:i.push(A),f.push(x.yytext),n.push(x.yylloc),i.push(N[1]),A=null,E=x.yyleng,w=x.yytext,L=x.yylineno,M=x.yylloc;break;case 2:if(W=this.productions_[N[1]][1],U.$=f[f.length-W],U._$={first_line:n[n.length-(W||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(W||1)].first_column,last_column:n[n.length-1].last_column},O&&(U._$.range=[n[n.length-(W||1)].range[0],n[n.length-1].range[1]]),Q=this.performAction.apply(U,[w,E,L,R.yy,N[1],f,n].concat(V)),typeof Q<"u")return Q;W&&(i=i.slice(0,-1*W*2),f=f.slice(0,-1*W),n=n.slice(0,-1*W)),i.push(this.productions_[N[1]][0]),f.push(U.$),n.push(U._$),it=v[i[i.length-2]][i[i.length-1]],i.push(it);break;case 3:return!0}}return!0},"parse"),"parse")},C=(function(){var P={EOF:1,parseError:o($(function(s,i){if(this.yy.parser)this.yy.parser.parseError(s,i);else throw new Error(s)},"parseError"),"parseError"),setInput:o(function(t,s){return this.yy=s||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var s=t.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:o(function(t){var s=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var f=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===u.length?this.yylloc.first_column:0)+u[u.length-i.length].length-i[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(t){this.unput(this.match.slice(t))},"less"),pastInput:o(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var t=this.pastInput(),s=new Array(t.length+1).join("-");return t+this.upcomingInput()+`