@maycombhq/atticus 2.0.0-beta.12.2 → 2.0.0-beta.14

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 (224) hide show
  1. package/dist/bin.js +3 -3
  2. package/dist/{chunk-ACW2C7CY.js → chunk-24EUDX5K.js} +5 -5
  3. package/dist/{chunk-3BZR2M2H.js → chunk-25TTISZF.js} +149 -104
  4. package/dist/chunk-2QF33M4X.js +43 -0
  5. package/dist/{chunk-BLEZRUU5.js → chunk-35LPWM32.js} +18 -18
  6. package/dist/{chunk-73QQ3KWY.js → chunk-3F4OM72R.js} +11 -11
  7. package/dist/{chunk-JFCTPPRA.js → chunk-3FBY2UAO.js} +102 -102
  8. package/dist/chunk-3GAX4GT2.js +41 -0
  9. package/dist/{chunk-767WN7BP.js → chunk-3RQ5AZA4.js} +3 -3
  10. package/dist/chunk-3UOFXHXE.js +48 -0
  11. package/dist/{chunk-KDKLT22F.js → chunk-45U5EYEE.js} +2 -2
  12. package/dist/{chunk-IRA6XAXY.js → chunk-4AK3G3SO.js} +11 -11
  13. package/dist/{chunk-U24UW3SV.js → chunk-4JCNTKRO.js} +11 -11
  14. package/dist/{chunk-35FTAQDX.js → chunk-4MDSW4HD.js} +4 -4
  15. package/dist/{chunk-PPP75X5G.js → chunk-4SPIDCGQ.js} +11 -11
  16. package/dist/{chunk-FR6J2NW5.js → chunk-4XUMHUAJ.js} +3 -3
  17. package/dist/{chunk-4Q6HX5GQ.js → chunk-5ABRLEKA.js} +1 -1
  18. package/dist/{chunk-PR5X4SIJ.js → chunk-5DJOPXIV.js} +4 -4
  19. package/dist/{chunk-CLDB6K2T.js → chunk-5IA6AEPF.js} +13 -13
  20. package/dist/chunk-5J5BWVSI.js +34 -0
  21. package/dist/{chunk-LQ5CEQFQ.js → chunk-5MHJDI4Q.js} +3 -3
  22. package/dist/{chunk-RA3TVBWK.js → chunk-5NADL2NL.js} +1 -1
  23. package/dist/{chunk-CV2Y7JQU.js → chunk-5SMTR7OH.js} +5 -5
  24. package/dist/{chunk-RSAJ33C6.js → chunk-5TK6HWPJ.js} +15 -15
  25. package/dist/{chunk-4CPOXPS4.js → chunk-5ZTOGSMC.js} +3 -3
  26. package/dist/{chunk-ZJDOYEW4.js → chunk-5ZXQDKGA.js} +6 -6
  27. package/dist/{chunk-X3HFDWKA.js → chunk-62FNRMFS.js} +1 -1
  28. package/dist/{chunk-AAIAS55Y.js → chunk-6BOG3VWS.js} +21 -21
  29. package/dist/{chunk-KTHFVH6T.js → chunk-6FTUMJDB.js} +9 -9
  30. package/dist/{chunk-66VD3EHO.js → chunk-6GT2F5N5.js} +10 -10
  31. package/dist/{chunk-THZXSH5O.js → chunk-6QDXNWK4.js} +11 -11
  32. package/dist/{chunk-CW4OVNJF.js → chunk-6R4S5AQ2.js} +10 -10
  33. package/dist/{chunk-LO3NRDCE.js → chunk-6T6JOLI7.js} +1 -1
  34. package/dist/{chunk-ZS2EZYOR.js → chunk-744GKTHJ.js} +4 -4
  35. package/dist/{chunk-ZNXTVNPY.js → chunk-74VWL26C.js} +19 -19
  36. package/dist/{chunk-WPBQT6VF.js → chunk-7ROVJ63F.js} +4 -4
  37. package/dist/{chunk-ZT6WXY3J.js → chunk-7TKV7LPE.js} +23 -23
  38. package/dist/{chunk-7CJ2TNZZ.js → chunk-7USOANHY.js} +16 -16
  39. package/dist/{chunk-PPCCFZG7.js → chunk-7WBYR3EO.js} +2 -2
  40. package/dist/{chunk-VOZI4AFV.js → chunk-A2ZDCL7B.js} +14 -14
  41. package/dist/{chunk-G3CY3PFO.js → chunk-AG7GZIP2.js} +2 -2
  42. package/dist/{chunk-6ZQOYNTT.js → chunk-AJQL5YGT.js} +46 -2
  43. package/dist/chunk-ANYED2TJ.js +54 -0
  44. package/dist/{chunk-CXDUMI7E.js → chunk-ASMKMBEQ.js} +3 -3
  45. package/dist/{chunk-S6IJNQFM.js → chunk-B3KDZGGW.js} +19 -19
  46. package/dist/{chunk-IUWOOFPR.js → chunk-B6UDXL46.js} +2 -2
  47. package/dist/{chunk-RICWZRBR.js → chunk-BDPECBQC.js} +4 -4
  48. package/dist/{chunk-OG42OLZK.js → chunk-BKJBWKAM.js} +24 -24
  49. package/dist/{chunk-YYV55774.js → chunk-BMQD24X2.js} +1 -1
  50. package/dist/{chunk-E52MNV5B.js → chunk-BYR5KVSS.js} +1090 -40
  51. package/dist/{chunk-C43X7Y7O.js → chunk-BYZER6EW.js} +4 -4
  52. package/dist/{chunk-DRA2V4R4.js → chunk-C4GYAMEL.js} +15 -15
  53. package/dist/{chunk-24ARIOB7.js → chunk-CBVRGUGK.js} +1 -1
  54. package/dist/{chunk-AV2DVINC.js → chunk-CSRNVT6P.js} +10 -10
  55. package/dist/{chunk-XKARSCXA.js → chunk-CT4ADBQQ.js} +14 -14
  56. package/dist/{chunk-IVBSAKVG.js → chunk-CTSB37J2.js} +15 -15
  57. package/dist/{chunk-2Y4EWUDF.js → chunk-CYVG7DD3.js} +4 -4
  58. package/dist/{chunk-ZPNRTY73.js → chunk-D6VVLYMV.js} +4 -4
  59. package/dist/{chunk-NAFPFQMJ.js → chunk-D7UBUQEY.js} +4 -4
  60. package/dist/chunk-DJHPM4TX.js +45 -0
  61. package/dist/{chunk-5VZJX75P.js → chunk-DLYLON5W.js} +11 -11
  62. package/dist/{chunk-DLSPFAC5.js → chunk-DRI5IK3M.js} +9 -3
  63. package/dist/{chunk-DDCK4CFE.js → chunk-DRSJ57DP.js} +2 -2
  64. package/dist/{chunk-AODGV7YL.js → chunk-DSW6E4OR.js} +23 -23
  65. package/dist/{chunk-N3Z5NFM4.js → chunk-DZYM6AN6.js} +4 -4
  66. package/dist/{chunk-PG5FIVP3.js → chunk-ELQCSMJM.js} +16 -16
  67. package/dist/chunk-ERIZ3X7P.js +38 -0
  68. package/dist/{chunk-X2SHYKUY.js → chunk-FHJ3NAIF.js} +6 -6
  69. package/dist/{chunk-JTI3FKGI.js → chunk-FJOFX7VK.js} +4 -4
  70. package/dist/{chunk-LZABEKI6.js → chunk-FVI44U5N.js} +189 -17
  71. package/dist/{chunk-T34ITVSM.js → chunk-GBFDKOY5.js} +4 -4
  72. package/dist/{chunk-2IFPJYBT.js → chunk-GBFPEELX.js} +19 -19
  73. package/dist/{chunk-IPB6EKUH.js → chunk-GN6OYMZS.js} +4 -4
  74. package/dist/{chunk-P4L435FY.js → chunk-GOG2YLKM.js} +12 -12
  75. package/dist/{chunk-AQPK22BH.js → chunk-GQC45MWG.js} +1 -1
  76. package/dist/{chunk-JQHNT45I.js → chunk-GSPYXZF4.js} +17 -17
  77. package/dist/{chunk-3RQK5AWY.js → chunk-HBYNSHIE.js} +4 -4
  78. package/dist/{chunk-K2WOVID6.js → chunk-HITV6XB7.js} +31 -31
  79. package/dist/{chunk-OKLXZ35H.js → chunk-HZWH4QQ4.js} +4 -4
  80. package/dist/{chunk-THLOT563.js → chunk-I3PFGDPR.js} +22 -22
  81. package/dist/{chunk-GFMOU6YM.js → chunk-IBKDZFNF.js} +17 -17
  82. package/dist/{chunk-4M3OQM5V.js → chunk-IEYY25SU.js} +10 -10
  83. package/dist/{chunk-FT2E2DHW.js → chunk-IHTZPVE6.js} +1 -1
  84. package/dist/{chunk-3DMXBIDW.js → chunk-IHZ2JO63.js} +3 -3
  85. package/dist/{chunk-UELYGLNG.js → chunk-IIFZJ52W.js} +14 -14
  86. package/dist/{chunk-7XYCCKGI.js → chunk-IOQDUPUK.js} +12 -12
  87. package/dist/{chunk-YU63ND72.js → chunk-IW4KD2KO.js} +9 -9
  88. package/dist/{chunk-2DFYLFBL.js → chunk-IWD2ZNSK.js} +17 -17
  89. package/dist/{chunk-X4VLWQR2.js → chunk-IWH3CE3N.js} +11 -11
  90. package/dist/{chunk-LIRPXFA4.js → chunk-J2U5CZVH.js} +17 -17
  91. package/dist/{chunk-AOPL3VT7.js → chunk-J6SJR2P2.js} +18 -15
  92. package/dist/{chunk-5BDBPV6V.js → chunk-JCQINQNG.js} +28 -28
  93. package/dist/{chunk-OOQPEISI.js → chunk-JDLYCWEW.js} +3 -3
  94. package/dist/chunk-JDWBTBDL.js +54 -0
  95. package/dist/{chunk-OV3WHHRI.js → chunk-JGPNL65L.js} +1 -1
  96. package/dist/{chunk-OQTSTW2G.js → chunk-JLQIWN7I.js} +6 -6
  97. package/dist/{chunk-S6JXYEG4.js → chunk-JMSK3SKS.js} +5 -5
  98. package/dist/{chunk-VZM535M5.js → chunk-JUWLAORV.js} +6 -6
  99. package/dist/{chunk-MPC5BQ6O.js → chunk-JWUAT3GG.js} +16 -16
  100. package/dist/{chunk-OYGY4DI2.js → chunk-K5DS7HYU.js} +25 -8
  101. package/dist/{chunk-P44WNZXO.js → chunk-K6JTUIBO.js} +15 -15
  102. package/dist/{chunk-OQPFFBPQ.js → chunk-K7OAIHJH.js} +17 -17
  103. package/dist/{chunk-EHLZJPGF.js → chunk-KBLI2YTN.js} +24 -24
  104. package/dist/{chunk-PWUVIOMW.js → chunk-KOLSYPTV.js} +17 -17
  105. package/dist/{chunk-WKVNT6DL.js → chunk-KTV3LDZA.js} +14 -14
  106. package/dist/{chunk-S4EGGQZB.js → chunk-KXNVR3SY.js} +14 -14
  107. package/dist/{chunk-5WIH5VUB.js → chunk-L7JGHU7B.js} +4 -4
  108. package/dist/{chunk-5BVNNYU7.js → chunk-LI4LPS3I.js} +1 -1
  109. package/dist/{chunk-J6FWM4VI.js → chunk-LNWKWUAA.js} +9 -9
  110. package/dist/{chunk-JW3ENKRI.js → chunk-LXEBD6WZ.js} +20 -20
  111. package/dist/{chunk-2L5XV7QK.js → chunk-M5MDJYXB.js} +10 -10
  112. package/dist/{chunk-QBUHJ77Q.js → chunk-M6SGY5AT.js} +18 -18
  113. package/dist/{chunk-7OHYHBEQ.js → chunk-MFDCFFFN.js} +1 -1
  114. package/dist/{chunk-PI6KNUBW.js → chunk-MG4LO2LM.js} +5 -5
  115. package/dist/{chunk-IUKKHYEK.js → chunk-MOYSMFCU.js} +6 -6
  116. package/dist/{chunk-TLTKLVZZ.js → chunk-MPTSUQHD.js} +1 -1
  117. package/dist/{chunk-J347EH7F.js → chunk-MYD3JJDW.js} +5 -5
  118. package/dist/chunk-MZBOXOT7.js +37 -0
  119. package/dist/{chunk-AVEKRWDF.js → chunk-MZHH5S22.js} +4 -4
  120. package/dist/{chunk-QXI64SJ4.js → chunk-N734S36H.js} +1 -1
  121. package/dist/{chunk-YIO2LEBW.js → chunk-NEOXUR77.js} +23 -23
  122. package/dist/{chunk-YDBWECPT.js → chunk-NHA3IIG5.js} +8 -8
  123. package/dist/{chunk-PQVZO25F.js → chunk-NJZEWNUL.js} +3 -3
  124. package/dist/{chunk-LNPS5GQ3.js → chunk-NNCSRRZU.js} +9 -9
  125. package/dist/{chunk-ZUCJCBS5.js → chunk-NONCVSYA.js} +4 -4
  126. package/dist/{chunk-7JA7XGWC.js → chunk-NRMD72XA.js} +24 -24
  127. package/dist/{chunk-ZTF2NSQD.js → chunk-NU6I7ERX.js} +5 -5
  128. package/dist/{chunk-M63Z7PIB.js → chunk-O7DIP5QU.js} +7 -7
  129. package/dist/{chunk-7V3IIWMG.js → chunk-OBGUJGXV.js} +23 -23
  130. package/dist/{chunk-EPTCDW3U.js → chunk-OF4A7CHX.js} +11 -11
  131. package/dist/{chunk-HFMLZFY4.js → chunk-OHSXSOVP.js} +6 -6
  132. package/dist/{chunk-M2U3IZ54.js → chunk-OKBFXKWJ.js} +5 -5
  133. package/dist/{chunk-ASCZ47XX.js → chunk-OMD7ZFUV.js} +2 -2
  134. package/dist/{chunk-K7ICVNZ6.js → chunk-OMTVSFHU.js} +22 -22
  135. package/dist/{chunk-WOWEF5DL.js → chunk-OPXFMH7V.js} +13 -13
  136. package/dist/{chunk-34COONQ2.js → chunk-PDXYFEDF.js} +7 -7
  137. package/dist/{chunk-QQLWNMLX.js → chunk-PLHLCTZC.js} +10 -10
  138. package/dist/{chunk-5WJCV6ED.js → chunk-PTVCIZRD.js} +1 -1
  139. package/dist/chunk-PWAZEGMY.js +43 -0
  140. package/dist/{chunk-OHBNRL75.js → chunk-QKZ4QEQE.js} +1 -1
  141. package/dist/{chunk-WMWYW4WB.js → chunk-QLP7SR7A.js} +1 -1
  142. package/dist/{chunk-UA4DLNV7.js → chunk-QO3IGQAV.js} +2 -2
  143. package/dist/{chunk-RNUHS433.js → chunk-QR7GE4R7.js} +5 -5
  144. package/dist/{chunk-V3P5ZJSO.js → chunk-R6KFSIIX.js} +31 -8
  145. package/dist/{chunk-EL4VOLGT.js → chunk-R6NE7KMO.js} +22 -22
  146. package/dist/{chunk-WMCKOZFT.js → chunk-RMQKKQIR.js} +5 -5
  147. package/dist/{chunk-JEZM3NRF.js → chunk-RWISSEVH.js} +2 -2
  148. package/dist/{chunk-EWJ32DKS.js → chunk-S5J2U5WU.js} +6 -6
  149. package/dist/{chunk-TDQNBA2N.js → chunk-S5U63AKM.js} +20 -20
  150. package/dist/{chunk-QUHSKUDF.js → chunk-SB7TN363.js} +27 -27
  151. package/dist/{chunk-KMU7XNK3.js → chunk-SCFQIVTI.js} +2 -2
  152. package/dist/{chunk-4DRSRU4U.js → chunk-SEIHA4IV.js} +22 -22
  153. package/dist/{chunk-TDKSKJU3.js → chunk-SFCXIHSS.js} +8 -8
  154. package/dist/{chunk-6J2BWOLO.js → chunk-SIXUVC4U.js} +11 -11
  155. package/dist/{chunk-6IFOKO2R.js → chunk-SXG7MWJR.js} +17 -17
  156. package/dist/{chunk-BGASQ4UD.js → chunk-SYSJGL5J.js} +11 -11
  157. package/dist/{chunk-CAH7L2QH.js → chunk-TFWVZXDL.js} +7 -7
  158. package/dist/{chunk-O775JVDM.js → chunk-TRHXX6TK.js} +15 -15
  159. package/dist/{chunk-MA43MHVR.js → chunk-TRQES4AU.js} +3 -3
  160. package/dist/{chunk-QJWE44D4.js → chunk-TTCFBLQN.js} +3 -3
  161. package/dist/{chunk-JARVXMUW.js → chunk-TWH4CWSQ.js} +2 -2
  162. package/dist/{chunk-OAXCNACK.js → chunk-TZBFR7FC.js} +3 -3
  163. package/dist/{chunk-R2A6DAPC.js → chunk-U5IVUP6J.js} +552 -539
  164. package/dist/chunk-UALSP7GQ.js +34 -0
  165. package/dist/chunk-UGLLLLP3.js +151 -0
  166. package/dist/{chunk-LURMCWUG.js → chunk-UXLYDGTH.js} +2 -2
  167. package/dist/{chunk-HSLT4NZA.js → chunk-V7EUAYRF.js} +19 -19
  168. package/dist/{chunk-D6CUQIU3.js → chunk-VFLKU5W2.js} +20 -20
  169. package/dist/{chunk-HZGTUG23.js → chunk-VHHVMIZ2.js} +1 -1
  170. package/dist/{chunk-GP3NGMWY.js → chunk-VKSZ4QRQ.js} +3 -3
  171. package/dist/{chunk-QLJ7KLO3.js → chunk-VPO7QBCI.js} +5 -5
  172. package/dist/{chunk-EUK4IONY.js → chunk-VR3CCWV4.js} +7 -7
  173. package/dist/chunk-VR7NZQTB.js +41 -0
  174. package/dist/{chunk-GGBEM27J.js → chunk-VSVRRZYG.js} +3 -3
  175. package/dist/{chunk-5P766RED.js → chunk-VU2SU7YM.js} +15 -1
  176. package/dist/{chunk-QZIAPAUG.js → chunk-VUH22CD2.js} +136 -35
  177. package/dist/{chunk-REFOPAZF.js → chunk-VUWEGLE5.js} +24 -24
  178. package/dist/{chunk-FM56YGBC.js → chunk-VZXFVGF4.js} +7 -7
  179. package/dist/{chunk-VK22DOCQ.js → chunk-WCI34RMN.js} +22 -22
  180. package/dist/{chunk-6FYKGYAO.js → chunk-WCM5NQQN.js} +6 -6
  181. package/dist/{chunk-U7RMOCQQ.js → chunk-WD4FEXU2.js} +7 -7
  182. package/dist/{chunk-R5DGXWOX.js → chunk-WE7XQEU3.js} +5 -5
  183. package/dist/{chunk-3ENG33LV.js → chunk-WF4MREFF.js} +3 -3
  184. package/dist/{chunk-7YZ6JPFR.js → chunk-WJCQ5LIS.js} +2 -2
  185. package/dist/{chunk-2UPMPTNJ.js → chunk-WLRBN5WZ.js} +4 -4
  186. package/dist/{chunk-KLROTB6N.js → chunk-WMIVXJZI.js} +2 -2
  187. package/dist/{chunk-5CIFSHTS.js → chunk-WTASJAJP.js} +17 -17
  188. package/dist/{chunk-ZIVRZ3WV.js → chunk-WZUHRZEU.js} +21 -21
  189. package/dist/{chunk-PURVXI7L.js → chunk-X2FQF2OU.js} +4 -4
  190. package/dist/{chunk-UOW37F7C.js → chunk-X3GQJ7NF.js} +3 -3
  191. package/dist/{chunk-X5IKLUFM.js → chunk-XFFJC3CG.js} +3 -3
  192. package/dist/{chunk-U55GKPUB.js → chunk-XHOLEYC2.js} +14 -14
  193. package/dist/{chunk-FAAOOT34.js → chunk-XPKSNF34.js} +4 -4
  194. package/dist/{chunk-E53MN24E.js → chunk-XR43R3R7.js} +29 -10
  195. package/dist/{chunk-NTUHEHC6.js → chunk-XWWTLE3A.js} +13 -13
  196. package/dist/{chunk-JLZPUCEC.js → chunk-XXFSFT3Y.js} +6 -6
  197. package/dist/{chunk-JLF4JIZ6.js → chunk-Y7PPHHAL.js} +10 -10
  198. package/dist/{chunk-KZSIKS64.js → chunk-YBMXI4JK.js} +10 -10
  199. package/dist/{chunk-3LWQYHID.js → chunk-YHCTZC6K.js} +7 -7
  200. package/dist/{chunk-UGMJ3Z35.js → chunk-YSLIXVBW.js} +2 -2
  201. package/dist/{chunk-WQKMAOD7.js → chunk-Z3GCR344.js} +4 -4
  202. package/dist/{chunk-LUBKMCTR.js → chunk-Z3ZL3UHQ.js} +2 -2
  203. package/dist/{chunk-64BU3UUE.js → chunk-Z5TS4KDL.js} +16 -16
  204. package/dist/{chunk-MT6GHEH5.js → chunk-ZDJ7LQNW.js} +4 -4
  205. package/dist/{chunk-V5UZVS74.js → chunk-ZJRLEEL4.js} +11 -11
  206. package/dist/{chunk-SOLKTI2T.js → chunk-ZOC5JCIY.js} +4 -4
  207. package/dist/files.json +455 -447
  208. package/dist/packages/sdk/npm/index.js +59 -9
  209. package/dist/packages/ui/dist/assets/{elk-api-GNftut9z.js → elk-api-BuFBvNyV.js} +2 -2
  210. package/dist/packages/ui/dist/assets/{index-C0JEkXyN.css → index-C5QnK82A.css} +1 -1
  211. package/dist/packages/ui/dist/assets/{index-C2evnHpj.js → index-CQ0a1cBg.js} +12 -12
  212. package/dist/packages/ui/dist/index.html +2 -2
  213. package/package.json +4 -4
  214. package/dist/chunk-6VIQB6XT.js +0 -37
  215. package/dist/chunk-BUJJLQ7C.js +0 -41
  216. package/dist/chunk-FML6GOUB.js +0 -45
  217. package/dist/chunk-HEQ2YUFK.js +0 -43
  218. package/dist/chunk-JHISKJFN.js +0 -48
  219. package/dist/chunk-KLFPFMXV.js +0 -38
  220. package/dist/chunk-KSAKVVOA.js +0 -34
  221. package/dist/chunk-M5NKIQKM.js +0 -34
  222. package/dist/chunk-O23JP5EA.js +0 -54
  223. package/dist/chunk-WZEUA4PU.js +0 -54
  224. package/dist/chunk-XMRFYVBB.js +0 -41
