@n1xyz/wallet-widget 0.0.35-alpha.0 → 0.0.35-alpha.1

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 (574) hide show
  1. package/dist/bridge-assist/cctp-solana.d.ts +33 -0
  2. package/dist/bridge-assist/cctp-solana.js +392 -0
  3. package/dist/bridge-assist/cctp-solana.js.map +1 -0
  4. package/dist/main.css +1 -2
  5. package/dist/src/adapters/evm.d.ts +39 -0
  6. package/dist/src/adapters/evm.js +338 -0
  7. package/dist/src/adapters/evm.js.map +1 -0
  8. package/dist/src/adapters/factory.d.ts +37 -0
  9. package/dist/src/adapters/factory.js +82 -0
  10. package/dist/src/adapters/factory.js.map +1 -0
  11. package/dist/src/adapters/index.d.ts +33 -0
  12. package/dist/src/adapters/index.js +36 -0
  13. package/dist/src/adapters/index.js.map +1 -0
  14. package/dist/src/adapters/solana.d.ts +37 -0
  15. package/dist/src/adapters/solana.js +359 -0
  16. package/dist/src/adapters/solana.js.map +1 -0
  17. package/dist/src/adapters/types.d.ts +160 -0
  18. package/dist/src/adapters/types.js +20 -0
  19. package/dist/src/adapters/types.js.map +1 -0
  20. package/dist/src/animations/N1Loader.js.map +1 -0
  21. package/dist/src/animations/N1Loader.json +1 -0
  22. package/dist/src/animations/Processing.js.map +1 -0
  23. package/dist/src/animations/Processing.json +1 -0
  24. package/dist/{components → src/components}/LoadingFallback.d.ts +3 -0
  25. package/dist/{components → src/components}/LoadingFallback.js +3 -0
  26. package/dist/src/components/LoadingFallback.js.map +1 -0
  27. package/dist/{components → src/components}/Logo.d.ts +4 -0
  28. package/dist/{components → src/components}/Logo.js +4 -0
  29. package/dist/src/components/Logo.js.map +1 -0
  30. package/dist/src/components/N1ConnectButton.d.ts +13 -0
  31. package/dist/src/components/N1ConnectButton.js +66 -0
  32. package/dist/src/components/N1ConnectButton.js.map +1 -0
  33. package/dist/src/components/logos/ArbitrumLogo.js.map +1 -0
  34. package/dist/src/components/logos/BaseLogo.js +6 -0
  35. package/dist/src/components/logos/BaseLogo.js.map +1 -0
  36. package/dist/src/components/logos/BeraLogo.js.map +1 -0
  37. package/dist/src/components/logos/BitcoinLogo.js.map +1 -0
  38. package/dist/src/components/logos/EthereumLogo.js.map +1 -0
  39. package/dist/{components → src/components}/logos/HyperliquidLogo.js +1 -1
  40. package/dist/src/components/logos/HyperliquidLogo.js.map +1 -0
  41. package/dist/src/components/logos/OptimismLogo.js.map +1 -0
  42. package/dist/src/components/logos/SolanaLogo.js.map +1 -0
  43. package/dist/src/components/logos/ZeroOneLogo.js.map +1 -0
  44. package/dist/src/components/logos/index.js.map +1 -0
  45. package/dist/src/config/chains.d.ts +18 -0
  46. package/dist/src/config/chains.js +58 -0
  47. package/dist/src/config/chains.js.map +1 -0
  48. package/dist/src/config/dynamic.d.ts +1 -0
  49. package/dist/src/config/dynamic.js +18 -0
  50. package/dist/src/config/dynamic.js.map +1 -0
  51. package/dist/src/config/solana.js.map +1 -0
  52. package/dist/src/config/turnkey.d.ts +2 -0
  53. package/dist/src/config/turnkey.js +32 -0
  54. package/dist/src/config/turnkey.js.map +1 -0
  55. package/dist/src/context/n1-wallet-context.js.map +1 -0
  56. package/dist/src/errors/types.d.ts +72 -0
  57. package/dist/src/errors/types.js +140 -0
  58. package/dist/src/errors/types.js.map +1 -0
  59. package/dist/{features → src/features}/onboarding-flow/N1WalletModal.js +44 -29
  60. package/dist/src/features/onboarding-flow/N1WalletModal.js.map +1 -0
  61. package/dist/{features → src/features}/onboarding-flow/OnboardingFlow.d.ts +2 -1
  62. package/dist/{features → src/features}/onboarding-flow/OnboardingFlow.js +54 -8
  63. package/dist/src/features/onboarding-flow/OnboardingFlow.js.map +1 -0
  64. package/dist/src/features/onboarding-flow/bridge-assist/client.d.ts +42 -0
  65. package/dist/src/features/onboarding-flow/bridge-assist/client.js +268 -0
  66. package/dist/src/features/onboarding-flow/bridge-assist/client.js.map +1 -0
  67. package/dist/src/features/onboarding-flow/bridge-assist/config.d.ts +4 -0
  68. package/dist/src/features/onboarding-flow/bridge-assist/config.js +11 -0
  69. package/dist/src/features/onboarding-flow/bridge-assist/config.js.map +1 -0
  70. package/dist/src/features/onboarding-flow/bridge-assist/index.d.ts +1 -0
  71. package/dist/src/features/onboarding-flow/bridge-assist/index.js +2 -0
  72. package/dist/src/features/onboarding-flow/bridge-assist/index.js.map +1 -0
  73. package/dist/src/features/onboarding-flow/bridge-assist/types.d.ts +5 -0
  74. package/dist/src/features/onboarding-flow/bridge-assist/types.js +28 -0
  75. package/dist/src/features/onboarding-flow/bridge-assist/types.js.map +1 -0
  76. package/dist/src/features/onboarding-flow/cctp/bridgeKitClient.d.ts +35 -0
  77. package/dist/src/features/onboarding-flow/cctp/bridgeKitClient.js +391 -0
  78. package/dist/src/features/onboarding-flow/cctp/bridgeKitClient.js.map +1 -0
  79. package/dist/src/features/onboarding-flow/cctp/clientFactory.d.ts +6 -0
  80. package/dist/src/features/onboarding-flow/cctp/clientFactory.js +9 -0
  81. package/dist/src/features/onboarding-flow/cctp/clientFactory.js.map +1 -0
  82. package/dist/src/features/onboarding-flow/cctp/config.d.ts +16 -0
  83. package/dist/src/features/onboarding-flow/cctp/config.js +55 -0
  84. package/dist/src/features/onboarding-flow/cctp/config.js.map +1 -0
  85. package/dist/src/features/onboarding-flow/cctp/mockCctpClient.d.ts +11 -0
  86. package/dist/src/features/onboarding-flow/cctp/mockCctpClient.js +85 -0
  87. package/dist/src/features/onboarding-flow/cctp/mockCctpClient.js.map +1 -0
  88. package/dist/src/features/onboarding-flow/cctp/solanaClaim.d.ts +1 -0
  89. package/dist/src/features/onboarding-flow/cctp/solanaClaim.js +2 -0
  90. package/dist/src/features/onboarding-flow/cctp/solanaClaim.js.map +1 -0
  91. package/dist/src/features/onboarding-flow/cctp/types.d.ts +50 -0
  92. package/dist/src/features/onboarding-flow/cctp/types.js +2 -0
  93. package/dist/src/features/onboarding-flow/cctp/types.js.map +1 -0
  94. package/dist/{features → src/features}/onboarding-flow/components/ChainButton.d.ts +5 -2
  95. package/dist/src/features/onboarding-flow/components/ChainButton.js +14 -0
  96. package/dist/src/features/onboarding-flow/components/ChainButton.js.map +1 -0
  97. package/dist/{features → src/features}/onboarding-flow/components/Header.d.ts +2 -2
  98. package/dist/src/features/onboarding-flow/components/Header.js +69 -0
  99. package/dist/src/features/onboarding-flow/components/Header.js.map +1 -0
  100. package/dist/{features → src/features}/onboarding-flow/components/ImageWithFallback.d.ts +2 -5
  101. package/dist/src/features/onboarding-flow/components/ImageWithFallback.js +33 -0
  102. package/dist/src/features/onboarding-flow/components/ImageWithFallback.js.map +1 -0
  103. package/dist/{features → src/features}/onboarding-flow/components/TransactionTable.d.ts +5 -0
  104. package/dist/{features → src/features}/onboarding-flow/components/TransactionTable.js +8 -3
  105. package/dist/src/features/onboarding-flow/components/TransactionTable.js.map +1 -0
  106. package/dist/{features → src/features}/onboarding-flow/components/WaitingMessage.d.ts +4 -0
  107. package/dist/src/features/onboarding-flow/components/WaitingMessage.js.map +1 -0
  108. package/dist/src/features/onboarding-flow/components/index.js.map +1 -0
  109. package/dist/src/features/onboarding-flow/errors/depositError.d.ts +36 -0
  110. package/dist/src/features/onboarding-flow/errors/depositError.js +134 -0
  111. package/dist/src/features/onboarding-flow/errors/depositError.js.map +1 -0
  112. package/dist/src/features/onboarding-flow/hooks/useBridgeDeposit.d.ts +35 -0
  113. package/dist/src/features/onboarding-flow/hooks/useBridgeDeposit.js +585 -0
  114. package/dist/src/features/onboarding-flow/hooks/useBridgeDeposit.js.map +1 -0
  115. package/dist/src/features/onboarding-flow/hooks/useDepositAuth.d.ts +6 -0
  116. package/dist/src/features/onboarding-flow/hooks/useDepositAuth.js +141 -0
  117. package/dist/src/features/onboarding-flow/hooks/useDepositAuth.js.map +1 -0
  118. package/dist/src/features/onboarding-flow/hooks/useDepositHydration.d.ts +15 -0
  119. package/dist/src/features/onboarding-flow/hooks/useDepositHydration.js +83 -0
  120. package/dist/src/features/onboarding-flow/hooks/useDepositHydration.js.map +1 -0
  121. package/dist/src/features/onboarding-flow/hooks/usePendingDepositState.d.ts +6 -0
  122. package/dist/src/features/onboarding-flow/hooks/usePendingDepositState.js +45 -0
  123. package/dist/src/features/onboarding-flow/hooks/usePendingDepositState.js.map +1 -0
  124. package/dist/src/features/onboarding-flow/hooks/useSolanaDeposit.d.ts +13 -0
  125. package/dist/src/features/onboarding-flow/hooks/useSolanaDeposit.js +161 -0
  126. package/dist/src/features/onboarding-flow/hooks/useSolanaDeposit.js.map +1 -0
  127. package/dist/src/features/onboarding-flow/index.js.map +1 -0
  128. package/dist/{features → src/features}/onboarding-flow/providers/DepositFlowProvider.d.ts +10 -3
  129. package/dist/src/features/onboarding-flow/providers/DepositFlowProvider.js +762 -0
  130. package/dist/src/features/onboarding-flow/providers/DepositFlowProvider.js.map +1 -0
  131. package/dist/{features → src/features}/onboarding-flow/providers/OnboardingStateProvider.d.ts +5 -0
  132. package/dist/src/features/onboarding-flow/providers/OnboardingStateProvider.js +399 -0
  133. package/dist/src/features/onboarding-flow/providers/OnboardingStateProvider.js.map +1 -0
  134. package/dist/{features → src/features}/onboarding-flow/providers/StateProvider.d.ts +2 -2
  135. package/dist/{features → src/features}/onboarding-flow/providers/StateProvider.js +2 -2
  136. package/dist/src/features/onboarding-flow/providers/StateProvider.js.map +1 -0
  137. package/dist/{features → src/features}/onboarding-flow/providers/WalletConnectionProvider.d.ts +8 -0
  138. package/dist/src/features/onboarding-flow/providers/WalletConnectionProvider.js +938 -0
  139. package/dist/src/features/onboarding-flow/providers/WalletConnectionProvider.js.map +1 -0
  140. package/dist/{features → src/features}/onboarding-flow/providers/debug.js +5 -1
  141. package/dist/src/features/onboarding-flow/providers/debug.js.map +1 -0
  142. package/dist/src/features/onboarding-flow/providers/index.js.map +1 -0
  143. package/dist/{features → src/features}/onboarding-flow/providers/onboardingStateMachine.d.ts +28 -1
  144. package/dist/{features → src/features}/onboarding-flow/providers/onboardingStateMachine.js +38 -4
  145. package/dist/src/features/onboarding-flow/providers/onboardingStateMachine.js.map +1 -0
  146. package/dist/src/features/onboarding-flow/screens/00-EntrySelectionScreen.d.ts +4 -0
  147. package/dist/src/features/onboarding-flow/screens/00-EntrySelectionScreen.js +32 -0
  148. package/dist/src/features/onboarding-flow/screens/00-EntrySelectionScreen.js.map +1 -0
  149. package/dist/src/features/onboarding-flow/screens/01-ConnectWalletScreen.d.ts +5 -0
  150. package/dist/{features → src/features}/onboarding-flow/screens/01-ConnectWalletScreen.js +5 -0
  151. package/dist/src/features/onboarding-flow/screens/01-ConnectWalletScreen.js.map +1 -0
  152. package/dist/src/features/onboarding-flow/screens/02-TurnkeyAuthScreen.d.ts +1 -0
  153. package/dist/src/features/onboarding-flow/screens/02-TurnkeyAuthScreen.js +25 -0
  154. package/dist/src/features/onboarding-flow/screens/02-TurnkeyAuthScreen.js.map +1 -0
  155. package/dist/src/features/onboarding-flow/screens/03-TurnkeyPreparingScreen.d.ts +1 -0
  156. package/dist/src/features/onboarding-flow/screens/03-TurnkeyPreparingScreen.js +25 -0
  157. package/dist/src/features/onboarding-flow/screens/03-TurnkeyPreparingScreen.js.map +1 -0
  158. package/dist/{features/onboarding-flow/screens/02-ChainSelectionScreen.d.ts → src/features/onboarding-flow/screens/04-ChainSelectionScreen.d.ts} +11 -11
  159. package/dist/{features/onboarding-flow/screens/02-ChainSelectionScreen.js → src/features/onboarding-flow/screens/04-ChainSelectionScreen.js} +60 -30
  160. package/dist/src/features/onboarding-flow/screens/04-ChainSelectionScreen.js.map +1 -0
  161. package/dist/src/features/onboarding-flow/screens/05-AmountInputScreen.d.ts +11 -0
  162. package/dist/src/features/onboarding-flow/screens/05-AmountInputScreen.js +585 -0
  163. package/dist/src/features/onboarding-flow/screens/05-AmountInputScreen.js.map +1 -0
  164. package/dist/{features/onboarding-flow/screens/04-DepositProgressScreen.d.ts → src/features/onboarding-flow/screens/06-DepositProgressScreen.d.ts} +5 -0
  165. package/dist/src/features/onboarding-flow/screens/06-DepositProgressScreen.js +367 -0
  166. package/dist/src/features/onboarding-flow/screens/06-DepositProgressScreen.js.map +1 -0
  167. package/dist/src/features/onboarding-flow/screens/07-DepositSuccessScreen.d.ts +6 -0
  168. package/dist/{features/onboarding-flow/screens/05-DepositSuccessScreen.js → src/features/onboarding-flow/screens/07-DepositSuccessScreen.js} +12 -6
  169. package/dist/src/features/onboarding-flow/screens/07-DepositSuccessScreen.js.map +1 -0
  170. package/dist/src/features/onboarding-flow/screens/08-AuthLoadingScreen.d.ts +5 -0
  171. package/dist/{features/onboarding-flow/screens/06-AuthLoadingScreen.js → src/features/onboarding-flow/screens/08-AuthLoadingScreen.js} +6 -2
  172. package/dist/src/features/onboarding-flow/screens/08-AuthLoadingScreen.js.map +1 -0
  173. package/dist/src/features/onboarding-flow/screens/09-ErrorScreen.d.ts +5 -0
  174. package/dist/src/features/onboarding-flow/screens/09-ErrorScreen.js +43 -0
  175. package/dist/src/features/onboarding-flow/screens/09-ErrorScreen.js.map +1 -0
  176. package/dist/src/features/onboarding-flow/screens/index.d.ts +10 -0
  177. package/dist/src/features/onboarding-flow/screens/index.js +11 -0
  178. package/dist/src/features/onboarding-flow/screens/index.js.map +1 -0
  179. package/dist/src/features/onboarding-flow/turnkey/turnkeySessionMachine.d.ts +1 -0
  180. package/dist/src/features/onboarding-flow/turnkey/turnkeySessionMachine.js +2 -0
  181. package/dist/src/features/onboarding-flow/turnkey/turnkeySessionMachine.js.map +1 -0
  182. package/dist/{features → src/features}/onboarding-flow/types.d.ts +38 -11
  183. package/dist/{features → src/features}/onboarding-flow/types.js +5 -0
  184. package/dist/src/features/onboarding-flow/types.js.map +1 -0
  185. package/dist/src/features/onboarding-flow/utils/bridgeUtils.d.ts +6 -0
  186. package/dist/src/features/onboarding-flow/utils/bridgeUtils.js +34 -0
  187. package/dist/src/features/onboarding-flow/utils/bridgeUtils.js.map +1 -0
  188. package/dist/src/features/onboarding-flow/utils/deposit/attestationUtils.d.ts +29 -0
  189. package/dist/src/features/onboarding-flow/utils/deposit/attestationUtils.js +82 -0
  190. package/dist/src/features/onboarding-flow/utils/deposit/attestationUtils.js.map +1 -0
  191. package/dist/src/features/onboarding-flow/utils/deposit/bridgeUtils.d.ts +5 -0
  192. package/dist/src/features/onboarding-flow/utils/deposit/bridgeUtils.js +10 -0
  193. package/dist/src/features/onboarding-flow/utils/deposit/bridgeUtils.js.map +1 -0
  194. package/dist/src/features/onboarding-flow/utils/deposit/claimConfirmation.d.ts +14 -0
  195. package/dist/src/features/onboarding-flow/utils/deposit/claimConfirmation.js +94 -0
  196. package/dist/src/features/onboarding-flow/utils/deposit/claimConfirmation.js.map +1 -0
  197. package/dist/src/features/onboarding-flow/utils/deposit/claimSubmission.d.ts +25 -0
  198. package/dist/src/features/onboarding-flow/utils/deposit/claimSubmission.js +212 -0
  199. package/dist/src/features/onboarding-flow/utils/deposit/claimSubmission.js.map +1 -0
  200. package/dist/src/features/onboarding-flow/utils/deposit/depositPolling.d.ts +37 -0
  201. package/dist/src/features/onboarding-flow/utils/deposit/depositPolling.js +199 -0
  202. package/dist/src/features/onboarding-flow/utils/deposit/depositPolling.js.map +1 -0
  203. package/dist/src/features/onboarding-flow/utils/deposit/evmTxInterceptor.d.ts +27 -0
  204. package/dist/src/features/onboarding-flow/utils/deposit/evmTxInterceptor.js +149 -0
  205. package/dist/src/features/onboarding-flow/utils/deposit/evmTxInterceptor.js.map +1 -0
  206. package/dist/src/features/onboarding-flow/utils/deposit/nonceUtils.d.ts +5 -0
  207. package/dist/src/features/onboarding-flow/utils/deposit/nonceUtils.js +121 -0
  208. package/dist/src/features/onboarding-flow/utils/deposit/nonceUtils.js.map +1 -0
  209. package/dist/{features/onboarding-flow/utils/transaction.d.ts → src/features/onboarding-flow/utils/deposit/solanaDepositTransaction.d.ts} +3 -3
  210. package/dist/src/features/onboarding-flow/utils/deposit/solanaDepositTransaction.js +8 -0
  211. package/dist/src/features/onboarding-flow/utils/deposit/solanaDepositTransaction.js.map +1 -0
  212. package/dist/src/features/onboarding-flow/utils/deposit/solanaUtils.d.ts +12 -0
  213. package/dist/src/features/onboarding-flow/utils/deposit/solanaUtils.js +150 -0
  214. package/dist/src/features/onboarding-flow/utils/deposit/solanaUtils.js.map +1 -0
  215. package/dist/src/features/onboarding-flow/utils/deposit/storage.d.ts +52 -0
  216. package/dist/src/features/onboarding-flow/utils/deposit/storage.js +243 -0
  217. package/dist/src/features/onboarding-flow/utils/deposit/storage.js.map +1 -0
  218. package/dist/src/features/onboarding-flow/utils/deposit/walletUtils.d.ts +36 -0
  219. package/dist/src/features/onboarding-flow/utils/deposit/walletUtils.js +304 -0
  220. package/dist/src/features/onboarding-flow/utils/deposit/walletUtils.js.map +1 -0
  221. package/dist/src/features/onboarding-flow/utils/depositPolling.d.ts +1 -0
  222. package/dist/src/features/onboarding-flow/utils/depositPolling.js +3 -0
  223. package/dist/src/features/onboarding-flow/utils/depositPolling.js.map +1 -0
  224. package/dist/src/features/onboarding-flow/utils/explorerUrl.d.ts +14 -0
  225. package/dist/src/features/onboarding-flow/utils/explorerUrl.js +44 -0
  226. package/dist/src/features/onboarding-flow/utils/explorerUrl.js.map +1 -0
  227. package/dist/src/features/onboarding-flow/utils/nordUtils.d.ts +8 -0
  228. package/dist/{features/onboarding-flow/utils/nordUser.js → src/features/onboarding-flow/utils/nordUtils.js} +14 -1
  229. package/dist/src/features/onboarding-flow/utils/nordUtils.js.map +1 -0
  230. package/dist/src/features/onboarding-flow/utils/pendingDepositCookie.d.ts +13 -0
  231. package/dist/src/features/onboarding-flow/utils/pendingDepositCookie.js +15 -0
  232. package/dist/src/features/onboarding-flow/utils/pendingDepositCookie.js.map +1 -0
  233. package/dist/src/features/onboarding-flow/utils/pendingDepositStorage.d.ts +15 -0
  234. package/dist/src/features/onboarding-flow/utils/pendingDepositStorage.js +94 -0
  235. package/dist/src/features/onboarding-flow/utils/pendingDepositStorage.js.map +1 -0
  236. package/dist/{features → src/features}/onboarding-flow/utils/utils.d.ts +9 -2
  237. package/dist/{features → src/features}/onboarding-flow/utils/utils.js +9 -4
  238. package/dist/src/features/onboarding-flow/utils/utils.js.map +1 -0
  239. package/dist/src/features/onboarding-flow/utils/withImageFallback.d.ts +6 -0
  240. package/dist/{features → src/features}/onboarding-flow/utils/withImageFallback.js +2 -3
  241. package/dist/src/features/onboarding-flow/utils/withImageFallback.js.map +1 -0
  242. package/dist/src/hooks/index.js.map +1 -0
  243. package/dist/src/hooks/useN1Wallet.d.ts +12 -0
  244. package/dist/{hooks → src/hooks}/useN1Wallet.js +10 -0
  245. package/dist/src/hooks/useN1Wallet.js.map +1 -0
  246. package/dist/src/hooks/useNordUserInitialization.d.ts +12 -0
  247. package/dist/{hooks → src/hooks}/useNordUserInitialization.js +74 -33
  248. package/dist/src/hooks/useNordUserInitialization.js.map +1 -0
  249. package/dist/src/index.d.ts +9 -0
  250. package/dist/src/index.js +16 -0
  251. package/dist/src/index.js.map +1 -0
  252. package/dist/src/providers/LazyWalletProvider.d.ts +4 -0
  253. package/dist/src/providers/LazyWalletProvider.js +404 -0
  254. package/dist/src/providers/LazyWalletProvider.js.map +1 -0
  255. package/dist/src/providers/N1WalletProvider/ContextBridge.d.ts +28 -0
  256. package/dist/src/providers/N1WalletProvider/ContextBridge.js +273 -0
  257. package/dist/src/providers/N1WalletProvider/ContextBridge.js.map +1 -0
  258. package/dist/src/providers/N1WalletProvider/ModalProvider.d.ts +113 -0
  259. package/dist/src/providers/N1WalletProvider/ModalProvider.js +319 -0
  260. package/dist/src/providers/N1WalletProvider/ModalProvider.js.map +1 -0
  261. package/dist/src/providers/N1WalletProvider/NetworkProvider.d.ts +88 -0
  262. package/dist/src/providers/N1WalletProvider/NetworkProvider.js +252 -0
  263. package/dist/src/providers/N1WalletProvider/NetworkProvider.js.map +1 -0
  264. package/dist/src/providers/N1WalletProvider/SessionProvider.d.ts +71 -0
  265. package/dist/src/providers/N1WalletProvider/SessionProvider.js +187 -0
  266. package/dist/src/providers/N1WalletProvider/SessionProvider.js.map +1 -0
  267. package/dist/src/providers/N1WalletProvider/SigningProvider.d.ts +58 -0
  268. package/dist/src/providers/N1WalletProvider/SigningProvider.js +134 -0
  269. package/dist/src/providers/N1WalletProvider/SigningProvider.js.map +1 -0
  270. package/dist/src/providers/N1WalletProvider/ThemingProvider.d.ts +50 -0
  271. package/dist/src/providers/N1WalletProvider/ThemingProvider.js +102 -0
  272. package/dist/src/providers/N1WalletProvider/ThemingProvider.js.map +1 -0
  273. package/dist/src/providers/N1WalletProvider/index.d.ts +21 -0
  274. package/dist/src/providers/N1WalletProvider/index.js +27 -0
  275. package/dist/src/providers/N1WalletProvider/index.js.map +1 -0
  276. package/dist/src/providers/N1WalletProvider.d.ts +17 -0
  277. package/dist/src/providers/N1WalletProvider.js +102 -0
  278. package/dist/src/providers/N1WalletProvider.js.map +1 -0
  279. package/dist/{providers → src/providers}/ShadowRootWrapper.d.ts +4 -0
  280. package/dist/{providers → src/providers}/ShadowRootWrapper.js +4 -5
  281. package/dist/src/providers/ShadowRootWrapper.js.map +1 -0
  282. package/dist/{providers → src/providers}/WalletErrorBoundary.d.ts +7 -2
  283. package/dist/{providers → src/providers}/WalletErrorBoundary.js +5 -1
  284. package/dist/src/providers/WalletErrorBoundary.js.map +1 -0
  285. package/dist/src/services/bootstrap/DepositRecoveryService.d.ts +64 -0
  286. package/dist/src/services/bootstrap/DepositRecoveryService.js +245 -0
  287. package/dist/src/services/bootstrap/DepositRecoveryService.js.map +1 -0
  288. package/dist/src/services/bootstrap/DynamicSdkService.d.ts +62 -0
  289. package/dist/src/services/bootstrap/DynamicSdkService.js +335 -0
  290. package/dist/src/services/bootstrap/DynamicSdkService.js.map +1 -0
  291. package/dist/src/services/bootstrap/SessionBootstrapService.d.ts +78 -0
  292. package/dist/src/services/bootstrap/SessionBootstrapService.js +280 -0
  293. package/dist/src/services/bootstrap/SessionBootstrapService.js.map +1 -0
  294. package/dist/src/services/bootstrap/TurnkeyBootstrapService.d.ts +92 -0
  295. package/dist/src/services/bootstrap/TurnkeyBootstrapService.js +253 -0
  296. package/dist/src/services/bootstrap/TurnkeyBootstrapService.js.map +1 -0
  297. package/dist/src/services/bootstrap/index.d.ts +13 -0
  298. package/dist/src/services/bootstrap/index.js +16 -0
  299. package/dist/src/services/bootstrap/index.js.map +1 -0
  300. package/dist/src/services/bootstrap/types.d.ts +92 -0
  301. package/dist/src/services/bootstrap/types.js +7 -0
  302. package/dist/src/services/bootstrap/types.js.map +1 -0
  303. package/dist/src/services/storage/StorageService.d.ts +98 -0
  304. package/dist/src/services/storage/StorageService.js +360 -0
  305. package/dist/src/services/storage/StorageService.js.map +1 -0
  306. package/dist/src/services/storage/index.d.ts +9 -0
  307. package/dist/src/services/storage/index.js +10 -0
  308. package/dist/src/services/storage/index.js.map +1 -0
  309. package/dist/src/services/storage/keys.d.ts +28 -0
  310. package/dist/src/services/storage/keys.js +45 -0
  311. package/dist/src/services/storage/keys.js.map +1 -0
  312. package/dist/src/services/storage/types.d.ts +73 -0
  313. package/dist/src/services/storage/types.js +23 -0
  314. package/dist/src/services/storage/types.js.map +1 -0
  315. package/dist/src/store/index.d.ts +8 -0
  316. package/dist/src/store/index.js +24 -0
  317. package/dist/src/store/index.js.map +1 -0
  318. package/dist/src/store/selectors.d.ts +105 -0
  319. package/dist/src/store/selectors.js +183 -0
  320. package/dist/src/store/selectors.js.map +1 -0
  321. package/dist/src/store/slices/bootstrapSlice.d.ts +64 -0
  322. package/dist/src/store/slices/bootstrapSlice.js +78 -0
  323. package/dist/src/store/slices/bootstrapSlice.js.map +1 -0
  324. package/dist/src/store/slices/configSlice.d.ts +7 -0
  325. package/dist/src/store/slices/configSlice.js +14 -0
  326. package/dist/src/store/slices/configSlice.js.map +1 -0
  327. package/dist/src/store/slices/index.d.ts +10 -0
  328. package/dist/src/store/slices/index.js +10 -0
  329. package/dist/src/store/slices/index.js.map +1 -0
  330. package/dist/src/store/slices/sessionSlice.d.ts +7 -0
  331. package/dist/src/store/slices/sessionSlice.js +17 -0
  332. package/dist/src/store/slices/sessionSlice.js.map +1 -0
  333. package/dist/src/store/slices/signingSlice.d.ts +7 -0
  334. package/dist/src/store/slices/signingSlice.js +14 -0
  335. package/dist/src/store/slices/signingSlice.js.map +1 -0
  336. package/dist/src/store/slices/uiSlice.d.ts +9 -0
  337. package/dist/src/store/slices/uiSlice.js +25 -0
  338. package/dist/src/store/slices/uiSlice.js.map +1 -0
  339. package/dist/src/store/slices/walletSlice.d.ts +7 -0
  340. package/dist/src/store/slices/walletSlice.js +21 -0
  341. package/dist/src/store/slices/walletSlice.js.map +1 -0
  342. package/dist/src/store/store.d.ts +50 -0
  343. package/dist/src/store/store.js +259 -0
  344. package/dist/src/store/store.js.map +1 -0
  345. package/dist/src/store/subscriptions/depositPersistence.d.ts +32 -0
  346. package/dist/src/store/subscriptions/depositPersistence.js +106 -0
  347. package/dist/src/store/subscriptions/depositPersistence.js.map +1 -0
  348. package/dist/src/store/subscriptions/index.d.ts +34 -0
  349. package/dist/src/store/subscriptions/index.js +73 -0
  350. package/dist/src/store/subscriptions/index.js.map +1 -0
  351. package/dist/src/store/subscriptions/turnkeyPersistence.d.ts +42 -0
  352. package/dist/src/store/subscriptions/turnkeyPersistence.js +127 -0
  353. package/dist/src/store/subscriptions/turnkeyPersistence.js.map +1 -0
  354. package/dist/src/store/types.d.ts +166 -0
  355. package/dist/src/store/types.js +7 -0
  356. package/dist/src/store/types.js.map +1 -0
  357. package/dist/src/styles/cdn-fonts.d.ts +12 -0
  358. package/dist/{styles → src/styles}/cdn-fonts.js +20 -2
  359. package/dist/src/styles/cdn-fonts.js.map +1 -0
  360. package/dist/src/styles/embedded-main-css.d.ts +2 -0
  361. package/dist/src/styles/embedded-main-css.js +3 -0
  362. package/dist/src/styles/embedded-main-css.js.map +1 -0
  363. package/dist/src/turnkey/TurnkeyProvider.d.ts +21 -0
  364. package/dist/src/turnkey/TurnkeyProvider.js +695 -0
  365. package/dist/src/turnkey/TurnkeyProvider.js.map +1 -0
  366. package/dist/src/turnkey/createTurnkeyWallet.d.ts +39 -0
  367. package/dist/src/turnkey/createTurnkeyWallet.js +319 -0
  368. package/dist/src/turnkey/createTurnkeyWallet.js.map +1 -0
  369. package/dist/src/turnkey/createWalletProvider.d.ts +8 -0
  370. package/dist/src/turnkey/createWalletProvider.js +286 -0
  371. package/dist/src/turnkey/createWalletProvider.js.map +1 -0
  372. package/dist/src/turnkey/index.d.ts +3 -0
  373. package/dist/src/turnkey/index.js +3 -0
  374. package/dist/src/turnkey/index.js.map +1 -0
  375. package/dist/src/turnkey/turnkeySessionMachine.d.ts +39 -0
  376. package/dist/src/turnkey/turnkeySessionMachine.js +77 -0
  377. package/dist/src/turnkey/turnkeySessionMachine.js.map +1 -0
  378. package/dist/src/turnkey/turnkeySessionStorage.d.ts +48 -0
  379. package/dist/src/turnkey/turnkeySessionStorage.js +183 -0
  380. package/dist/src/turnkey/turnkeySessionStorage.js.map +1 -0
  381. package/dist/src/turnkey/types.d.ts +61 -0
  382. package/dist/src/turnkey/types.js +12 -0
  383. package/dist/src/turnkey/types.js.map +1 -0
  384. package/dist/{types → src/types}/wallet.d.ts +39 -13
  385. package/dist/src/types/wallet.js.map +1 -0
  386. package/dist/src/utils/address.d.ts +130 -0
  387. package/dist/src/utils/address.js +274 -0
  388. package/dist/src/utils/address.js.map +1 -0
  389. package/dist/src/utils/chain.d.ts +89 -0
  390. package/dist/src/utils/chain.js +282 -0
  391. package/dist/src/utils/chain.js.map +1 -0
  392. package/dist/{utils → src/utils}/ed25519.d.ts +0 -2
  393. package/dist/{utils → src/utils}/ed25519.js +5 -20
  394. package/dist/src/utils/ed25519.js.map +1 -0
  395. package/dist/src/utils/errors.d.ts +68 -0
  396. package/dist/src/utils/errors.js +190 -0
  397. package/dist/src/utils/errors.js.map +1 -0
  398. package/dist/src/utils/events.d.ts +124 -0
  399. package/dist/src/utils/events.js +155 -0
  400. package/dist/src/utils/events.js.map +1 -0
  401. package/dist/src/utils/formatAmount.d.ts +4 -0
  402. package/dist/src/utils/formatAmount.js +9 -0
  403. package/dist/src/utils/formatAmount.js.map +1 -0
  404. package/dist/src/utils/logger.d.ts +45 -0
  405. package/dist/{utils → src/utils}/logger.js +68 -2
  406. package/dist/src/utils/logger.js.map +1 -0
  407. package/dist/src/utils/shortenString.d.ts +5 -0
  408. package/dist/src/utils/shortenString.js +16 -0
  409. package/dist/src/utils/shortenString.js.map +1 -0
  410. package/package.json +45 -29
  411. package/dist/animations/N1Loader.js.map +0 -1
  412. package/dist/animations/Processing.js.map +0 -1
  413. package/dist/components/LoadingFallback.js.map +0 -1
  414. package/dist/components/Logo.js.map +0 -1
  415. package/dist/components/N1ConnectButton.d.ts +0 -5
  416. package/dist/components/N1ConnectButton.js +0 -49
  417. package/dist/components/N1ConnectButton.js.map +0 -1
  418. package/dist/components/logos/ArbitrumLogo.js.map +0 -1
  419. package/dist/components/logos/BaseLogo.js +0 -6
  420. package/dist/components/logos/BaseLogo.js.map +0 -1
  421. package/dist/components/logos/BeraLogo.js.map +0 -1
  422. package/dist/components/logos/BitcoinLogo.js.map +0 -1
  423. package/dist/components/logos/EthereumLogo.js.map +0 -1
  424. package/dist/components/logos/HyperliquidLogo.js.map +0 -1
  425. package/dist/components/logos/OptimismLogo.js.map +0 -1
  426. package/dist/components/logos/SolanaLogo.js.map +0 -1
  427. package/dist/components/logos/ZeroOneLogo.js.map +0 -1
  428. package/dist/components/logos/index.js.map +0 -1
  429. package/dist/config/chains.d.ts +0 -0
  430. package/dist/config/chains.js +0 -2
  431. package/dist/config/chains.js.map +0 -1
  432. package/dist/config/solana.js.map +0 -1
  433. package/dist/config.d.ts +0 -2
  434. package/dist/config.js +0 -3
  435. package/dist/config.js.map +0 -1
  436. package/dist/context/n1-wallet-context.js.map +0 -1
  437. package/dist/errors/types.d.ts +0 -25
  438. package/dist/errors/types.js +0 -77
  439. package/dist/errors/types.js.map +0 -1
  440. package/dist/features/onboarding-flow/N1WalletModal.js.map +0 -1
  441. package/dist/features/onboarding-flow/OnboardingFlow.js.map +0 -1
  442. package/dist/features/onboarding-flow/components/ChainButton.js +0 -21
  443. package/dist/features/onboarding-flow/components/ChainButton.js.map +0 -1
  444. package/dist/features/onboarding-flow/components/Header.js +0 -45
  445. package/dist/features/onboarding-flow/components/Header.js.map +0 -1
  446. package/dist/features/onboarding-flow/components/ImageWithFallback.js +0 -63
  447. package/dist/features/onboarding-flow/components/ImageWithFallback.js.map +0 -1
  448. package/dist/features/onboarding-flow/components/TransactionTable.js.map +0 -1
  449. package/dist/features/onboarding-flow/components/WaitingMessage.js.map +0 -1
  450. package/dist/features/onboarding-flow/components/index.js.map +0 -1
  451. package/dist/features/onboarding-flow/index.js.map +0 -1
  452. package/dist/features/onboarding-flow/providers/DepositFlowProvider.js +0 -525
  453. package/dist/features/onboarding-flow/providers/DepositFlowProvider.js.map +0 -1
  454. package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js +0 -185
  455. package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js.map +0 -1
  456. package/dist/features/onboarding-flow/providers/StateProvider.js.map +0 -1
  457. package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js +0 -394
  458. package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js.map +0 -1
  459. package/dist/features/onboarding-flow/providers/debug.js.map +0 -1
  460. package/dist/features/onboarding-flow/providers/index.js.map +0 -1
  461. package/dist/features/onboarding-flow/providers/onboardingStateMachine.js.map +0 -1
  462. package/dist/features/onboarding-flow/screens/01-ConnectWalletScreen.d.ts +0 -1
  463. package/dist/features/onboarding-flow/screens/01-ConnectWalletScreen.js.map +0 -1
  464. package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js.map +0 -1
  465. package/dist/features/onboarding-flow/screens/03-AmountInputScreen.d.ts +0 -6
  466. package/dist/features/onboarding-flow/screens/03-AmountInputScreen.js +0 -360
  467. package/dist/features/onboarding-flow/screens/03-AmountInputScreen.js.map +0 -1
  468. package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js +0 -31
  469. package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js.map +0 -1
  470. package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.d.ts +0 -1
  471. package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.js.map +0 -1
  472. package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.d.ts +0 -1
  473. package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js.map +0 -1
  474. package/dist/features/onboarding-flow/screens/07-ErrorScreen.d.ts +0 -1
  475. package/dist/features/onboarding-flow/screens/07-ErrorScreen.js +0 -14
  476. package/dist/features/onboarding-flow/screens/07-ErrorScreen.js.map +0 -1
  477. package/dist/features/onboarding-flow/screens/index.d.ts +0 -7
  478. package/dist/features/onboarding-flow/screens/index.js +0 -8
  479. package/dist/features/onboarding-flow/screens/index.js.map +0 -1
  480. package/dist/features/onboarding-flow/types.js.map +0 -1
  481. package/dist/features/onboarding-flow/utils/depositStorage.d.ts +0 -4
  482. package/dist/features/onboarding-flow/utils/depositStorage.js +0 -48
  483. package/dist/features/onboarding-flow/utils/depositStorage.js.map +0 -1
  484. package/dist/features/onboarding-flow/utils/imageUtils.d.ts +0 -21
  485. package/dist/features/onboarding-flow/utils/imageUtils.js +0 -110
  486. package/dist/features/onboarding-flow/utils/imageUtils.js.map +0 -1
  487. package/dist/features/onboarding-flow/utils/nordUser.d.ts +0 -1
  488. package/dist/features/onboarding-flow/utils/nordUser.js.map +0 -1
  489. package/dist/features/onboarding-flow/utils/nordUtils.d.ts +0 -40
  490. package/dist/features/onboarding-flow/utils/nordUtils.js +0 -64
  491. package/dist/features/onboarding-flow/utils/nordUtils.js.map +0 -1
  492. package/dist/features/onboarding-flow/utils/session.d.ts +0 -17
  493. package/dist/features/onboarding-flow/utils/session.js +0 -69
  494. package/dist/features/onboarding-flow/utils/session.js.map +0 -1
  495. package/dist/features/onboarding-flow/utils/transaction.js +0 -8
  496. package/dist/features/onboarding-flow/utils/transaction.js.map +0 -1
  497. package/dist/features/onboarding-flow/utils/utils.js.map +0 -1
  498. package/dist/features/onboarding-flow/utils/withImageFallback.d.ts +0 -7
  499. package/dist/features/onboarding-flow/utils/withImageFallback.js.map +0 -1
  500. package/dist/hooks/index.js.map +0 -1
  501. package/dist/hooks/useN1Wallet.d.ts +0 -2
  502. package/dist/hooks/useN1Wallet.js.map +0 -1
  503. package/dist/hooks/useNordUserInitialization.d.ts +0 -1
  504. package/dist/hooks/useNordUserInitialization.js.map +0 -1
  505. package/dist/index.d.ts +0 -7
  506. package/dist/index.js +0 -8
  507. package/dist/index.js.map +0 -1
  508. package/dist/polyfills/windowEthereumGuard.d.ts +0 -6
  509. package/dist/polyfills/windowEthereumGuard.js +0 -28
  510. package/dist/polyfills/windowEthereumGuard.js.map +0 -1
  511. package/dist/providers/LazyWalletProvider.d.ts +0 -1
  512. package/dist/providers/LazyWalletProvider.js +0 -230
  513. package/dist/providers/LazyWalletProvider.js.map +0 -1
  514. package/dist/providers/N1WalletProvider.d.ts +0 -3
  515. package/dist/providers/N1WalletProvider.js +0 -271
  516. package/dist/providers/N1WalletProvider.js.map +0 -1
  517. package/dist/providers/ShadowRootWrapper.js.map +0 -1
  518. package/dist/providers/WalletErrorBoundary.js.map +0 -1
  519. package/dist/styles/cdn-fonts.d.ts +0 -1
  520. package/dist/styles/cdn-fonts.js.map +0 -1
  521. package/dist/styles/embedded-main-css.d.ts +0 -2
  522. package/dist/styles/embedded-main-css.js +0 -3
  523. package/dist/styles/embedded-main-css.js.map +0 -1
  524. package/dist/types/wallet.js.map +0 -1
  525. package/dist/utils/ed25519.js.map +0 -1
  526. package/dist/utils/getPseudoName.d.ts +0 -1
  527. package/dist/utils/getPseudoName.js +0 -5826
  528. package/dist/utils/getPseudoName.js.map +0 -1
  529. package/dist/utils/logger.d.ts +0 -21
  530. package/dist/utils/logger.js.map +0 -1
  531. package/dist/utils/shortenString.d.ts +0 -2
  532. package/dist/utils/shortenString.js +0 -9
  533. package/dist/utils/shortenString.js.map +0 -1
  534. package/dist/utils/words.d.ts +0 -9
  535. package/dist/utils/words.js +0 -93572
  536. package/dist/utils/words.js.map +0 -1
  537. /package/dist/{animations → src/animations}/N1Loader.d.ts +0 -0
  538. /package/dist/{animations → src/animations}/N1Loader.js +0 -0
  539. /package/dist/{animations → src/animations}/Processing.d.ts +0 -0
  540. /package/dist/{animations → src/animations}/Processing.js +0 -0
  541. /package/dist/{components → src/components}/logos/ArbitrumLogo.d.ts +0 -0
  542. /package/dist/{components → src/components}/logos/ArbitrumLogo.js +0 -0
  543. /package/dist/{components → src/components}/logos/BaseLogo.d.ts +0 -0
  544. /package/dist/{components → src/components}/logos/BeraLogo.d.ts +0 -0
  545. /package/dist/{components → src/components}/logos/BeraLogo.js +0 -0
  546. /package/dist/{components → src/components}/logos/BitcoinLogo.d.ts +0 -0
  547. /package/dist/{components → src/components}/logos/BitcoinLogo.js +0 -0
  548. /package/dist/{components → src/components}/logos/EthereumLogo.d.ts +0 -0
  549. /package/dist/{components → src/components}/logos/EthereumLogo.js +0 -0
  550. /package/dist/{components → src/components}/logos/HyperliquidLogo.d.ts +0 -0
  551. /package/dist/{components → src/components}/logos/OptimismLogo.d.ts +0 -0
  552. /package/dist/{components → src/components}/logos/OptimismLogo.js +0 -0
  553. /package/dist/{components → src/components}/logos/SolanaLogo.d.ts +0 -0
  554. /package/dist/{components → src/components}/logos/SolanaLogo.js +0 -0
  555. /package/dist/{components → src/components}/logos/ZeroOneLogo.d.ts +0 -0
  556. /package/dist/{components → src/components}/logos/ZeroOneLogo.js +0 -0
  557. /package/dist/{components → src/components}/logos/index.d.ts +0 -0
  558. /package/dist/{components → src/components}/logos/index.js +0 -0
  559. /package/dist/{config → src/config}/solana.d.ts +0 -0
  560. /package/dist/{config → src/config}/solana.js +0 -0
  561. /package/dist/{context → src/context}/n1-wallet-context.d.ts +0 -0
  562. /package/dist/{context → src/context}/n1-wallet-context.js +0 -0
  563. /package/dist/{features → src/features}/onboarding-flow/N1WalletModal.d.ts +0 -0
  564. /package/dist/{features → src/features}/onboarding-flow/components/WaitingMessage.js +0 -0
  565. /package/dist/{features → src/features}/onboarding-flow/components/index.d.ts +0 -0
  566. /package/dist/{features → src/features}/onboarding-flow/components/index.js +0 -0
  567. /package/dist/{features → src/features}/onboarding-flow/index.d.ts +0 -0
  568. /package/dist/{features → src/features}/onboarding-flow/index.js +0 -0
  569. /package/dist/{features → src/features}/onboarding-flow/providers/debug.d.ts +0 -0
  570. /package/dist/{features → src/features}/onboarding-flow/providers/index.d.ts +0 -0
  571. /package/dist/{features → src/features}/onboarding-flow/providers/index.js +0 -0
  572. /package/dist/{hooks → src/hooks}/index.d.ts +0 -0
  573. /package/dist/{hooks → src/hooks}/index.js +0 -0
  574. /package/dist/{types → src/types}/wallet.js +0 -0