@@ -2423,10 +2423,25 @@ var ASSISTANTS = [
2423
2423
  var AssistantId = z9.enum(ASSISTANTS);
2424
2424
  var STEP_CLASSES = ["read", "draft", "critic", "knowledge", "quick"];
2425
2425
  var StepClass = z9.enum(STEP_CLASSES);
2426
- var RUNTIME_SCHEMA_VERSION = 2;
2426
+ var RUNTIME_SCHEMA_VERSION = 3;
2427
+ var ConfiguredMode = z9.enum(["hand-off", "model", "headless-claude-code", "copilot-acp"]);
2428
+ var CopilotAcpSettings = z9.strictObject({
2429
+ command: z9.string().trim().min(1).optional(),
2430
+ model: StepModelId().optional(),
2431
+ maxTurns: z9.number().int().positive().max(5e3).optional(),
2432
+ timeoutMs: z9.number().int().min(1e4).max(24 * 60 * 6e4).optional()
2433
+ });
2434
+ function StepModelId() {
2435
+ return z9.string().min(1).regex(/^\S+$/, "a model id, without spaces");
2436
+ }
2437
+ var COPILOT_ACP_DEFAULTS = {
2438
+ command: "npx --yes @github/copilot-language-server",
2439
+ maxTurns: 200,
2440
+ timeoutMs: 30 * 6e4
2441
+ };
2427
2442
  var StepModel = z9.string().min(1).regex(/^\S+$/, "a model name or vendor/family, without spaces");
2428
2443
  var RuntimeFields = z9.strictObject({
2429
- schemaVersion: z9.union([V2, z9.literal(RUNTIME_SCHEMA_VERSION)]),
2444
+ schemaVersion: z9.union([V2, z9.literal(2), z9.literal(RUNTIME_SCHEMA_VERSION)]),
2430
2445
  assistants: z9.strictObject({
2431
2446
  allowed: z9.array(AssistantId).min(1),
2432
2447
  default: AssistantId
@@ -2438,10 +2453,13 @@ var RuntimeFields = z9.strictObject({
2438
2453
  * don't hold a gate, AI buttons become guidance, and people write what agents would draft.
2439
2454
  */
2440
2455
  ai: z9.enum(["on", "text-only", "off"]).default("on"),
2441
- /** How AI steps run: hand-off to the assistant, a direct model call, or headless Claude Code. */
2456
+ /**
2457
+ * How AI steps run: hand-off to the assistant, a direct model call, headless Claude Code, or
2458
+ * (version 3, ADR 0171) Copilot driven unattended through its Agent Client Protocol.
2459
+ */
2442
2460
  modes: z9.strictObject({
2443
- allowed: z9.array(z9.enum(["hand-off", "model", "headless-claude-code"])).min(1),
2444
- default: z9.enum(["hand-off", "model", "headless-claude-code"])
2461
+ allowed: z9.array(ConfiguredMode).min(1),
2462
+ default: ConfiguredMode
2445
2463
  }).refine((m) => m.allowed.includes(m.default), "the default mode must be allowed").default({ allowed: ["hand-off"], default: "hand-off" }),
2446
2464
  models: z9.strictObject({
2447
2465
  allowed: z9.array(z9.string().min(1)).default([]),
@@ -2481,6 +2499,8 @@ var RuntimeFields = z9.strictObject({
2481
2499
  * the section and one with an empty section get the same defaults.
2482
2500
  */
2483
2501
  retrieval: RetrievalSettings.optional(),
2502
+ /** Version 3 (ADR 0171): how copilot-acp starts the Copilot language server. */
2503
+ copilotAcp: CopilotAcpSettings.optional(),
2484
2504
  /** Atticus sends no telemetry unless an organisation turns it on here. */
2485
2505
  telemetry: z9.strictObject({ enabled: z9.boolean().default(false) }).default({ enabled: false }),
2486
2506
  adapters: z9.strictObject({
@@ -2513,6 +2533,20 @@ var RuntimeFields = z9.strictObject({
2513
2533
  }).optional()
2514
2534
  });
2515
2535
  var Runtime = RuntimeFields.superRefine((r, ctx) => {
2536
+ if (r.schemaVersion < 3) {
2537
+ if ([...r.modes.allowed, r.modes.default].includes("copilot-acp"))
2538
+ ctx.addIssue({
2539
+ code: "custom",
2540
+ path: ["modes"],
2541
+ message: "copilot-acp needs schemaVersion 3 (ADR 0171): run atticus upgrade"
2542
+ });
2543
+ if (r.copilotAcp !== void 0)
2544
+ ctx.addIssue({
2545
+ code: "custom",
2546
+ path: ["copilotAcp"],
2547
+ message: "copilotAcp needs schemaVersion 3 (ADR 0171): run atticus upgrade"
2548
+ });
2549
+ }
2516
2550
  if (r.schemaVersion !== 1)
2517
2551
  return;
2518
2552
  for (const c of STEP_CLASSES)
@@ -4568,7 +4602,14 @@ var EstateJoins = z25.strictObject({
4568
4602
  // packages/core/dist/schema/ai.js
4569
4603
  import { z as z26 } from "zod";
4570
4604
  var AI_SCHEMA_VERSION = 1;
4571
- var RuntimeKind = z26.enum(["hand-off", "model", "headless-claude-code", "mock", "replay"]);
4605
+ var RuntimeKind = z26.enum([
4606
+ "hand-off",
4607
+ "model",
4608
+ "headless-claude-code",
4609
+ "copilot-acp",
4610
+ "mock",
4611
+ "replay"
4612
+ ]);
4572
4613
  var AgentInput = z26.union([
4573
4614
  ChangeArtifact,
4574
4615
  z26.enum([
@@ -4652,7 +4693,12 @@ var RunState = z26.enum([
4652
4693
  "failed",
4653
4694
  "cancelled"
4654
4695
  ]);
4655
- var RUN_SCHEMA_VERSION = 4;
4696
+ var RUN_SCHEMA_VERSION = 5;
4697
+ var RunAssistant = z26.strictObject({
4698
+ name: z26.string().min(1),
4699
+ version: z26.string().min(1).optional(),
4700
+ protocolVersion: z26.number().int().min(0).optional()
4701
+ });
4656
4702
  var RunRetrieval = z26.strictObject({
4657
4703
  expansion: z26.strictObject({
4658
4704
  run: z26.string().min(1).optional(),
@@ -4731,7 +4777,9 @@ var RunSummary = z26.strictObject({
4731
4777
  * Claude Code was given, or the editor's model a hand-off was answered with (`atticus handoff
4732
4778
  * done --model`). Left out when nothing said which.
4733
4779
  */
4734
- model: z26.string().min(1).optional()
4780
+ model: z26.string().min(1).optional(),
4781
+ /** The assistant program it talked to (version 5, ADR 0171), when the runtime drives one. */
4782
+ assistant: RunAssistant.optional()
4735
4783
  });
4736
4784
  var Recording = z26.strictObject({
4737
4785
  schemaVersion: z26.literal(AI_SCHEMA_VERSION),
@@ -5598,7 +5646,9 @@ var ContractCounts = z29.object({
5598
5646
  links: z29.number().int(),
5599
5647
  compared: z29.number().int(),
5600
5648
  mismatches: z29.number().int(),
5601
- unconfirmed: z29.number().int()
5649
+ unconfirmed: z29.number().int(),
5650
+ /** 2.50.0 (ADR 0172): the calls no link starts at, whose payload can't be checked yet. */
5651
+ unlinked: z29.number().int().optional()
5602
5652
  });
5603
5653
  var TrustView = z29.object({
5604
5654
  /** Where the facts files are, relative to the metarepo. */
@@ -1,2 +1,2 @@
1
- import{n as e,t}from"./index-C2evnHpj.js";var n=t(((t,n)=>{(function(e){if(typeof t==`object`&&n!==void 0)n.exports=e();else if(typeof define==`function`&&define.amd)define([],e);else{var r=typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:this;r.ELK=e()}})(function(){return(function(){function t(n,r,i){function a(s,c){if(!r[s]){if(!n[s]){var l=typeof e==`function`&&e;if(!c&&l)return l(s,!0);if(o)return o(s,!0);var u=Error(`Cannot find module '`+s+`'`);throw u.code=`MODULE_NOT_FOUND`,u}var d=r[s]={exports:{}};n[s][0].call(d.exports,function(e){var t=n[s][1][e];return a(t||e)},d,d.exports,t,n,r,i)}return r[s].exports}for(var o=typeof e==`function`&&e,s=0;s<i.length;s++)a(i[s]);return a}return t})()({1:[function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function i(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}n.default=function(){function e(){var t=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=n.defaultLayoutOptions,o=r===void 0?{}:r,s=n.algorithms,c=s===void 0?[`layered`,`stress`,`mrtree`,`radial`,`force`,`disco`,`sporeOverlap`,`sporeCompaction`,`rectpacking`]:s,l=n.workerFactory,u=n.workerUrl;if(i(this,e),this.defaultLayoutOptions=o,this.initialized=!1,u===void 0&&l===void 0)throw Error(`Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.`);var d=l;u!==void 0&&l===void 0&&(d=function(e){return new Worker(e)});var f=d(u);if(typeof f.postMessage!=`function`)throw TypeError(`Created worker does not provide the required 'postMessage' function.`);this.worker=new a(f),this.worker.postMessage({cmd:`register`,algorithms:c}).then(function(e){return t.initialized=!0}).catch(console.err)}return r(e,[{key:`layout`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.layoutOptions,r=n===void 0?this.defaultLayoutOptions:n,i=t.logging,a=i!==void 0&&i,o=t.measureExecutionTime,s=o!==void 0&&o;return e?this.worker.postMessage({cmd:`layout`,graph:e,layoutOptions:r,options:{logging:a,measureExecutionTime:s}}):Promise.reject(Error(`Missing mandatory parameter 'graph'.`))}},{key:`knownLayoutAlgorithms`,value:function(){return this.worker.postMessage({cmd:`algorithms`})}},{key:`knownLayoutOptions`,value:function(){return this.worker.postMessage({cmd:`options`})}},{key:`knownLayoutCategories`,value:function(){return this.worker.postMessage({cmd:`categories`})}},{key:`terminateWorker`,value:function(){this.worker&&this.worker.terminate()}}]),e}();var a=function(){function e(t){var n=this;if(i(this,e),t===void 0)throw Error(`Missing mandatory parameter 'worker'.`);this.resolvers={},this.worker=t,this.worker.onmessage=function(e){setTimeout(function(){n.receive(n,e)},0)}}return r(e,[{key:`postMessage`,value:function(e){var t=this.id||0;this.id=t+1,e.id=t;var n=this;return new Promise(function(r,i){n.resolvers[t]=function(e,t){e?(n.convertGwtStyleError(e),i(e)):r(t)},n.worker.postMessage(e)})}},{key:`receive`,value:function(e,t){var n=t.data,r=e.resolvers[n.id];r&&(delete e.resolvers[n.id],n.error?r(n.error):r(null,n.data))}},{key:`terminate`,value:function(){this.worker&&this.worker.terminate()}},{key:`convertGwtStyleError`,value:function(e){if(e){var t=e.__java$exception;t&&(t.cause&&t.cause.backingJsObject&&(e.cause=t.cause.backingJsObject,this.convertGwtStyleError(e.cause)),delete e.__java$exception)}}}]),e}()},{}],2:[function(e,t,n){var r=e("./elk-api.js").default;Object.defineProperty(t.exports,"__esModule",{value:!0}),t.exports=r,r.default=r},{"./elk-api.js":1}]},{},[2])(2)})}));export default n();
2
- //# sourceMappingURL=elk-api-GNftut9z.js.map
1
+ import{n as e,t}from"./index-CQ0a1cBg.js";var n=t(((t,n)=>{(function(e){if(typeof t==`object`&&n!==void 0)n.exports=e();else if(typeof define==`function`&&define.amd)define([],e);else{var r=typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:this;r.ELK=e()}})(function(){return(function(){function t(n,r,i){function a(s,c){if(!r[s]){if(!n[s]){var l=typeof e==`function`&&e;if(!c&&l)return l(s,!0);if(o)return o(s,!0);var u=Error(`Cannot find module '`+s+`'`);throw u.code=`MODULE_NOT_FOUND`,u}var d=r[s]={exports:{}};n[s][0].call(d.exports,function(e){var t=n[s][1][e];return a(t||e)},d,d.exports,t,n,r,i)}return r[s].exports}for(var o=typeof e==`function`&&e,s=0;s<i.length;s++)a(i[s]);return a}return t})()({1:[function(e,t,n){Object.defineProperty(n,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function i(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}n.default=function(){function e(){var t=this,n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=n.defaultLayoutOptions,o=r===void 0?{}:r,s=n.algorithms,c=s===void 0?[`layered`,`stress`,`mrtree`,`radial`,`force`,`disco`,`sporeOverlap`,`sporeCompaction`,`rectpacking`]:s,l=n.workerFactory,u=n.workerUrl;if(i(this,e),this.defaultLayoutOptions=o,this.initialized=!1,u===void 0&&l===void 0)throw Error(`Cannot construct an ELK without both 'workerUrl' and 'workerFactory'.`);var d=l;u!==void 0&&l===void 0&&(d=function(e){return new Worker(e)});var f=d(u);if(typeof f.postMessage!=`function`)throw TypeError(`Created worker does not provide the required 'postMessage' function.`);this.worker=new a(f),this.worker.postMessage({cmd:`register`,algorithms:c}).then(function(e){return t.initialized=!0}).catch(console.err)}return r(e,[{key:`layout`,value:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=t.layoutOptions,r=n===void 0?this.defaultLayoutOptions:n,i=t.logging,a=i!==void 0&&i,o=t.measureExecutionTime,s=o!==void 0&&o;return e?this.worker.postMessage({cmd:`layout`,graph:e,layoutOptions:r,options:{logging:a,measureExecutionTime:s}}):Promise.reject(Error(`Missing mandatory parameter 'graph'.`))}},{key:`knownLayoutAlgorithms`,value:function(){return this.worker.postMessage({cmd:`algorithms`})}},{key:`knownLayoutOptions`,value:function(){return this.worker.postMessage({cmd:`options`})}},{key:`knownLayoutCategories`,value:function(){return this.worker.postMessage({cmd:`categories`})}},{key:`terminateWorker`,value:function(){this.worker&&this.worker.terminate()}}]),e}();var a=function(){function e(t){var n=this;if(i(this,e),t===void 0)throw Error(`Missing mandatory parameter 'worker'.`);this.resolvers={},this.worker=t,this.worker.onmessage=function(e){setTimeout(function(){n.receive(n,e)},0)}}return r(e,[{key:`postMessage`,value:function(e){var t=this.id||0;this.id=t+1,e.id=t;var n=this;return new Promise(function(r,i){n.resolvers[t]=function(e,t){e?(n.convertGwtStyleError(e),i(e)):r(t)},n.worker.postMessage(e)})}},{key:`receive`,value:function(e,t){var n=t.data,r=e.resolvers[n.id];r&&(delete e.resolvers[n.id],n.error?r(n.error):r(null,n.data))}},{key:`terminate`,value:function(){this.worker&&this.worker.terminate()}},{key:`convertGwtStyleError`,value:function(e){if(e){var t=e.__java$exception;t&&(t.cause&&t.cause.backingJsObject&&(e.cause=t.cause.backingJsObject,this.convertGwtStyleError(e.cause)),delete e.__java$exception)}}}]),e}()},{}],2:[function(e,t,n){var r=e("./elk-api.js").default;Object.defineProperty(t.exports,"__esModule",{value:!0}),t.exports=r,r.default=r},{"./elk-api.js":1}]},{},[2])(2)})}));export default n();
2
+ //# sourceMappingURL=elk-api-BuFBvNyV.js.map
@@ -1 +1 @@
1
- .run-note{white-space:pre-line;margin:8px 0 0;font-size:12.5px}.run-note.ok{color:var(--green)}.run-note.bad{color:var(--magenta-text)}.run-note.working{color:var(--text-2)}.run-input,.run-select,.run-textarea{background:var(--box);min-width:0;height:32px;color:var(--text);border:1px solid var(--line-2);font:inherit;border-radius:6px;padding:0 8px;font-size:12.5px}.run-textarea{height:auto;font-family:var(--mono);padding:8px}.run-label{color:var(--text-2);flex-direction:column;gap:4px;font-size:12px;display:flex}.run-copy{height:26px;padding:0 8px;font-size:11px}.run-choice{flex-wrap:wrap;gap:6px}.run-choice .btn.on{border-color:var(--accent);background:var(--picked-strong);color:var(--text)}.run-facts{grid-template-columns:minmax(90px,max-content) 1fr;gap:6px 12px;margin:0;font-size:12.5px;display:grid}.run-facts dt{padding-top:2px;font-size:10px}.run-facts dd{word-break:break-word;margin:0}.run-table{border-collapse:collapse;width:100%;font-size:12.5px}.run-table th{text-align:left;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:4px 8px 6px 0;font-size:10px;font-weight:400}.run-table td{border-top:1px solid var(--rule);vertical-align:top;padding:7px 8px 7px 0}.run-pick{border:0;border-bottom:1px solid var(--rule);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 6px;display:flex}.run-pick:hover{background:var(--hover-soft)}.run-pick[aria-current=true]{background:var(--picked);box-shadow:inset 2px 0 0 var(--accent)}.run-field{border-bottom:1px solid var(--rule);grid-template-columns:minmax(120px,.35fr) 1fr auto;align-items:start;gap:10px;padding:7px 0;display:grid}.run-field:last-child{border-bottom:0}.run-field .value{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;font-size:12px}.run-field .value.empty{color:var(--amber);font-family:var(--font)}.run-text{white-space:pre-wrap;color:var(--text-2);margin:0;font-size:12.5px;line-height:1.6}.run-inert{background:var(--box);border:1px dashed var(--magenta-line);font-family:var(--mono);white-space:pre-wrap;word-break:break-word;color:var(--text-2);border-radius:6px;margin:6px 0 0;padding:8px;font-size:11.5px;display:block}.run-safety{border:1px solid var(--green-line-soft);color:var(--text-2);border-radius:8px;padding:10px 12px;font-size:12.5px;line-height:1.55}.run-gates{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.run-gates li{border:1px solid var(--line-2);border-radius:8px;flex-direction:column;gap:6px;padding:10px;display:flex}.run-steps{color:var(--text-2);margin:0;padding-left:20px;line-height:1.6}.runs-id{color:var(--muted);font-size:11px;display:block}.runs-h{margin:0 0 6px;font-size:10px}.runs-h4{color:var(--text);margin:0 0 6px;font-size:12.5px;font-weight:600}.runs-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:12px;display:grid}.runs-pair>*{min-width:0}.runs-text,.runstep-out{border:1px solid var(--line-2);background:var(--box);max-height:420px;color:var(--text);font-family:var(--mono,ui-monospace, monospace);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;margin:0;padding:10px 12px;font-size:12px;line-height:1.5;overflow:auto}.runstep-out{max-height:220px}.runs-text:focus-visible,.runstep-out:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.runs-problems{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.runs-line{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-family:inherit;font-size:12.5px}.runs-rounds{flex-wrap:wrap;gap:4px 18px;margin:0;padding-left:20px;display:flex}.runs-rounds a[aria-current=page]{font-weight:600}.runstep{gap:6px;margin:6px 0 2px}.runstep-lines{color:var(--text-2);overflow-wrap:anywhere;margin:0;padding-left:18px;font-size:12px}.runstep-end{color:var(--text);margin:0;font-size:12.5px}@media (width<=900px){.runs-pair{grid-template-columns:minmax(0,1fr)}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color,var(--xy-background-color-props,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.ev-wrap{max-width:100%;display:inline-block;position:relative}.ev-cite{border:0;border-bottom:1px solid var(--line-2);color:var(--text-2);font:inherit;cursor:pointer;text-align:left;background:0 0;flex-wrap:wrap;align-items:baseline;gap:6px;padding:0 1px;display:inline-flex}.ev-cite:hover,.ev-cite:focus-visible{color:var(--text);border-bottom-color:var(--accent)}.ev-cite.gappy{border-bottom:1px dashed var(--amber)}.ev-tip{z-index:30;background:var(--box);border:1px solid var(--line-2);min-width:260px;max-width:min(480px,80vw);box-shadow:var(--shadow);color:var(--text);white-space:normal;border-radius:8px;margin-top:4px;padding:8px 10px;font-size:12px;line-height:1.5;display:none;position:absolute;top:100%;left:0}.ev-wrap:hover .ev-tip,.ev-wrap:focus-within .ev-tip{flex-direction:column;gap:4px;display:flex}.ev-wrap.quiet .ev-tip,.ev-wrap.open .ev-tip{display:none}.ev-place{word-break:break-all;font-size:11.5px}.ev-say{color:var(--text-2);margin:0;font-size:12px}.ev-quote{background:var(--inset);border-left:2px solid var(--accent);white-space:pre-wrap;word-break:break-word;padding:4px 6px;font-size:11.5px;display:block}.ev-fact{font-size:12px;display:block}.ev-corr{color:var(--amber-text)}.ev-gaps{flex-wrap:wrap;gap:6px;display:inline-flex}.ev-gap{color:var(--amber-text);white-space:nowrap;font-size:11px}.ev-gap.ev-question{color:var(--violet-text)}.ev-details{background:var(--box);border:1px solid var(--line-2);white-space:normal;border-radius:8px;flex-direction:column;gap:6px;min-width:260px;margin-top:6px;padding:10px;display:flex}.ev-list{margin:0;padding-left:18px;font-size:12.5px}.ev-list li{margin-bottom:6px}.ev-correct{gap:8px;margin-top:8px}.ev-correct input,.ev-correct textarea{background:var(--input);color:var(--text);border:1px solid var(--line-2);font:12.5px var(--mono);border-radius:6px;padding:4px 8px}.ev-choice{border:0;flex-wrap:wrap;gap:16px;margin:0;padding:0;display:flex}.ev-fields{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.work-next{grid-column:1/-1;margin-bottom:14px}.work-why{color:var(--text);margin:0 0 8px;font-size:13.5px;line-height:1.5}.work-say{color:var(--text-2);margin:8px 0 4px;font-size:12px}.work-cmd{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.work-cmd code{border:1px solid var(--line-2);background:var(--box);min-width:0;color:var(--accent-soft);overflow-wrap:anywhere;border-radius:6px;flex:240px;padding:7px 10px;font-size:12.5px}.work-after{margin-top:10px}.work-after summary{cursor:pointer;color:var(--text-2)}.work-after ol,.work-steps{flex-direction:column;gap:10px;margin:6px 0 0;padding-left:20px;display:flex}.work-steps li p{margin:0 0 4px}.cd-legend{flex-wrap:wrap;gap:8px 16px;margin:0 0 8px;padding:0;font-size:12px;list-style:none;display:flex}.cd-key{border:1px solid var(--line-2);border-radius:4px;padding:2px 8px}.cd-key.m-new{border:2px solid var(--green)}.cd-key.m-modify{border:2px solid var(--amber)}.cd-key.m-retire{border:1px dashed var(--muted);text-decoration:line-through}.cd-canvas{margin:0 0 12px}.cd-problems{color:var(--amber-text);margin:0 0 12px}.cd-mermaid{align-items:flex-start;gap:8px;display:flex}.cd-mermaid pre{background:var(--inset);border:1px solid var(--line-2);flex:1;max-height:260px;margin:0;padding:8px;font-size:11.5px;overflow:auto}.stage-finding{border:1px solid var(--line-2);background:var(--inset);border-radius:8px;padding:10px 12px}.stage-facts{grid-template-columns:max-content 1fr;gap:4px 12px;margin:0 0 8px;font-size:12.5px;display:grid}.stage-facts dt{color:var(--muted)}.stage-facts dd{margin:0}.stage-comments{margin:0;padding-left:18px;font-size:12.5px}.stage-comments li{margin-bottom:6px}.est-band{margin:0 0 10px}.est-big{margin:2px 0 0;font-size:15px}.trust-list{margin:4px 0 0}.trust-items{margin:4px 0 0;padding-left:18px;font-size:12px}.flows-grid{grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:start;gap:14px;display:grid}@media (width<=900px){.flows-grid{grid-template-columns:minmax(0,1fr)}}.flow-list{gap:4px;max-height:70vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.flow-list a{border:1px solid var(--line);color:var(--text);border-radius:6px;gap:2px;padding:8px 10px;text-decoration:none;display:grid}.flow-list a:hover,.flow-list a:focus-visible{border-color:var(--line-2);background:var(--picked-soft)}.flow-list a[aria-current=true]{border-color:var(--accent);background:var(--picked)}.flow-name{font-weight:600}.flow-trigger,.flow-counts{color:var(--text-2);font-size:12px}.seq-wrap{min-width:0}.seq{--col:minmax(200px, 1fr);padding-bottom:6px;overflow-x:auto}.seq-row{grid-template-columns:repeat(var(--lanes), var(--col));column-gap:0;display:grid;position:relative}.seq-steps{margin:0;padding:0;list-style:none}.seq-head{z-index:2;background:var(--ground);padding-bottom:6px;position:sticky;top:0}.seq-lane{border:1px solid var(--line-2);text-align:center;overflow-wrap:anywhere;border-radius:6px;gap:2px;margin:0 6px;padding:6px 8px;display:grid}.seq-lane small{color:var(--muted);font-size:11px}.seq-lane.self{border-color:var(--accent)}.seq-lane.caller,.seq-lane.gateway{border-color:var(--amber)}.seq-lane.component{border-color:var(--violet)}.seq-lane.store{border-color:var(--green)}.seq-lane.topic{border-color:var(--accent-soft);border-style:dashed}.seq-life{border-left:1px dashed var(--line-2);grid-row:1;justify-self:center;width:0}.seq-arrow{margin-top:22px;margin-left:calc(100% / (var(--span) * 2));margin-right:calc(100% / (var(--span) * 2));border-top:2px solid var(--accent-soft);z-index:0;grid-row:1;align-self:start;height:0;position:relative}.seq-arrow.back{border-top-style:dashed}.seq-arrow:after{content:"";border:6px solid #0000;position:absolute;top:-7px}.seq-arrow.right:after{border-left:9px solid var(--accent-soft);border-right-width:0;right:-2px}.seq-arrow.left:after{border-right:9px solid var(--accent-soft);border-left-width:0;left:-2px}.seq-arrow em{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-style:normal;font-family:var(--mono);color:var(--accent-soft);background:var(--ground);padding:0 4px;font-size:11px;position:absolute;bottom:4px;left:50%;overflow:hidden;transform:translate(-50%)}.seq-box{z-index:1;border:1px solid var(--line-2);background:var(--box-2);border-radius:6px;grid-row:1;gap:4px;min-width:0;margin:6px;padding:8px 10px;display:grid;position:relative}.seq-box.k-call-out,.seq-box.k-publish{border-color:var(--violet)}.seq-box.k-read,.seq-box.k-write,.seq-box.k-lookup{border-color:var(--green)}.seq-box.k-respond{border-color:var(--accent)}.seq-top{align-items:baseline;gap:8px;display:flex}.seq-n{font-family:var(--display);color:var(--accent);font-weight:700}.seq-kind{letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-size:10px}.seq-what{margin:0;line-height:1.4}.seq-fields{color:var(--text-2);font-family:var(--mono);overflow-wrap:anywhere;margin:0;padding-left:16px;font-size:11px}.seq-cite{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:11px}.seq-cite code{font-family:var(--mono)}.seq-ok{color:var(--green);font-size:11px}.seq-unsure{color:var(--amber);font-size:11px}.seq-opens{color:var(--accent-soft);font-size:12px}.seq-unjoined{color:var(--amber);margin:0;font-size:12px}.seq-h{margin-top:16px}.seq-errors{gap:4px;margin:0;padding-left:18px;display:grid}.seq-errors code{color:var(--muted);font-family:var(--mono);margin-left:8px;font-size:11px}.seq-now .seq-box{outline:2px solid var(--accent);outline-offset:2px}.seq .seq-row{padding-left:calc(var(--frames,0) * 14px)}.seq-frame{top:0;bottom:0;left:calc(var(--depth) * 14px + 4px);border-left:3px solid var(--violet);width:0;position:absolute}.seq-frame.retry{border-left-style:double;border-left-width:4px}.seq-frame.first{top:10px}.seq-frame.last{bottom:10px}.seq-frame.first:before,.seq-frame.last:after{content:"";border-top:3px solid var(--violet);width:10px;position:absolute;left:-3px}.seq-frame.first:before{top:0}.seq-frame.last:after{bottom:0}.seq-frame-label{white-space:nowrap;letter-spacing:.04em;color:var(--violet);background:var(--ground);z-index:2;padding:0 4px;font-size:10px;position:absolute;top:-10px;left:10px}.seq-mark{letter-spacing:.06em;text-transform:uppercase;margin-left:auto;font-size:10px;font-weight:600}.seq-mark.m-added{color:var(--green)}.seq-mark.m-changed{color:var(--amber)}.seq-mark.m-removed{color:var(--text-2)}.seq-box.m-added{border:2px solid var(--green)}.seq-box.m-changed{border:2px solid var(--amber)}.seq-box.m-removed{border:1px dashed var(--muted);opacity:.8}.seq-box.m-removed .seq-what{text-decoration:line-through}.seq-was,.seq-why{color:var(--text-2);margin:0;font-size:12px}.seq-lane.new{border-style:dashed;border-width:2px}.seq-kind.d-new{color:var(--green)}.seq-kind.d-modify{color:var(--amber)}.seq-kind.d-remove{color:var(--text-2)}.seq-bar{justify-content:flex-end;align-items:center;gap:8px;margin-bottom:6px;display:flex}.seq-wrap.viewer-full{overflow:auto}.history-filters{flex-wrap:wrap;align-items:flex-end;gap:12px}.history-session{border-top:1px solid var(--line-2);padding-top:10px}.history-h{color:var(--text);margin:0 0 8px;font-size:13px;font-weight:600}.history-turns{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.history-turn{min-width:0}.history-tags{margin:0 0 6px;font-size:12px}.history-said{min-width:0}.history-note{color:var(--muted);margin:0 0 6px;font-size:12px}@media (width<=720px){.history-turn .runs-pair{grid-template-columns:minmax(0,1fr)}}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(./rajdhani-devanagari-600-normal-DhS7ScYx.woff2)format("woff2"),url(./rajdhani-devanagari-600-normal-BtY48IV_.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(./rajdhani-latin-ext-600-normal-C9ZjJQAt.woff2)format("woff2"),url(./rajdhani-latin-ext-600-normal-BleIgkPp.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(./rajdhani-latin-600-normal-CXCVEoA9.woff2)format("woff2"),url(./rajdhani-latin-600-normal-Dx02qI2_.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-devanagari-700-normal-BQQOj9BB.woff2)format("woff2"),url(./rajdhani-devanagari-700-normal-DBRwWuxA.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-latin-ext-700-normal-S6aYESQK.woff2)format("woff2"),url(./rajdhani-latin-ext-700-normal-BPaQ7tlD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-latin-700-normal-BPDUZo87.woff2)format("woff2"),url(./rajdhani-latin-700-normal-e0Uj8ZlN.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(./ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(./ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(./ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(./ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(./ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(./ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(./jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(./jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(./jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(./jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(./jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(./jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(./jetbrains-mono-greek-500-normal-D7SFKleX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,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)format("woff2"),url(./jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(./jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(./jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--accent:#2ee6f6;--accent-soft:#7ff4ff;--accent-hover:#bffaff;--accent-pale:#bfeff7;--on-accent:#04131a;--glow:#2ee6f673;--glow-size:4px;--magenta:#ff4fa3;--magenta-text:#ff9bcb;--magenta-line:#ff4fa373;--danger-text:#ffd6ea;--danger-bg:#ff4fa324;--amber:#ffb547;--amber-text:#ffd18a;--amber-line:#ffb54766;--green:#3ddc97;--green-line:#3ddc9766;--green-line-soft:#3ddc9759;--violet:#8f7bff;--violet-text:#c9c2ff;--violet-line:#8f7bff73;--text:#e9f6fa;--text-2:#b7c6d3;--btn-text:#ddeff5;--nav-text:#9fb0bf;--muted:#8fa3b5;--muted-2:#8fa3b3;--faint:#5f7a88;--gone:#5b6b7a;--placeholder:#6f8395;--ground:#05070a;--haze:#2ee6f612;--grid:#7ff4ff06;--nav:#080b0feb;--bar:#0a0d12d9;--input:#121922;--panel:#181e28eb;--panel-2:#0d1117eb;--panel-dark:#07090c;--hero:#08181ef2;--hero-2:#060e13f2;--box:#0b1016;--box-2:#0b1118;--canvas:#070b10;--inset:#070b0f99;--backdrop:#020508a8;--skel:#121a23;--skel-2:#1a2633;--line:#7ff4ff1a;--line-2:#7ff4ff2e;--line-soft:#7ff4ff14;--line-input:#7ff4ff29;--line-hero:#7ff4ff38;--chip-line:#7ff4ff40;--chip-dim-line:#233040;--bracket:#7ff4ff8c;--rule:#18202a;--step-off:#3a4756;--track:#1a2330;--track-glow:#2ee6f6;--hover-soft:#7ff4ff0a;--hover:#7ff4ff0d;--wash:#2ee6f60a;--picked-soft:#2ee6f60d;--picked-faint:#2ee6f60f;--picked:#2ee6f614;--picked-list:#2ee6f61a;--picked-strong:#2ee6f61f;--picked-on:#2ee6f638;--flow-label:#5fd8e6;--flow-table:#3b8f99;--cov-verified:#2ee6f68c;--cov-doc:#ffb54773;--cov-unknown:#ffffff0d;--cov-line:#ffffff0f;--attribution-bg:#96969640;--attribution-text:#999;--canvas-dots:#777;--minimap-mask:#3c3c3c99;--minimap-node:#2b2b2b;--handle:#bebebe;--handle-line:#1e1e1e;--controls-hover:#3e3e3e;--controls-hover-text:#fff;--shadow:0 18px 40px #0000008c, inset 0 1px 0 #ffffff0a;--shadow-hero:0 0 40px #2ee6f614, 0 18px 40px #0009;--shadow-ask:0 0 16px #2ee6f673, inset 0 0 12px #2ee6f626;--shadow-palette:0 0 40px #2ee6f62e;--shadow-tour:0 0 32px #2ee6f638, 0 18px 40px #0009;--shadow-target:0 0 18px #2ee6f673;--shadow-danger:0 0 12px #ff4fa340;--font:"IBM Plex Sans", system-ui, sans-serif;--display:"Rajdhani", "IBM Plex Sans", sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace}:root[data-theme=light],body.vscode-light,body.vscode-high-contrast-light{--accent:#00707a;--accent-soft:#005f68;--accent-hover:#004a52;--accent-pale:#005f68;--on-accent:#fff;--glow:transparent;--glow-size:0px;--magenta:#b0185f;--magenta-text:#a3155a;--magenta-line:#b0185f8c;--danger-text:#8f1150;--danger-bg:#b0185f14;--amber:#8a5300;--amber-text:#7a4a00;--amber-line:#8a53008c;--green:#08693f;--green-line:#08693f8c;--green-line-soft:#08693f80;--violet:#5a46d6;--violet-text:#4b37c4;--violet-line:#5a46d68c;--text:#17212b;--text-2:#3d4f60;--btn-text:#17212b;--nav-text:#3d4f60;--muted:#56687a;--muted-2:#56687a;--faint:#56687a;--gone:#5b6672;--placeholder:#56687a;--ground:#f4f6f8;--haze:transparent;--grid:transparent;--nav:#eef2f5;--bar:#fff;--input:#fff;--panel:#fff;--panel-2:#fff;--panel-dark:#f7f9fb;--hero:#f2f8f9;--hero-2:#f2f8f9;--box:#f7f9fb;--box-2:#fff;--canvas:#fafbfc;--inset:#f4f6f8;--backdrop:#17212b66;--skel:#e6ebef;--skel-2:#d3dce3;--line:#ccd5dd;--line-2:#7a8a99;--line-soft:#d8e0e7;--line-input:#7a8a99;--line-hero:#7fb4ba;--chip-line:#005f6880;--chip-dim-line:#a9b5c0;--bracket:#00707a;--rule:#e1e7ec;--step-off:#7a8a99;--track:#dbe3ea;--track-glow:transparent;--hover-soft:#17212b0a;--hover:#17212b0d;--wash:#00707a0d;--picked-soft:#00707a0f;--picked-faint:#00707a12;--picked:#00707a1a;--picked-list:#00707a1a;--picked-strong:#00707a1f;--picked-on:#00707a2e;--flow-label:#005f68;--flow-table:#3d7f88;--cov-verified:#00707a8c;--cov-doc:#8a530066;--cov-unknown:#17212b0f;--cov-line:#17212b40;--attribution-bg:#fff;--attribution-text:#56687a;--canvas-dots:#a9b5c0;--minimap-mask:#17212b1f;--minimap-node:#c9d3dc;--handle:#56687a;--handle-line:#fff;--controls-hover:#e6ebef;--controls-hover-text:#17212b;--shadow:0 1px 3px #17212b14;--shadow-hero:0 1px 3px #17212b14;--shadow-ask:none;--shadow-palette:0 8px 28px #17212b38;--shadow-tour:0 8px 28px #17212b38;--shadow-target:none;--shadow-danger:none}html:has(>body.vscode-light){--accent:#00707a;--accent-soft:#005f68;--accent-hover:#004a52;--accent-pale:#005f68;--on-accent:#fff;--glow:transparent;--glow-size:0px;--magenta:#b0185f;--magenta-text:#a3155a;--magenta-line:#b0185f8c;--danger-text:#8f1150;--danger-bg:#b0185f14;--amber:#8a5300;--amber-text:#7a4a00;--amber-line:#8a53008c;--green:#08693f;--green-line:#08693f8c;--green-line-soft:#08693f80;--violet:#5a46d6;--violet-text:#4b37c4;--violet-line:#5a46d68c;--text:#17212b;--text-2:#3d4f60;--btn-text:#17212b;--nav-text:#3d4f60;--muted:#56687a;--muted-2:#56687a;--faint:#56687a;--gone:#5b6672;--placeholder:#56687a;--ground:#f4f6f8;--haze:transparent;--grid:transparent;--nav:#eef2f5;--bar:#fff;--input:#fff;--panel:#fff;--panel-2:#fff;--panel-dark:#f7f9fb;--hero:#f2f8f9;--hero-2:#f2f8f9;--box:#f7f9fb;--box-2:#fff;--canvas:#fafbfc;--inset:#f4f6f8;--backdrop:#17212b66;--skel:#e6ebef;--skel-2:#d3dce3;--line:#ccd5dd;--line-2:#7a8a99;--line-soft:#d8e0e7;--line-input:#7a8a99;--line-hero:#7fb4ba;--chip-line:#005f6880;--chip-dim-line:#a9b5c0;--bracket:#00707a;--rule:#e1e7ec;--step-off:#7a8a99;--track:#dbe3ea;--track-glow:transparent;--hover-soft:#17212b0a;--hover:#17212b0d;--wash:#00707a0d;--picked-soft:#00707a0f;--picked-faint:#00707a12;--picked:#00707a1a;--picked-list:#00707a1a;--picked-strong:#00707a1f;--picked-on:#00707a2e;--flow-label:#005f68;--flow-table:#3d7f88;--cov-verified:#00707a8c;--cov-doc:#8a530066;--cov-unknown:#17212b0f;--cov-line:#17212b40;--attribution-bg:#fff;--attribution-text:#56687a;--canvas-dots:#a9b5c0;--minimap-mask:#17212b1f;--minimap-node:#c9d3dc;--handle:#56687a;--handle-line:#fff;--controls-hover:#e6ebef;--controls-hover-text:#17212b;--shadow:0 1px 3px #17212b14;--shadow-hero:0 1px 3px #17212b14;--shadow-ask:none;--shadow-palette:0 8px 28px #17212b38;--shadow-tour:0 8px 28px #17212b38;--shadow-target:none;--shadow-danger:none}html:has(>body.vscode-high-contrast-light){--accent:#00707a;--accent-soft:#005f68;--accent-hover:#004a52;--accent-pale:#005f68;--on-accent:#fff;--glow:transparent;--glow-size:0px;--magenta:#b0185f;--magenta-text:#a3155a;--magenta-line:#b0185f8c;--danger-text:#8f1150;--danger-bg:#b0185f14;--amber:#8a5300;--amber-text:#7a4a00;--amber-line:#8a53008c;--green:#08693f;--green-line:#08693f8c;--green-line-soft:#08693f80;--violet:#5a46d6;--violet-text:#4b37c4;--violet-line:#5a46d68c;--text:#17212b;--text-2:#3d4f60;--btn-text:#17212b;--nav-text:#3d4f60;--muted:#56687a;--muted-2:#56687a;--faint:#56687a;--gone:#5b6672;--placeholder:#56687a;--ground:#f4f6f8;--haze:transparent;--grid:transparent;--nav:#eef2f5;--bar:#fff;--input:#fff;--panel:#fff;--panel-2:#fff;--panel-dark:#f7f9fb;--hero:#f2f8f9;--hero-2:#f2f8f9;--box:#f7f9fb;--box-2:#fff;--canvas:#fafbfc;--inset:#f4f6f8;--backdrop:#17212b66;--skel:#e6ebef;--skel-2:#d3dce3;--line:#ccd5dd;--line-2:#7a8a99;--line-soft:#d8e0e7;--line-input:#7a8a99;--line-hero:#7fb4ba;--chip-line:#005f6880;--chip-dim-line:#a9b5c0;--bracket:#00707a;--rule:#e1e7ec;--step-off:#7a8a99;--track:#dbe3ea;--track-glow:transparent;--hover-soft:#17212b0a;--hover:#17212b0d;--wash:#00707a0d;--picked-soft:#00707a0f;--picked-faint:#00707a12;--picked:#00707a1a;--picked-list:#00707a1a;--picked-strong:#00707a1f;--picked-on:#00707a2e;--flow-label:#005f68;--flow-table:#3d7f88;--cov-verified:#00707a8c;--cov-doc:#8a530066;--cov-unknown:#17212b0f;--cov-line:#17212b40;--attribution-bg:#fff;--attribution-text:#56687a;--canvas-dots:#a9b5c0;--minimap-mask:#17212b1f;--minimap-node:#c9d3dc;--handle:#56687a;--handle-line:#fff;--controls-hover:#e6ebef;--controls-hover-text:#17212b;--shadow:0 1px 3px #17212b14;--shadow-hero:0 1px 3px #17212b14;--shadow-ask:none;--shadow-palette:0 8px 28px #17212b38;--shadow-tour:0 8px 28px #17212b38;--shadow-target:none;--shadow-danger:none}body.vscode-high-contrast-light{--text:#000;--btn-text:#000;--line:#0f4a85;--line-2:#0f4a85;--line-soft:#0f4a85;--line-input:#0f4a85;--line-hero:#0f4a85;--chip-line:#0f4a85;--chip-dim-line:#0f4a85;--rule:#0f4a85;--step-off:#0f4a85}html:has(>body.vscode-high-contrast-light){--text:#000;--btn-text:#000;--line:#0f4a85;--line-2:#0f4a85;--line-soft:#0f4a85;--line-input:#0f4a85;--line-hero:#0f4a85;--chip-line:#0f4a85;--chip-dim-line:#0f4a85;--rule:#0f4a85;--step-off:#0f4a85}body.vscode-high-contrast:not(.vscode-high-contrast-light){--line:#6fc3df;--line-2:#6fc3df;--line-soft:#6fc3df;--line-input:#6fc3df;--line-hero:#6fc3df;--chip-line:#6fc3df;--chip-dim-line:#6fc3df;--rule:#6fc3df;--step-off:#8fa3b5;--bracket:#6fc3df}html:has(>body.vscode-high-contrast:not(.vscode-high-contrast-light)){--line:#6fc3df;--line-2:#6fc3df;--line-soft:#6fc3df;--line-input:#6fc3df;--line-hero:#6fc3df;--chip-line:#6fc3df;--chip-dim-line:#6fc3df;--rule:#6fc3df;--step-off:#8fa3b5;--bracket:#6fc3df}*{box-sizing:border-box}html,body{background:var(--ground);color:var(--text);font-family:var(--font);margin:0;font-size:13px}body{background:radial-gradient(1200px 600px at 55% 30%, var(--haze), transparent 60%), linear-gradient(var(--grid) 1px, transparent 1px) 0 0 / 100% 32px, linear-gradient(90deg, var(--grid) 1px, transparent 1px) 0 0 / 32px 100%, var(--ground);min-height:100vh}a{color:var(--accent-soft)}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{background:var(--accent);color:var(--on-accent);z-index:10;border-radius:6px;padding:8px 12px;position:absolute;top:-40px;left:8px}.skip:focus{top:8px}.shell{flex-wrap:wrap;min-height:100vh;display:flex}.nav{background:var(--nav);border-right:1px solid var(--line-soft);flex-direction:column;flex:206px;gap:2px;max-width:226px;padding:16px 10px;display:flex}.nav a{color:var(--nav-text);border-radius:8px;align-items:center;gap:11px;padding:8px 12px;font-size:13px;text-decoration:none;display:flex}.nav a:hover{background:var(--hover);color:var(--text)}.nav a[aria-current=page],.nav a[aria-current=true]{background:var(--picked);color:var(--text);box-shadow:inset 2px 0 0 var(--accent)}.nav .group{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:12px 12px 4px;font-size:10px}.section-tabs{border-bottom:1px solid var(--line-soft);margin:0 0 14px}.section-tabs .crumbs{color:var(--muted);margin-bottom:6px;font-size:10px}.section-tabs .tabs{flex-wrap:wrap;align-items:center;gap:2px 4px;padding-bottom:6px;display:flex}.section-tabs .tabs a{color:var(--text-2);border-radius:6px;padding:6px 10px;font-size:12.5px;text-decoration:none}.section-tabs .tabs a:hover{background:var(--hover);color:var(--text)}.section-tabs .tabs a[aria-current=page]{background:var(--picked);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.section-tabs .tab-group{border-left:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:2px;margin-left:4px;padding-left:8px;display:inline-flex}.section-tabs .tab-group-name{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-right:4px;font-size:9.5px}.nav .ask{border:1px solid var(--accent);background:var(--picked-strong);color:var(--text);box-shadow:var(--shadow-ask);margin-top:12px}.nav .more{border-top:1px solid var(--line-soft);margin-top:14px;padding-top:8px}.nav .more-toggle{width:100%;color:var(--nav-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:7px 12px;font-size:12.5px;display:flex}.nav .more-toggle:hover{background:var(--hover);color:var(--text)}.nav .more-caret{font-size:10px;transition:transform .15s;display:inline-block}.nav .more-toggle[aria-expanded=true] .more-caret{transform:rotate(90deg)}.nav .more-count{font-family:var(--mono);color:var(--muted);margin-left:auto;font-size:10px}.nav .more-pages[hidden]{display:none}.nav .more-pages a{gap:6px;padding:4px 12px 4px 22px;font-size:12px}.nav .more-group,.nav .more-phase{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px 12px 2px;font-size:9.5px;display:block}.nav .more-phase{letter-spacing:.08em;padding:6px 12px 0 22px}.nav .menu-hint{color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;margin-top:10px;padding:6px 12px;font-size:10px}.nav .menu-hint:hover{color:var(--text);background:var(--hover)}.brand{font-family:var(--display);letter-spacing:.22em;color:var(--accent);text-shadow:0 0 10px var(--glow);align-items:center;gap:10px;padding:4px 12px 16px;font-size:18px;font-weight:700;display:flex}.main{flex-direction:column;flex:999 400px;gap:14px;min-width:0;padding:14px 18px 22px;display:flex}@media (width<=1000px){.nav{flex-basis:164px;max-width:176px;padding:12px 6px}.nav a{gap:8px;padding:7px 8px;font-size:12.5px}.nav .more-toggle,.nav .menu-hint{padding-left:8px;padding-right:8px}.nav .more-pages a{padding:4px 8px 4px 14px}.nav .more-group{padding-left:8px}.nav .more-phase{padding-left:14px}.main{padding:12px 12px 20px}}@media (width<=600px){.nav{max-width:none}}.topbar{border:1px solid var(--line-soft);background:var(--bar);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.ask-form{background:var(--input);border:1px solid var(--line-input);border-radius:8px;flex:280px;align-items:center;gap:8px;height:36px;padding:0 6px 0 12px;display:flex}.ask-form input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:12.5px}.ask-form input::placeholder{color:var(--placeholder)}.bento{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;gap:12px;display:grid}@media (width<=1000px){.bento>*{grid-area:auto/1/auto/-1!important}}.column{flex-direction:column;gap:12px;min-width:0;display:flex}.panel{background:linear-gradient(180deg, var(--panel), var(--panel-2));border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;min-width:0;padding:14px;position:relative}.panel:before{content:"";border-left:1.5px solid var(--bracket);border-top:1.5px solid var(--bracket);pointer-events:none;border-radius:10px 0 0;width:14px;height:14px;position:absolute;top:-1px;left:-1px}.panel.dark{background:var(--panel-dark)}.panel.hero{background:linear-gradient(180deg, var(--hero), var(--hero-2));border-color:var(--line-hero);box-shadow:var(--shadow-hero)}.hud{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:11px}.h{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--text);margin:0;font-size:15px;font-weight:700}.n{font-family:var(--display);font-weight:700}.mono{font-family:var(--mono)}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.stack>.btn{align-self:flex-start}.stack{flex-direction:column;gap:8px;display:flex}.muted{color:var(--muted)}.chip{font-family:var(--mono);border:1px solid var(--chip-line);color:var(--accent-soft);white-space:nowrap;border-radius:5px;padding:2px 7px;font-size:11px}.chip.blocking{color:var(--magenta-text);border-color:var(--magenta-line)}.chip.warn{color:var(--amber);border-color:var(--amber-line)}.chip.done{color:var(--green);border-color:var(--green-line)}.chip.ai{color:var(--violet-text);border-color:var(--violet-line)}.chip.dim{color:var(--muted);border-color:var(--chip-dim-line)}.btn{border:1px solid var(--line-2);background:var(--hover-soft);height:32px;color:var(--btn-text);font:inherit;cursor:pointer;border-radius:7px;padding:0 11px;font-size:12px}.btn.primary{background:var(--accent);color:var(--on-accent);box-shadow:0 0 12px var(--glow);border:0;font-weight:600}.btn.primary .hud{color:inherit}.btn:disabled{opacity:.55;cursor:not-allowed}.list-row{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:10px;padding:7px 0;display:flex}.list-row:last-child{border-bottom:0}@media (width<=640px){.row,.list-row{flex-wrap:wrap}.chip{white-space:normal;overflow-wrap:anywhere}.mono,code,.run-table th,.run-table td{overflow-wrap:anywhere}}.track{background:var(--track);border-radius:3px;height:6px}.track>span{background:var(--accent);height:6px;box-shadow:0 0 10px var(--track-glow);border-radius:3px;display:block}.big{font-family:var(--display);color:var(--accent);text-shadow:0 0 18px var(--glow);font-size:46px;font-weight:700;line-height:1}.state{text-align:center;color:var(--text-2);padding:18px}.state.error{color:var(--magenta-text)}.skeleton{background:linear-gradient(90deg, var(--skel), var(--skel-2), var(--skel));background-size:200% 100%;border-radius:4px;height:12px;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.clamp2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.palette-backdrop{background:var(--backdrop);z-index:50;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.palette{border-color:var(--accent);width:min(640px,92vw);box-shadow:var(--shadow-palette)}.palette input{background:var(--box);width:100%;height:44px;color:var(--text);border:1px solid var(--accent);font:inherit;border-radius:10px;padding:0 14px;font-size:15px}.palette ul{max-height:50vh;margin:10px 0 0;padding:0;list-style:none;overflow-y:auto}.palette li{cursor:pointer;border-radius:8px;justify-content:space-between;gap:12px;padding:8px 10px;font-size:13px;display:flex}.palette li[aria-selected=true]{background:var(--picked-list);box-shadow:inset 2px 0 0 var(--accent)}.btn.danger{border-color:var(--magenta);color:var(--danger-text);background:var(--danger-bg);box-shadow:var(--shadow-danger)}.tour{z-index:40;border-color:var(--accent);width:min(380px,100vw - 32px);box-shadow:var(--shadow-tour);position:fixed;bottom:24px;right:24px}.tour-target{outline:2px solid var(--accent);outline-offset:3px;box-shadow:var(--shadow-target);border-radius:8px}.field{background:var(--box);height:32px;color:var(--text);border:1px solid var(--line-2);font:inherit;border-radius:7px;min-width:0;padding:0 8px;font-size:13px}.field::placeholder{color:var(--muted)}.field:focus-visible{outline:2px solid var(--accent);outline-offset:1px}a.btn{align-items:center;text-decoration:none;display:inline-flex}.arch-canvas{border:1px solid var(--line);background:var(--canvas);border-radius:8px;position:relative;overflow:hidden}.arch-canvas .react-flow{--xy-background-color:var(--canvas);--xy-node-border-radius:8px;--xy-minimap-background-color:var(--box);--xy-controls-button-background-color:var(--box);--xy-controls-button-color:var(--text);--xy-controls-button-border-color:var(--line-2);--xy-edge-stroke:var(--text-2);--xy-attribution-background-color:var(--attribution-bg);--xy-background-pattern-color:var(--canvas-dots);--xy-minimap-mask-background-color:var(--minimap-mask);--xy-minimap-node-background-color:var(--minimap-node);--xy-handle-background-color:var(--handle);--xy-handle-border-color:var(--handle-line);--xy-controls-button-background-color-hover:var(--controls-hover);--xy-controls-button-color-hover:var(--controls-hover-text)}.arch-canvas .react-flow__attribution a{color:var(--attribution-text)}.arch-box{border:1px solid var(--line-2);background:var(--box);width:100%;height:100%;color:var(--text);border-radius:8px;flex-direction:column;gap:2px;padding:6px 10px;font-size:12px;display:flex}.arch-box.group{background:var(--wash);border-color:var(--accent)}.arch-box.outside{color:var(--text-2);border-style:dashed}.arch-box.gappy{border-color:var(--amber)}.arch-box.picked{outline:2px solid var(--accent-soft);outline-offset:2px}.arch-box-head{justify-content:space-between;gap:6px;display:flex}.arch-box-label{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.arch-box-foot{gap:8px;display:flex}.arch-gap{color:var(--amber);align-items:center;gap:4px;display:inline-flex}.arch-link.async{stroke-dasharray:6 4}.arch-link.gappy{stroke:var(--amber)}.arch-link-label{pointer-events:all;background:var(--box);border:1px solid var(--line-2);color:var(--text-2);font-family:var(--mono);border-radius:4px;padding:1px 6px;font-size:11px;position:absolute}.arch-link-label.gappy{color:var(--amber);border-color:var(--amber)}.arch-box.m-new,.arch-link-label.m-new{border:2px solid var(--green)}.arch-box.m-modify,.arch-link-label.m-modify{border:2px solid var(--amber)}.arch-box.m-retire,.arch-link-label.m-retire{border:1px dashed var(--muted)}.arch-box.m-retire .arch-box-label,.arch-link-label.m-retire{text-decoration:line-through}.arch-link.m-new{stroke:var(--green);stroke-width:2px}.arch-link.m-modify{stroke:var(--amber);stroke-width:2px}.arch-link.m-retire{stroke:var(--muted);stroke-dasharray:2 3}.arch-shared{color:var(--amber);margin:0 0 8px}.arch-notice{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.arch-notice p{margin:0}.viewer{flex-direction:column;gap:8px;width:100%;min-width:0;display:flex;position:relative}.viewer:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viewer-full{z-index:1000;background:var(--canvas);box-sizing:border-box;padding:12px;position:fixed;inset:0}.viewer-full .viewer-stage{flex:auto}.viewer-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.viewer-group{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.viewer-btn{justify-content:center;align-items:center;min-width:32px;min-height:32px;display:inline-flex}.viewer-btn:focus-visible,.viewer-aside-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viewer-zoom{text-align:center;min-width:80px}.viewer-find .field{width:min(280px,60vw);height:32px}.viewer-stage{width:100%;min-height:200px;position:relative}.viewer-stage>.arch-canvas,.viewer-stage>.flow-canvas{width:100%;height:100%}.viewer-aside-toggle{z-index:6;position:absolute;top:8px;right:8px}.viewer-aside{z-index:5;border:1px solid var(--line-2);background:var(--box);border-radius:8px;width:min(380px,100% - 16px);padding:12px;position:absolute;top:48px;bottom:8px;right:8px;overflow:auto}.viewer-aside[hidden]{display:none}.viewer-keys{margin:0}.arch-canvas .react-flow__node.dim,.arch-canvas .react-flow__edge.dim{opacity:.18}.arch-box-label{font-size:calc(12px * var(--label-scale,1))}.arch-canvas.far .arch-link-label{display:none}.arch-box.topic{border-style:dashed;border-color:var(--accent);border-radius:24px}.arch-box.topic.gappy{border-color:var(--amber)}.arch-box-owner{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.flow-canvas{border:1px solid var(--line-2);background:var(--canvas);touch-action:none;cursor:grab;border-radius:8px;position:relative;overflow:hidden}.flow-canvas.panning{cursor:grabbing}.flow-minimap{border:1px solid var(--line-2);background:var(--box);border-radius:6px;position:absolute;bottom:8px;right:8px}.viewer-full .viewer-stage{min-height:0}
1
+ .run-note{white-space:pre-line;margin:8px 0 0;font-size:12.5px}.run-note.ok{color:var(--green)}.run-note.bad{color:var(--magenta-text)}.run-note.working{color:var(--text-2)}.run-input,.run-select,.run-textarea{background:var(--box);min-width:0;height:32px;color:var(--text);border:1px solid var(--line-2);font:inherit;border-radius:6px;padding:0 8px;font-size:12.5px}.run-textarea{height:auto;font-family:var(--mono);padding:8px}.run-label{color:var(--text-2);flex-direction:column;gap:4px;font-size:12px;display:flex}.run-copy{height:26px;padding:0 8px;font-size:11px}.run-choice{flex-wrap:wrap;gap:6px}.run-choice .btn.on{border-color:var(--accent);background:var(--picked-strong);color:var(--text)}.run-facts{grid-template-columns:minmax(90px,max-content) 1fr;gap:6px 12px;margin:0;font-size:12.5px;display:grid}.run-facts dt{padding-top:2px;font-size:10px}.run-facts dd{word-break:break-word;margin:0}.run-table{border-collapse:collapse;width:100%;font-size:12.5px}.run-table th{text-align:left;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:4px 8px 6px 0;font-size:10px;font-weight:400}.run-table td{border-top:1px solid var(--rule);vertical-align:top;padding:7px 8px 7px 0}.run-pick{border:0;border-bottom:1px solid var(--rule);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:10px;padding:8px 6px;display:flex}.run-pick:hover{background:var(--hover-soft)}.run-pick[aria-current=true]{background:var(--picked);box-shadow:inset 2px 0 0 var(--accent)}.run-field{border-bottom:1px solid var(--rule);grid-template-columns:minmax(120px,.35fr) 1fr auto;align-items:start;gap:10px;padding:7px 0;display:grid}.run-field:last-child{border-bottom:0}.run-field .value{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;font-size:12px}.run-field .value.empty{color:var(--amber);font-family:var(--font)}.run-text{white-space:pre-wrap;color:var(--text-2);margin:0;font-size:12.5px;line-height:1.6}.run-inert{background:var(--box);border:1px dashed var(--magenta-line);font-family:var(--mono);white-space:pre-wrap;word-break:break-word;color:var(--text-2);border-radius:6px;margin:6px 0 0;padding:8px;font-size:11.5px;display:block}.run-safety{border:1px solid var(--green-line-soft);color:var(--text-2);border-radius:8px;padding:10px 12px;font-size:12.5px;line-height:1.55}.run-gates{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.run-gates li{border:1px solid var(--line-2);border-radius:8px;flex-direction:column;gap:6px;padding:10px;display:flex}.run-steps{color:var(--text-2);margin:0;padding-left:20px;line-height:1.6}.runs-id{color:var(--muted);font-size:11px;display:block}.runs-h{margin:0 0 6px;font-size:10px}.runs-h4{color:var(--text);margin:0 0 6px;font-size:12.5px;font-weight:600}.runs-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:12px;display:grid}.runs-pair>*{min-width:0}.runs-text,.runstep-out{border:1px solid var(--line-2);background:var(--box);max-height:420px;color:var(--text);font-family:var(--mono,ui-monospace, monospace);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;margin:0;padding:10px 12px;font-size:12px;line-height:1.5;overflow:auto}.runstep-out{max-height:220px}.runs-text:focus-visible,.runstep-out:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.runs-problems{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.runs-line{color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-family:inherit;font-size:12.5px}.runs-rounds{flex-wrap:wrap;gap:4px 18px;margin:0;padding-left:20px;display:flex}.runs-rounds a[aria-current=page]{font-weight:600}.runstep{gap:6px;margin:6px 0 2px}.runstep-lines{color:var(--text-2);overflow-wrap:anywhere;margin:0;padding-left:18px;font-size:12px}.runstep-end{color:var(--text);margin:0;font-size:12.5px}@media (width<=900px){.runs-pair{grid-template-columns:minmax(0,1fr)}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color,var(--xy-background-color-props,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:4px;height:4px;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}.ev-wrap{max-width:100%;display:inline-block;position:relative}.ev-cite{border:0;border-bottom:1px solid var(--line-2);color:var(--text-2);font:inherit;cursor:pointer;text-align:left;background:0 0;flex-wrap:wrap;align-items:baseline;gap:6px;padding:0 1px;display:inline-flex}.ev-cite:hover,.ev-cite:focus-visible{color:var(--text);border-bottom-color:var(--accent)}.ev-cite.gappy{border-bottom:1px dashed var(--amber)}.ev-tip{z-index:30;background:var(--box);border:1px solid var(--line-2);min-width:260px;max-width:min(480px,80vw);box-shadow:var(--shadow);color:var(--text);white-space:normal;border-radius:8px;margin-top:4px;padding:8px 10px;font-size:12px;line-height:1.5;display:none;position:absolute;top:100%;left:0}.ev-wrap:hover .ev-tip,.ev-wrap:focus-within .ev-tip{flex-direction:column;gap:4px;display:flex}.ev-wrap.quiet .ev-tip,.ev-wrap.open .ev-tip{display:none}.ev-place{word-break:break-all;font-size:11.5px}.ev-say{color:var(--text-2);margin:0;font-size:12px}.ev-quote{background:var(--inset);border-left:2px solid var(--accent);white-space:pre-wrap;word-break:break-word;padding:4px 6px;font-size:11.5px;display:block}.ev-fact{font-size:12px;display:block}.ev-corr{color:var(--amber-text)}.ev-gaps{flex-wrap:wrap;gap:6px;display:inline-flex}.ev-gap{color:var(--amber-text);white-space:nowrap;font-size:11px}.ev-gap.ev-question{color:var(--violet-text)}.ev-details{background:var(--box);border:1px solid var(--line-2);white-space:normal;border-radius:8px;flex-direction:column;gap:6px;min-width:260px;margin-top:6px;padding:10px;display:flex}.ev-list{margin:0;padding-left:18px;font-size:12.5px}.ev-list li{margin-bottom:6px}.ev-correct{gap:8px;margin-top:8px}.ev-correct input,.ev-correct textarea{background:var(--input);color:var(--text);border:1px solid var(--line-2);font:12.5px var(--mono);border-radius:6px;padding:4px 8px}.ev-choice{border:0;flex-wrap:wrap;gap:16px;margin:0;padding:0;display:flex}.ev-fields{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.work-next{grid-column:1/-1;margin-bottom:14px}.work-why{color:var(--text);margin:0 0 8px;font-size:13.5px;line-height:1.5}.work-say{color:var(--text-2);margin:8px 0 4px;font-size:12px}.work-cmd{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.work-cmd code{border:1px solid var(--line-2);background:var(--box);min-width:0;color:var(--accent-soft);overflow-wrap:anywhere;border-radius:6px;flex:240px;padding:7px 10px;font-size:12.5px}.work-after{margin-top:10px}.work-after summary{cursor:pointer;color:var(--text-2)}.work-after ol,.work-steps{flex-direction:column;gap:10px;margin:6px 0 0;padding-left:20px;display:flex}.work-steps li p{margin:0 0 4px}.cd-legend{flex-wrap:wrap;gap:8px 16px;margin:0 0 8px;padding:0;font-size:12px;list-style:none;display:flex}.cd-key{border:1px solid var(--line-2);border-radius:4px;padding:2px 8px}.cd-key.m-new{border:2px solid var(--green)}.cd-key.m-modify{border:2px solid var(--amber)}.cd-key.m-retire{border:1px dashed var(--muted);text-decoration:line-through}.cd-canvas{margin:0 0 12px}.cd-problems{color:var(--amber-text);margin:0 0 12px}.cd-mermaid{align-items:flex-start;gap:8px;display:flex}.cd-mermaid pre{background:var(--inset);border:1px solid var(--line-2);flex:1;max-height:260px;margin:0;padding:8px;font-size:11.5px;overflow:auto}.stage-finding{border:1px solid var(--line-2);background:var(--inset);border-radius:8px;padding:10px 12px}.stage-facts{grid-template-columns:max-content 1fr;gap:4px 12px;margin:0 0 8px;font-size:12.5px;display:grid}.stage-facts dt{color:var(--muted)}.stage-facts dd{margin:0}.stage-comments{margin:0;padding-left:18px;font-size:12.5px}.stage-comments li{margin-bottom:6px}.est-band{margin:0 0 10px}.est-big{margin:2px 0 0;font-size:15px}.trust-list{margin:4px 0 0}.trust-items{margin:4px 0 0;padding-left:18px;font-size:12px}.flows-grid{grid-template-columns:minmax(240px,320px) minmax(0,1fr);align-items:start;gap:14px;display:grid}@media (width<=900px){.flows-grid{grid-template-columns:minmax(0,1fr)}}.flow-list{gap:4px;max-height:70vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.flow-list a{border:1px solid var(--line);color:var(--text);border-radius:6px;gap:2px;padding:8px 10px;text-decoration:none;display:grid}.flow-list a:hover,.flow-list a:focus-visible{border-color:var(--line-2);background:var(--picked-soft)}.flow-list a[aria-current=true]{border-color:var(--accent);background:var(--picked)}.flow-name{font-weight:600}.flow-trigger,.flow-counts{color:var(--text-2);font-size:12px}.seq-wrap{min-width:0}.seq{--col:minmax(200px, 1fr);padding-bottom:6px;overflow-x:auto}.seq-row{grid-template-columns:repeat(var(--lanes), var(--col));column-gap:0;display:grid;position:relative}.seq-steps{margin:0;padding:0;list-style:none}.seq-head{z-index:2;background:var(--ground);padding-bottom:6px;position:sticky;top:0}.seq-lane{border:1px solid var(--line-2);text-align:center;overflow-wrap:anywhere;border-radius:6px;gap:2px;margin:0 6px;padding:6px 8px;display:grid}.seq-lane small{color:var(--muted);font-size:11px}.seq-lane.self{border-color:var(--accent)}.seq-lane.caller,.seq-lane.gateway{border-color:var(--amber)}.seq-lane.component{border-color:var(--violet)}.seq-lane.store{border-color:var(--green)}.seq-lane.topic{border-color:var(--accent-soft);border-style:dashed}.seq-life{border-left:1px dashed var(--line-2);grid-row:1;justify-self:center;width:0}.seq-arrow{margin-top:22px;margin-left:calc(100% / (var(--span) * 2));margin-right:calc(100% / (var(--span) * 2));border-top:2px solid var(--accent-soft);z-index:0;grid-row:1;align-self:start;height:0;position:relative}.seq-arrow.back{border-top-style:dashed}.seq-arrow:after{content:"";border:6px solid #0000;position:absolute;top:-7px}.seq-arrow.right:after{border-left:9px solid var(--accent-soft);border-right-width:0;right:-2px}.seq-arrow.left:after{border-right:9px solid var(--accent-soft);border-left-width:0;left:-2px}.seq-arrow em{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-style:normal;font-family:var(--mono);color:var(--accent-soft);background:var(--ground);padding:0 4px;font-size:11px;position:absolute;bottom:4px;left:50%;overflow:hidden;transform:translate(-50%)}.seq-box{z-index:1;border:1px solid var(--line-2);background:var(--box-2);border-radius:6px;grid-row:1;gap:4px;min-width:0;margin:6px;padding:8px 10px;display:grid;position:relative}.seq-box.k-call-out,.seq-box.k-publish{border-color:var(--violet)}.seq-box.k-read,.seq-box.k-write,.seq-box.k-lookup{border-color:var(--green)}.seq-box.k-respond{border-color:var(--accent)}.seq-top{align-items:baseline;gap:8px;display:flex}.seq-n{font-family:var(--display);color:var(--accent);font-weight:700}.seq-kind{letter-spacing:.08em;text-transform:uppercase;color:var(--text-2);font-size:10px}.seq-what{margin:0;line-height:1.4}.seq-fields{color:var(--text-2);font-family:var(--mono);overflow-wrap:anywhere;margin:0;padding-left:16px;font-size:11px}.seq-cite{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:11px}.seq-cite code{font-family:var(--mono)}.seq-ok{color:var(--green);font-size:11px}.seq-unsure{color:var(--amber);font-size:11px}.seq-opens{color:var(--accent-soft);font-size:12px}.seq-unjoined{color:var(--amber);margin:0;font-size:12px}.seq-h{margin-top:16px}.seq-errors{gap:4px;margin:0;padding-left:18px;display:grid}.seq-errors code{color:var(--muted);font-family:var(--mono);margin-left:8px;font-size:11px}.seq-now .seq-box{outline:2px solid var(--accent);outline-offset:2px}.seq .seq-row{padding-left:calc(var(--frames,0) * 14px)}.seq-frame{top:0;bottom:0;left:calc(var(--depth) * 14px + 4px);border-left:3px solid var(--violet);width:0;position:absolute}.seq-frame.retry{border-left-style:double;border-left-width:4px}.seq-frame.first{top:10px}.seq-frame.last{bottom:10px}.seq-frame.first:before,.seq-frame.last:after{content:"";border-top:3px solid var(--violet);width:10px;position:absolute;left:-3px}.seq-frame.first:before{top:0}.seq-frame.last:after{bottom:0}.seq-frame-label{white-space:nowrap;letter-spacing:.04em;color:var(--violet);background:var(--ground);z-index:2;padding:0 4px;font-size:10px;position:absolute;top:-10px;left:10px}.seq-mark{letter-spacing:.06em;text-transform:uppercase;margin-left:auto;font-size:10px;font-weight:600}.seq-mark.m-added{color:var(--green)}.seq-mark.m-changed{color:var(--amber)}.seq-mark.m-removed{color:var(--text-2)}.seq-box.m-added{border:2px solid var(--green)}.seq-box.m-changed{border:2px solid var(--amber)}.seq-box.m-removed{border:1px dashed var(--muted);opacity:.8}.seq-box.m-removed .seq-what{text-decoration:line-through}.seq-was,.seq-why{color:var(--text-2);margin:0;font-size:12px}.seq-lane.new{border-style:dashed;border-width:2px}.seq-kind.d-new{color:var(--green)}.seq-kind.d-modify{color:var(--amber)}.seq-kind.d-remove{color:var(--text-2)}.seq-bar{justify-content:flex-end;align-items:center;gap:8px;margin-bottom:6px;display:flex}.seq-wrap.viewer-full{overflow:auto}.history-filters{flex-wrap:wrap;align-items:flex-end;gap:12px}.history-session{border-top:1px solid var(--line-2);padding-top:10px}.history-h{color:var(--text);margin:0 0 8px;font-size:13px;font-weight:600}.history-turns{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.history-turn{min-width:0}.history-tags{margin:0 0 6px;font-size:12px}.history-said{min-width:0}.history-note{color:var(--muted);margin:0 0 6px;font-size:12px}@media (width<=720px){.history-turn .runs-pair{grid-template-columns:minmax(0,1fr)}}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(./rajdhani-devanagari-600-normal-DhS7ScYx.woff2)format("woff2"),url(./rajdhani-devanagari-600-normal-BtY48IV_.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(./rajdhani-latin-ext-600-normal-C9ZjJQAt.woff2)format("woff2"),url(./rajdhani-latin-ext-600-normal-BleIgkPp.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:600;src:url(./rajdhani-latin-600-normal-CXCVEoA9.woff2)format("woff2"),url(./rajdhani-latin-600-normal-Dx02qI2_.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-devanagari-700-normal-BQQOj9BB.woff2)format("woff2"),url(./rajdhani-devanagari-700-normal-DBRwWuxA.woff)format("woff");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-latin-ext-700-normal-S6aYESQK.woff2)format("woff2"),url(./rajdhani-latin-ext-700-normal-BPaQ7tlD.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Rajdhani;font-style:normal;font-display:swap;font-weight:700;src:url(./rajdhani-latin-700-normal-BPDUZo87.woff2)format("woff2"),url(./rajdhani-latin-700-normal-e0Uj8ZlN.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(./ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(./ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(./ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(./ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(./ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(./ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(./jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(./jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(./jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(./jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(./jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(./jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(./jetbrains-mono-greek-500-normal-D7SFKleX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,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)format("woff2"),url(./jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(./jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(./jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--accent:#2ee6f6;--accent-soft:#7ff4ff;--accent-hover:#bffaff;--accent-pale:#bfeff7;--on-accent:#04131a;--glow:#2ee6f673;--glow-size:4px;--magenta:#ff4fa3;--magenta-text:#ff9bcb;--magenta-line:#ff4fa373;--danger-text:#ffd6ea;--danger-bg:#ff4fa324;--amber:#ffb547;--amber-text:#ffd18a;--amber-line:#ffb54766;--green:#3ddc97;--green-line:#3ddc9766;--green-line-soft:#3ddc9759;--violet:#8f7bff;--violet-text:#c9c2ff;--violet-line:#8f7bff73;--text:#e9f6fa;--text-2:#b7c6d3;--btn-text:#ddeff5;--nav-text:#9fb0bf;--muted:#8fa3b5;--muted-2:#8fa3b3;--faint:#5f7a88;--gone:#5b6b7a;--placeholder:#6f8395;--ground:#05070a;--haze:#2ee6f612;--grid:#7ff4ff06;--nav:#080b0feb;--bar:#0a0d12d9;--input:#121922;--panel:#181e28eb;--panel-2:#0d1117eb;--panel-dark:#07090c;--hero:#08181ef2;--hero-2:#060e13f2;--box:#0b1016;--box-2:#0b1118;--canvas:#070b10;--inset:#070b0f99;--backdrop:#020508a8;--skel:#121a23;--skel-2:#1a2633;--line:#7ff4ff1a;--line-2:#7ff4ff2e;--line-soft:#7ff4ff14;--line-input:#7ff4ff29;--line-hero:#7ff4ff38;--chip-line:#7ff4ff40;--chip-dim-line:#233040;--bracket:#7ff4ff8c;--rule:#18202a;--step-off:#3a4756;--track:#1a2330;--track-glow:#2ee6f6;--hover-soft:#7ff4ff0a;--hover:#7ff4ff0d;--wash:#2ee6f60a;--picked-soft:#2ee6f60d;--picked-faint:#2ee6f60f;--picked:#2ee6f614;--picked-list:#2ee6f61a;--picked-strong:#2ee6f61f;--picked-on:#2ee6f638;--flow-label:#5fd8e6;--flow-table:#3b8f99;--cov-verified:#2ee6f68c;--cov-doc:#ffb54773;--cov-unknown:#ffffff0d;--cov-line:#ffffff0f;--attribution-bg:#96969640;--attribution-text:#999;--canvas-dots:#777;--minimap-mask:#3c3c3c99;--minimap-node:#2b2b2b;--handle:#bebebe;--handle-line:#1e1e1e;--controls-hover:#3e3e3e;--controls-hover-text:#fff;--shadow:0 18px 40px #0000008c, inset 0 1px 0 #ffffff0a;--shadow-hero:0 0 40px #2ee6f614, 0 18px 40px #0009;--shadow-ask:0 0 16px #2ee6f673, inset 0 0 12px #2ee6f626;--shadow-palette:0 0 40px #2ee6f62e;--shadow-tour:0 0 32px #2ee6f638, 0 18px 40px #0009;--shadow-target:0 0 18px #2ee6f673;--shadow-danger:0 0 12px #ff4fa340;--font:"IBM Plex Sans", system-ui, sans-serif;--display:"Rajdhani", "IBM Plex Sans", sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace}:root[data-theme=light],body.vscode-light,body.vscode-high-contrast-light{--accent:#00707a;--accent-soft:#005f68;--accent-hover:#004a52;--accent-pale:#005f68;--on-accent:#fff;--glow:transparent;--glow-size:0px;--magenta:#b0185f;--magenta-text:#a3155a;--magenta-line:#b0185f8c;--danger-text:#8f1150;--danger-bg:#b0185f14;--amber:#8a5300;--amber-text:#7a4a00;--amber-line:#8a53008c;--green:#08693f;--green-line:#08693f8c;--green-line-soft:#08693f80;--violet:#5a46d6;--violet-text:#4b37c4;--violet-line:#5a46d68c;--text:#17212b;--text-2:#3d4f60;--btn-text:#17212b;--nav-text:#3d4f60;--muted:#56687a;--muted-2:#56687a;--faint:#56687a;--gone:#5b6672;--placeholder:#56687a;--ground:#f4f6f8;--haze:transparent;--grid:transparent;--nav:#eef2f5;--bar:#fff;--input:#fff;--panel:#fff;--panel-2:#fff;--panel-dark:#f7f9fb;--hero:#f2f8f9;--hero-2:#f2f8f9;--box:#f7f9fb;--box-2:#fff;--canvas:#fafbfc;--inset:#f4f6f8;--backdrop:#17212b66;--skel:#e6ebef;--skel-2:#d3dce3;--line:#ccd5dd;--line-2:#7a8a99;--line-soft:#d8e0e7;--line-input:#7a8a99;--line-hero:#7fb4ba;--chip-line:#005f6880;--chip-dim-line:#a9b5c0;--bracket:#00707a;--rule:#e1e7ec;--step-off:#7a8a99;--track:#dbe3ea;--track-glow:transparent;--hover-soft:#17212b0a;--hover:#17212b0d;--wash:#00707a0d;--picked-soft:#00707a0f;--picked-faint:#00707a12;--picked:#00707a1a;--picked-list:#00707a1a;--picked-strong:#00707a1f;--picked-on:#00707a2e;--flow-label:#005f68;--flow-table:#3d7f88;--cov-verified:#00707a8c;--cov-doc:#8a530066;--cov-unknown:#17212b0f;--cov-line:#17212b40;--attribution-bg:#fff;--attribution-text:#56687a;--canvas-dots:#a9b5c0;--minimap-mask:#17212b1f;--minimap-node:#c9d3dc;--handle:#56687a;--handle-line:#fff;--controls-hover:#e6ebef;--controls-hover-text:#17212b;--shadow:0 1px 3px #17212b14;--shadow-hero:0 1px 3px #17212b14;--shadow-ask:none;--shadow-palette:0 8px 28px #17212b38;--shadow-tour:0 8px 28px #17212b38;--shadow-target:none;--shadow-danger:none}html:has(>body.vscode-light){--accent:#00707a;--accent-soft:#005f68;--accent-hover:#004a52;--accent-pale:#005f68;--on-accent:#fff;--glow:transparent;--glow-size:0px;--magenta:#b0185f;--magenta-text:#a3155a;--magenta-line:#b0185f8c;--danger-text:#8f1150;--danger-bg:#b0185f14;--amber:#8a5300;--amber-text:#7a4a00;--amber-line:#8a53008c;--green:#08693f;--green-line:#08693f8c;--green-line-soft:#08693f80;--violet:#5a46d6;--violet-text:#4b37c4;--violet-line:#5a46d68c;--text:#17212b;--text-2:#3d4f60;--btn-text:#17212b;--nav-text:#3d4f60;--muted:#56687a;--muted-2:#56687a;--faint:#56687a;--gone:#5b6672;--placeholder:#56687a;--ground:#f4f6f8;--haze:transparent;--grid:transparent;--nav:#eef2f5;--bar:#fff;--input:#fff;--panel:#fff;--panel-2:#fff;--panel-dark:#f7f9fb;--hero:#f2f8f9;--hero-2:#f2f8f9;--box:#f7f9fb;--box-2:#fff;--canvas:#fafbfc;--inset:#f4f6f8;--backdrop:#17212b66;--skel:#e6ebef;--skel-2:#d3dce3;--line:#ccd5dd;--line-2:#7a8a99;--line-soft:#d8e0e7;--line-input:#7a8a99;--line-hero:#7fb4ba;--chip-line:#005f6880;--chip-dim-line:#a9b5c0;--bracket:#00707a;--rule:#e1e7ec;--step-off:#7a8a99;--track:#dbe3ea;--track-glow:transparent;--hover-soft:#17212b0a;--hover:#17212b0d;--wash:#00707a0d;--picked-soft:#00707a0f;--picked-faint:#00707a12;--picked:#00707a1a;--picked-list:#00707a1a;--picked-strong:#00707a1f;--picked-on:#00707a2e;--flow-label:#005f68;--flow-table:#3d7f88;--cov-verified:#00707a8c;--cov-doc:#8a530066;--cov-unknown:#17212b0f;--cov-line:#17212b40;--attribution-bg:#fff;--attribution-text:#56687a;--canvas-dots:#a9b5c0;--minimap-mask:#17212b1f;--minimap-node:#c9d3dc;--handle:#56687a;--handle-line:#fff;--controls-hover:#e6ebef;--controls-hover-text:#17212b;--shadow:0 1px 3px #17212b14;--shadow-hero:0 1px 3px #17212b14;--shadow-ask:none;--shadow-palette:0 8px 28px #17212b38;--shadow-tour:0 8px 28px #17212b38;--shadow-target:none;--shadow-danger:none}html:has(>body.vscode-high-contrast-light){--accent:#00707a;--accent-soft:#005f68;--accent-hover:#004a52;--accent-pale:#005f68;--on-accent:#fff;--glow:transparent;--glow-size:0px;--magenta:#b0185f;--magenta-text:#a3155a;--magenta-line:#b0185f8c;--danger-text:#8f1150;--danger-bg:#b0185f14;--amber:#8a5300;--amber-text:#7a4a00;--amber-line:#8a53008c;--green:#08693f;--green-line:#08693f8c;--green-line-soft:#08693f80;--violet:#5a46d6;--violet-text:#4b37c4;--violet-line:#5a46d68c;--text:#17212b;--text-2:#3d4f60;--btn-text:#17212b;--nav-text:#3d4f60;--muted:#56687a;--muted-2:#56687a;--faint:#56687a;--gone:#5b6672;--placeholder:#56687a;--ground:#f4f6f8;--haze:transparent;--grid:transparent;--nav:#eef2f5;--bar:#fff;--input:#fff;--panel:#fff;--panel-2:#fff;--panel-dark:#f7f9fb;--hero:#f2f8f9;--hero-2:#f2f8f9;--box:#f7f9fb;--box-2:#fff;--canvas:#fafbfc;--inset:#f4f6f8;--backdrop:#17212b66;--skel:#e6ebef;--skel-2:#d3dce3;--line:#ccd5dd;--line-2:#7a8a99;--line-soft:#d8e0e7;--line-input:#7a8a99;--line-hero:#7fb4ba;--chip-line:#005f6880;--chip-dim-line:#a9b5c0;--bracket:#00707a;--rule:#e1e7ec;--step-off:#7a8a99;--track:#dbe3ea;--track-glow:transparent;--hover-soft:#17212b0a;--hover:#17212b0d;--wash:#00707a0d;--picked-soft:#00707a0f;--picked-faint:#00707a12;--picked:#00707a1a;--picked-list:#00707a1a;--picked-strong:#00707a1f;--picked-on:#00707a2e;--flow-label:#005f68;--flow-table:#3d7f88;--cov-verified:#00707a8c;--cov-doc:#8a530066;--cov-unknown:#17212b0f;--cov-line:#17212b40;--attribution-bg:#fff;--attribution-text:#56687a;--canvas-dots:#a9b5c0;--minimap-mask:#17212b1f;--minimap-node:#c9d3dc;--handle:#56687a;--handle-line:#fff;--controls-hover:#e6ebef;--controls-hover-text:#17212b;--shadow:0 1px 3px #17212b14;--shadow-hero:0 1px 3px #17212b14;--shadow-ask:none;--shadow-palette:0 8px 28px #17212b38;--shadow-tour:0 8px 28px #17212b38;--shadow-target:none;--shadow-danger:none}body.vscode-high-contrast-light{--text:#000;--btn-text:#000;--line:#0f4a85;--line-2:#0f4a85;--line-soft:#0f4a85;--line-input:#0f4a85;--line-hero:#0f4a85;--chip-line:#0f4a85;--chip-dim-line:#0f4a85;--rule:#0f4a85;--step-off:#0f4a85}html:has(>body.vscode-high-contrast-light){--text:#000;--btn-text:#000;--line:#0f4a85;--line-2:#0f4a85;--line-soft:#0f4a85;--line-input:#0f4a85;--line-hero:#0f4a85;--chip-line:#0f4a85;--chip-dim-line:#0f4a85;--rule:#0f4a85;--step-off:#0f4a85}body.vscode-high-contrast:not(.vscode-high-contrast-light){--line:#6fc3df;--line-2:#6fc3df;--line-soft:#6fc3df;--line-input:#6fc3df;--line-hero:#6fc3df;--chip-line:#6fc3df;--chip-dim-line:#6fc3df;--rule:#6fc3df;--step-off:#8fa3b5;--bracket:#6fc3df}html:has(>body.vscode-high-contrast:not(.vscode-high-contrast-light)){--line:#6fc3df;--line-2:#6fc3df;--line-soft:#6fc3df;--line-input:#6fc3df;--line-hero:#6fc3df;--chip-line:#6fc3df;--chip-dim-line:#6fc3df;--rule:#6fc3df;--step-off:#8fa3b5;--bracket:#6fc3df}*{box-sizing:border-box}html,body{background:var(--ground);color:var(--text);font-family:var(--font);margin:0;font-size:13px}body{background:radial-gradient(1200px 600px at 55% 30%, var(--haze), transparent 60%), linear-gradient(var(--grid) 1px, transparent 1px) 0 0 / 100% 32px, linear-gradient(90deg, var(--grid) 1px, transparent 1px) 0 0 / 32px 100%, var(--ground);min-height:100vh}a{color:var(--accent-soft)}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent-soft);outline-offset:2px}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{background:var(--accent);color:var(--on-accent);z-index:10;border-radius:6px;padding:8px 12px;position:absolute;top:-40px;left:8px}.skip:focus{top:8px}.shell{flex-wrap:wrap;min-height:100vh;display:flex}.nav{background:var(--nav);border-right:1px solid var(--line-soft);flex-direction:column;flex:206px;gap:2px;max-width:226px;padding:16px 10px;display:flex}.nav a{color:var(--nav-text);border-radius:8px;align-items:center;gap:11px;padding:8px 12px;font-size:13px;text-decoration:none;display:flex}.nav a:hover{background:var(--hover);color:var(--text)}.nav a[aria-current=page],.nav a[aria-current=true]{background:var(--picked);color:var(--text);box-shadow:inset 2px 0 0 var(--accent)}.nav .group{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:12px 12px 4px;font-size:10px}.section-tabs{border-bottom:1px solid var(--line-soft);margin:0 0 14px}.section-tabs .crumbs{color:var(--muted);margin-bottom:6px;font-size:10px}.section-tabs .tabs{flex-wrap:wrap;align-items:center;gap:2px 4px;padding-bottom:6px;display:flex}.section-tabs .tabs a{color:var(--text-2);border-radius:6px;padding:6px 10px;font-size:12.5px;text-decoration:none}.section-tabs .tabs a:hover{background:var(--hover);color:var(--text)}.section-tabs .tabs a[aria-current=page]{background:var(--picked);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.section-tabs .tab-group{border-left:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:2px;margin-left:4px;padding-left:8px;display:inline-flex}.section-tabs .tab-group-name{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-right:4px;font-size:9.5px}.nav .ask{border:1px solid var(--accent);background:var(--picked-strong);color:var(--text);box-shadow:var(--shadow-ask);margin-top:12px}.nav .more{border-top:1px solid var(--line-soft);margin-top:14px;padding-top:8px}.nav .more-toggle{width:100%;color:var(--nav-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;padding:7px 12px;font-size:12.5px;display:flex}.nav .more-toggle:hover{background:var(--hover);color:var(--text)}.nav .more-caret{font-size:10px;transition:transform .15s;display:inline-block}.nav .more-toggle[aria-expanded=true] .more-caret{transform:rotate(90deg)}.nav .more-count{font-family:var(--mono);color:var(--muted);margin-left:auto;font-size:10px}.nav .more-pages[hidden]{display:none}.nav .more-pages a{gap:6px;padding:4px 12px 4px 22px;font-size:12px}.nav .more-group,.nav .more-phase{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:10px 12px 2px;font-size:9.5px;display:block}.nav .more-phase{letter-spacing:.08em;padding:6px 12px 0 22px}.nav .menu-hint{color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;margin-top:10px;padding:6px 12px;font-size:10px}.nav .menu-hint:hover{color:var(--text);background:var(--hover)}.brand{font-family:var(--display);letter-spacing:.22em;color:var(--accent);text-shadow:0 0 10px var(--glow);align-items:center;gap:10px;padding:4px 12px 16px;font-size:18px;font-weight:700;display:flex}.main{flex-direction:column;flex:999 400px;gap:14px;min-width:0;padding:14px 18px 22px;display:flex}@media (width<=1000px){.nav{flex-basis:164px;max-width:176px;padding:12px 6px}.nav a{gap:8px;padding:7px 8px;font-size:12.5px}.nav .more-toggle,.nav .menu-hint{padding-left:8px;padding-right:8px}.nav .more-pages a{padding:4px 8px 4px 14px}.nav .more-group{padding-left:8px}.nav .more-phase{padding-left:14px}.main{padding:12px 12px 20px}}@media (width<=600px){.nav{max-width:none}}.topbar{border:1px solid var(--line-soft);background:var(--bar);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.ask-form{background:var(--input);border:1px solid var(--line-input);border-radius:8px;flex:280px;align-items:center;gap:8px;height:36px;padding:0 6px 0 12px;display:flex}.ask-form input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:12.5px}.ask-form input::placeholder{color:var(--placeholder)}.bento{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;gap:12px;display:grid}@media (width<=1000px){.bento>*{grid-area:auto/1/auto/-1!important}}.column{flex-direction:column;gap:12px;min-width:0;display:flex}.panel{background:linear-gradient(180deg, var(--panel), var(--panel-2));border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;min-width:0;padding:14px;position:relative}.panel:before{content:"";border-left:1.5px solid var(--bracket);border-top:1.5px solid var(--bracket);pointer-events:none;border-radius:10px 0 0;width:14px;height:14px;position:absolute;top:-1px;left:-1px}.panel.dark{background:var(--panel-dark)}.panel.hero{background:linear-gradient(180deg, var(--hero), var(--hero-2));border-color:var(--line-hero);box-shadow:var(--shadow-hero)}.hud{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:11px}.h{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--text);margin:0;font-size:15px;font-weight:700}.n{font-family:var(--display);font-weight:700}.mono{font-family:var(--mono)}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.stack>.btn{align-self:flex-start}.stack{flex-direction:column;gap:8px;display:flex}.muted{color:var(--muted)}.chip{font-family:var(--mono);border:1px solid var(--chip-line);color:var(--accent-soft);white-space:nowrap;border-radius:5px;padding:2px 7px;font-size:11px}.chip.blocking{color:var(--magenta-text);border-color:var(--magenta-line)}.chip.warn{color:var(--amber);border-color:var(--amber-line)}.chip.done{color:var(--green);border-color:var(--green-line)}.chip.ai{color:var(--violet-text);border-color:var(--violet-line)}.chip.dim{color:var(--muted);border-color:var(--chip-dim-line)}.btn{border:1px solid var(--line-2);background:var(--hover-soft);height:32px;color:var(--btn-text);font:inherit;cursor:pointer;border-radius:7px;padding:0 11px;font-size:12px}.btn.primary{background:var(--accent);color:var(--on-accent);box-shadow:0 0 12px var(--glow);border:0;font-weight:600}.btn.primary .hud{color:inherit}.btn:disabled{opacity:.55;cursor:not-allowed}.list-row{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:10px;padding:7px 0;display:flex}.list-row:last-child{border-bottom:0}@media (width<=640px){.row,.list-row{flex-wrap:wrap}.chip{white-space:normal;overflow-wrap:anywhere}.mono,code,.run-table th,.run-table td{overflow-wrap:anywhere}}.track{background:var(--track);border-radius:3px;height:6px}.track>span{background:var(--accent);height:6px;box-shadow:0 0 10px var(--track-glow);border-radius:3px;display:block}.big{font-family:var(--display);color:var(--accent);text-shadow:0 0 18px var(--glow);font-size:46px;font-weight:700;line-height:1}.state{text-align:center;color:var(--text-2);padding:18px}.state.error{color:var(--magenta-text)}.skeleton{background:linear-gradient(90deg, var(--skel), var(--skel-2), var(--skel));background-size:200% 100%;border-radius:4px;height:12px;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.clamp2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.palette-backdrop{background:var(--backdrop);z-index:50;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.palette{border-color:var(--accent);width:min(640px,92vw);box-shadow:var(--shadow-palette)}.palette input{background:var(--box);width:100%;height:44px;color:var(--text);border:1px solid var(--accent);font:inherit;border-radius:10px;padding:0 14px;font-size:15px}.palette ul{max-height:50vh;margin:10px 0 0;padding:0;list-style:none;overflow-y:auto}.palette li{cursor:pointer;border-radius:8px;justify-content:space-between;gap:12px;padding:8px 10px;font-size:13px;display:flex}.palette li[aria-selected=true]{background:var(--picked-list);box-shadow:inset 2px 0 0 var(--accent)}.btn.danger{border-color:var(--magenta);color:var(--danger-text);background:var(--danger-bg);box-shadow:var(--shadow-danger)}.tour{z-index:40;border-color:var(--accent);width:min(380px,100vw - 32px);box-shadow:var(--shadow-tour);position:fixed;bottom:24px;right:24px}.tour-target{outline:2px solid var(--accent);outline-offset:3px;box-shadow:var(--shadow-target);border-radius:8px}.field{background:var(--box);height:32px;color:var(--text);border:1px solid var(--line-2);font:inherit;border-radius:7px;min-width:0;padding:0 8px;font-size:13px}.field::placeholder{color:var(--muted)}.field:focus-visible{outline:2px solid var(--accent);outline-offset:1px}a.btn{align-items:center;text-decoration:none;display:inline-flex}.arch-canvas{border:1px solid var(--line);background:var(--canvas);border-radius:8px;position:relative;overflow:hidden}.arch-canvas .react-flow{--xy-background-color:var(--canvas);--xy-node-border-radius:8px;--xy-minimap-background-color:var(--box);--xy-controls-button-background-color:var(--box);--xy-controls-button-color:var(--text);--xy-controls-button-border-color:var(--line-2);--xy-edge-stroke:var(--text-2);--xy-attribution-background-color:var(--attribution-bg);--xy-background-pattern-color:var(--canvas-dots);--xy-minimap-mask-background-color:var(--minimap-mask);--xy-minimap-node-background-color:var(--minimap-node);--xy-handle-background-color:var(--handle);--xy-handle-border-color:var(--handle-line);--xy-controls-button-background-color-hover:var(--controls-hover);--xy-controls-button-color-hover:var(--controls-hover-text)}.arch-canvas .react-flow__attribution a{color:var(--attribution-text)}.arch-box{border:1px solid var(--line-2);background:var(--box);width:100%;height:100%;color:var(--text);border-radius:8px;flex-direction:column;gap:2px;padding:6px 10px;font-size:12px;display:flex}.arch-box.group{background:var(--wash);border-color:var(--accent)}.arch-box.outside{color:var(--text-2);border-style:dashed}.arch-box.gappy{border-color:var(--amber)}.arch-box.picked{outline:2px solid var(--accent-soft);outline-offset:2px}.arch-box-head{justify-content:space-between;gap:6px;display:flex}.arch-box-label{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.arch-box-foot{gap:8px;display:flex}.arch-gap{color:var(--amber);align-items:center;gap:4px;display:inline-flex}.arch-link.async{stroke-dasharray:6 4}.arch-link.gappy{stroke:var(--amber)}.arch-link-label{pointer-events:all;background:var(--box);border:1px solid var(--line-2);color:var(--text-2);font-family:var(--mono);border-radius:4px;padding:1px 6px;font-size:11px;position:absolute}.arch-link-label.gappy{color:var(--amber);border-color:var(--amber)}.arch-box.m-new,.arch-link-label.m-new{border:2px solid var(--green)}.arch-box.m-modify,.arch-link-label.m-modify{border:2px solid var(--amber)}.arch-box.m-retire,.arch-link-label.m-retire{border:1px dashed var(--muted)}.arch-box.m-retire .arch-box-label,.arch-link-label.m-retire{text-decoration:line-through}.arch-link.m-new{stroke:var(--green);stroke-width:2px}.arch-link.m-modify{stroke:var(--amber);stroke-width:2px}.arch-link.m-retire{stroke:var(--muted);stroke-dasharray:2 3}.arch-shared{color:var(--amber);margin:0 0 8px}.arch-notice{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.arch-notice p{margin:0}.viewer{flex-direction:column;gap:8px;width:100%;min-width:0;display:flex;position:relative}.viewer:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viewer-full{z-index:1000;background:var(--canvas);box-sizing:border-box;padding:12px;position:fixed;inset:0}.viewer-full .viewer-stage{flex:auto}.viewer-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.viewer-group{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.viewer-btn{justify-content:center;align-items:center;min-width:32px;min-height:32px;display:inline-flex}.viewer-btn:focus-visible,.viewer-aside-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.viewer-zoom{text-align:center;min-width:80px}.viewer-find .field{width:min(280px,60vw);height:32px}.viewer-stage{width:100%;min-height:200px;position:relative}.viewer-stage>.arch-canvas,.viewer-stage>.flow-canvas{width:100%;height:100%}.viewer-aside-toggle{z-index:6;position:absolute;top:8px;right:8px}.viewer-aside{z-index:5;border:1px solid var(--line-2);background:var(--box);border-radius:8px;width:min(380px,100% - 16px);padding:12px;position:absolute;top:48px;bottom:8px;right:8px;overflow:auto}.viewer-aside[hidden]{display:none}.viewer-keys{margin:0}.arch-canvas .react-flow__node.dim,.arch-canvas .react-flow__edge.dim{opacity:.18}.arch-box-label{font-size:calc(12px * var(--label-scale,1))}.arch-canvas.far .arch-link-label{display:none}.arch-box.topic{border-style:dashed;border-color:var(--accent);border-radius:24px}.arch-box.topic.gappy{border-color:var(--amber)}.arch-box-owner{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.flow-canvas{border:1px solid var(--line-2);background:var(--canvas);touch-action:none;cursor:grab;border-radius:8px;position:relative;overflow:hidden}.flow-canvas.panning{cursor:grabbing}.flow-minimap{border:1px solid var(--line-2);background:var(--box);border-radius:6px;position:absolute;bottom:8px;right:8px}.viewer-full .viewer-stage{min-height:0}.q-group{flex-direction:column;gap:4px;display:flex}.q-group-head{z-index:1;background:var(--panel-2);border-bottom:1px solid var(--chip-line);font-family:var(--mono);letter-spacing:.04em;color:var(--text-2);justify-content:space-between;align-items:center;margin:8px 0 2px;padding:6px 8px;font-size:11px;font-weight:600;display:flex;position:sticky;top:0}.q-count{color:var(--muted);font-weight:400}.q-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}a.q-item{color:var(--text-2);border:1px solid #0000;border-radius:6px;flex-direction:column;gap:4px;padding:8px 10px;text-decoration:none;display:flex}a.q-item:hover{background:var(--haze);color:var(--text)}a.q-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}a.q-item[aria-current=true]{background:var(--picked);color:var(--text);border-color:var(--chip-line);box-shadow:inset 3px 0 0 var(--accent)}.q-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.35;display:-webkit-box;overflow:hidden}.q-meta{color:var(--faint);align-items:center;gap:8px;font-size:11px;display:flex}.q-meta .chip{padding:0 6px;font-size:10px}.q-about{color:var(--accent-soft);font-size:11.5px}.q-stats{flex-wrap:wrap;align-items:stretch;gap:8px;margin:0 0 12px;display:flex}.q-stat{border:1px solid var(--chip-line);background:var(--panel-2);min-width:96px;color:var(--text-2);font:inherit;text-align:left;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;display:flex}.q-stat:not(:disabled){cursor:pointer}.q-stat:not(:disabled):hover{background:var(--haze)}.q-stat:disabled{opacity:1}.q-stat[aria-pressed=true]{box-shadow:inset 0 -2px 0 var(--accent);background:var(--picked)}.q-stat:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.q-stat-n{font-family:var(--mono);color:var(--text);font-size:22px;line-height:1.1}.q-stat.warn .q-stat-n{color:var(--amber)}.q-stat.done .q-stat-n{color:var(--green)}.q-stat-label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:10px}.q-progress{flex-direction:column;flex:160px;justify-content:center;gap:6px;font-size:12px;display:flex}.q-progress-bar{background:var(--panel-dark);border:1px solid var(--chip-line);border-radius:3px;height:6px;overflow:hidden}.q-progress-bar span{background:var(--green);height:100%;display:block}.q-row{align-items:flex-start;gap:6px;display:flex}.q-row>a.q-item{flex:1;min-width:0}.q-check{accent-color:var(--accent);margin-top:11px}.q-pick{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.q-pick input{accent-color:var(--accent)}.q-bulk-list{color:var(--text-2);max-height:220px;margin:0;padding-left:18px;font-size:12.5px;overflow:auto}.q-bulk-list .mono{color:var(--faint);font-size:11px}.q-check-gap{flex:none;width:13px}