@@ -0,0 +1,127 @@
1
+ /**
2
+ * Turnkey Session Persistence Subscription
3
+ *
4
+ * Watches for Turnkey-related state changes in the store and
5
+ * persists them to localStorage via StorageService.
6
+ *
7
+ * NOTE: This subscription is PREPARED for future use.
8
+ * Currently, Turnkey session state lives in TurnkeyProvider's local state,
9
+ * not in the Zustand store. Once we migrate Turnkey state to the store,
10
+ * this subscription will automatically handle persistence.
11
+ */
12
+ var __assign = (this && this.__assign) || function () {
13
+ __assign = Object.assign || function(t) {
14
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
15
+ s = arguments[i];
16
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
17
+ t[p] = s[p];
18
+ }
19
+ return t;
20
+ };
21
+ return __assign.apply(this, arguments);
22
+ };
23
+ import { StorageService } from '../../services/storage';
24
+ import { logger } from '../../utils/logger';
25
+ /**
26
+ * Subscribe to Turnkey-related state changes.
27
+ *
28
+ * When Turnkey session state is added to the store, this will watch for changes
29
+ * and persist them to localStorage.
30
+ *
31
+ * @param store - The Zustand store instance
32
+ * @returns Unsubscribe function
33
+ */
34
+ export function subscribeToTurnkeyPersistence(store) {
35
+ // Currently, the store doesn't have Turnkey session state directly.
36
+ // This is a placeholder that will be activated when we add it.
37
+ //
38
+ // Future implementation will look like:
39
+ //
40
+ // return store.subscribe(
41
+ // (state) => state.turnkey?.session,
42
+ // (session, previousSession) => {
43
+ // if (!session && previousSession) {
44
+ // // Session was cleared (logout)
45
+ // StorageService.clearTurnkeySession();
46
+ // logger.debug('[TurnkeyPersistence] Cleared session');
47
+ // } else if (session && session.sessionKey) {
48
+ // // Session was created or updated
49
+ // StorageService.writeTurnkeySession(session);
50
+ // logger.debug('[TurnkeyPersistence] Persisted session', {
51
+ // address: session.evmAddress?.substring(0, 10) + '...',
52
+ // });
53
+ // }
54
+ // },
55
+ // { equalityFn: (a, b) => a?.sessionKey === b?.sessionKey }
56
+ // );
57
+ // For now, subscribe to bootstrap status changes related to Turnkey
58
+ // This demonstrates the subscription pattern without affecting existing code
59
+ //
60
+ // subscribeWithSelector middleware allows us to pass a selector as first arg
61
+ // and a listener as second arg. The listener receives (current, previous).
62
+ var unsubscribe = store.subscribe(function (state) { return state.bootstrap.turnkeyStatus; }, function (status, previousStatus) {
63
+ if (status !== previousStatus) {
64
+ logger.debug('[TurnkeyPersistence] Turnkey status changed', {
65
+ from: previousStatus,
66
+ to: status,
67
+ });
68
+ // If status changed to 'ready', the session was hydrated or created
69
+ // If status changed to 'idle' from 'ready', user logged out
70
+ if (previousStatus === 'ready' && status === 'idle') {
71
+ // This would be handled by the future implementation above
72
+ logger.debug('[TurnkeyPersistence] Detected logout transition');
73
+ }
74
+ }
75
+ });
76
+ logger.debug('[TurnkeyPersistence] Subscription initialized');
77
+ return unsubscribe;
78
+ }
79
+ /**
80
+ * Hydrate Turnkey session state from localStorage into the store.
81
+ *
82
+ * Call this once at app startup to check for existing sessions.
83
+ * This ensures the store has awareness of persisted sessions.
84
+ *
85
+ * @param store - The Zustand store instance
86
+ * @param evmAddress - Optional EVM address to validate session against
87
+ */
88
+ export function hydrateTurnkeyState(store, evmAddress) {
89
+ var session = StorageService.readTurnkeySession(evmAddress);
90
+ if (session) {
91
+ logger.debug('[TurnkeyPersistence] Found stored Turnkey session', {
92
+ hasSessionKey: !!session.sessionKey,
93
+ hasEvmAddress: !!session.evmAddress,
94
+ hasSolanaAccount: !!session.solanaAccount,
95
+ });
96
+ // When Turnkey slice is added to store, hydrate it:
97
+ // store.setState((state) => ({
98
+ // turnkey: { ...state.turnkey, session },
99
+ // }));
100
+ // For now, just update bootstrap status to indicate we have a session
101
+ store.setState(function (state) { return ({
102
+ bootstrap: __assign(__assign({}, state.bootstrap), { turnkeyStatus: 'ready' }),
103
+ }); });
104
+ }
105
+ else {
106
+ logger.debug('[TurnkeyPersistence] No stored Turnkey session');
107
+ // Leave status as 'idle' - will be updated when user connects
108
+ }
109
+ }
110
+ /**
111
+ * Clear Turnkey session from both store and localStorage.
112
+ *
113
+ * Call this on logout to ensure clean state.
114
+ *
115
+ * @param store - The Zustand store instance
116
+ * @param evmAddress - Optional EVM address to clear specific session
117
+ */
118
+ export function clearTurnkeyState(store, evmAddress) {
119
+ // Clear from localStorage
120
+ StorageService.clearTurnkeySession(evmAddress);
121
+ // Reset bootstrap status
122
+ store.setState(function (state) { return ({
123
+ bootstrap: __assign(__assign({}, state.bootstrap), { turnkeyStatus: 'idle', turnkeyError: null }),
124
+ }); });
125
+ logger.debug('[TurnkeyPersistence] Cleared Turnkey state');
126
+ }
127
+ //# sourceMappingURL=turnkeyPersistence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"turnkeyPersistence.js","sourceRoot":"","sources":["../../../../src/store/subscriptions/turnkeyPersistence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;;;;;;;GAQG;AACH,MAAM,UAAU,6BAA6B,CAC3C,KAA4B;IAE5B,oEAAoE;IACpE,+DAA+D;IAC/D,EAAE;IACF,wCAAwC;IACxC,EAAE;IACF,0BAA0B;IAC1B,uCAAuC;IACvC,oCAAoC;IACpC,yCAAyC;IACzC,wCAAwC;IACxC,8CAA8C;IAC9C,8DAA8D;IAC9D,kDAAkD;IAClD,0CAA0C;IAC1C,qDAAqD;IACrD,iEAAiE;IACjE,iEAAiE;IACjE,YAAY;IACZ,QAAQ;IACR,OAAO;IACP,8DAA8D;IAC9D,KAAK;IAEL,oEAAoE;IACpE,6EAA6E;IAC7E,EAAE;IACF,6EAA6E;IAC7E,2EAA2E;IAC3E,IAAM,WAAW,GAAI,KAAK,CAAC,SAAiB,CAC1C,UAAC,KAAkB,IAAK,OAAA,KAAK,CAAC,SAAS,CAAC,aAAa,EAA7B,CAA6B,EACrD,UAAC,MAAc,EAAE,cAAsB;QACrC,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;gBAC1D,IAAI,EAAE,cAAc;gBACpB,EAAE,EAAE,MAAM;aACX,CAAC,CAAC;YAEH,oEAAoE;YACpE,4DAA4D;YAC5D,IAAI,cAAc,KAAK,OAAO,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;gBACpD,2DAA2D;gBAC3D,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAC9D,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAA4B,EAC5B,UAA0B;IAE1B,IAAM,OAAO,GAAG,cAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAE9D,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,KAAK,CAAC,mDAAmD,EAAE;YAChE,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU;YACnC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU;YACnC,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa;SAC1C,CAAC,CAAC;QAEH,oDAAoD;QACpD,+BAA+B;QAC/B,4CAA4C;QAC5C,OAAO;QAEP,sEAAsE;QACtE,KAAK,CAAC,QAAQ,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC;YACzB,SAAS,wBACJ,KAAK,CAAC,SAAS,KAClB,aAAa,EAAE,OAAO,GACvB;SACF,CAAC,EALwB,CAKxB,CAAC,CAAC;IACN,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAC/D,8DAA8D;IAChE,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAA4B,EAC5B,UAA0B;IAE1B,0BAA0B;IAC1B,cAAc,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAE/C,yBAAyB;IACzB,KAAK,CAAC,QAAQ,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC;QACzB,SAAS,wBACJ,KAAK,CAAC,SAAS,KAClB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,IAAI,GACnB;KACF,CAAC,EANwB,CAMxB,CAAC,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;AAC7D,CAAC","sourcesContent":["/**\n * Turnkey Session Persistence Subscription\n *\n * Watches for Turnkey-related state changes in the store and\n * persists them to localStorage via StorageService.\n *\n * NOTE: This subscription is PREPARED for future use.\n * Currently, Turnkey session state lives in TurnkeyProvider's local state,\n * not in the Zustand store. Once we migrate Turnkey state to the store,\n * this subscription will automatically handle persistence.\n */\n\nimport type { StoreApi } from 'zustand';\nimport type { WalletStore } from '../types';\nimport { StorageService } from '../../services/storage';\nimport { logger } from '../../utils/logger';\n\n/**\n * Subscribe to Turnkey-related state changes.\n *\n * When Turnkey session state is added to the store, this will watch for changes\n * and persist them to localStorage.\n *\n * @param store - The Zustand store instance\n * @returns Unsubscribe function\n */\nexport function subscribeToTurnkeyPersistence(\n store: StoreApi<WalletStore>\n): () => void {\n // Currently, the store doesn't have Turnkey session state directly.\n // This is a placeholder that will be activated when we add it.\n //\n // Future implementation will look like:\n //\n // return store.subscribe(\n // (state) => state.turnkey?.session,\n // (session, previousSession) => {\n // if (!session && previousSession) {\n // // Session was cleared (logout)\n // StorageService.clearTurnkeySession();\n // logger.debug('[TurnkeyPersistence] Cleared session');\n // } else if (session && session.sessionKey) {\n // // Session was created or updated\n // StorageService.writeTurnkeySession(session);\n // logger.debug('[TurnkeyPersistence] Persisted session', {\n // address: session.evmAddress?.substring(0, 10) + '...',\n // });\n // }\n // },\n // { equalityFn: (a, b) => a?.sessionKey === b?.sessionKey }\n // );\n\n // For now, subscribe to bootstrap status changes related to Turnkey\n // This demonstrates the subscription pattern without affecting existing code\n //\n // subscribeWithSelector middleware allows us to pass a selector as first arg\n // and a listener as second arg. The listener receives (current, previous).\n const unsubscribe = (store.subscribe as any)(\n (state: WalletStore) => state.bootstrap.turnkeyStatus,\n (status: string, previousStatus: string) => {\n if (status !== previousStatus) {\n logger.debug('[TurnkeyPersistence] Turnkey status changed', {\n from: previousStatus,\n to: status,\n });\n\n // If status changed to 'ready', the session was hydrated or created\n // If status changed to 'idle' from 'ready', user logged out\n if (previousStatus === 'ready' && status === 'idle') {\n // This would be handled by the future implementation above\n logger.debug('[TurnkeyPersistence] Detected logout transition');\n }\n }\n }\n );\n\n logger.debug('[TurnkeyPersistence] Subscription initialized');\n return unsubscribe;\n}\n\n/**\n * Hydrate Turnkey session state from localStorage into the store.\n *\n * Call this once at app startup to check for existing sessions.\n * This ensures the store has awareness of persisted sessions.\n *\n * @param store - The Zustand store instance\n * @param evmAddress - Optional EVM address to validate session against\n */\nexport function hydrateTurnkeyState(\n store: StoreApi<WalletStore>,\n evmAddress?: string | null\n): void {\n const session = StorageService.readTurnkeySession(evmAddress);\n\n if (session) {\n logger.debug('[TurnkeyPersistence] Found stored Turnkey session', {\n hasSessionKey: !!session.sessionKey,\n hasEvmAddress: !!session.evmAddress,\n hasSolanaAccount: !!session.solanaAccount,\n });\n\n // When Turnkey slice is added to store, hydrate it:\n // store.setState((state) => ({\n // turnkey: { ...state.turnkey, session },\n // }));\n\n // For now, just update bootstrap status to indicate we have a session\n store.setState((state) => ({\n bootstrap: {\n ...state.bootstrap,\n turnkeyStatus: 'ready',\n },\n }));\n } else {\n logger.debug('[TurnkeyPersistence] No stored Turnkey session');\n // Leave status as 'idle' - will be updated when user connects\n }\n}\n\n/**\n * Clear Turnkey session from both store and localStorage.\n *\n * Call this on logout to ensure clean state.\n *\n * @param store - The Zustand store instance\n * @param evmAddress - Optional EVM address to clear specific session\n */\nexport function clearTurnkeyState(\n store: StoreApi<WalletStore>,\n evmAddress?: string | null\n): void {\n // Clear from localStorage\n StorageService.clearTurnkeySession(evmAddress);\n\n // Reset bootstrap status\n store.setState((state) => ({\n bootstrap: {\n ...state.bootstrap,\n turnkeyStatus: 'idle',\n turnkeyError: null,\n },\n }));\n\n logger.debug('[TurnkeyPersistence] Cleared Turnkey state');\n}\n"]}
@@ -0,0 +1,166 @@
1
+ /**
2
+ * N1 Wallet Store Types
3
+ *
4
+ * This file contains all TypeScript definitions for the Zustand store.
5
+ */
6
+ import { N1ModalViewMode, Balance } from '../types/wallet';
7
+ import type { SolanaWalletAdapter, EVMWalletAdapter } from '../adapters';
8
+ import type { BootstrapSlice, BootstrapActions, DynamicSdkStatus, TurnkeyStatus, SessionStatus, DepositRecoveryStatus } from './slices/bootstrapSlice';
9
+ /** Generic signing function type */
10
+ export type SigningFunction<T = unknown, R = unknown> = ((input: T) => Promise<R>) | null;
11
+ export interface SigningSlice {
12
+ /** Function to sign messages with the session key */
13
+ signMessageWithSessionKey: SigningFunction;
14
+ /** Function to sign messages with the wallet key */
15
+ signMessageWithWalletKey: SigningFunction;
16
+ /** Function to sign transactions with the wallet key */
17
+ signTransactionWithWalletKey: SigningFunction;
18
+ }
19
+ export interface SigningActions {
20
+ setSignMessageWithSessionKey: (fn: SigningFunction) => void;
21
+ setSignMessageWithWalletKey: (fn: SigningFunction) => void;
22
+ setSignTransactionWithWalletKey: (fn: SigningFunction) => void;
23
+ }
24
+ export interface SessionSlice {
25
+ /** Whether a wallet is currently connected */
26
+ isConnected: boolean;
27
+ /** Session public key for signing */
28
+ sessionPubKey: Uint8Array | null;
29
+ /** Wallet public key */
30
+ walletPubKey: Uint8Array | null;
31
+ /** Nord user object containing session info */
32
+ nordUser: any;
33
+ /** Whether the provider is in a loading state */
34
+ loading: boolean;
35
+ /** Whether the Dynamic SDK has loaded */
36
+ dynamicSdkLoaded: boolean;
37
+ }
38
+ export interface SessionActions {
39
+ setIsConnected: (connected: boolean) => void;
40
+ setSessionPubKey: (key: Uint8Array | null) => void;
41
+ setWalletPubKey: (key: Uint8Array | null) => void;
42
+ setNordUser: (user: any) => void;
43
+ setLoading: (loading: boolean) => void;
44
+ setDynamicSdkLoaded: (loaded: boolean) => void;
45
+ }
46
+ /** Wallet network type */
47
+ export type WalletNetwork = 'solana' | 'evm' | null;
48
+ export interface WalletSlice {
49
+ /** Current active wallet network */
50
+ network: WalletNetwork;
51
+ /** User's preferred wallet network (before wallet connects) */
52
+ preferredNetwork: WalletNetwork;
53
+ /** The connected Solana wallet instance */
54
+ solanaWallet: any;
55
+ /** Solana wallet address */
56
+ solanaAddress: string;
57
+ /** The connected EVM wallet instance */
58
+ evmWallet: any;
59
+ /** EVM wallet address */
60
+ evmAddress: string | null;
61
+ /** Current EVM chain identifier */
62
+ evmChain: string | null;
63
+ /** Unified Solana wallet adapter (null if not connected) */
64
+ solanaAdapter: SolanaWalletAdapter | null;
65
+ /** Unified EVM wallet adapter (null if not connected) */
66
+ evmAdapter: EVMWalletAdapter | null;
67
+ /** Token balances from the wallet */
68
+ balances: Balance[];
69
+ }
70
+ export interface WalletActions {
71
+ setSolanaWallet: (wallet: any) => void;
72
+ setEvmWallet: (wallet: any) => void;
73
+ setSolanaAddress: (address: string) => void;
74
+ setEvmAddress: (address: string | null) => void;
75
+ setEvmChain: (chain: string | null) => void;
76
+ setNetwork: (network: WalletNetwork) => void;
77
+ setPreferredNetwork: (network: WalletNetwork) => void;
78
+ setSolanaAdapter: (adapter: SolanaWalletAdapter | null) => void;
79
+ setEvmAdapter: (adapter: EVMWalletAdapter | null) => void;
80
+ setBalances: (balances: Balance[]) => void;
81
+ }
82
+ /**
83
+ * Modal state machine states.
84
+ *
85
+ * Valid transitions:
86
+ * closed → opening (user clicks connect)
87
+ * opening → open (SDK ready, animation done)
88
+ * opening → closed (cancelled before ready)
89
+ * open → closing (user closes modal)
90
+ * closing → closed (animation complete, cooldown starts)
91
+ */
92
+ export type ModalState = 'closed' | 'opening' | 'open' | 'closing';
93
+ /** Type for the Dynamic SDK widget show function */
94
+ export type ShowDynamicWidgetFn = ((show: boolean) => Promise<void>) | null;
95
+ /** Type for logout handler function */
96
+ export type DynamicLogoutFn = (() => Promise<void>) | null;
97
+ /** Type for disconnect wallet handler */
98
+ export type DisconnectWalletFn = (() => void) | null;
99
+ /** Type for wallet connect cancelled handler */
100
+ export type WalletConnectCancelledFn = (() => void) | null;
101
+ export interface UISlice {
102
+ /** Current modal state (state machine) */
103
+ modalState: ModalState;
104
+ /** Current view mode for the modal (debug override or Automatic) */
105
+ viewMode: N1ModalViewMode;
106
+ /** Monotonically increasing ID to trigger deposit-only flows */
107
+ depositFlowRequestId: number;
108
+ /** Timestamp when modal can next be opened (cooldown) */
109
+ modalCooldownUntil: number;
110
+ /** Function to show/hide the Dynamic SDK wallet widget */
111
+ showDynamicWidget: ShowDynamicWidgetFn;
112
+ /** Function to handle Dynamic SDK logout */
113
+ dynamicHandleLogOut: DynamicLogoutFn;
114
+ /** Handler called when wallet is disconnected */
115
+ disconnectWalletHandler: DisconnectWalletFn;
116
+ /** Handler called when wallet connection is cancelled */
117
+ walletConnectCancelledHandler: WalletConnectCancelledFn;
118
+ }
119
+ export interface UIActions {
120
+ /** Transition modal to a new state */
121
+ setModalState: (state: ModalState) => void;
122
+ setViewMode: (mode: N1ModalViewMode) => void;
123
+ setDepositFlowRequestId: (id: number) => void;
124
+ setModalCooldownUntil: (timestamp: number) => void;
125
+ setShowDynamicWidget: (fn: ShowDynamicWidgetFn) => void;
126
+ setDynamicHandleLogOut: (fn: DynamicLogoutFn) => void;
127
+ setDisconnectWalletHandler: (fn: DisconnectWalletFn) => void;
128
+ setWalletConnectCancelledHandler: (fn: WalletConnectCancelledFn) => void;
129
+ }
130
+ export interface ColorOverride {
131
+ color: string;
132
+ replacement: string;
133
+ }
134
+ export interface ConfigSlice {
135
+ /** The processed CSS with color overrides applied */
136
+ injectedCss: string;
137
+ /** The original color overrides */
138
+ colorOverrides: ColorOverride[];
139
+ /** Whether Turnkey is enabled for this deployment */
140
+ turnkeyEnabled: boolean;
141
+ }
142
+ export interface ConfigActions {
143
+ setInjectedCss: (css: string) => void;
144
+ setColorOverrides: (overrides: ColorOverride[]) => void;
145
+ setTurnkeyEnabled: (enabled: boolean) => void;
146
+ }
147
+ export interface WalletStoreState {
148
+ signing: SigningSlice;
149
+ session: SessionSlice;
150
+ wallet: WalletSlice;
151
+ ui: UISlice;
152
+ config: ConfigSlice;
153
+ bootstrap: BootstrapSlice;
154
+ }
155
+ export interface WalletStoreActions {
156
+ actions: {
157
+ signing: SigningActions;
158
+ session: SessionActions;
159
+ wallet: WalletActions;
160
+ ui: UIActions;
161
+ config: ConfigActions;
162
+ bootstrap: BootstrapActions;
163
+ };
164
+ }
165
+ export type WalletStore = WalletStoreState & WalletStoreActions;
166
+ export type { BootstrapSlice, BootstrapActions, DynamicSdkStatus, TurnkeyStatus, SessionStatus, DepositRecoveryStatus, };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * N1 Wallet Store Types
3
+ *
4
+ * This file contains all TypeScript definitions for the Zustand store.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/store/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG","sourcesContent":["/**\n * N1 Wallet Store Types\n *\n * This file contains all TypeScript definitions for the Zustand store.\n */\n\nimport { N1ModalViewMode, Balance } from '../types/wallet';\nimport type { SolanaWalletAdapter, EVMWalletAdapter } from '../adapters';\nimport type {\n BootstrapSlice,\n BootstrapActions,\n DynamicSdkStatus,\n TurnkeyStatus,\n SessionStatus,\n DepositRecoveryStatus,\n} from './slices/bootstrapSlice';\n\n// ============================================\n// COMMON TYPES\n// ============================================\n\n/** Generic signing function type */\nexport type SigningFunction<T = unknown, R = unknown> = ((input: T) => Promise<R>) | null;\n\n// ============================================\n// SIGNING SLICE\n// ============================================\n\nexport interface SigningSlice {\n /** Function to sign messages with the session key */\n signMessageWithSessionKey: SigningFunction;\n /** Function to sign messages with the wallet key */\n signMessageWithWalletKey: SigningFunction;\n /** Function to sign transactions with the wallet key */\n signTransactionWithWalletKey: SigningFunction;\n}\n\nexport interface SigningActions {\n setSignMessageWithSessionKey: (fn: SigningFunction) => void;\n setSignMessageWithWalletKey: (fn: SigningFunction) => void;\n setSignTransactionWithWalletKey: (fn: SigningFunction) => void;\n}\n\n// ============================================\n// SESSION SLICE\n// ============================================\n\nexport interface SessionSlice {\n /** Whether a wallet is currently connected */\n isConnected: boolean;\n /** Session public key for signing */\n sessionPubKey: Uint8Array | null;\n /** Wallet public key */\n walletPubKey: Uint8Array | null;\n /** Nord user object containing session info */\n nordUser: any;\n /** Whether the provider is in a loading state */\n loading: boolean;\n /** Whether the Dynamic SDK has loaded */\n dynamicSdkLoaded: boolean;\n}\n\nexport interface SessionActions {\n setIsConnected: (connected: boolean) => void;\n setSessionPubKey: (key: Uint8Array | null) => void;\n setWalletPubKey: (key: Uint8Array | null) => void;\n setNordUser: (user: any) => void;\n setLoading: (loading: boolean) => void;\n setDynamicSdkLoaded: (loaded: boolean) => void;\n}\n\n// ============================================\n// WALLET/NETWORK SLICE\n// ============================================\n\n/** Wallet network type */\nexport type WalletNetwork = 'solana' | 'evm' | null;\n\nexport interface WalletSlice {\n /** Current active wallet network */\n network: WalletNetwork;\n /** User's preferred wallet network (before wallet connects) */\n preferredNetwork: WalletNetwork;\n /** The connected Solana wallet instance */\n solanaWallet: any;\n /** Solana wallet address */\n solanaAddress: string;\n /** The connected EVM wallet instance */\n evmWallet: any;\n /** EVM wallet address */\n evmAddress: string | null;\n /** Current EVM chain identifier */\n evmChain: string | null;\n /** Unified Solana wallet adapter (null if not connected) */\n solanaAdapter: SolanaWalletAdapter | null;\n /** Unified EVM wallet adapter (null if not connected) */\n evmAdapter: EVMWalletAdapter | null;\n /** Token balances from the wallet */\n balances: Balance[];\n}\n\nexport interface WalletActions {\n setSolanaWallet: (wallet: any) => void;\n setEvmWallet: (wallet: any) => void;\n setSolanaAddress: (address: string) => void;\n setEvmAddress: (address: string | null) => void;\n setEvmChain: (chain: string | null) => void;\n setNetwork: (network: WalletNetwork) => void;\n setPreferredNetwork: (network: WalletNetwork) => void;\n setSolanaAdapter: (adapter: SolanaWalletAdapter | null) => void;\n setEvmAdapter: (adapter: EVMWalletAdapter | null) => void;\n setBalances: (balances: Balance[]) => void;\n}\n\n// ============================================\n// UI SLICE (Modal State Machine)\n// ============================================\n\n/**\n * Modal state machine states.\n *\n * Valid transitions:\n * closed → opening (user clicks connect)\n * opening → open (SDK ready, animation done)\n * opening → closed (cancelled before ready)\n * open → closing (user closes modal)\n * closing → closed (animation complete, cooldown starts)\n */\nexport type ModalState = 'closed' | 'opening' | 'open' | 'closing';\n\n/** Type for the Dynamic SDK widget show function */\nexport type ShowDynamicWidgetFn = ((show: boolean) => Promise<void>) | null;\n\n/** Type for logout handler function */\nexport type DynamicLogoutFn = (() => Promise<void>) | null;\n\n/** Type for disconnect wallet handler */\nexport type DisconnectWalletFn = (() => void) | null;\n\n/** Type for wallet connect cancelled handler */\nexport type WalletConnectCancelledFn = (() => void) | null;\n\nexport interface UISlice {\n /** Current modal state (state machine) */\n modalState: ModalState;\n /** Current view mode for the modal (debug override or Automatic) */\n viewMode: N1ModalViewMode;\n /** Monotonically increasing ID to trigger deposit-only flows */\n depositFlowRequestId: number;\n /** Timestamp when modal can next be opened (cooldown) */\n modalCooldownUntil: number;\n /** Function to show/hide the Dynamic SDK wallet widget */\n showDynamicWidget: ShowDynamicWidgetFn;\n /** Function to handle Dynamic SDK logout */\n dynamicHandleLogOut: DynamicLogoutFn;\n /** Handler called when wallet is disconnected */\n disconnectWalletHandler: DisconnectWalletFn;\n /** Handler called when wallet connection is cancelled */\n walletConnectCancelledHandler: WalletConnectCancelledFn;\n}\n\nexport interface UIActions {\n /** Transition modal to a new state */\n setModalState: (state: ModalState) => void;\n setViewMode: (mode: N1ModalViewMode) => void;\n setDepositFlowRequestId: (id: number) => void;\n setModalCooldownUntil: (timestamp: number) => void;\n setShowDynamicWidget: (fn: ShowDynamicWidgetFn) => void;\n setDynamicHandleLogOut: (fn: DynamicLogoutFn) => void;\n setDisconnectWalletHandler: (fn: DisconnectWalletFn) => void;\n setWalletConnectCancelledHandler: (fn: WalletConnectCancelledFn) => void;\n}\n\n// ============================================\n// CONFIG SLICE (Theming/Config)\n// ============================================\n\nexport interface ColorOverride {\n color: string;\n replacement: string;\n}\n\nexport interface ConfigSlice {\n /** The processed CSS with color overrides applied */\n injectedCss: string;\n /** The original color overrides */\n colorOverrides: ColorOverride[];\n /** Whether Turnkey is enabled for this deployment */\n turnkeyEnabled: boolean;\n}\n\nexport interface ConfigActions {\n setInjectedCss: (css: string) => void;\n setColorOverrides: (overrides: ColorOverride[]) => void;\n setTurnkeyEnabled: (enabled: boolean) => void;\n}\n\n// ============================================\n// COMBINED STORE TYPE\n// ============================================\n\nexport interface WalletStoreState {\n signing: SigningSlice;\n session: SessionSlice;\n wallet: WalletSlice;\n ui: UISlice;\n config: ConfigSlice;\n bootstrap: BootstrapSlice;\n}\n\nexport interface WalletStoreActions {\n actions: {\n signing: SigningActions;\n session: SessionActions;\n wallet: WalletActions;\n ui: UIActions;\n config: ConfigActions;\n bootstrap: BootstrapActions;\n };\n}\n\nexport type WalletStore = WalletStoreState & WalletStoreActions;\n\n// Re-export bootstrap types for convenience\nexport type {\n BootstrapSlice,\n BootstrapActions,\n DynamicSdkStatus,\n TurnkeyStatus,\n SessionStatus,\n DepositRecoveryStatus,\n};\n"]}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * CDN Fonts Loader
3
+ *
4
+ * Loads APK Galeria fonts from CDN using the FontFace API.
5
+ * This approach works regardless of Shadow DOM since fonts are
6
+ * registered globally via document.fonts.add().
7
+ */
8
+ /**
9
+ * Ensure CDN fonts are loaded into the document.
10
+ * This is idempotent - calling multiple times returns the same promise.
11
+ */
12
+ export declare function ensureCdnFontsLoaded(): Promise<void>;
@@ -1,3 +1,11 @@
1
+ /**
2
+ * CDN Fonts Loader
3
+ *
4
+ * Loads APK Galeria fonts from CDN using the FontFace API.
5
+ * This approach works regardless of Shadow DOM since fonts are
6
+ * registered globally via document.fonts.add().
7
+ */
8
+ import { logger } from '../utils/logger';
1
9
  var CDN_BASE_URL = 'https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria';
2
10
  var FONT_FAMILY = 'APK Galeria';
3
11
  var FONT_VARIANTS = [
@@ -17,6 +25,10 @@ var FONT_VARIANTS = [
17
25
  { file: 'APK-Galeria-Extra-Bold-Italic-Trial.otf', weight: 800, style: 'italic' },
18
26
  ];
19
27
  var loadPromise = null;
28
+ /**
29
+ * Ensure CDN fonts are loaded into the document.
30
+ * This is idempotent - calling multiple times returns the same promise.
31
+ */
20
32
  export function ensureCdnFontsLoaded() {
21
33
  if (typeof document === 'undefined' ||
22
34
  typeof FontFace === 'undefined' ||
@@ -37,9 +49,15 @@ export function ensureCdnFontsLoaded() {
37
49
  .load()
38
50
  .then(function (loaded) {
39
51
  document.fonts.add(loaded);
52
+ logger.debug("Font loaded: ".concat(file));
40
53
  })
41
- .catch(function () { return undefined; });
42
- })).then(function () { return undefined; });
54
+ .catch(function (error) {
55
+ logger.warn("Failed to load font ".concat(file, ":"), (error === null || error === void 0 ? void 0 : error.message) || error);
56
+ return undefined;
57
+ });
58
+ })).then(function () {
59
+ logger.debug('CDN fonts loading complete');
60
+ });
43
61
  return loadPromise;
44
62
  }
45
63
  //# sourceMappingURL=cdn-fonts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cdn-fonts.js","sourceRoot":"","sources":["../../../src/styles/cdn-fonts.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,IAAM,YAAY,GAChB,oEAAoE,CAAC;AACvE,IAAM,WAAW,GAAG,aAAa,CAAC;AAElC,IAAM,aAAa,GAAG;IACpB,EAAE,IAAI,EAAE,4BAA4B,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpE,EAAE,IAAI,EAAE,mCAAmC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC3E,EAAE,IAAI,EAAE,6BAA6B,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;IACrE,EAAE,IAAI,EAAE,oCAAoC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC5E,EAAE,IAAI,EAAE,+BAA+B,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;IACvE,EAAE,IAAI,EAAE,sCAAsC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC9E,EAAE,IAAI,EAAE,8BAA8B,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;IACtE,EAAE,IAAI,EAAE,qCAAqC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC7E,EAAE,IAAI,EAAE,iCAAiC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;IACzE,EAAE,IAAI,EAAE,wCAAwC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;IAChF,EAAE,IAAI,EAAE,4BAA4B,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpE,EAAE,IAAI,EAAE,mCAAmC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC3E,EAAE,IAAI,EAAE,kCAAkC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC1E,EAAE,IAAI,EAAE,yCAAyC,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;CACzE,CAAC;AAEX,IAAI,WAAW,GAAyB,IAAI,CAAC;AAE7C;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,IACE,OAAO,QAAQ,KAAK,WAAW;QAC/B,OAAO,QAAQ,KAAK,WAAW;QAC/B,CAAC,QAAQ,CAAC,KAAK,EACf,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,WAAW,GAAG,OAAO,CAAC,GAAG,CACvB,aAAa,CAAC,GAAG,CAAC,UAAC,EAAuB;YAArB,IAAI,UAAA,EAAE,MAAM,YAAA,EAAE,KAAK,WAAA;QACtC,IAAM,QAAQ,GAAG,IAAI,QAAQ,CAC3B,WAAW,EACX,cAAO,YAAY,cAAI,IAAI,MAAG,EAC9B;YACE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,KAAK,OAAA;YACL,OAAO,EAAE,MAAM;SAChB,CACF,CAAC;QAEF,OAAO,QAAQ;aACZ,IAAI,EAAE;aACN,IAAI,CAAC,UAAC,MAAM;YACX,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,uBAAgB,IAAI,CAAE,CAAC,CAAC;QACvC,CAAC,CAAC;aACD,KAAK,CAAC,UAAC,KAAK;YACX,MAAM,CAAC,IAAI,CAAC,8BAAuB,IAAI,MAAG,EAAE,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,KAAI,KAAK,CAAC,CAAC;YACrE,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CACH,CAAC,IAAI,CAAC;QACL,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AACrB,CAAC","sourcesContent":["/**\n * CDN Fonts Loader\n *\n * Loads APK Galeria fonts from CDN using the FontFace API.\n * This approach works regardless of Shadow DOM since fonts are\n * registered globally via document.fonts.add().\n */\n\nimport { logger } from '../utils/logger';\n\nconst CDN_BASE_URL =\n 'https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria';\nconst FONT_FAMILY = 'APK Galeria';\n\nconst FONT_VARIANTS = [\n { file: 'APK-Galeria-Thin-Trial.otf', weight: 100, style: 'normal' },\n { file: 'APK-Galeria-Thin-Italic-Trial.otf', weight: 100, style: 'italic' },\n { file: 'APK-Galeria-Light-Trial.otf', weight: 300, style: 'normal' },\n { file: 'APK-Galeria-Light-Italic-Trial.otf', weight: 300, style: 'italic' },\n { file: 'APK-Galeria-Regular-Trial.otf', weight: 400, style: 'normal' },\n { file: 'APK-Galeria-Regular-Italic-Trial.otf', weight: 400, style: 'italic' },\n { file: 'APK-Galeria-Medium-Trial.otf', weight: 500, style: 'normal' },\n { file: 'APK-Galeria-Medium-Italic-Trial.otf', weight: 500, style: 'italic' },\n { file: 'APK-Galeria-Semi-Bold-Trial.otf', weight: 600, style: 'normal' },\n { file: 'APK-Galeria-Semi-Bold-Italic-Trial.otf', weight: 600, style: 'italic' },\n { file: 'APK-Galeria-Bold-Trial.otf', weight: 700, style: 'normal' },\n { file: 'APK-Galeria-Bold-Italic-Trial.otf', weight: 700, style: 'italic' },\n { file: 'APK-Galeria-Extra-Bold-Trial.otf', weight: 800, style: 'normal' },\n { file: 'APK-Galeria-Extra-Bold-Italic-Trial.otf', weight: 800, style: 'italic' },\n] as const;\n\nlet loadPromise: Promise<void> | null = null;\n\n/**\n * Ensure CDN fonts are loaded into the document.\n * This is idempotent - calling multiple times returns the same promise.\n */\nexport function ensureCdnFontsLoaded(): Promise<void> {\n if (\n typeof document === 'undefined' ||\n typeof FontFace === 'undefined' ||\n !document.fonts\n ) {\n return Promise.resolve();\n }\n\n if (loadPromise) {\n return loadPromise;\n }\n\n loadPromise = Promise.all(\n FONT_VARIANTS.map(({ file, weight, style }) => {\n const fontFace = new FontFace(\n FONT_FAMILY,\n `url(${CDN_BASE_URL}/${file})`,\n {\n weight: String(weight),\n style,\n display: 'swap',\n }\n );\n\n return fontFace\n .load()\n .then((loaded) => {\n document.fonts.add(loaded);\n logger.debug(`Font loaded: ${file}`);\n })\n .catch((error) => {\n logger.warn(`Failed to load font ${file}:`, error?.message || error);\n return undefined;\n });\n })\n ).then(() => {\n logger.debug('CDN fonts loading complete');\n });\n\n return loadPromise;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ declare const _default: "*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:\"\"}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-top-\\[0\\.5rem\\]{top:-.5rem}.bottom-0{bottom:0}.left-0{left:0}.left-1{left:.25rem}.left-1\\/2{left:50%}.left-full{left:100%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-3{top:.75rem}.top-6{top:1.5rem}.top-\\[-1px\\]{top:-1px}.top-full{top:100%}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.m-4{margin:1rem}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.my-auto{margin-top:auto;margin-bottom:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\\[10px\\]{height:10px}.h-\\[14px\\]{height:14px}.h-\\[32px\\]{height:32px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-\\[10px\\]{width:10px}.w-\\[292px\\]{width:292px}.w-\\[2px\\]{width:2px}.w-\\[300px\\]{width:300px}.w-\\[68px\\]{width:68px}.w-\\[6px\\]{width:6px}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-\\[120px\\]{min-width:120px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-\\[280px\\]{max-width:280px}.max-w-\\[65\\%\\]{max-width:65%}.max-w-full{max-width:100%}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.grow{flex-grow:1}.origin-center{transform-origin:center}.origin-left{transform-origin:left}.-translate-x-1{--tw-translate-x:-0.25rem}.-translate-x-1,.-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-1\\/2{--tw-translate-x:-50%}.translate-x-full{--tw-translate-x:100%}.rotate-180,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.scale-125{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.scale-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-0{--tw-scale-x:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-n1-ww-fade-in{animation:n1-ww-fadeIn .2s ease-out}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-\\[3px\\]{gap:3px}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-\\[6px\\]{border-radius:6px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-none{border-style:none}.border-n1-ww-border{--tw-border-opacity:1;border-color:rgb(43 43 48/var(--tw-border-opacity,1))}.border-n1-ww-gray-100{border-color:#ffffff66}.border-n1-ww-gray-200{border-color:#ffffff33}.border-n1-ww-gray-400{--tw-border-opacity:1;border-color:rgb(51 51 51/var(--tw-border-opacity,1))}.border-n1-ww-gray-700{--tw-border-opacity:1;border-color:rgb(13 13 13/var(--tw-border-opacity,1))}.border-n1-ww-gray-800{--tw-border-opacity:1;border-color:rgb(5 4 10/var(--tw-border-opacity,1))}.border-n1-ww-main{--tw-border-opacity:1;border-color:rgb(255 68 26/var(--tw-border-opacity,1))}.border-n1-ww-main-400{--tw-border-opacity:1;border-color:rgb(255 115 83/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-b-n1-ww-border{--tw-border-opacity:1;border-bottom-color:rgb(43 43 48/var(--tw-border-opacity,1))}.border-b-n1-ww-main{--tw-border-opacity:1;border-bottom-color:rgb(255 68 26/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:transparent}.bg-\\[\\#1b1b1b\\]{--tw-bg-opacity:1;background-color:rgb(27 27 27/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\\/40{background-color:rgba(0,0,0,.4)}.bg-n1-ww-accent-neon{--tw-bg-opacity:1;background-color:rgb(0 255 81/var(--tw-bg-opacity,1))}.bg-n1-ww-border{--tw-bg-opacity:1;background-color:rgb(43 43 48/var(--tw-bg-opacity,1))}.bg-n1-ww-gray-100{background-color:#ffffff66}.bg-n1-ww-gray-200{background-color:#ffffff33}.bg-n1-ww-gray-300{--tw-bg-opacity:1;background-color:rgb(43 43 48/var(--tw-bg-opacity,1))}.bg-n1-ww-gray-50{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-n1-ww-gray-600{--tw-bg-opacity:1;background-color:rgb(31 31 31/var(--tw-bg-opacity,1))}.bg-n1-ww-gray-650{--tw-bg-opacity:1;background-color:rgb(27 27 27/var(--tw-bg-opacity,1))}.bg-n1-ww-gray-700{--tw-bg-opacity:1;background-color:rgb(13 13 13/var(--tw-bg-opacity,1))}.bg-n1-ww-gray-800{--tw-bg-opacity:1;background-color:rgb(5 4 10/var(--tw-bg-opacity,1))}.bg-n1-ww-gray-800\\/70{background-color:rgba(5,4,10,.7)}.bg-n1-ww-gray-900{--tw-bg-opacity:1;background-color:rgb(6 5 10/var(--tw-bg-opacity,1))}.bg-n1-ww-gray-950{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-n1-ww-main{--tw-bg-opacity:1;background-color:rgb(255 68 26/var(--tw-bg-opacity,1))}.bg-n1-ww-main-400{--tw-bg-opacity:1;background-color:rgb(255 115 83/var(--tw-bg-opacity,1))}.bg-n1-ww-main-500{--tw-bg-opacity:1;background-color:rgb(255 68 26/var(--tw-bg-opacity,1))}.bg-n1-ww-main-950{--tw-bg-opacity:1;background-color:rgb(64 17 7/var(--tw-bg-opacity,1))}.bg-n1-ww-main\\/20{background-color:rgba(255,68,26,.2)}.bg-n1-ww-main\\/90{background-color:rgba(255,68,26,.9)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-black{--tw-gradient-from:#000 var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-neutral-900{--tw-gradient-to:hsla(0,0%,9%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#171717 var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-neutral-800{--tw-gradient-to:#262626 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.p-1{padding:.25rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-px{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pr-4{padding-right:1rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-era{font-family:APK Galeria,Mona Sans,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-5xl{font-size:3rem;line-height:1}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\\[-0\\.24px\\]{letter-spacing:-.24px}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.text-amber-200\\/90{color:hsla(48,97%,77%,.9)}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-n1-ww-accent-neon{--tw-text-opacity:1;color:rgb(0 255 81/var(--tw-text-opacity,1))}.text-n1-ww-gray-100{color:#ffffff66}.text-n1-ww-gray-200{color:#ffffff33}.text-n1-ww-gray-300{--tw-text-opacity:1;color:rgb(43 43 48/var(--tw-text-opacity,1))}.text-n1-ww-gray-400{--tw-text-opacity:1;color:rgb(51 51 51/var(--tw-text-opacity,1))}.text-n1-ww-gray-50{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-n1-ww-gray-500{--tw-text-opacity:1;color:rgb(41 41 41/var(--tw-text-opacity,1))}.text-n1-ww-gray-600{--tw-text-opacity:1;color:rgb(31 31 31/var(--tw-text-opacity,1))}.text-n1-ww-gray-700{--tw-text-opacity:1;color:rgb(13 13 13/var(--tw-text-opacity,1))}.text-n1-ww-gray-800{--tw-text-opacity:1;color:rgb(5 4 10/var(--tw-text-opacity,1))}.text-n1-ww-gray-900{--tw-text-opacity:1;color:rgb(6 5 10/var(--tw-text-opacity,1))}.text-n1-ww-icon{--tw-text-opacity:1;color:rgb(173 173 173/var(--tw-text-opacity,1))}.text-n1-ww-icon\\/70{color:hsla(0,0%,68%,.7)}.text-n1-ww-main{--tw-text-opacity:1;color:rgb(255 68 26/var(--tw-text-opacity,1))}.text-n1-ww-main-700{--tw-text-opacity:1;color:rgb(179 48 18/var(--tw-text-opacity,1))}.text-n1-ww-main\\/90{color:rgba(255,68,26,.9)}.text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\\/70{color:hsla(0,0%,100%,.7)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-\\[0_12px_30px_rgba\\(0\\2c 0\\2c 0\\2c 0\\.6\\)\\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[0_12px_30px_rgba\\(0\\2c 0\\2c 0\\2c 0\\.6\\)\\]{--tw-shadow:0 12px 30px rgba(0,0,0,.6);--tw-shadow-colored:0 12px 30px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.brightness-150{--tw-brightness:brightness(1.5)}.brightness-150,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.grayscale-0{--tw-grayscale:grayscale(0)}.grayscale-0,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert:invert(100%)}.sepia{--tw-sepia:sepia(100%)}.filter,.sepia{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[max-width\\2c transform\\2c opacity\\]{transition-property:max-width,transform,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-500{transition-delay:.5s}.delay-700{transition-delay:.7s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-\\[3000ms\\]{transition-duration:3s}.ease-\\[cubic-bezier\\(0\\.16\\2c 1\\2c 0\\.3\\2c 1\\)\\]{transition-timing-function:cubic-bezier(.16,1,.3,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-\\[max-width\\2c transform\\2c opacity\\]{will-change:max-width,transform,opacity}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Thin-Trial.otf) format(\"opentype\");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Thin-Italic-Trial.otf) format(\"opentype\");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Light-Trial.otf) format(\"opentype\");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Light-Italic-Trial.otf) format(\"opentype\");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Regular-Trial.otf) format(\"opentype\");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Regular-Italic-Trial.otf) format(\"opentype\");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Medium-Trial.otf) format(\"opentype\");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Medium-Italic-Trial.otf) format(\"opentype\");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Semi-Bold-Trial.otf) format(\"opentype\");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Semi-Bold-Italic-Trial.otf) format(\"opentype\");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Bold-Trial.otf) format(\"opentype\");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Bold-Italic-Trial.otf) format(\"opentype\");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Extra-Bold-Trial.otf) format(\"opentype\");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Extra-Bold-Italic-Trial.otf) format(\"opentype\");font-weight:800;font-style:italic;font-display:swap}@keyframes n1-ww-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes n1-ww-squareLoader{0%{height:0;opacity:.2}40%{height:100%;opacity:1}60%{height:100%;opacity:1}to{height:0;opacity:.2}}@keyframes n1-ww-contentAppear{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes n1-ww-fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes n1-ww-fadeOut{0%{opacity:1;transform:scale(1)}50%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(0)}}@keyframes n1-ww-fadeDelayed{0%,50%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes n1-ww-fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes n1-ww-transfer-wave{0%{transform:scale(.7)}35%{transform:scale(1.4)}70%{transform:scale(2.1)}to{transform:scale(.7)}}@keyframes n1-ww-typing{0%{width:0}to{width:100%}}@keyframes n1-ww-showTableValue{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes n1-ww-typingMessage{0%{width:0}to{width:100%}}@keyframes n1-ww-typeButton{0%{width:0}to{width:100%}}@keyframes n1-ww-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes n1-ww-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.1)}}@keyframes n1-ww-content-appear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes n1-ww-square-loader{0%{height:0;opacity:.2}40%{height:100%;opacity:1}60%{height:100%;opacity:1}to{height:0;opacity:.2}}@keyframes n1-ww-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.n1-wallet-widget,.n1-wallet-widget *{font-family:APK Galeria,Mona Sans,\"sans-serif\"}.n1-wallet-widget :after,.n1-wallet-widget :before{font-family:inherit}.n1-wallet-widget{.n1-ww-animate-blink{animation:n1-ww-blink .8s infinite}.n1-ww-animate-square-loader{animation:n1-ww-squareLoader 2s ease-in-out infinite}.n1-ww-animate-content-appear{animation:n1-ww-contentAppear .3s cubic-bezier(.16,1,.3,1) forwards}.n1-ww-animate-fade-in{animation:n1-ww-fadeIn var(--duration,.3s) ease-out forwards;animation-delay:var(--delay,0s)}.n1-ww-animate-fade-out{animation:n1-ww-fadeOut 3s forwards}.n1-ww-animate-fade-delayed{animation:n1-ww-fadeDelayed 2s cubic-bezier(.16,1,.3,1) forwards;animation-delay:2s}.n1-ww-animate-transfer-dot{animation:n1-ww-transfer-wave 1.6s ease-in-out infinite;transform-origin:center;will-change:transform,opacity}@media (prefers-reduced-motion:reduce){.n1-ww-animate-transfer-dot:not(.n1-ww-force-motion){animation:none}}.n1-ww-typing-container{position:relative}.n1-ww-typing-container:after{content:\"\";position:absolute;right:-4px;top:50%;transform:translateY(-50%);width:4px;height:24px;background:#ff441a}.n1-ww-typing-text{display:inline-block;overflow:hidden;width:0;animation:n1-ww-typing .5s steps(30) forwards;animation-delay:.1s}.n1-ww-table-value.n1-ww-show-value{animation:n1-ww-showTableValue .3s ease forwards}.n1-ww-typing-message{display:inline-block;overflow:hidden;width:0;white-space:nowrap}.n1-ww-typing-message.n1-ww-start-typing{animation:n1-ww-typingMessage .8s steps(20) forwards}.n1-ww-typing-button-text{display:inline-block;overflow:hidden;width:0;animation:n1-ww-typeButton .8s steps(20) forwards}.n1-ww-typing-cursor{display:inline-block;width:4px;height:24px;background:#ff441a;margin-left:2px;vertical-align:middle;transform:translateY(-2px)}.n1-ww-animate-fade-in{animation:n1-ww-fade-in .3s ease-out forwards}.n1-ww-animate-fade-out{animation:n1-ww-fade-out .3s ease-out forwards}.n1-ww-animate-content-appear{animation:n1-ww-content-appear .3s ease-out forwards}.n1-ww-animate-square-loader{animation:n1-ww-square-loader 2s ease-in-out infinite}.n1-ww-animate-fade-up{animation:n1-ww-fade-up .3s ease-out forwards}}.n1-wallet-widget .inset-0{inset:0}.n1-wallet-widget .bg-black\\/40{background-color:rgba(0,0,0,.4)}.n1-wallet-widget .backdrop-blur-sm{backdrop-filter:blur(4px)}.n1-wallet-widget .n1-ww-connect-button{display:inline-flex;width:100%;align-items:center;justify-content:center;gap:.5rem;border-radius:9999px;border:1px solid #2b2b30;background-color:#000;padding:.5rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:#fff;transition:background-color .2s,color .2s;min-width:7rem;cursor:pointer}.n1-wallet-widget .n1-ww-connect-button:hover{background-color:#fff;color:#000}.n1-wallet-widget .n1-ww-connect-button:focus-visible{outline:2px solid #000;outline-offset:2px}.n1-wallet-widget .n1-ww-connect-button:disabled{pointer-events:none;opacity:.6}@media (min-width:640px){.n1-wallet-widget .n1-ww-connect-button{width:auto}}.n1-wallet-widget{border:none!important}#dynamic-widget{display:none!important}.hover\\:border-n1-ww-main-400\\/50:hover{border-color:rgba(255,115,83,.5)}.hover\\:border-n1-ww-main\\/60:hover{border-color:rgba(255,68,26,.6)}.hover\\:bg-n1-ww-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(5 4 10/var(--tw-bg-opacity,1))}.hover\\:bg-n1-ww-gray-900:hover{--tw-bg-opacity:1;background-color:rgb(6 5 10/var(--tw-bg-opacity,1))}.hover\\:font-bold:hover{font-weight:700}.hover\\:text-n1-ww-gray-300:hover{--tw-text-opacity:1;color:rgb(43 43 48/var(--tw-text-opacity,1))}.hover\\:text-n1-ww-main:hover{--tw-text-opacity:1;color:rgb(255 68 26/var(--tw-text-opacity,1))}.hover\\:text-n1-ww-main-400:hover{--tw-text-opacity:1;color:rgb(255 115 83/var(--tw-text-opacity,1))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-n1-ww-main:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 68 26/var(--tw-ring-opacity,1))}.focus\\:ring-offset-0:focus{--tw-ring-offset-width:0px}.group:hover .group-hover\\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-80{opacity:.8}@media (min-width:768px){.md\\:text-6xl{font-size:3.75rem;line-height:1}}";
2
+ export default _default;
@@ -0,0 +1,3 @@
1
+ // This file is auto-generated by scripts/embed-css.js
2
+ export default "*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:\"\"}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-top-\\[0\\.5rem\\]{top:-.5rem}.bottom-0{bottom:0}.left-0{left:0}.left-1{left:.25rem}.left-1\\/2{left:50%}.left-full{left:100%}.right-0{right:0}.right-2{right:.5rem}.top-0{top:0}.top-3{top:.75rem}.top-6{top:1.5rem}.top-\\[-1px\\]{top:-1px}.top-full{top:100%}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.m-4{margin:1rem}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.my-auto{margin-top:auto;margin-bottom:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\\[10px\\]{height:10px}.h-\\[14px\\]{height:14px}.h-\\[32px\\]{height:32px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-\\[10px\\]{width:10px}.w-\\[292px\\]{width:292px}.w-\\[2px\\]{width:2px}.w-\\[300px\\]{width:300px}.w-\\[68px\\]{width:68px}.w-\\[6px\\]{width:6px}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.min-w-0{min-width:0}.min-w-\\[120px\\]{min-width:120px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-\\[280px\\]{max-width:280px}.max-w-\\[65\\%\\]{max-width:65%}.max-w-full{max-width:100%}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.grow{flex-grow:1}.origin-center{transform-origin:center}.origin-left{transform-origin:left}.-translate-x-1{--tw-translate-x:-0.25rem}.-translate-x-1,.-translate-x-1\\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-1\\/2{--tw-translate-x:-50%}.translate-x-full{--tw-translate-x:100%}.rotate-180,.translate-x-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.scale-100,.scale-125{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-125{--tw-scale-x:1.25;--tw-scale-y:1.25}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-95,.scale-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-x-0{--tw-scale-x:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-n1-ww-fade-in{animation:n1-ww-fadeIn .2s ease-out}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-\\[3px\\]{gap:3px}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(.5rem*var(--tw-space-x-reverse));margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-\\[6px\\]{border-radius:6px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-none{border-style:none}.border-n1-ww-border{--tw-border-opacity:1;border-color:rgb(43 43 48/var(--tw-border-opacity,1))}.border-n1-ww-gray-100{border-color:#ffffff66}.border-n1-ww-gray-200{border-color:#ffffff33}.border-n1-ww-gray-400{--tw-border-opacity:1;border-color:rgb(51 51 51/var(--tw-border-opacity,1))}.border-n1-ww-gray-700{--tw-border-opacity:1;border-color:rgb(13 13 13/var(--tw-border-opacity,1))}.border-n1-ww-gray-800{--tw-border-opacity:1;border-color:rgb(5 4 10/var(--tw-border-opacity,1))}.border-n1-ww-main{--tw-border-opacity:1;border-color:rgb(255 68 26/var(--tw-border-opacity,1))}.border-n1-ww-main-400{--tw-border-opacity:1;border-color:rgb(255 115 83/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-b-n1-ww-border{--tw-border-opacity:1;border-bottom-color:rgb(43 43 48/var(--tw-border-opacity,1))}.border-b-n1-ww-main{--tw-border-opacity:1;border-bottom-color:rgb(255 68 26/var(--tw-border-opacity,1))}.border-t-transparent{border-top-color:transparent}.bg-\\[\\#1b1b1b\\]{--tw-bg-opacity:1;background-color:rgb(27 27 27/var(--tw-bg-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\\/40{background-color:rgba(0,0,0,.4)}.bg-n1-ww-accent-neon{--tw-bg-opacity:1;background-color:rgb(0 255 81/var(--tw-bg-opacity,1))}.bg-n1-ww-border{--tw-bg-opacity:1;background-color:rgb(43 43 48/var(--tw-bg-opacity,1))}.bg-n1-ww-gray-100{background-color:#ffffff66}.bg-n1-ww-gray-200{background-color:#ffffff33}.bg-n1-ww-gray-300{--tw-bg-opacity:1;background-color:rgb(43 43 48/var(--tw-bg-opacity,1))}.bg-n1-ww-gray-50{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-n1-ww-gray-600{--tw-bg-opacity:1;background-color:rgb(31 31 31/var(--tw-bg-opacity,1))}.bg-n1-ww-gray-650{--tw-bg-opacity:1;background-color:rgb(27 27 27/var(--tw-bg-opacity,1))}.bg-n1-ww-gray-700{--tw-bg-opacity:1;background-color:rgb(13 13 13/var(--tw-bg-opacity,1))}.bg-n1-ww-gray-800{--tw-bg-opacity:1;background-color:rgb(5 4 10/var(--tw-bg-opacity,1))}.bg-n1-ww-gray-800\\/70{background-color:rgba(5,4,10,.7)}.bg-n1-ww-gray-900{--tw-bg-opacity:1;background-color:rgb(6 5 10/var(--tw-bg-opacity,1))}.bg-n1-ww-gray-950{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-n1-ww-main{--tw-bg-opacity:1;background-color:rgb(255 68 26/var(--tw-bg-opacity,1))}.bg-n1-ww-main-400{--tw-bg-opacity:1;background-color:rgb(255 115 83/var(--tw-bg-opacity,1))}.bg-n1-ww-main-500{--tw-bg-opacity:1;background-color:rgb(255 68 26/var(--tw-bg-opacity,1))}.bg-n1-ww-main-950{--tw-bg-opacity:1;background-color:rgb(64 17 7/var(--tw-bg-opacity,1))}.bg-n1-ww-main\\/20{background-color:rgba(255,68,26,.2)}.bg-n1-ww-main\\/90{background-color:rgba(255,68,26,.9)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-black{--tw-gradient-from:#000 var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-neutral-900{--tw-gradient-to:hsla(0,0%,9%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#171717 var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-neutral-800{--tw-gradient-to:#262626 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.p-1{padding:.25rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-px{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pr-4{padding-right:1rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-era{font-family:APK Galeria,Mona Sans,sans-serif}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-5xl{font-size:3rem;line-height:1}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\\[-0\\.24px\\]{letter-spacing:-.24px}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-amber-200{--tw-text-opacity:1;color:rgb(253 230 138/var(--tw-text-opacity,1))}.text-amber-200\\/90{color:hsla(48,97%,77%,.9)}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-n1-ww-accent-neon{--tw-text-opacity:1;color:rgb(0 255 81/var(--tw-text-opacity,1))}.text-n1-ww-gray-100{color:#ffffff66}.text-n1-ww-gray-200{color:#ffffff33}.text-n1-ww-gray-300{--tw-text-opacity:1;color:rgb(43 43 48/var(--tw-text-opacity,1))}.text-n1-ww-gray-400{--tw-text-opacity:1;color:rgb(51 51 51/var(--tw-text-opacity,1))}.text-n1-ww-gray-50{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-n1-ww-gray-500{--tw-text-opacity:1;color:rgb(41 41 41/var(--tw-text-opacity,1))}.text-n1-ww-gray-600{--tw-text-opacity:1;color:rgb(31 31 31/var(--tw-text-opacity,1))}.text-n1-ww-gray-700{--tw-text-opacity:1;color:rgb(13 13 13/var(--tw-text-opacity,1))}.text-n1-ww-gray-800{--tw-text-opacity:1;color:rgb(5 4 10/var(--tw-text-opacity,1))}.text-n1-ww-gray-900{--tw-text-opacity:1;color:rgb(6 5 10/var(--tw-text-opacity,1))}.text-n1-ww-icon{--tw-text-opacity:1;color:rgb(173 173 173/var(--tw-text-opacity,1))}.text-n1-ww-icon\\/70{color:hsla(0,0%,68%,.7)}.text-n1-ww-main{--tw-text-opacity:1;color:rgb(255 68 26/var(--tw-text-opacity,1))}.text-n1-ww-main-700{--tw-text-opacity:1;color:rgb(179 48 18/var(--tw-text-opacity,1))}.text-n1-ww-main\\/90{color:rgba(255,68,26,.9)}.text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity,1))}.text-purple-400{--tw-text-opacity:1;color:rgb(192 132 252/var(--tw-text-opacity,1))}.text-red-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-white\\/70{color:hsla(0,0%,100%,.7)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-\\[0_12px_30px_rgba\\(0\\2c 0\\2c 0\\2c 0\\.6\\)\\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\\[0_12px_30px_rgba\\(0\\2c 0\\2c 0\\2c 0\\.6\\)\\]{--tw-shadow:0 12px 30px rgba(0,0,0,.6);--tw-shadow-colored:0 12px 30px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.brightness-150{--tw-brightness:brightness(1.5)}.brightness-150,.grayscale{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%)}.grayscale-0{--tw-grayscale:grayscale(0)}.grayscale-0,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert:invert(100%)}.sepia{--tw-sepia:sepia(100%)}.filter,.sepia{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur:blur(4px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\\[max-width\\2c transform\\2c opacity\\]{transition-property:max-width,transform,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-500{transition-delay:.5s}.delay-700{transition-delay:.7s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-\\[3000ms\\]{transition-duration:3s}.ease-\\[cubic-bezier\\(0\\.16\\2c 1\\2c 0\\.3\\2c 1\\)\\]{transition-timing-function:cubic-bezier(.16,1,.3,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.will-change-\\[max-width\\2c transform\\2c opacity\\]{will-change:max-width,transform,opacity}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Thin-Trial.otf) format(\"opentype\");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Thin-Italic-Trial.otf) format(\"opentype\");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Light-Trial.otf) format(\"opentype\");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Light-Italic-Trial.otf) format(\"opentype\");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Regular-Trial.otf) format(\"opentype\");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Regular-Italic-Trial.otf) format(\"opentype\");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Medium-Trial.otf) format(\"opentype\");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Medium-Italic-Trial.otf) format(\"opentype\");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Semi-Bold-Trial.otf) format(\"opentype\");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Semi-Bold-Italic-Trial.otf) format(\"opentype\");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Bold-Trial.otf) format(\"opentype\");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Bold-Italic-Trial.otf) format(\"opentype\");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Extra-Bold-Trial.otf) format(\"opentype\");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:APK Galeria;src:url(https://terminal.nyc3.cdn.digitaloceanspaces.com/fonts/apk-galeria/APK-Galeria-Extra-Bold-Italic-Trial.otf) format(\"opentype\");font-weight:800;font-style:italic;font-display:swap}@keyframes n1-ww-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes n1-ww-squareLoader{0%{height:0;opacity:.2}40%{height:100%;opacity:1}60%{height:100%;opacity:1}to{height:0;opacity:.2}}@keyframes n1-ww-contentAppear{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes n1-ww-fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes n1-ww-fadeOut{0%{opacity:1;transform:scale(1)}50%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(0)}}@keyframes n1-ww-fadeDelayed{0%,50%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes n1-ww-fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes n1-ww-transfer-wave{0%{transform:scale(.7)}35%{transform:scale(1.4)}70%{transform:scale(2.1)}to{transform:scale(.7)}}@keyframes n1-ww-typing{0%{width:0}to{width:100%}}@keyframes n1-ww-showTableValue{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes n1-ww-typingMessage{0%{width:0}to{width:100%}}@keyframes n1-ww-typeButton{0%{width:0}to{width:100%}}@keyframes n1-ww-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes n1-ww-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.1)}}@keyframes n1-ww-content-appear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes n1-ww-square-loader{0%{height:0;opacity:.2}40%{height:100%;opacity:1}60%{height:100%;opacity:1}to{height:0;opacity:.2}}@keyframes n1-ww-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.n1-wallet-widget,.n1-wallet-widget *{font-family:APK Galeria,Mona Sans,\"sans-serif\"}.n1-wallet-widget :after,.n1-wallet-widget :before{font-family:inherit}.n1-wallet-widget{.n1-ww-animate-blink{animation:n1-ww-blink .8s infinite}.n1-ww-animate-square-loader{animation:n1-ww-squareLoader 2s ease-in-out infinite}.n1-ww-animate-content-appear{animation:n1-ww-contentAppear .3s cubic-bezier(.16,1,.3,1) forwards}.n1-ww-animate-fade-in{animation:n1-ww-fadeIn var(--duration,.3s) ease-out forwards;animation-delay:var(--delay,0s)}.n1-ww-animate-fade-out{animation:n1-ww-fadeOut 3s forwards}.n1-ww-animate-fade-delayed{animation:n1-ww-fadeDelayed 2s cubic-bezier(.16,1,.3,1) forwards;animation-delay:2s}.n1-ww-animate-transfer-dot{animation:n1-ww-transfer-wave 1.6s ease-in-out infinite;transform-origin:center;will-change:transform,opacity}@media (prefers-reduced-motion:reduce){.n1-ww-animate-transfer-dot:not(.n1-ww-force-motion){animation:none}}.n1-ww-typing-container{position:relative}.n1-ww-typing-container:after{content:\"\";position:absolute;right:-4px;top:50%;transform:translateY(-50%);width:4px;height:24px;background:#ff441a}.n1-ww-typing-text{display:inline-block;overflow:hidden;width:0;animation:n1-ww-typing .5s steps(30) forwards;animation-delay:.1s}.n1-ww-table-value.n1-ww-show-value{animation:n1-ww-showTableValue .3s ease forwards}.n1-ww-typing-message{display:inline-block;overflow:hidden;width:0;white-space:nowrap}.n1-ww-typing-message.n1-ww-start-typing{animation:n1-ww-typingMessage .8s steps(20) forwards}.n1-ww-typing-button-text{display:inline-block;overflow:hidden;width:0;animation:n1-ww-typeButton .8s steps(20) forwards}.n1-ww-typing-cursor{display:inline-block;width:4px;height:24px;background:#ff441a;margin-left:2px;vertical-align:middle;transform:translateY(-2px)}.n1-ww-animate-fade-in{animation:n1-ww-fade-in .3s ease-out forwards}.n1-ww-animate-fade-out{animation:n1-ww-fade-out .3s ease-out forwards}.n1-ww-animate-content-appear{animation:n1-ww-content-appear .3s ease-out forwards}.n1-ww-animate-square-loader{animation:n1-ww-square-loader 2s ease-in-out infinite}.n1-ww-animate-fade-up{animation:n1-ww-fade-up .3s ease-out forwards}}.n1-wallet-widget .inset-0{inset:0}.n1-wallet-widget .bg-black\\/40{background-color:rgba(0,0,0,.4)}.n1-wallet-widget .backdrop-blur-sm{backdrop-filter:blur(4px)}.n1-wallet-widget .n1-ww-connect-button{display:inline-flex;width:100%;align-items:center;justify-content:center;gap:.5rem;border-radius:9999px;border:1px solid #2b2b30;background-color:#000;padding:.5rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;color:#fff;transition:background-color .2s,color .2s;min-width:7rem;cursor:pointer}.n1-wallet-widget .n1-ww-connect-button:hover{background-color:#fff;color:#000}.n1-wallet-widget .n1-ww-connect-button:focus-visible{outline:2px solid #000;outline-offset:2px}.n1-wallet-widget .n1-ww-connect-button:disabled{pointer-events:none;opacity:.6}@media (min-width:640px){.n1-wallet-widget .n1-ww-connect-button{width:auto}}.n1-wallet-widget{border:none!important}#dynamic-widget{display:none!important}.hover\\:border-n1-ww-main-400\\/50:hover{border-color:rgba(255,115,83,.5)}.hover\\:border-n1-ww-main\\/60:hover{border-color:rgba(255,68,26,.6)}.hover\\:bg-n1-ww-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(5 4 10/var(--tw-bg-opacity,1))}.hover\\:bg-n1-ww-gray-900:hover{--tw-bg-opacity:1;background-color:rgb(6 5 10/var(--tw-bg-opacity,1))}.hover\\:font-bold:hover{font-weight:700}.hover\\:text-n1-ww-gray-300:hover{--tw-text-opacity:1;color:rgb(43 43 48/var(--tw-text-opacity,1))}.hover\\:text-n1-ww-main:hover{--tw-text-opacity:1;color:rgb(255 68 26/var(--tw-text-opacity,1))}.hover\\:text-n1-ww-main-400:hover{--tw-text-opacity:1;color:rgb(255 115 83/var(--tw-text-opacity,1))}.hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\\:ring-n1-ww-main:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(255 68 26/var(--tw-ring-opacity,1))}.focus\\:ring-offset-0:focus{--tw-ring-offset-width:0px}.group:hover .group-hover\\:scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.group:hover .group-hover\\:opacity-100{opacity:1}.group:hover .group-hover\\:opacity-80{opacity:.8}@media (min-width:768px){.md\\:text-6xl{font-size:3.75rem;line-height:1}}";
3
+ //# sourceMappingURL=embedded-main-css.js.map