@seams/wallet 0.24.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (543) hide show
  1. package/dist/.build-inputs.sha256 +1 -1
  2. package/dist/esm/SeamsWeb/operations/tempo/executeEvmFamilyTransaction.js +1 -0
  3. package/dist/esm/SeamsWeb/publicApi/near.js +22 -11
  4. package/dist/esm/SeamsWeb/walletIframe/client/evmFamilyCommands.js +1 -0
  5. package/dist/esm/SeamsWeb/walletIframe/client/nearCommands.js +9 -10
  6. package/dist/esm/SeamsWeb/walletIframe/client/overlay/overlay-styles.js +73 -39
  7. package/dist/esm/SeamsWeb/walletIframe/client/router.js +61 -38
  8. package/dist/esm/SeamsWeb/walletIframe/host/auth-menu/domain.js +1 -0
  9. package/dist/esm/SeamsWeb/walletIframe/host/surface-measurement-reporter.js +1 -0
  10. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/AuthMenuSurface.js +1 -1
  11. package/dist/esm/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.js +28 -0
  12. package/dist/esm/SeamsWeb/walletIframe/shared/messages.js +6 -0
  13. package/dist/esm/core/indexedDB/seamsWalletDB/repositories.js +8 -1
  14. package/dist/esm/core/rpcClients/near/NearClient.js +7 -0
  15. package/dist/esm/core/rpcClients/relayer/walletSessionAuthorizationStatus.js +7 -0
  16. package/dist/esm/core/signingEngine/flows/signNear/signTransactions.js +3 -0
  17. package/dist/esm/core/signingEngine/nearTransactionSubmission.js +89 -0
  18. package/dist/esm/core/signingEngine/uiConfirm/ui/confirm-surface-resize.js +2 -2
  19. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/ReviewDisclosure.js +7 -1
  20. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +123 -14
  21. package/dist/esm/core/ui/messages.js +12 -0
  22. package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonMock.js +5 -7
  23. package/dist/esm/react/components/AccountMenuButton/AccountMenuButtonView.js +21 -5
  24. package/dist/esm/react/components/AccountMenuButton/AccountMenuModal.js +66 -0
  25. package/dist/esm/react/components/AccountMenuButton/AccountsSection.css +18 -11
  26. package/dist/esm/react/components/AccountMenuButton/AuthenticationMethodRow.js +5 -11
  27. package/dist/esm/react/components/AccountMenuButton/ExportKeysSection.css +17 -15
  28. package/dist/esm/react/components/AccountMenuButton/LinkedDevicesModal.css +156 -106
  29. package/dist/esm/react/components/AccountMenuButton/MenuItem.css +37 -29
  30. package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.css +53 -21
  31. package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.css +124 -82
  32. package/dist/esm/react/components/AccountMenuButton/UserAccountButton.css +45 -27
  33. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.css +115 -93
  34. package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +179 -92
  35. package/dist/esm/react/components/AccountMenuButton/hooks/useProfileState.js +62 -49
  36. package/dist/esm/react/components/AccountMenuButton/icons/HoverArrowIcon.css +36 -12
  37. package/dist/esm/react/components/AccountMenuButton/icons/HoverArrowIcon.js +10 -2
  38. package/dist/esm/react/components/AccountMenuButton/icons/Icon.css +10 -0
  39. package/dist/esm/react/components/AccountMenuButton/icons/LogOutIcon2.js +15 -16
  40. package/dist/esm/react/components/AccountMenuButton/icons/SpinnerIcon.js +12 -18
  41. package/dist/esm/react/components/AccountMenuButton/icons/TouchIcon.css +3 -3
  42. package/dist/esm/react/components/AccountMenuButton/icons/TouchIcon.js +11 -5
  43. package/dist/esm/react/components/AccountMenuButton/icons/lucideIcon.js +20 -6
  44. package/dist/esm/react/components/AccountMenuButton/index.js +18 -42
  45. package/dist/esm/react/components/ExternalNearWalletIcon.js +32 -0
  46. package/dist/esm/react/components/FingerprintIcon.js +13 -19
  47. package/dist/esm/react/components/HostedSeamsAuthMenu/SeamsAuthMenuMock.js +13 -2
  48. package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.css +182 -0
  49. package/dist/esm/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.js +315 -0
  50. package/dist/esm/react/components/HostedSeamsAuthMenu/shell.js +20 -5
  51. package/dist/esm/react/components/QRCodeIcon.js +37 -43
  52. package/dist/esm/react/components/QRCodeScanner.css +65 -60
  53. package/dist/esm/react/components/ShowQRCode.css +145 -40
  54. package/dist/esm/react/components/ShowQRCode.js +27 -37
  55. package/dist/esm/react/components/externalWalletBrandImages.js +7 -0
  56. package/dist/esm/react/components/theme/Theme.css +67 -0
  57. package/dist/esm/react/components/theme/ThemeProvider.js +6 -6
  58. package/dist/esm/react/externalEvm.js +11 -4
  59. package/dist/esm/react/externalNear.js +15 -10
  60. package/dist/esm/react/externalWalletPicker.css +117 -0
  61. package/dist/esm/react/index.js +3 -2
  62. package/dist/esm/react/styles/styles.css +2148 -550
  63. package/dist/esm/react/styles.css +7 -1
  64. package/dist/esm/react/transactionReview/TransactionReviewHost.js +3 -0
  65. package/dist/esm/react/transactionReview/boundCalls.js +31 -26
  66. package/dist/esm/sdk/{ConfirmationDrawer-CTaGM1AE.js → ConfirmationDrawer-AZruQmhP.js} +1 -1
  67. package/dist/esm/sdk/NonceCoordinator-3YhmDTS5.js +1 -0
  68. package/dist/{public/sdk/SeamsWordmark-CFpsGoLw.js → esm/sdk/SeamsWordmark-DwvPx2UA.js} +1 -1
  69. package/dist/esm/sdk/accountLifecycle-6DHYWf0v.js +1 -0
  70. package/dist/esm/sdk/actions-DrtSTGus.js +1 -0
  71. package/dist/esm/sdk/activeWalletSession-BJ4B-nJo.js +1 -0
  72. package/dist/esm/sdk/adapters-d9yh1bdC.js +1 -0
  73. package/dist/esm/sdk/appearance-DL7c6bML.js +1 -0
  74. package/dist/esm/sdk/appearance-token-vars-BJydfWT_.js +1 -0
  75. package/dist/esm/sdk/canonicalPrimitives-Jd3i_Ngz.js +1 -0
  76. package/dist/esm/sdk/chains-B72I4PDH.js +1 -0
  77. package/dist/esm/sdk/challengeDelivery-Dj9HrjW9.js +1 -0
  78. package/dist/esm/sdk/clientSessionPersistenceState-BCkJAYSz.js +1 -0
  79. package/dist/esm/sdk/{collectAuthenticationCredentialForChallengeB64u-kLIxmw3V.js → collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js} +1 -1
  80. package/dist/esm/sdk/{commitQueue-Bs23Rs57.js → commitQueue-CYruPlkm.js} +1 -1
  81. package/dist/esm/sdk/configBuilder-CSwJrmcR.js +1 -0
  82. package/dist/esm/sdk/configuration-DBEc3bsj.js +1 -0
  83. package/dist/esm/sdk/confirm-ui-nU6ymgiv.js +2 -0
  84. package/dist/esm/sdk/confirmTypes-BvVtQs-M.js +1 -0
  85. package/dist/esm/sdk/device-linking-DiCNt3iA.js +1 -0
  86. package/dist/esm/sdk/deviceLinkApproval-CfEiotVt.js +2 -0
  87. package/dist/esm/sdk/digestEncoding-CqNXPZY9.js +1 -0
  88. package/dist/esm/sdk/{chains-gV2K9gA4.js → digests-BIaE0DMd.js} +1 -1
  89. package/dist/esm/sdk/{display-BXjW58UF.js → display-D0EPmU4w.js} +1 -1
  90. package/dist/esm/sdk/ecdsaCapabilityManifest-DAJEVjlP.js +1 -0
  91. package/dist/esm/sdk/{ecdsaChainTarget-DbLthshF.js → ecdsaChainTarget-Bm5X4k-V.js} +1 -1
  92. package/dist/esm/sdk/ecdsaDerivationClientWasm-AYOJgTJm.js +1 -0
  93. package/dist/esm/sdk/ecdsaDerivationExport-DJKOzDbS.js +1 -0
  94. package/dist/esm/sdk/{ecdsaWalletRecords-BgcXXCZy.js → ecdsaWalletRecords-WLyq414E.js} +1 -1
  95. package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js +1 -0
  96. package/dist/esm/sdk/{enrichDisplayModelWithAbi-CudPUW0T.js → enrichDisplayModelWithAbi-O6Mw4i2E.js} +1 -1
  97. package/dist/esm/sdk/errors-BJBDbwHk.js +1 -0
  98. package/dist/esm/sdk/{evmCryptoWasm-DacbCVNM.js → evmCryptoWasm-BUPb4hBH.js} +1 -1
  99. package/dist/esm/sdk/{export-viewer-host-DsWOvc0t.js → export-viewer-host-BtrKVXxu.js} +1 -1
  100. package/dist/esm/sdk/exportKeypairOperation-CGE9ZU1m.js +1 -0
  101. package/dist/esm/sdk/helpers-Dubwo5uK.js +1 -0
  102. package/dist/esm/sdk/host-DayrOrgm.js +1 -0
  103. package/dist/esm/sdk/icons-BlMXolHv.js +1 -0
  104. package/dist/esm/sdk/indexedDB-C4SDsyOG.js +1 -0
  105. package/dist/esm/sdk/intentDigest-HvRsBQ1z.js +1 -0
  106. package/dist/esm/sdk/keyMaterialEnvelope-Dm2ZEilb.js +1 -0
  107. package/dist/esm/sdk/{lanes-C7OvAK_L.js → lanes-BU-fGqY4.js} +1 -1
  108. package/dist/esm/sdk/localOnly-BATWJj78.js +1 -0
  109. package/dist/{public/sdk/mountExportPrivateKeySurface-CV1KrFWg.js → esm/sdk/mountExportPrivateKeySurface-CyHU8bVc.js} +1 -1
  110. package/dist/esm/sdk/{mountRecoveryCodeBackupSurface-CVXU1zzl.js → mountRecoveryCodeBackupSurface-C7aglQxf.js} +1 -1
  111. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-BfXmy3Jr.js +1 -0
  112. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js +1 -0
  113. package/dist/esm/sdk/nearRpcResults-CeHdqaS4.js +1 -0
  114. package/dist/esm/sdk/{nonceLaneKeys-BS4fek17.js → nonceLaneKeys-BF_UpvIy.js} +1 -1
  115. package/dist/esm/sdk/{normalization-BN-2VWZf.js → normalization-Df9fZWJC.js} +1 -1
  116. package/dist/esm/sdk/operationFingerprint-Bas59T7L.js +1 -0
  117. package/dist/esm/sdk/participants-BXdREC5k.js +1 -0
  118. package/dist/{public/sdk/pendingWalletRecoveryCodeBackup-lr1oISjL.js → esm/sdk/pendingWalletRecoveryCodeBackup-Cjx-X-pP.js} +1 -1
  119. package/dist/esm/sdk/presignaturePool-BbvqRWYw.js +1 -0
  120. package/dist/{public/sdk/presignatures-B9GrGx0L.js → esm/sdk/presignatures-BCeq56DG.js} +1 -1
  121. package/dist/esm/sdk/recovery-entrypoint-DJbMDC_m.js +1 -0
  122. package/dist/esm/sdk/recoveryAuthorization-CQsjb8Tm.js +1 -0
  123. package/dist/esm/sdk/registration-CNLUYN-p.js +1 -0
  124. package/dist/esm/sdk/registration-HSwOHZOo.js +1 -0
  125. package/dist/esm/sdk/{registrationAccounts-BHikxS5q.js → registrationAccounts-4r74gX1l.js} +1 -1
  126. package/dist/esm/sdk/registrationIntent-Do1tD1V7.js +1 -0
  127. package/dist/esm/sdk/registrationSignerPlan-DK2b3N_p.js +1 -0
  128. package/dist/esm/sdk/requireStepUpAuth-COqCGb1i.js +1 -0
  129. package/dist/esm/sdk/resealedEnvelopeResult-B1p5UkYg.js +1 -0
  130. package/dist/esm/sdk/routerAbNormalSigning-D-UZmCBS.js +1 -0
  131. package/dist/esm/sdk/runtime-auth-BCoj7_-G.js +1 -0
  132. package/dist/esm/sdk/runtime-device-link-DAsq5tGT.js +1 -0
  133. package/dist/esm/sdk/runtime-ecdsa-tempo-CVh_Vwl6.js +1 -0
  134. package/dist/esm/sdk/runtime-email-otp-BxSKK9AG.js +1 -0
  135. package/dist/esm/sdk/runtime-export-BWnQXMzT.js +1 -0
  136. package/dist/esm/sdk/runtime-near-CuzPZrDS.js +1 -0
  137. package/dist/esm/sdk/runtime-preferences-B-nDWlm3.js +1 -0
  138. package/dist/esm/sdk/runtime-recovery-DpOdEJ8N.js +1 -0
  139. package/dist/esm/sdk/runtime-recovery-codes-DeUjQsxZ.js +1 -0
  140. package/dist/esm/sdk/runtimeContext-5JcewRo3.js +6 -0
  141. package/dist/esm/sdk/secp256k1-CE7-q9Sn.js +1 -0
  142. package/dist/esm/sdk/sessionObservationRevision-JOvVF4Hf.js +1 -0
  143. package/dist/esm/sdk/signEvmFamily-BY5jlZEG.js +1 -0
  144. package/dist/esm/sdk/{signEvmFamilyWithUiConfirmForTempo-BMfC2sc2.js → signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js} +1 -1
  145. package/dist/esm/sdk/{signEvmWithUiConfirm-BNkupz3z.js → signEvmWithUiConfirm-CGrLtMV6.js} +1 -1
  146. package/dist/esm/sdk/signNear-DMpJFkwF.js +1 -0
  147. package/dist/esm/sdk/{signatureUses-DrqCoN12.js → signatureUses-kSrUHSSH.js} +1 -1
  148. package/dist/esm/sdk/signerSlot-D2RZnb27.js +1 -0
  149. package/dist/esm/sdk/{signingFlow-BVvteILM.js → signingFlow-BcetvUeS.js} +2 -2
  150. package/dist/esm/sdk/signingQueue-dMFOFOP5.js +1 -0
  151. package/dist/esm/sdk/surface-measurement-reporter-DXsvq401.js +1 -0
  152. package/dist/esm/sdk/thresholdEcdsa-CqR1fFA-.js +1 -0
  153. package/dist/esm/sdk/{trace-CGNqO1FV.js → trace--mRP2OQc.js} +1 -1
  154. package/dist/esm/sdk/{transaction-activity-DPq9RTh5.js → transaction-activity-DCzHGg3b.js} +1 -1
  155. package/dist/esm/sdk/transactionReview-CGIlI835.js +1 -0
  156. package/dist/esm/sdk/{transactionReviewAdmission--8tDis7M.js → transactionReviewAdmission-Cf_qUZJt.js} +1 -1
  157. package/dist/{public/sdk/transactionState-BS1VLT7B.js → esm/sdk/transactionState-29T9xfvL.js} +1 -1
  158. package/dist/esm/sdk/tx-confirm-ui.js +173 -18
  159. package/dist/esm/sdk/{types-DdzuHlAQ.js → types-f7dyj5N6.js} +1 -1
  160. package/dist/esm/sdk/unlockedEd25519ExportRootCapability-yzxQjIFd.js +1 -0
  161. package/dist/esm/sdk/voiceid-host.js +1 -1
  162. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  163. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  164. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  165. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  166. package/dist/esm/sdk/wallet-recovery-BZB2Vu3X.js +1 -0
  167. package/dist/esm/sdk/wallet-ui.css +1 -1
  168. package/dist/esm/sdk/walletAuthMethodRecord-DLBB5fez.js +1 -0
  169. package/dist/esm/sdk/walletAuthority-BTGAuOi8.js +1 -0
  170. package/dist/esm/sdk/walletCapabilityBindings-D5YYB7nN.js +1 -0
  171. package/dist/esm/sdk/walletCustodyEcdsaContinuity-C31YQ9av.js +1 -0
  172. package/dist/esm/sdk/walletCustodyOperation-DimzAbCB.js +1 -0
  173. package/dist/esm/sdk/walletDbName-Ca0rCq5r.js +1 -0
  174. package/dist/esm/sdk/walletOwnershipGeneration-CgjCtPrV.js +1 -0
  175. package/dist/esm/sdk/walletRecoveryAdminProof-CvSYbyg5.js +1 -0
  176. package/dist/esm/sdk/walletRecoveryCommit-Cc2LAkCS.js +1 -0
  177. package/dist/esm/sdk/walletRegistrationSetupPrewarm-CEvGKQSg.js +1 -0
  178. package/dist/esm/sdk/{walletSessionAuthorizationProjection-BJgnZaBc.js → walletSessionAuthorizationProjection-BzUH6gHV.js} +1 -1
  179. package/dist/esm/sdk/walletSessionAuthorizationStatus-DG7DPcgR.js +1 -0
  180. package/dist/esm/sdk/{walletSessionAuthorizationStore-zkxcMdSp.js → walletSessionAuthorizationStore-B9Vwkshr.js} +1 -1
  181. package/dist/esm/sdk/warmSessionHydration-B-A5Tdx7.js +1 -0
  182. package/dist/{public/sdk/webauthnP256-BvTL8nq4.js → esm/sdk/webauthnP256-BsQQPurm.js} +1 -1
  183. package/dist/esm/shared-ts/src/near/nearClient.js +1 -1
  184. package/dist/esm/shared-ts/src/utils/errors.js +56 -3
  185. package/dist/esm/shared-ts/src/utils/index.js +1 -1
  186. package/dist/esm/voiceid-host.js +1 -1
  187. package/dist/public/headers.manifest.json +1 -1
  188. package/dist/public/sdk/{ConfirmationDrawer-CTaGM1AE.js → ConfirmationDrawer-AZruQmhP.js} +1 -1
  189. package/dist/public/sdk/NonceCoordinator-3YhmDTS5.js +1 -0
  190. package/dist/{esm/sdk/SeamsWordmark-CFpsGoLw.js → public/sdk/SeamsWordmark-DwvPx2UA.js} +1 -1
  191. package/dist/public/sdk/accountLifecycle-6DHYWf0v.js +1 -0
  192. package/dist/public/sdk/actions-DrtSTGus.js +1 -0
  193. package/dist/public/sdk/activeWalletSession-BJ4B-nJo.js +1 -0
  194. package/dist/public/sdk/adapters-d9yh1bdC.js +1 -0
  195. package/dist/public/sdk/appearance-DL7c6bML.js +1 -0
  196. package/dist/public/sdk/appearance-token-vars-BJydfWT_.js +1 -0
  197. package/dist/public/sdk/canonicalPrimitives-Jd3i_Ngz.js +1 -0
  198. package/dist/public/sdk/chains-B72I4PDH.js +1 -0
  199. package/dist/public/sdk/challengeDelivery-Dj9HrjW9.js +1 -0
  200. package/dist/public/sdk/clientSessionPersistenceState-BCkJAYSz.js +1 -0
  201. package/dist/public/sdk/{collectAuthenticationCredentialForChallengeB64u-kLIxmw3V.js → collectAuthenticationCredentialForChallengeB64u-I4wq8OGq.js} +1 -1
  202. package/dist/public/sdk/{commitQueue-Bs23Rs57.js → commitQueue-CYruPlkm.js} +1 -1
  203. package/dist/public/sdk/configBuilder-CSwJrmcR.js +1 -0
  204. package/dist/public/sdk/configuration-DBEc3bsj.js +1 -0
  205. package/dist/public/sdk/confirm-ui-nU6ymgiv.js +2 -0
  206. package/dist/public/sdk/confirmTypes-BvVtQs-M.js +1 -0
  207. package/dist/public/sdk/device-linking-DiCNt3iA.js +1 -0
  208. package/dist/public/sdk/deviceLinkApproval-CfEiotVt.js +2 -0
  209. package/dist/public/sdk/digestEncoding-CqNXPZY9.js +1 -0
  210. package/dist/public/sdk/{chains-gV2K9gA4.js → digests-BIaE0DMd.js} +1 -1
  211. package/dist/public/sdk/{display-BXjW58UF.js → display-D0EPmU4w.js} +1 -1
  212. package/dist/public/sdk/ecdsaCapabilityManifest-DAJEVjlP.js +1 -0
  213. package/dist/public/sdk/{ecdsaChainTarget-DbLthshF.js → ecdsaChainTarget-Bm5X4k-V.js} +1 -1
  214. package/dist/public/sdk/ecdsaDerivationClientWasm-AYOJgTJm.js +1 -0
  215. package/dist/public/sdk/ecdsaDerivationExport-DJKOzDbS.js +1 -0
  216. package/dist/public/sdk/{ecdsaWalletRecords-BgcXXCZy.js → ecdsaWalletRecords-WLyq414E.js} +1 -1
  217. package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-HFQXc1Yw.js +1 -0
  218. package/dist/public/sdk/{enrichDisplayModelWithAbi-CudPUW0T.js → enrichDisplayModelWithAbi-O6Mw4i2E.js} +1 -1
  219. package/dist/public/sdk/errors-BJBDbwHk.js +1 -0
  220. package/dist/public/sdk/{evmCryptoWasm-DacbCVNM.js → evmCryptoWasm-BUPb4hBH.js} +1 -1
  221. package/dist/public/sdk/{export-viewer-host-DsWOvc0t.js → export-viewer-host-BtrKVXxu.js} +1 -1
  222. package/dist/public/sdk/exportKeypairOperation-CGE9ZU1m.js +1 -0
  223. package/dist/public/sdk/helpers-Dubwo5uK.js +1 -0
  224. package/dist/public/sdk/host-DayrOrgm.js +1 -0
  225. package/dist/public/sdk/icons-BlMXolHv.js +1 -0
  226. package/dist/public/sdk/indexedDB-C4SDsyOG.js +1 -0
  227. package/dist/public/sdk/intentDigest-HvRsBQ1z.js +1 -0
  228. package/dist/public/sdk/keyMaterialEnvelope-Dm2ZEilb.js +1 -0
  229. package/dist/public/sdk/{lanes-C7OvAK_L.js → lanes-BU-fGqY4.js} +1 -1
  230. package/dist/public/sdk/localOnly-BATWJj78.js +1 -0
  231. package/dist/{esm/sdk/mountExportPrivateKeySurface-CV1KrFWg.js → public/sdk/mountExportPrivateKeySurface-CyHU8bVc.js} +1 -1
  232. package/dist/public/sdk/{mountRecoveryCodeBackupSurface-CVXU1zzl.js → mountRecoveryCodeBackupSurface-C7aglQxf.js} +1 -1
  233. package/dist/public/sdk/nearEd25519YaoMaterialActivation-BfXmy3Jr.js +1 -0
  234. package/dist/public/sdk/nearEd25519YaoSigningPreparation-DHNk0F8e.js +1 -0
  235. package/dist/public/sdk/nearRpcResults-CeHdqaS4.js +1 -0
  236. package/dist/public/sdk/{nonceLaneKeys-BS4fek17.js → nonceLaneKeys-BF_UpvIy.js} +1 -1
  237. package/dist/public/sdk/{normalization-BN-2VWZf.js → normalization-Df9fZWJC.js} +1 -1
  238. package/dist/public/sdk/operationFingerprint-Bas59T7L.js +1 -0
  239. package/dist/public/sdk/participants-BXdREC5k.js +1 -0
  240. package/dist/{esm/sdk/pendingWalletRecoveryCodeBackup-lr1oISjL.js → public/sdk/pendingWalletRecoveryCodeBackup-Cjx-X-pP.js} +1 -1
  241. package/dist/public/sdk/presignaturePool-BbvqRWYw.js +1 -0
  242. package/dist/{esm/sdk/presignatures-B9GrGx0L.js → public/sdk/presignatures-BCeq56DG.js} +1 -1
  243. package/dist/public/sdk/recovery-entrypoint-DJbMDC_m.js +1 -0
  244. package/dist/public/sdk/recoveryAuthorization-CQsjb8Tm.js +1 -0
  245. package/dist/public/sdk/registration-CNLUYN-p.js +1 -0
  246. package/dist/public/sdk/registration-HSwOHZOo.js +1 -0
  247. package/dist/public/sdk/{registrationAccounts-BHikxS5q.js → registrationAccounts-4r74gX1l.js} +1 -1
  248. package/dist/public/sdk/registrationIntent-Do1tD1V7.js +1 -0
  249. package/dist/public/sdk/registrationSignerPlan-DK2b3N_p.js +1 -0
  250. package/dist/public/sdk/requireStepUpAuth-COqCGb1i.js +1 -0
  251. package/dist/public/sdk/resealedEnvelopeResult-B1p5UkYg.js +1 -0
  252. package/dist/public/sdk/routerAbNormalSigning-D-UZmCBS.js +1 -0
  253. package/dist/public/sdk/runtime-auth-BCoj7_-G.js +1 -0
  254. package/dist/public/sdk/runtime-device-link-DAsq5tGT.js +1 -0
  255. package/dist/public/sdk/runtime-ecdsa-tempo-CVh_Vwl6.js +1 -0
  256. package/dist/public/sdk/runtime-email-otp-BxSKK9AG.js +1 -0
  257. package/dist/public/sdk/runtime-export-BWnQXMzT.js +1 -0
  258. package/dist/public/sdk/runtime-near-CuzPZrDS.js +1 -0
  259. package/dist/public/sdk/runtime-preferences-B-nDWlm3.js +1 -0
  260. package/dist/public/sdk/runtime-recovery-DpOdEJ8N.js +1 -0
  261. package/dist/public/sdk/runtime-recovery-codes-DeUjQsxZ.js +1 -0
  262. package/dist/public/sdk/runtimeContext-5JcewRo3.js +6 -0
  263. package/dist/public/sdk/secp256k1-CE7-q9Sn.js +1 -0
  264. package/dist/public/sdk/sessionObservationRevision-JOvVF4Hf.js +1 -0
  265. package/dist/public/sdk/signEvmFamily-BY5jlZEG.js +1 -0
  266. package/dist/public/sdk/{signEvmFamilyWithUiConfirmForTempo-BMfC2sc2.js → signEvmFamilyWithUiConfirmForTempo-CrMIAXUe.js} +1 -1
  267. package/dist/public/sdk/{signEvmWithUiConfirm-BNkupz3z.js → signEvmWithUiConfirm-CGrLtMV6.js} +1 -1
  268. package/dist/public/sdk/signNear-DMpJFkwF.js +1 -0
  269. package/dist/public/sdk/{signatureUses-DrqCoN12.js → signatureUses-kSrUHSSH.js} +1 -1
  270. package/dist/public/sdk/signerSlot-D2RZnb27.js +1 -0
  271. package/dist/public/sdk/{signingFlow-BVvteILM.js → signingFlow-BcetvUeS.js} +2 -2
  272. package/dist/public/sdk/signingQueue-dMFOFOP5.js +1 -0
  273. package/dist/public/sdk/surface-measurement-reporter-DXsvq401.js +1 -0
  274. package/dist/public/sdk/thresholdEcdsa-CqR1fFA-.js +1 -0
  275. package/dist/public/sdk/{trace-CGNqO1FV.js → trace--mRP2OQc.js} +1 -1
  276. package/dist/public/sdk/{transaction-activity-DPq9RTh5.js → transaction-activity-DCzHGg3b.js} +1 -1
  277. package/dist/public/sdk/transactionReview-CGIlI835.js +1 -0
  278. package/dist/public/sdk/{transactionReviewAdmission--8tDis7M.js → transactionReviewAdmission-Cf_qUZJt.js} +1 -1
  279. package/dist/{esm/sdk/transactionState-BS1VLT7B.js → public/sdk/transactionState-29T9xfvL.js} +1 -1
  280. package/dist/public/sdk/tx-confirm-ui.js +173 -18
  281. package/dist/public/sdk/{types-DdzuHlAQ.js → types-f7dyj5N6.js} +1 -1
  282. package/dist/public/sdk/unlockedEd25519ExportRootCapability-yzxQjIFd.js +1 -0
  283. package/dist/public/sdk/voiceid-host.js +1 -1
  284. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  285. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  286. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  287. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  288. package/dist/public/sdk/wallet-recovery-BZB2Vu3X.js +1 -0
  289. package/dist/public/sdk/wallet-ui.css +1 -1
  290. package/dist/public/sdk/walletAuthMethodRecord-DLBB5fez.js +1 -0
  291. package/dist/public/sdk/walletAuthority-BTGAuOi8.js +1 -0
  292. package/dist/public/sdk/walletCapabilityBindings-D5YYB7nN.js +1 -0
  293. package/dist/public/sdk/walletCustodyEcdsaContinuity-C31YQ9av.js +1 -0
  294. package/dist/public/sdk/walletCustodyOperation-DimzAbCB.js +1 -0
  295. package/dist/public/sdk/walletDbName-Ca0rCq5r.js +1 -0
  296. package/dist/public/sdk/walletOwnershipGeneration-CgjCtPrV.js +1 -0
  297. package/dist/public/sdk/walletRecoveryAdminProof-CvSYbyg5.js +1 -0
  298. package/dist/public/sdk/walletRecoveryCommit-Cc2LAkCS.js +1 -0
  299. package/dist/public/sdk/walletRegistrationSetupPrewarm-CEvGKQSg.js +1 -0
  300. package/dist/public/sdk/{walletSessionAuthorizationProjection-BJgnZaBc.js → walletSessionAuthorizationProjection-BzUH6gHV.js} +1 -1
  301. package/dist/public/sdk/walletSessionAuthorizationStatus-DG7DPcgR.js +1 -0
  302. package/dist/public/sdk/{walletSessionAuthorizationStore-zkxcMdSp.js → walletSessionAuthorizationStore-B9Vwkshr.js} +1 -1
  303. package/dist/public/sdk/warmSessionHydration-B-A5Tdx7.js +1 -0
  304. package/dist/{esm/sdk/webauthnP256-BvTL8nq4.js → public/sdk/webauthnP256-BsQQPurm.js} +1 -1
  305. package/dist/public/wallet-assets.manifest.json +476 -260
  306. package/dist/public/wallet-service/index.html +4 -4
  307. package/dist/types/shared-ts/src/utils/errors.d.ts +1 -0
  308. package/dist/types/wallet/src/SeamsWeb/operations/authMethods/passkey/exactPasskeyAuthority.d.ts +24 -0
  309. package/dist/types/wallet/src/SeamsWeb/operations/devices/walletHostOwnerAuthority.d.ts +2 -0
  310. package/dist/types/wallet/src/SeamsWeb/publicApi/types.d.ts +3 -0
  311. package/dist/types/wallet/src/SeamsWeb/walletIframe/client/router.d.ts +2 -0
  312. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/WalletHostRuntime.d.ts +1 -0
  313. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/createDeviceDomain.d.ts +2 -1
  314. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/deviceLinkApproval.d.ts +27 -0
  315. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/ui/auth-menu/mountAuthMenuSurface.d.ts +1 -0
  316. package/dist/types/wallet/src/SeamsWeb/walletIframe/shared/messages.d.ts +4 -1
  317. package/dist/types/wallet/src/core/authMethods/hostPlugin.d.ts +1 -0
  318. package/dist/types/wallet/src/core/authMethods/plugins.d.ts +4 -0
  319. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/recoveredEd25519Authority.d.ts +8 -0
  320. package/dist/types/wallet/src/core/indexedDB/seamsWalletDB/repositories.d.ts +1 -0
  321. package/dist/types/wallet/src/core/rpcClients/near/NearClient.d.ts +13 -0
  322. package/dist/types/wallet/src/core/rpcClients/relayer/walletSessionAuthorizationStatus.d.ts +2 -0
  323. package/dist/types/wallet/src/core/signingEngine/nearTransactionSubmission.d.ts +24 -0
  324. package/dist/types/wallet/src/core/signingEngine/session/persistence/walletSessionAuthorizationProjection.d.ts +1 -0
  325. package/dist/types/wallet/src/core/signingEngine/uiConfirm/transactionReviewAdmission.d.ts +2 -0
  326. package/dist/types/wallet/src/core/types/linkDevice.d.ts +4 -5
  327. package/dist/types/wallet/src/core/types/sdkSentEvents.d.ts +2 -0
  328. package/dist/types/wallet/src/core/types/seams.d.ts +15 -3
  329. package/dist/types/wallet/src/core/ui/messages.d.ts +1 -1
  330. package/dist/types/wallet/src/index.d.ts +1 -1
  331. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonMock.d.ts +11 -2
  332. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuButtonView.d.ts +2 -1
  333. package/dist/types/wallet/src/react/components/AccountMenuButton/AccountMenuModal.d.ts +9 -0
  334. package/dist/types/wallet/src/react/components/AccountMenuButton/hooks/useProfileState.d.ts +13 -5
  335. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/HoverArrowIcon.d.ts +2 -1
  336. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/lucideIcon.d.ts +1 -1
  337. package/dist/types/wallet/src/react/components/AccountMenuButton/types.d.ts +19 -3
  338. package/dist/types/wallet/src/react/components/ExternalNearWalletIcon.d.ts +5 -0
  339. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/WalletConnectorMenu.d.ts +31 -0
  340. package/dist/types/wallet/src/react/components/HostedSeamsAuthMenu/types.d.ts +4 -0
  341. package/dist/types/wallet/src/react/components/ShowQRCode.d.ts +1 -1
  342. package/dist/types/wallet/src/react/components/externalWalletBrandImages.d.ts +3 -0
  343. package/dist/types/wallet/src/react/components/theme/design-tokens.d.ts +2 -0
  344. package/dist/types/wallet/src/react/externalNear.d.ts +3 -23
  345. package/dist/types/wallet/src/react/index.d.ts +3 -1
  346. package/dist/types/wallet/src/react/transactionReview/boundCalls.d.ts +7 -0
  347. package/dist/types/wallet/src/voiceid-host.d.ts +1 -1
  348. package/package.json +1 -1
  349. package/dist/esm/react/externalNear.css +0 -90
  350. package/dist/esm/sdk/NonceCoordinator-Bti1HQPo.js +0 -1
  351. package/dist/esm/sdk/accountLifecycle-B98g9zN9.js +0 -1
  352. package/dist/esm/sdk/actions-GYsSR2Q2.js +0 -1
  353. package/dist/esm/sdk/activeWalletSession-H9JBdHyQ.js +0 -1
  354. package/dist/esm/sdk/adapters-D5MZ5NG5.js +0 -2
  355. package/dist/esm/sdk/appearance-DVFno9Tv.js +0 -1
  356. package/dist/esm/sdk/appearance-token-vars-CgYTfCKg.js +0 -1
  357. package/dist/esm/sdk/canonicalPrimitives-B6YMrI3W.js +0 -1
  358. package/dist/esm/sdk/challengeDelivery-FW9gYyr0.js +0 -1
  359. package/dist/esm/sdk/clientSessionPersistenceState-BPYK9PYV.js +0 -1
  360. package/dist/esm/sdk/configBuilder-DrxXNUpV.js +0 -1
  361. package/dist/esm/sdk/configuration-CAqANpTI.js +0 -1
  362. package/dist/esm/sdk/ecdsaCapabilityManifest--FjbES8k.js +0 -1
  363. package/dist/esm/sdk/ecdsaDerivationClientWasm-7Rp4TmYE.js +0 -1
  364. package/dist/esm/sdk/ecdsaDerivationExport-dInN7N6e.js +0 -1
  365. package/dist/esm/sdk/emailOtpEcdsaDerivationIdentity-CIh9IPai.js +0 -1
  366. package/dist/esm/sdk/errors-ADOZT8oV.js +0 -1
  367. package/dist/esm/sdk/exportKeypairOperation-BazJvSov.js +0 -1
  368. package/dist/esm/sdk/helpers-CXqXyyCU.js +0 -1
  369. package/dist/esm/sdk/host-C0Is56lU.js +0 -1
  370. package/dist/esm/sdk/icons-DyndJzSh.js +0 -1
  371. package/dist/esm/sdk/indexedDB-C1odKEC6.js +0 -1
  372. package/dist/esm/sdk/intentDigest-BMXki7yB.js +0 -1
  373. package/dist/esm/sdk/keyMaterialEnvelope-B-Q5KTJC.js +0 -1
  374. package/dist/esm/sdk/localOnly-BB3Rx3J6.js +0 -1
  375. package/dist/esm/sdk/nearEd25519YaoMaterialActivation-D9cdMKIZ.js +0 -1
  376. package/dist/esm/sdk/nearEd25519YaoSigningPreparation-D_Jvj7ht.js +0 -1
  377. package/dist/esm/sdk/operationFingerprint-Bn0lUYlm.js +0 -1
  378. package/dist/esm/sdk/presignaturePool-CultzkOG.js +0 -1
  379. package/dist/esm/sdk/recovery-entrypoint-QBvJBngm.js +0 -1
  380. package/dist/esm/sdk/recoveryAuthorization-DB-zxeHq.js +0 -1
  381. package/dist/esm/sdk/registration-CM5a7WYO.js +0 -1
  382. package/dist/esm/sdk/registration-Hv0xi7-L.js +0 -1
  383. package/dist/esm/sdk/registrationIntent-DTs2SR9E.js +0 -1
  384. package/dist/esm/sdk/registrationSignerPlan-CgbFVsAp.js +0 -1
  385. package/dist/esm/sdk/requireStepUpAuth-B7tC4MrA.js +0 -1
  386. package/dist/esm/sdk/resealedEnvelopeResult--iCVt_Bh.js +0 -1
  387. package/dist/esm/sdk/routerAbNormalSigning-Div3lZWV.js +0 -1
  388. package/dist/esm/sdk/runtime-auth-CVw1KoVD.js +0 -1
  389. package/dist/esm/sdk/runtime-device-link-Dp0YMZTQ.js +0 -1
  390. package/dist/esm/sdk/runtime-ecdsa-tempo-DEIjIgEO.js +0 -1
  391. package/dist/esm/sdk/runtime-email-otp-gsr_FsQn.js +0 -1
  392. package/dist/esm/sdk/runtime-export-upMPrZ4V.js +0 -1
  393. package/dist/esm/sdk/runtime-near-B64Hn3nc.js +0 -1
  394. package/dist/esm/sdk/runtime-preferences-CULdHkbg.js +0 -1
  395. package/dist/esm/sdk/runtime-recovery-D2saBaJy.js +0 -1
  396. package/dist/esm/sdk/runtime-recovery-codes-Bvc0IXMJ.js +0 -1
  397. package/dist/esm/sdk/runtimeContext-CNFJjcns.js +0 -6
  398. package/dist/esm/sdk/secp256k1-BGVlx50C.js +0 -1
  399. package/dist/esm/sdk/sessionObservationRevision-84ZzJ-fC.js +0 -1
  400. package/dist/esm/sdk/signEvmFamily-PjwUc5MT.js +0 -1
  401. package/dist/esm/sdk/signNear-r8VCOoTh.js +0 -1
  402. package/dist/esm/sdk/signerSlot-D4ZOuK7e.js +0 -1
  403. package/dist/esm/sdk/signingQueue-BJzOrwDq.js +0 -1
  404. package/dist/esm/sdk/surface-measurement-reporter-NUm_54LH.js +0 -1
  405. package/dist/esm/sdk/thresholdEcdsa-tnY83qyG.js +0 -1
  406. package/dist/esm/sdk/transactionReview-DSGnpreN.js +0 -1
  407. package/dist/esm/sdk/unlockedEd25519ExportRootCapability-D43rvO9a.js +0 -1
  408. package/dist/esm/sdk/wallet-recovery-BjIQdOha.js +0 -1
  409. package/dist/esm/sdk/walletAuthMethodRecord-yIqCeE-o.js +0 -1
  410. package/dist/esm/sdk/walletCapabilityBindings-CUPk3mVH.js +0 -1
  411. package/dist/esm/sdk/walletCustodyEcdsaContinuity-DlOBCmwb.js +0 -1
  412. package/dist/esm/sdk/walletCustodyOperation-DzPcxEBS.js +0 -1
  413. package/dist/esm/sdk/walletDbName-DDJXrgA5.js +0 -1
  414. package/dist/esm/sdk/walletOwnershipGeneration-DI9ogcXF.js +0 -1
  415. package/dist/esm/sdk/walletRecoveryAdminProof-BJxmg3f7.js +0 -1
  416. package/dist/esm/sdk/walletRecoveryCommit-B7WsdR7y.js +0 -1
  417. package/dist/esm/sdk/walletRegistrationSetupPrewarm-CEJCj78c.js +0 -1
  418. package/dist/esm/sdk/walletSessionAuthorizationStatus-98G3Qji8.js +0 -1
  419. package/dist/esm/sdk/warmSessionHydration-DqZyfi1h.js +0 -1
  420. package/dist/public/sdk/NonceCoordinator-Bti1HQPo.js +0 -1
  421. package/dist/public/sdk/accountLifecycle-B98g9zN9.js +0 -1
  422. package/dist/public/sdk/actions-GYsSR2Q2.js +0 -1
  423. package/dist/public/sdk/activeWalletSession-H9JBdHyQ.js +0 -1
  424. package/dist/public/sdk/adapters-D5MZ5NG5.js +0 -2
  425. package/dist/public/sdk/appearance-DVFno9Tv.js +0 -1
  426. package/dist/public/sdk/appearance-token-vars-CgYTfCKg.js +0 -1
  427. package/dist/public/sdk/canonicalPrimitives-B6YMrI3W.js +0 -1
  428. package/dist/public/sdk/challengeDelivery-FW9gYyr0.js +0 -1
  429. package/dist/public/sdk/clientSessionPersistenceState-BPYK9PYV.js +0 -1
  430. package/dist/public/sdk/configBuilder-DrxXNUpV.js +0 -1
  431. package/dist/public/sdk/configuration-CAqANpTI.js +0 -1
  432. package/dist/public/sdk/ecdsaCapabilityManifest--FjbES8k.js +0 -1
  433. package/dist/public/sdk/ecdsaDerivationClientWasm-7Rp4TmYE.js +0 -1
  434. package/dist/public/sdk/ecdsaDerivationExport-dInN7N6e.js +0 -1
  435. package/dist/public/sdk/emailOtpEcdsaDerivationIdentity-CIh9IPai.js +0 -1
  436. package/dist/public/sdk/errors-ADOZT8oV.js +0 -1
  437. package/dist/public/sdk/exportKeypairOperation-BazJvSov.js +0 -1
  438. package/dist/public/sdk/helpers-CXqXyyCU.js +0 -1
  439. package/dist/public/sdk/host-C0Is56lU.js +0 -1
  440. package/dist/public/sdk/icons-DyndJzSh.js +0 -1
  441. package/dist/public/sdk/indexedDB-C1odKEC6.js +0 -1
  442. package/dist/public/sdk/intentDigest-BMXki7yB.js +0 -1
  443. package/dist/public/sdk/keyMaterialEnvelope-B-Q5KTJC.js +0 -1
  444. package/dist/public/sdk/localOnly-BB3Rx3J6.js +0 -1
  445. package/dist/public/sdk/nearEd25519YaoMaterialActivation-D9cdMKIZ.js +0 -1
  446. package/dist/public/sdk/nearEd25519YaoSigningPreparation-D_Jvj7ht.js +0 -1
  447. package/dist/public/sdk/operationFingerprint-Bn0lUYlm.js +0 -1
  448. package/dist/public/sdk/presignaturePool-CultzkOG.js +0 -1
  449. package/dist/public/sdk/recovery-entrypoint-QBvJBngm.js +0 -1
  450. package/dist/public/sdk/recoveryAuthorization-DB-zxeHq.js +0 -1
  451. package/dist/public/sdk/registration-CM5a7WYO.js +0 -1
  452. package/dist/public/sdk/registration-Hv0xi7-L.js +0 -1
  453. package/dist/public/sdk/registrationIntent-DTs2SR9E.js +0 -1
  454. package/dist/public/sdk/registrationSignerPlan-CgbFVsAp.js +0 -1
  455. package/dist/public/sdk/requireStepUpAuth-B7tC4MrA.js +0 -1
  456. package/dist/public/sdk/resealedEnvelopeResult--iCVt_Bh.js +0 -1
  457. package/dist/public/sdk/routerAbNormalSigning-Div3lZWV.js +0 -1
  458. package/dist/public/sdk/runtime-auth-CVw1KoVD.js +0 -1
  459. package/dist/public/sdk/runtime-device-link-Dp0YMZTQ.js +0 -1
  460. package/dist/public/sdk/runtime-ecdsa-tempo-DEIjIgEO.js +0 -1
  461. package/dist/public/sdk/runtime-email-otp-gsr_FsQn.js +0 -1
  462. package/dist/public/sdk/runtime-export-upMPrZ4V.js +0 -1
  463. package/dist/public/sdk/runtime-near-B64Hn3nc.js +0 -1
  464. package/dist/public/sdk/runtime-preferences-CULdHkbg.js +0 -1
  465. package/dist/public/sdk/runtime-recovery-D2saBaJy.js +0 -1
  466. package/dist/public/sdk/runtime-recovery-codes-Bvc0IXMJ.js +0 -1
  467. package/dist/public/sdk/runtimeContext-CNFJjcns.js +0 -6
  468. package/dist/public/sdk/secp256k1-BGVlx50C.js +0 -1
  469. package/dist/public/sdk/sessionObservationRevision-84ZzJ-fC.js +0 -1
  470. package/dist/public/sdk/signEvmFamily-PjwUc5MT.js +0 -1
  471. package/dist/public/sdk/signNear-r8VCOoTh.js +0 -1
  472. package/dist/public/sdk/signerSlot-D4ZOuK7e.js +0 -1
  473. package/dist/public/sdk/signingQueue-BJzOrwDq.js +0 -1
  474. package/dist/public/sdk/surface-measurement-reporter-NUm_54LH.js +0 -1
  475. package/dist/public/sdk/thresholdEcdsa-tnY83qyG.js +0 -1
  476. package/dist/public/sdk/transactionReview-DSGnpreN.js +0 -1
  477. package/dist/public/sdk/unlockedEd25519ExportRootCapability-D43rvO9a.js +0 -1
  478. package/dist/public/sdk/wallet-recovery-BjIQdOha.js +0 -1
  479. package/dist/public/sdk/walletAuthMethodRecord-yIqCeE-o.js +0 -1
  480. package/dist/public/sdk/walletCapabilityBindings-CUPk3mVH.js +0 -1
  481. package/dist/public/sdk/walletCustodyEcdsaContinuity-DlOBCmwb.js +0 -1
  482. package/dist/public/sdk/walletCustodyOperation-DzPcxEBS.js +0 -1
  483. package/dist/public/sdk/walletDbName-DDJXrgA5.js +0 -1
  484. package/dist/public/sdk/walletOwnershipGeneration-DI9ogcXF.js +0 -1
  485. package/dist/public/sdk/walletRecoveryAdminProof-BJxmg3f7.js +0 -1
  486. package/dist/public/sdk/walletRecoveryCommit-B7WsdR7y.js +0 -1
  487. package/dist/public/sdk/walletRegistrationSetupPrewarm-CEJCj78c.js +0 -1
  488. package/dist/public/sdk/walletSessionAuthorizationStatus-98G3Qji8.js +0 -1
  489. package/dist/public/sdk/warmSessionHydration-DqZyfi1h.js +0 -1
  490. /package/dist/esm/sdk/{accountIds-D5NI31F2.js → accountIds-CW2BP-d9.js} +0 -0
  491. /package/dist/esm/sdk/{authenticatorOptions-EF_Rps52.js → authenticatorOptions-WCDKYRux.js} +0 -0
  492. /package/dist/esm/sdk/{authorizationAdmission-DbhNiY3X.js → authorizationAdmission-28jo_IVJ.js} +0 -0
  493. /package/dist/esm/sdk/{browser-B2RI00tM.js → browser-CKS7Tq2r.js} +0 -0
  494. /package/dist/esm/sdk/{bytes-DVe42j_r.js → bytes-DXo6uALR.js} +0 -0
  495. /package/dist/esm/sdk/{canonicalSignerErrorCode-AwNMAn8S.js → canonicalSignerErrorCode-CX5PBpkt.js} +0 -0
  496. /package/dist/esm/sdk/{capabilityKinds-BzrNeEyO.js → capabilityKinds-DVlGMspk.js} +0 -0
  497. /package/dist/esm/sdk/{configHelpers-BNqoU2cv.js → configHelpers-CXDY3bKC.js} +0 -0
  498. /package/dist/esm/sdk/{csp-stylesheet-DeuiM0Mo.js → csp-stylesheet-DUSqfXvZ.js} +0 -0
  499. /package/dist/esm/sdk/{events-1dzC4Ocx.js → events-D6l0_ugy.js} +0 -0
  500. /package/dist/esm/sdk/{executeWorkerOperation-B-9JuL55.js → executeWorkerOperation-C9FOCCR7.js} +0 -0
  501. /package/dist/esm/sdk/{jsonRpc-CHutSlC9.js → jsonRpc-BVDv1wfm.js} +0 -0
  502. /package/dist/esm/sdk/{keccak-C9kCkZem.js → keccak-mS0Mejjx.js} +0 -0
  503. /package/dist/esm/sdk/{normalization-DtruiNPw.js → normalization-B3i1-rPQ.js} +0 -0
  504. /package/dist/esm/sdk/{prfCache-8Wm3etlV.js → prfCache-DEHaUPSW.js} +0 -0
  505. /package/dist/esm/sdk/{profileAccountProjection-D01e10UY.js → profileAccountProjection-C5sNt-s2.js} +0 -0
  506. /package/dist/esm/sdk/{promptText-Bz3YRl9D.js → promptText-bcKcsSka.js} +0 -0
  507. /package/dist/esm/sdk/{registrationAuthMethodInput-BvbWl0y_.js → registrationAuthMethodInput-BR1WVbK3.js} +0 -0
  508. /package/dist/esm/sdk/{sdkSentEvents-DUht3AOD.js → sdkSentEvents-DjOlKtdW.js} +0 -0
  509. /package/dist/esm/sdk/{shared-DcHtE-D-.js → shared-CkHhXgFB.js} +0 -0
  510. /package/dist/esm/sdk/{signer-worker-DlK58rEA.js → signer-worker-BNodGJKY.js} +0 -0
  511. /package/dist/esm/sdk/{signerDomain-D-EUTlLK.js → signerDomain-BAsLT3XN.js} +0 -0
  512. /package/dist/esm/sdk/{signingSessionSeal-DqbjG8c8.js → signingSessionSeal-BFOBKj-J.js} +0 -0
  513. /package/dist/esm/sdk/{types-fJKfUgTi.js → types-C4OErbBf.js} +0 -0
  514. /package/dist/esm/sdk/{walletIframeIdentity-Cz82I_Uh.js → walletIframeIdentity-CpgyEnKg.js} +0 -0
  515. /package/dist/esm/sdk/{walletSessionFailure-CLUIF3Eh.js → walletSessionFailure-CxsVtroW.js} +0 -0
  516. /package/dist/esm/sdk/{webauthnPromptCoordinator-CU9ag7vz.js → webauthnPromptCoordinator-npsSRD51.js} +0 -0
  517. /package/dist/public/sdk/{accountIds-D5NI31F2.js → accountIds-CW2BP-d9.js} +0 -0
  518. /package/dist/public/sdk/{authenticatorOptions-EF_Rps52.js → authenticatorOptions-WCDKYRux.js} +0 -0
  519. /package/dist/public/sdk/{authorizationAdmission-DbhNiY3X.js → authorizationAdmission-28jo_IVJ.js} +0 -0
  520. /package/dist/public/sdk/{browser-B2RI00tM.js → browser-CKS7Tq2r.js} +0 -0
  521. /package/dist/public/sdk/{bytes-DVe42j_r.js → bytes-DXo6uALR.js} +0 -0
  522. /package/dist/public/sdk/{canonicalSignerErrorCode-AwNMAn8S.js → canonicalSignerErrorCode-CX5PBpkt.js} +0 -0
  523. /package/dist/public/sdk/{capabilityKinds-BzrNeEyO.js → capabilityKinds-DVlGMspk.js} +0 -0
  524. /package/dist/public/sdk/{configHelpers-BNqoU2cv.js → configHelpers-CXDY3bKC.js} +0 -0
  525. /package/dist/public/sdk/{csp-stylesheet-DeuiM0Mo.js → csp-stylesheet-DUSqfXvZ.js} +0 -0
  526. /package/dist/public/sdk/{events-1dzC4Ocx.js → events-D6l0_ugy.js} +0 -0
  527. /package/dist/public/sdk/{executeWorkerOperation-B-9JuL55.js → executeWorkerOperation-C9FOCCR7.js} +0 -0
  528. /package/dist/public/sdk/{jsonRpc-CHutSlC9.js → jsonRpc-BVDv1wfm.js} +0 -0
  529. /package/dist/public/sdk/{keccak-C9kCkZem.js → keccak-mS0Mejjx.js} +0 -0
  530. /package/dist/public/sdk/{normalization-DtruiNPw.js → normalization-B3i1-rPQ.js} +0 -0
  531. /package/dist/public/sdk/{prfCache-8Wm3etlV.js → prfCache-DEHaUPSW.js} +0 -0
  532. /package/dist/public/sdk/{profileAccountProjection-D01e10UY.js → profileAccountProjection-C5sNt-s2.js} +0 -0
  533. /package/dist/public/sdk/{promptText-Bz3YRl9D.js → promptText-bcKcsSka.js} +0 -0
  534. /package/dist/public/sdk/{registrationAuthMethodInput-BvbWl0y_.js → registrationAuthMethodInput-BR1WVbK3.js} +0 -0
  535. /package/dist/public/sdk/{sdkSentEvents-DUht3AOD.js → sdkSentEvents-DjOlKtdW.js} +0 -0
  536. /package/dist/public/sdk/{shared-DcHtE-D-.js → shared-CkHhXgFB.js} +0 -0
  537. /package/dist/public/sdk/{signer-worker-DlK58rEA.js → signer-worker-BNodGJKY.js} +0 -0
  538. /package/dist/public/sdk/{signerDomain-D-EUTlLK.js → signerDomain-BAsLT3XN.js} +0 -0
  539. /package/dist/public/sdk/{signingSessionSeal-DqbjG8c8.js → signingSessionSeal-BFOBKj-J.js} +0 -0
  540. /package/dist/public/sdk/{types-fJKfUgTi.js → types-C4OErbBf.js} +0 -0
  541. /package/dist/public/sdk/{walletIframeIdentity-Cz82I_Uh.js → walletIframeIdentity-CpgyEnKg.js} +0 -0
  542. /package/dist/public/sdk/{walletSessionFailure-CLUIF3Eh.js → walletSessionFailure-CxsVtroW.js} +0 -0
  543. /package/dist/public/sdk/{webauthnPromptCoordinator-CU9ag7vz.js → webauthnPromptCoordinator-npsSRD51.js} +0 -0
@@ -1,9 +1,390 @@
1
1
  /* React Component Styles for @seams/wallet/react */
2
2
 
3
+ /* Reset controls only inside SDK-owned surfaces. Theme can also wrap app content.
4
+ Native control selectors add their element type above this baseline. */
5
+ [data-seams-root].seams-theme-provider {
6
+ display: revert;
7
+ box-sizing: border-box;
8
+ min-width: 0;
9
+ min-height: 0;
10
+ margin: 0;
11
+ padding: 0;
12
+ border: 0;
13
+ }
14
+
15
+ [data-seams-root].seams-theme-provider
16
+ :is(.seams-profile-button-morphable, .seams-settings-page, .qr-code-container) {
17
+ font-family: var(--seams-font-family, system-ui, sans-serif);
18
+ font-size: 14px;
19
+ line-height: 1.5;
20
+ }
21
+
22
+ [data-seams-root].seams-theme-provider
23
+ :is(
24
+ .seams-profile-button-morphable,
25
+ .seams-settings-page,
26
+ .seams-linked-devices-modal-content,
27
+ .qr-scanner-modal,
28
+ .qr-code-container,
29
+ .seams-link-device-failure,
30
+ .seams-wallet-picker
31
+ )
32
+ :where(button, input, select, textarea, a) {
33
+ box-sizing: border-box;
34
+ appearance: auto;
35
+ display: inline-block;
36
+ width: auto;
37
+ height: auto;
38
+ min-width: 0;
39
+ min-height: 0;
40
+ max-width: 100%;
41
+ margin: 0;
42
+ padding: 0;
43
+ border: 0;
44
+ border-radius: 0;
45
+ background: transparent;
46
+ color: inherit;
47
+ font: inherit;
48
+ letter-spacing: normal;
49
+ text-transform: none;
50
+ text-indent: 0;
51
+ text-decoration: none;
52
+ white-space: normal;
53
+ vertical-align: middle;
54
+ box-shadow: none;
55
+ }
56
+
57
+ [data-seams-root].seams-theme-provider
58
+ :is(
59
+ .seams-profile-button-morphable,
60
+ .seams-settings-page,
61
+ .seams-linked-devices-modal-content,
62
+ .qr-scanner-modal,
63
+ .qr-code-container,
64
+ .seams-link-device-failure,
65
+ .seams-wallet-picker
66
+ )
67
+ :where(button) {
68
+ appearance: none;
69
+ }
70
+
71
+ svg[data-seams-root].seams-icon[viewBox],
72
+ [data-seams-root].seams-theme-provider svg.seams-icon {
73
+ display: inline-block;
74
+ flex-shrink: 0;
75
+ width: var(--seams-icon-width, 24px);
76
+ height: var(--seams-icon-height, 24px);
77
+ fill: var(--seams-icon-fill, none);
78
+ stroke: var(--seams-icon-stroke, currentColor);
79
+ stroke-width: var(--seams-icon-stroke-width, 2);
80
+ }
81
+
82
+
83
+
84
+ [data-seams-root].seams-theme-provider .seams-wallet-picker {
85
+ color: var(--seams-wallet-picker-text, #f5f5f5);
86
+ background: var(--seams-wallet-picker-background, #202020);
87
+ padding: clamp(20px, 4vw, 40px);
88
+ border-radius: 28px;
89
+ width: 100%;
90
+ box-sizing: border-box;
91
+ font-family: var(--seams-font-family, system-ui, sans-serif);
92
+ font-size: 14px;
93
+ line-height: 1.5;
94
+ }
95
+ [data-seams-root].seams-theme-provider .seams-wallet-picker h2 {
96
+ font-size: clamp(22px, 4vw, 32px);
97
+ font-weight: 500;
98
+ margin: 0;
99
+ }
100
+ [data-seams-root].seams-theme-provider .seams-near-network {
101
+ opacity: 0.7;
102
+ }
103
+ [data-seams-root].seams-theme-provider .seams-wallet-picker-options {
104
+ display: grid;
105
+ grid-template-columns: repeat(2, minmax(0, 1fr));
106
+ gap: 12px;
107
+ }
108
+ [data-seams-root].seams-theme-provider .seams-wallet-picker-options button {
109
+ display: flex;
110
+ flex-direction: column;
111
+ align-items: flex-start;
112
+ gap: 12px;
113
+ color: inherit;
114
+ background: var(--seams-wallet-picker-card, #262626);
115
+ border: 1px solid var(--seams-wallet-picker-border, #383838);
116
+ border-radius: 24px;
117
+ padding: 24px;
118
+ text-align: left;
119
+ font: inherit;
120
+ cursor: pointer;
121
+ min-width: 0;
122
+ }
123
+ [data-seams-root].seams-theme-provider .seams-wallet-picker-options strong {
124
+ font-size: 20px;
125
+ font-weight: 500;
126
+ overflow-wrap: anywhere;
127
+ }
128
+ [data-seams-root].seams-theme-provider .seams-wallet-picker-options small {
129
+ font-size: 12px;
130
+ opacity: 0.7;
131
+ overflow-wrap: anywhere;
132
+ }
133
+ [data-seams-root].seams-theme-provider .seams-near-icon {
134
+ display: grid;
135
+ place-items: center;
136
+ width: 48px;
137
+ height: 48px;
138
+ border-radius: 50%;
139
+ background: #181818;
140
+ font-size: 24px;
141
+ }
142
+ [data-seams-root].seams-theme-provider .seams-near-meteor {
143
+ background: #fff;
144
+ color: #4824e9;
145
+ font-weight: 700;
146
+ }
147
+ [data-seams-root].seams-theme-provider .seams-near-intear {
148
+ background: #fff;
149
+ color: #1685ff;
150
+ font-weight: 700;
151
+ }
152
+ [data-seams-root].seams-theme-provider .seams-wallet-picker-options button:hover:enabled {
153
+ background: var(--seams-wallet-picker-hover, #303030);
154
+ }
155
+ [data-seams-root].seams-theme-provider .seams-wallet-picker button:focus-visible {
156
+ outline: 3px solid #8faaff;
157
+ outline-offset: 3px;
158
+ }
159
+ [data-seams-root].seams-theme-provider .seams-wallet-picker button:disabled {
160
+ opacity: 0.45;
161
+ cursor: default;
162
+ }
163
+ [data-seams-root].seams-theme-provider button.seams-near-disconnect {
164
+ margin-top: 20px;
165
+ padding: 10px 16px;
166
+ font: inherit;
167
+ color: inherit;
168
+ background: transparent;
169
+ border: 1px solid #666;
170
+ border-radius: 10px;
171
+ }
172
+
173
+ [data-seams-root].seams-theme-provider .seams-wallet-picker form,
174
+ [data-seams-root].seams-theme-provider .seams-wallet-picker label {
175
+ display: grid;
176
+ gap: 10px;
177
+ margin: 0;
178
+ }
179
+ [data-seams-root].seams-theme-provider .seams-external-evm {
180
+ display: grid;
181
+ gap: 20px;
182
+ }
183
+ [data-seams-root].seams-theme-provider .seams-external-evm :is(button, select) {
184
+ width: 100%;
185
+ min-height: 44px;
186
+ padding: 10px 16px;
187
+ border: 1px solid var(--seams-wallet-picker-border, #383838);
188
+ border-radius: 10px;
189
+ color: inherit;
190
+ background: var(--seams-wallet-picker-card, #262626);
191
+ font: inherit;
192
+ cursor: pointer;
193
+ }
194
+ @media (max-width: 380px) {
195
+ [data-seams-root].seams-theme-provider .seams-wallet-picker-options {
196
+ grid-template-columns: 1fr;
197
+ }
198
+ }
199
+
200
+ :where([data-seams-root]) .seams-wallet-connector {
201
+ box-sizing: border-box;
202
+ position: relative;
203
+ width: min(100%, 420px);
204
+ border-radius: var(--seams-shape-card, 16px);
205
+ background: var(--seams-colors-colorBackground);
206
+ box-shadow: var(--seams-shadows-md);
207
+ color: var(--seams-colors-textPrimary);
208
+ font-family: var(--seams-font-family, system-ui, sans-serif);
209
+ font-size: var(--seams-font-size-base, 1rem);
210
+ line-height: 1.5;
211
+ transition: height 200ms cubic-bezier(0.32, 0.72, 0, 1);
212
+ }
213
+
214
+ :where([data-seams-root]) .seams-wallet-connector[data-connector-view='auth'] {
215
+ background: transparent;
216
+ box-shadow: none;
217
+ }
218
+
219
+ :where([data-seams-root]) .seams-wallet-connector-content {
220
+ width: 100%;
221
+ min-width: 0;
222
+ border-radius: inherit;
223
+ }
224
+
225
+ :where([data-seams-root])
226
+ .seams-wallet-connector[data-connector-view='auth']
227
+ .seams-wallet-connector-content {
228
+ animation: seams-connector-enter 180ms cubic-bezier(0.22, 1, 0.36, 1);
229
+ }
230
+
231
+ :where([data-seams-root]) .seams-wallet-connector-choices {
232
+ box-sizing: border-box;
233
+ padding: calc(var(--seams-spacing-lg) + var(--seams-spacing-xs)) var(--seams-spacing-lg)
234
+ var(--seams-spacing-lg);
235
+ border: 1px solid var(--seams-colors-borderPrimary);
236
+ border-radius: inherit;
237
+ }
238
+
239
+ :where([data-seams-root]) .seams-wallet-connector h2 {
240
+ margin: 0 calc(var(--seams-spacing-lg) + var(--seams-spacing-xs))
241
+ calc(var(--seams-spacing-sm) + var(--seams-spacing-xs)) 0;
242
+ font-size: 1.375em;
243
+ line-height: 1.25;
244
+ font-weight: 500;
245
+ letter-spacing: -0.04em;
246
+ outline: none;
247
+ }
248
+
249
+ :where([data-seams-root]) .seams-wallet-connector p {
250
+ margin: 0 0 var(--seams-spacing-lg);
251
+ color: var(--seams-colors-textSecondary);
252
+ font-size: 0.8125em;
253
+ }
254
+
255
+ :where([data-seams-root]) .seams-wallet-connector-options {
256
+ display: grid;
257
+ gap: var(--seams-spacing-sm);
258
+ }
259
+
260
+ :where([data-seams-root]) .seams-wallet-connector-option {
261
+ display: flex;
262
+ align-items: center;
263
+ gap: var(--seams-spacing-md);
264
+ width: 100%;
265
+ min-width: 0;
266
+ min-height: calc(var(--seams-shape-controlHeight, 44px) + 2 * var(--seams-spacing-md));
267
+ padding: var(--seams-spacing-md);
268
+ box-sizing: border-box;
269
+ border: 1px solid var(--seams-colors-secondaryButtonBorder, var(--seams-colors-borderPrimary));
270
+ border-radius: var(--seams-shape-control, 10px);
271
+ background: var(--seams-colors-secondaryButtonBackground, var(--seams-colors-surface));
272
+ color: var(--seams-colors-secondaryButtonText, var(--seams-colors-textPrimary));
273
+ font: inherit;
274
+ text-align: start;
275
+ cursor: pointer;
276
+ transition:
277
+ background-color 160ms ease,
278
+ border-color 160ms ease;
279
+ }
280
+
281
+ :where([data-seams-root]) .seams-wallet-connector-option:disabled {
282
+ opacity: 0.55;
283
+ cursor: default;
284
+ }
285
+
286
+ :where([data-seams-root]) .seams-wallet-connector-icon {
287
+ display: grid;
288
+ place-items: center;
289
+ width: 34px;
290
+ flex: none;
291
+ }
292
+ :where([data-seams-root]) .seams-wallet-connector-icon img {
293
+ display: block;
294
+ object-fit: contain;
295
+ }
296
+
297
+ :where([data-seams-root]) .seams-wallet-connector-label {
298
+ display: grid;
299
+ gap: var(--seams-spacing-xs);
300
+ flex: 1;
301
+ min-width: 0;
302
+ overflow-wrap: anywhere;
303
+ }
304
+
305
+ :where([data-seams-root]) .seams-wallet-connector-label strong {
306
+ font-size: 0.8125em;
307
+ font-weight: 500;
308
+ }
309
+
310
+ :where([data-seams-root]) .seams-wallet-connector-label small {
311
+ font-size: 0.75em;
312
+ color: var(--seams-colors-textSecondary);
313
+ }
314
+
315
+ :where([data-seams-root]) .seams-wallet-connector-option > svg {
316
+ flex: none;
317
+ color: var(--seams-colors-textSecondary);
318
+ }
319
+
320
+ :where([data-seams-root]) .seams-wallet-connector-close,
321
+ :where([data-seams-root]) .seams-wallet-connector-back {
322
+ position: absolute;
323
+ z-index: calc(var(--seams-wallet-inline-dialog-z, 0) + 1);
324
+ inset: 12px 12px auto auto;
325
+ display: grid;
326
+ place-items: center;
327
+ width: 32px;
328
+ height: 32px;
329
+ padding: 0;
330
+ border: 0;
331
+ border-radius: 50%;
332
+ color: var(--seams-colors-textSecondary);
333
+ background: transparent;
334
+ cursor: pointer;
335
+ }
336
+
337
+ :where([data-seams-root]) .seams-wallet-connector-back:has(+ .seams-wallet-connector-close) {
338
+ right: 52px;
339
+ }
340
+
341
+ :where([data-seams-root]) .seams-wallet-connector button:focus-visible {
342
+ outline: 2px solid var(--seams-colors-focus, currentColor);
343
+ outline-offset: 3px;
344
+ }
345
+
346
+ :where([data-seams-root]) .seams-wallet-connector p[role] {
347
+ margin: var(--seams-spacing-md) 0 0;
348
+ }
349
+
350
+ :where([data-seams-root]) .seams-wallet-connector .seams-wallet-connector-error {
351
+ color: var(--seams-colors-error);
352
+ }
353
+
354
+ @media (hover: hover) and (pointer: fine) {
355
+ :where([data-seams-root]) .seams-wallet-connector-option:not(:disabled):hover {
356
+ background: var(--seams-colors-secondaryButtonHoverBackground, var(--seams-colors-hover));
357
+ border-color: var(--seams-colors-borderHover);
358
+ }
359
+ :where([data-seams-root]) .seams-wallet-connector-close:hover,
360
+ :where([data-seams-root]) .seams-wallet-connector-back:hover {
361
+ background: var(--seams-colors-hover);
362
+ }
363
+ }
364
+
365
+ @keyframes seams-connector-enter {
366
+ from {
367
+ opacity: 0;
368
+ }
369
+ to {
370
+ opacity: 1;
371
+ }
372
+ }
373
+
374
+ @media (prefers-reduced-motion: reduce) {
375
+ :where([data-seams-root]) .seams-wallet-connector {
376
+ transition: none;
377
+ }
378
+ :where([data-seams-root]) .seams-wallet-connector-content {
379
+ animation: none;
380
+ }
381
+ }
382
+
383
+
3
384
  /* Import AccountMenuButton styles */
4
385
  /* Expander (ExportKeysSection) — same grid-rows collapse mechanism as the
5
386
  Transaction Settings / Accounts expanders so all sections open with one motion */
6
- .seams-dropdown-export-keys-root {
387
+ [data-seams-root].seams-theme-provider .seams-dropdown-export-keys-root {
7
388
  background-color: var(--seams-expander-surface, var(--seams-colors-surface));
8
389
  transform-origin: top;
9
390
  display: grid;
@@ -11,122 +392,997 @@
11
392
  transition: grid-template-rows 200ms cubic-bezier(0.22, 1, 0.36, 1);
12
393
  }
13
394
 
14
- .seams-dropdown-export-keys-root.is-expanded {
15
- border-top: 1px solid var(--seams-colors-borderPrimary);
16
- border-bottom: 1px solid var(--seams-colors-borderPrimary);
17
- grid-template-rows: 1fr;
395
+ [data-seams-root].seams-theme-provider .seams-dropdown-export-keys-root.is-expanded {
396
+ border-top: 1px solid var(--seams-colors-borderPrimary);
397
+ border-bottom: 1px solid var(--seams-colors-borderPrimary);
398
+ grid-template-rows: 1fr;
399
+ }
400
+
401
+ [data-seams-root].seams-theme-provider .seams-dropdown-export-keys-clip {
402
+ overflow: hidden;
403
+ min-height: 0;
404
+ min-width: 0;
405
+ }
406
+
407
+ [data-seams-root].seams-theme-provider .seams-dropdown-export-keys-content {
408
+ display: flex;
409
+ flex-direction: column;
410
+ gap: 2px;
411
+ padding: 8px 12px;
412
+ transition:
413
+ opacity 100ms ease,
414
+ transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
415
+ opacity: 0;
416
+ transform: translateY(4px);
417
+ }
418
+
419
+ [data-seams-root].seams-theme-provider
420
+ .seams-dropdown-export-keys-root.is-expanded
421
+ .seams-dropdown-export-keys-content {
422
+ opacity: 1;
423
+ transform: translateY(0);
424
+ }
425
+
426
+ [data-seams-root].seams-theme-provider button.seams-export-keys-row {
427
+ display: flex;
428
+ align-items: center;
429
+ gap: 10px;
430
+ padding: 8px 10px;
431
+ border: none;
432
+ border-radius: var(--seams-shape-item, 8px);
433
+ background: transparent;
434
+ color: inherit;
435
+ font: inherit;
436
+ text-align: left;
437
+ cursor: pointer;
438
+ transition: background 150ms ease;
439
+ }
440
+
441
+ [data-seams-root].seams-theme-provider button.seams-export-keys-row:hover:not(:disabled) {
442
+ /* a shade off the expander surface behind the rows, which is often surface2;
443
+ mixing follows a theme's surface where a fixed surface step does not */
444
+ background: color-mix(
445
+ in srgb,
446
+ var(--seams-colors-textPrimary) 7%,
447
+ var(--seams-expander-surface, var(--seams-colors-surface))
448
+ );
449
+ }
450
+
451
+ [data-seams-root].seams-theme-provider button.seams-export-keys-row:disabled {
452
+ opacity: 0.6;
453
+ cursor: not-allowed;
454
+ }
455
+
456
+ [data-seams-root].seams-theme-provider .seams-export-keys-row-label {
457
+ flex: 0 0 auto;
458
+ font-size: 13px;
459
+ font-weight: 600;
460
+ color: var(--seams-colors-textPrimary);
461
+ white-space: nowrap;
462
+ }
463
+
464
+ [data-seams-root].seams-theme-provider .seams-export-keys-row-description {
465
+ flex: 1;
466
+ min-width: 0;
467
+ overflow: hidden;
468
+ text-overflow: ellipsis;
469
+ white-space: nowrap;
470
+ text-align: right;
471
+ font-size: 12px;
472
+ color: var(--seams-colors-textSecondary);
473
+ }
474
+
475
+ /* always-present slot: reserves the spinner's footprint so toggling the
476
+ export loading state never changes the row (or menu) size */
477
+ [data-seams-root].seams-theme-provider .seams-export-keys-row-spinner {
478
+ flex: 0 0 auto;
479
+ width: 14px;
480
+ height: 14px;
481
+ color: var(--seams-colors-textSecondary);
482
+ }
483
+
484
+ [data-seams-root].seams-theme-provider .seams-export-keys-row-spinner svg {
485
+ display: block;
486
+ width: 100%;
487
+ height: 100%;
488
+ }
489
+
490
+ /* A phone-width menu left the description beside the label only a few
491
+ characters, so it moves to a line of its own under the label. */
492
+ @media (max-width: 480px) {
493
+ [data-seams-root].seams-theme-provider .seams-account-screen button.seams-export-keys-row {
494
+ flex-wrap: wrap;
495
+ row-gap: 2px;
496
+ }
497
+
498
+ [data-seams-root].seams-theme-provider .seams-account-screen .seams-export-keys-row-spinner {
499
+ margin-left: auto;
500
+ }
501
+
502
+ [data-seams-root].seams-theme-provider .seams-account-screen .seams-export-keys-row-description {
503
+ flex-basis: 100%;
504
+ order: 1;
505
+ white-space: normal;
506
+ text-align: left;
507
+ }
508
+ }
509
+
510
+ /* Expander (AccountsSection) — same grid-rows collapse mechanism as the
511
+ Transaction Settings expander so the two sections open with one motion */
512
+ [data-seams-root].seams-theme-provider .seams-dropdown-accounts-root {
513
+ background-color: var(--seams-expander-surface, var(--seams-colors-surface));
514
+ transform-origin: top;
515
+ display: grid;
516
+ grid-template-rows: 0fr;
517
+ transition: grid-template-rows 200ms cubic-bezier(0.22, 1, 0.36, 1);
518
+ }
519
+
520
+ [data-seams-root].seams-theme-provider .seams-dropdown-accounts-root.is-expanded {
521
+ border-top: 1px solid var(--seams-colors-borderPrimary);
522
+ border-bottom: 1px solid var(--seams-colors-borderPrimary);
523
+ grid-template-rows: 1fr;
524
+ }
525
+
526
+ [data-seams-root].seams-theme-provider .seams-dropdown-accounts-clip {
527
+ overflow: hidden;
528
+ min-height: 0;
529
+ min-width: 0;
530
+ }
531
+
532
+ [data-seams-root].seams-theme-provider .seams-dropdown-accounts-content {
533
+ display: flex;
534
+ flex-direction: column;
535
+ gap: 2px;
536
+ padding: 8px 12px;
537
+ transition:
538
+ opacity 100ms ease,
539
+ transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
540
+ opacity: 0;
541
+ transform: translateY(4px);
542
+ }
543
+
544
+ [data-seams-root].seams-theme-provider
545
+ .seams-dropdown-accounts-root.is-expanded
546
+ .seams-dropdown-accounts-content {
547
+ opacity: 1;
548
+ transform: translateY(0);
549
+ }
550
+
551
+ [data-seams-root].seams-theme-provider a.seams-accounts-row {
552
+ display: flex;
553
+ align-items: center;
554
+ gap: 10px;
555
+ padding: 8px 10px;
556
+ border-radius: var(--seams-shape-item, 8px);
557
+ text-decoration: none;
558
+ color: inherit;
559
+ transition: background 150ms ease;
560
+ }
561
+
562
+ [data-seams-root].seams-theme-provider a.seams-accounts-row:hover {
563
+ /* a shade off the expander surface behind the rows, which is often surface2;
564
+ mixing follows a theme's surface where a fixed surface step does not */
565
+ background: color-mix(
566
+ in srgb,
567
+ var(--seams-colors-textPrimary) 7%,
568
+ var(--seams-expander-surface, var(--seams-colors-surface))
569
+ );
570
+ }
571
+
572
+ [data-seams-root].seams-theme-provider .seams-accounts-row-chain {
573
+ flex: 0 0 auto;
574
+ min-width: 56px;
575
+ font-size: 13px;
576
+ font-weight: 600;
577
+ color: var(--seams-colors-textPrimary);
578
+ }
579
+
580
+ [data-seams-root].seams-theme-provider .seams-accounts-row-address {
581
+ flex: 1;
582
+ min-width: 0;
583
+ overflow: hidden;
584
+ text-overflow: ellipsis;
585
+ white-space: nowrap;
586
+ font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
587
+ font-size: 12px;
588
+ color: var(--seams-colors-textSecondary);
589
+ }
590
+
591
+ [data-seams-root].seams-theme-provider .seams-accounts-row-arrow {
592
+ flex: 0 0 auto;
593
+ width: 14px;
594
+ height: 14px;
595
+ fill: none;
596
+ stroke: currentColor;
597
+ stroke-width: 2;
598
+ color: var(--seams-colors-textSecondary);
599
+ }
600
+
601
+ [data-seams-root].seams-theme-provider a.seams-accounts-row:hover .seams-accounts-row-arrow {
602
+ color: var(--seams-colors-textPrimary);
603
+ }
604
+
605
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-backdrop {
606
+ position: fixed;
607
+ inset: 0;
608
+ z-index: var(
609
+ --seams-z-underlay-backdrop,
610
+ calc(
611
+ var(--seams-wallet-overlay-z, 2147483646) - var(--seams-wallet-underlay-backdrop-offset, 2)
612
+ )
613
+ );
614
+ background: rgb(0 0 0 / 0.26);
615
+ display: flex;
616
+ justify-content: center;
617
+ align-items: center;
618
+ padding: var(--seams-spacing-sm, 12px);
619
+ box-sizing: border-box;
620
+ overflow: auto;
621
+ overscroll-behavior: none;
622
+ animation: seams-linked-devices-backdrop-opacity 80ms ease-out;
623
+ }
624
+
625
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-content {
626
+ position: relative;
627
+ z-index: var(
628
+ --seams-z-underlay-content,
629
+ calc(var(--seams-wallet-overlay-z, 2147483646) - var(--seams-wallet-underlay-content-offset, 1))
630
+ );
631
+ display: flex;
632
+ flex-direction: column;
633
+ /* One width for every account-menu dialog: their rows are short, and a
634
+ narrow card keeps each row readable at a glance. */
635
+ width: min(420px, 100%);
636
+ max-width: 100%;
637
+ min-width: 0;
638
+ max-height: calc(100vh - 24px);
639
+ max-height: calc(100dvh - 24px);
640
+ overflow: hidden;
641
+ padding: 0;
642
+ color: var(--seams-colors-textPrimary);
643
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
644
+ font-size: 0.875rem;
645
+ line-height: 1.5;
646
+ box-shadow: 0 1.5rem 4rem rgb(0 0 0 / 0.18);
647
+ border: none;
648
+ border-radius: var(--seams-shape-card, 1.5rem);
649
+ background: var(--seams-colors-colorBackground);
650
+ box-sizing: border-box;
651
+ }
652
+
653
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-content:focus {
654
+ outline: none;
655
+ }
656
+
657
+ [data-seams-root].seams-theme-provider .seams-account-menu-dialog-main {
658
+ display: flex;
659
+ flex: 1 1 auto;
660
+ flex-direction: column;
661
+ min-height: 0;
662
+ padding: 1.5rem;
663
+ text-wrap: pretty;
664
+ }
665
+
666
+ @media (prefers-reduced-motion: no-preference) {
667
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-content {
668
+ animation: seams-linked-devices-modal-content-enter 80ms ease-out both;
669
+ }
670
+ }
671
+
672
+ [data-seams-root].seams-theme-provider .seams-auth-methods-modal-intro {
673
+ margin: -0.25rem 0 0.75rem;
674
+ color: var(--seams-colors-textSecondary);
675
+ font-size: 0.9rem;
676
+ line-height: 1.45;
677
+ }
678
+
679
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-title {
680
+ margin: 0 0 0.75rem;
681
+ font-size: 1.375rem;
682
+ font-weight: 500;
683
+ letter-spacing: -0.025em;
684
+ line-height: 1.25;
685
+ color: var(--seams-colors-textPrimary);
686
+ }
687
+
688
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-subtitle {
689
+ margin: -0.5rem 0 1rem;
690
+ color: var(--seams-colors-textSecondary);
691
+ font-size: 0.875rem;
692
+ font-weight: 400;
693
+ line-height: 1.5;
694
+ }
695
+
696
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-body {
697
+ display: grid;
698
+ min-height: 0;
699
+ gap: var(--seams-spacing-sm, 0.5rem);
700
+ overflow-y: auto;
701
+ scrollbar-width: none;
702
+ overscroll-behavior: none;
703
+ }
704
+
705
+ /* Both the loading and the loaded state render one card per row, so the box
706
+ the list occupies does not jump when the devices arrive. */
707
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-placeholder {
708
+ display: flex;
709
+ flex-wrap: wrap;
710
+ align-items: center;
711
+ gap: 0.75rem;
712
+ min-height: 3.5rem;
713
+ padding: 0.75rem 0.9rem;
714
+ border: 1px solid var(--seams-colors-borderPrimary);
715
+ border-radius: 0.75rem;
716
+ background: var(--seams-colors-surface);
717
+ color: var(--seams-colors-textSecondary);
718
+ font-size: 0.86rem;
719
+ font-weight: 600;
720
+ }
721
+
722
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-list {
723
+ display: grid;
724
+ gap: var(--seams-spacing-sm, 0.5rem);
725
+ margin: 0;
726
+ padding: 0;
727
+ list-style: none;
728
+ }
729
+
730
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-item {
731
+ display: grid;
732
+ gap: 0.35rem;
733
+ padding: 0.75rem 0.9rem;
734
+ border: 1px solid var(--seams-colors-borderPrimary);
735
+ border-radius: 0.75rem;
736
+ background: var(--seams-colors-surface);
737
+ }
738
+
739
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-item-main {
740
+ display: flex;
741
+ align-items: baseline;
742
+ justify-content: space-between;
743
+ gap: 0.5rem;
744
+ }
745
+
746
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-item-name {
747
+ color: var(--seams-colors-textPrimary);
748
+ font-size: 0.95rem;
749
+ font-weight: 600;
750
+ overflow-wrap: anywhere;
751
+ }
752
+
753
+ /* The state chip carries the only status a person needs. A normal state is a
754
+ quiet neutral tag; colour marks only the states that need attention. */
755
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-standing {
756
+ flex: none;
757
+ padding: 0.1875rem 0.5rem;
758
+ border-radius: 6px;
759
+ background: color-mix(in srgb, var(--seams-colors-textPrimary), transparent 93%);
760
+ color: var(--seams-colors-textPrimary);
761
+ font-size: 0.75rem;
762
+ font-weight: 500;
763
+ line-height: 1.4;
764
+ white-space: nowrap;
765
+ }
766
+
767
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-standing.tone-pending {
768
+ background: color-mix(in srgb, oklch(0.72 0.15 85), transparent 88%);
769
+ color: oklch(0.5 0.13 85);
770
+ }
771
+
772
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-standing.tone-off {
773
+ background: color-mix(in srgb, var(--seams-colors-textSecondary), transparent 90%);
774
+ color: var(--seams-colors-textSecondary);
775
+ }
776
+
777
+ [data-seams-root].seams-theme-provider
778
+ .theme-dark
779
+ .seams-linked-devices-modal-standing.tone-pending {
780
+ color: oklch(0.82 0.13 85);
781
+ }
782
+
783
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-item-detail {
784
+ color: var(--seams-colors-textSecondary);
785
+ font-size: 0.8rem;
786
+ font-weight: 500;
787
+ }
788
+
789
+ /* A grouped inventory is a plain list: no box around it, a hairline under
790
+ every row, so the rows read as entries on the card itself. */
791
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-list--grouped {
792
+ gap: 0;
793
+ }
794
+
795
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-item--row {
796
+ position: relative;
797
+ grid-template-columns: 24px minmax(0, 1fr) auto;
798
+ align-items: center;
799
+ gap: 0 0.875rem;
800
+ padding: 0.875rem 0;
801
+ border: none;
802
+ border-bottom: 1px solid var(--seams-colors-borderPrimary);
803
+ border-radius: 0;
804
+ background: transparent;
805
+ }
806
+
807
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-item-icon {
808
+ display: inline-flex;
809
+ align-items: center;
810
+ justify-content: center;
811
+ align-self: start;
812
+ width: 24px;
813
+ height: 1.25rem;
814
+ margin-top: 0.125rem;
815
+ color: var(--seams-colors-textSecondary);
816
+ }
817
+
818
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-item-icon svg {
819
+ width: 20px;
820
+ height: 20px;
821
+ }
822
+
823
+ /* Section labels name each group of rows, in small caps above it. */
824
+ [data-seams-root].seams-theme-provider .seams-account-menu-section {
825
+ display: grid;
826
+ gap: 0.5rem;
827
+ }
828
+
829
+ [data-seams-root].seams-theme-provider .seams-account-menu-section-label {
830
+ margin: 0;
831
+ color: var(--seams-colors-textSecondary);
832
+ font-size: 0.6875rem;
833
+ font-weight: 500;
834
+ letter-spacing: 0.08em;
835
+ line-height: 1.4;
836
+ text-transform: uppercase;
837
+ }
838
+
839
+ [data-seams-root].seams-theme-provider
840
+ .seams-account-menu-section
841
+ > .seams-linked-devices-modal-list--grouped {
842
+ margin-top: -0.25rem;
843
+ }
844
+
845
+ /* A section's main action is a full-width outline button; an add action leads
846
+ with its plus sign. */
847
+ [data-seams-root].seams-theme-provider
848
+ .seams-linked-devices-modal-content
849
+ .seams-account-menu-wide-button {
850
+ display: inline-flex;
851
+ align-items: center;
852
+ justify-content: center;
853
+ justify-self: stretch;
854
+ gap: 0.5rem;
855
+ min-height: 44px;
856
+ border-radius: var(--seams-shape-control, 10px);
857
+ background: transparent;
858
+ font-size: 0.875rem;
859
+ font-weight: 500;
860
+ }
861
+
862
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-item-content {
863
+ display: grid;
864
+ gap: 0.15rem;
865
+ min-width: 0;
866
+ }
867
+
868
+ /* Title on the left, status chip at the end of the row. */
869
+ [data-seams-root].seams-theme-provider
870
+ .seams-linked-devices-modal-item--row
871
+ .seams-linked-devices-modal-item-main {
872
+ justify-content: space-between;
873
+ align-items: center;
874
+ flex-wrap: wrap;
875
+ gap: 0.5rem;
876
+ min-height: 1.25rem;
877
+ }
878
+
879
+ [data-seams-root].seams-theme-provider
880
+ .seams-linked-devices-modal-item--row
881
+ .seams-linked-devices-modal-item-name {
882
+ font-size: 0.9375rem;
883
+ font-weight: 500;
884
+ line-height: 1.25rem;
885
+ }
886
+
887
+ [data-seams-root].seams-theme-provider
888
+ .seams-linked-devices-modal-item--row
889
+ .seams-linked-devices-modal-item-detail {
890
+ margin-top: 0.125rem;
891
+ font-size: 0.8125rem;
892
+ font-weight: 400;
893
+ }
894
+
895
+ /* Why this row cannot be removed right now, shaped as part of the row. */
896
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-hint {
897
+ display: flex;
898
+ gap: 0.5rem;
899
+ align-items: flex-start;
900
+ margin-top: 0.6rem;
901
+ padding: 0.6rem 0.75rem;
902
+ border-radius: 0.5rem;
903
+ background: color-mix(in srgb, var(--seams-colors-textSecondary), transparent 92%);
904
+ color: var(--seams-colors-textSecondary);
905
+ font-size: 0.78rem;
906
+ font-weight: 500;
907
+ line-height: 1.4;
908
+ }
909
+
910
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-hint svg {
911
+ flex: none;
912
+ margin-top: 1px;
913
+ }
914
+
915
+ [data-seams-root].seams-theme-provider button.seams-linked-devices-modal-remove {
916
+ align-self: start;
917
+ margin-top: 2px;
918
+ color: oklch(0.52 0.17 25);
919
+ }
920
+
921
+ [data-seams-root].seams-theme-provider .theme-dark button.seams-linked-devices-modal-remove {
922
+ color: oklch(0.74 0.15 25);
923
+ }
924
+
925
+ [data-seams-root].seams-theme-provider
926
+ .seams-linked-devices-modal-item--row
927
+ .seams-linked-devices-modal-confirm {
928
+ margin-top: 0.6rem;
929
+ }
930
+
931
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-confirm {
932
+ display: grid;
933
+ gap: 0.5rem;
934
+ color: var(--seams-colors-textSecondary);
935
+ font-size: 0.82rem;
936
+ font-weight: 600;
937
+ line-height: 1.35;
938
+ }
939
+
940
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-confirm-actions {
941
+ display: flex;
942
+ flex-wrap: wrap;
943
+ gap: 0.5rem;
944
+ }
945
+
946
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-confirm-actions > button {
947
+ flex: 1 1 0;
948
+ }
949
+
950
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-add-method {
951
+ display: grid;
952
+ gap: 0.65rem;
953
+ padding: 0.85rem;
954
+ border: 1px solid var(--seams-colors-borderPrimary);
955
+ border-radius: 0.75rem;
956
+ }
957
+
958
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-add-method h3 {
959
+ margin: 0;
960
+ color: var(--seams-colors-textPrimary);
961
+ font-size: 0.9375rem;
962
+ font-weight: 500;
963
+ line-height: 1.35;
964
+ }
965
+
966
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-security-note {
967
+ margin: 0;
968
+ color: var(--seams-colors-textSecondary);
969
+ font-size: 0.82rem;
970
+ font-weight: 500;
971
+ line-height: 1.45;
972
+ }
973
+
974
+ [data-seams-root].seams-theme-provider input.seams-linked-devices-modal-otp-input {
975
+ width: 100%;
976
+ min-height: 44px;
977
+ padding: 0.55rem 0.7rem;
978
+ border: 1px solid var(--seams-colors-borderPrimary);
979
+ border-radius: 0.6rem;
980
+ background: var(--seams-colors-colorBackground);
981
+ color: var(--seams-colors-textPrimary);
982
+ font: inherit;
983
+ font-size: 1rem;
984
+ box-sizing: border-box;
985
+ }
986
+
987
+ [data-seams-root].seams-theme-provider input.seams-linked-devices-modal-otp-input:focus-visible {
988
+ outline: none;
989
+ border-color: transparent;
990
+ background:
991
+ linear-gradient(var(--seams-colors-colorBackground), var(--seams-colors-colorBackground))
992
+ padding-box,
993
+ var(
994
+ --seams-colors-focusGradient,
995
+ linear-gradient(
996
+ var(--seams-colors-focus, var(--seams-colors-primary)),
997
+ var(--seams-colors-focus, var(--seams-colors-primary))
998
+ )
999
+ )
1000
+ border-box;
1001
+ }
1002
+
1003
+ [data-seams-root].seams-theme-provider button.seams-linked-devices-modal-secondary,
1004
+ [data-seams-root].seams-theme-provider button.seams-linked-devices-modal-danger {
1005
+ justify-self: start;
1006
+ min-height: 36px;
1007
+ padding: 0.4rem 0.75rem;
1008
+ border-radius: 0.6rem;
1009
+ font-size: 0.86rem;
1010
+ font-weight: 600;
1011
+ cursor: pointer;
1012
+ transition: background-color 140ms ease;
1013
+ }
1014
+
1015
+ [data-seams-root].seams-theme-provider button.seams-linked-devices-modal-secondary {
1016
+ border: 1px solid var(--seams-colors-borderPrimary);
1017
+ background: var(--seams-colors-colorBackground);
1018
+ color: var(--seams-colors-textPrimary);
1019
+ }
1020
+
1021
+ [data-seams-root].seams-theme-provider
1022
+ button.seams-linked-devices-modal-secondary:hover:not(:disabled) {
1023
+ background: var(--seams-colors-surface2, var(--seams-colors-surface));
1024
+ }
1025
+
1026
+ [data-seams-root].seams-theme-provider button.seams-linked-devices-modal-danger {
1027
+ justify-self: stretch;
1028
+ border: 1px solid transparent;
1029
+ background: oklch(0.55 0.19 25);
1030
+ color: #ffffff;
1031
+ }
1032
+
1033
+ [data-seams-root].seams-theme-provider button.seams-linked-devices-modal-danger:hover {
1034
+ background: oklch(0.49 0.19 25);
1035
+ }
1036
+
1037
+ [data-seams-root].seams-theme-provider button.seams-linked-devices-modal-secondary:disabled {
1038
+ cursor: default;
1039
+ opacity: 0.6;
1040
+ }
1041
+
1042
+ [data-seams-root].seams-theme-provider button.seams-linked-devices-modal-danger:disabled {
1043
+ cursor: default;
1044
+ opacity: 0.6;
1045
+ }
1046
+
1047
+ [data-seams-root].seams-theme-provider button.seams-linked-devices-modal-secondary:focus-visible,
1048
+ [data-seams-root].seams-theme-provider button.seams-linked-devices-modal-danger:focus-visible {
1049
+ outline: 2px solid var(--seams-colors-primary);
1050
+ outline-offset: 2px;
1051
+ }
1052
+
1053
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-error {
1054
+ padding: 0.6rem 0.75rem;
1055
+ border: 1px solid color-mix(in srgb, oklch(0.58 0.18 25), transparent 75%);
1056
+ border-radius: 0.75rem;
1057
+ background: color-mix(in srgb, oklch(0.58 0.18 25), transparent 93%);
1058
+ color: oklch(0.52 0.17 25);
1059
+ font-size: 0.82rem;
1060
+ font-weight: 600;
1061
+ line-height: 1.4;
1062
+ overflow-wrap: anywhere;
1063
+ }
1064
+
1065
+ [data-seams-root].seams-theme-provider .theme-dark .seams-linked-devices-modal-error {
1066
+ color: oklch(0.74 0.15 25);
1067
+ }
1068
+
1069
+ /* Announced only — a visible copy would shift the card as it changes. */
1070
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-live {
1071
+ position: absolute;
1072
+ width: 1px;
1073
+ height: 1px;
1074
+ padding: 0;
1075
+ margin: -1px;
1076
+ overflow: hidden;
1077
+ clip: rect(0, 0, 0, 0);
1078
+ white-space: nowrap;
1079
+ border: 0;
1080
+ }
1081
+
1082
+ @keyframes seams-linked-devices-backdrop-opacity {
1083
+ from {
1084
+ opacity: 0;
1085
+ }
1086
+ to {
1087
+ opacity: 1;
1088
+ }
1089
+ }
1090
+
1091
+ @keyframes seams-linked-devices-modal-content-enter {
1092
+ from {
1093
+ opacity: 0;
1094
+ }
1095
+ to {
1096
+ opacity: 1;
1097
+ }
1098
+ }
1099
+
1100
+ @media (max-width: 480px) {
1101
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-backdrop {
1102
+ align-items: flex-start;
1103
+ padding: var(--seams-spacing-sm, 8px);
1104
+ }
1105
+
1106
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-content {
1107
+ max-height: calc(100vh - 16px);
1108
+ max-height: calc(100dvh - 16px);
1109
+ border-radius: var(--seams-shape-card, 1rem);
1110
+ }
1111
+
1112
+ [data-seams-root].seams-theme-provider .seams-account-menu-dialog-main {
1113
+ padding: var(--seams-spacing-md, 1rem);
1114
+ }
1115
+
1116
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-item-main {
1117
+ align-items: flex-start;
1118
+ flex-direction: column;
1119
+ }
1120
+
1121
+ /* Row layout keeps the chip beside the title; it wraps on its own. */
1122
+ [data-seams-root].seams-theme-provider
1123
+ .seams-linked-devices-modal-item--row
1124
+ .seams-linked-devices-modal-item-main {
1125
+ align-items: center;
1126
+ flex-direction: row;
1127
+ }
1128
+ }
1129
+
1130
+ @media (max-height: 520px) {
1131
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-backdrop {
1132
+ align-items: flex-start;
1133
+ }
1134
+ }
1135
+
1136
+ [data-seams-root].seams-theme-provider
1137
+ .seams-linked-devices-modal-backdrop[data-presentation='page'] {
1138
+ position: static;
1139
+ display: block;
1140
+ padding: 0;
1141
+ background: transparent;
1142
+ overflow: visible;
1143
+ animation: none;
1144
+ }
1145
+ [data-seams-root].seams-theme-provider
1146
+ .seams-linked-devices-modal-backdrop[data-presentation='page']
1147
+ .seams-linked-devices-modal-content {
1148
+ width: 100%;
1149
+ box-shadow: none;
1150
+ max-height: none;
1151
+ overflow: visible;
1152
+ padding: 24px;
1153
+ border: 1px solid var(--seams-colors-borderPrimary);
1154
+ animation: none;
1155
+ }
1156
+ [data-seams-root].seams-theme-provider
1157
+ .seams-linked-devices-modal-backdrop[data-presentation='page']
1158
+ .seams-account-menu-dialog-main {
1159
+ padding: 0;
1160
+ }
1161
+ [data-seams-root].seams-theme-provider
1162
+ .seams-linked-devices-modal-backdrop[data-presentation='page']
1163
+ .seams-linked-devices-modal-body {
1164
+ overflow: visible;
1165
+ }
1166
+
1167
+ [data-seams-root].seams-theme-provider
1168
+ .seams-auth-methods-modal-content
1169
+ .seams-auth-methods-modal-intro {
1170
+ margin-bottom: 1.5rem;
1171
+ font-size: 0.875rem;
1172
+ }
1173
+ /* The body scrolls, so the last action needs its own room above the card edge. */
1174
+ [data-seams-root].seams-theme-provider
1175
+ .seams-auth-methods-modal-content
1176
+ .seams-linked-devices-modal-body {
1177
+ gap: 1.5rem;
1178
+ padding-bottom: 1.5rem;
1179
+ }
1180
+ /* A method's icon sits on a tile, like the recovery-code row. */
1181
+ [data-seams-root].seams-theme-provider
1182
+ .seams-auth-methods-modal-content
1183
+ .seams-linked-devices-modal-item--row {
1184
+ grid-template-columns: 2.5rem minmax(0, 1fr) auto;
1185
+ }
1186
+ [data-seams-root].seams-theme-provider
1187
+ .seams-auth-methods-modal-content
1188
+ .seams-linked-devices-modal-item-icon {
1189
+ width: 2.5rem;
1190
+ height: 2.5rem;
1191
+ margin-top: 0;
1192
+ border-radius: var(--seams-shape-control, 10px);
1193
+ background: color-mix(in srgb, var(--seams-colors-textPrimary), transparent 93%);
1194
+ color: var(--seams-colors-textPrimary);
1195
+ }
1196
+ [data-seams-root].seams-theme-provider
1197
+ .seams-auth-methods-modal-content
1198
+ .seams-linked-devices-modal-item-detail {
1199
+ font-weight: 400;
1200
+ line-height: 1.5;
1201
+ }
1202
+ [data-seams-root].seams-theme-provider
1203
+ .seams-auth-methods-modal-content
1204
+ .seams-linked-devices-modal-add-method {
1205
+ padding: 0;
1206
+ border: 0;
1207
+ gap: 0.5rem;
1208
+ }
1209
+ [data-seams-root].seams-theme-provider
1210
+ .seams-auth-methods-modal-content
1211
+ button.seams-linked-devices-modal-secondary {
1212
+ min-height: 44px;
1213
+ font-size: 0.8125rem;
1214
+ }
1215
+ [data-seams-root].seams-theme-provider
1216
+ .seams-linked-devices-modal-backdrop[data-presentation='page']
1217
+ .seams-auth-methods-modal-content {
1218
+ max-width: 40rem;
1219
+ }
1220
+
1221
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-content *,
1222
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-content *::before,
1223
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-content *::after {
1224
+ box-sizing: border-box;
18
1225
  }
19
1226
 
20
- .seams-dropdown-export-keys-clip {
21
- overflow: hidden;
22
- min-height: 0;
23
- min-width: 0;
1227
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-body::-webkit-scrollbar {
1228
+ display: none;
24
1229
  }
25
1230
 
26
- .seams-dropdown-export-keys-content {
1231
+ /* Each method is a card: icon, name and state, one trailing control, then an
1232
+ optional footer for further actions or a removal confirmation. */
1233
+ [data-seams-root].seams-theme-provider
1234
+ .seams-auth-methods-modal-content
1235
+ .seams-account-menu-section
1236
+ > .seams-account-method-tiles {
1237
+ margin-top: 0;
1238
+ }
1239
+ [data-seams-root].seams-theme-provider
1240
+ .seams-auth-methods-modal-content
1241
+ .seams-account-method-tiles
1242
+ .seams-linked-devices-modal-item--row {
1243
+ padding: 0.75rem 0.875rem;
1244
+ border-radius: 0.875rem;
1245
+ }
1246
+ [data-seams-root].seams-theme-provider
1247
+ .seams-auth-methods-modal-content
1248
+ .seams-linked-devices-modal-item--row
1249
+ .seams-linked-devices-modal-item-icon {
1250
+ align-self: center;
1251
+ }
1252
+ [data-seams-root].seams-theme-provider
1253
+ .seams-auth-methods-modal-content
1254
+ .seams-linked-devices-modal-item--row
1255
+ .seams-linked-devices-modal-item-main {
1256
+ justify-content: flex-start;
1257
+ }
1258
+ [data-seams-root].seams-theme-provider .seams-auth-method-footer {
1259
+ grid-column: 1 / -1;
27
1260
  display: flex;
28
- flex-direction: column;
29
- gap: 2px;
30
- padding: 8px 12px;
31
- transition:
32
- opacity 100ms ease,
33
- transform 200ms cubic-bezier(0.22, 1, 0.36, 1);
34
- opacity: 0;
35
- transform: translateY(4px);
1261
+ align-items: center;
1262
+ justify-content: space-between;
1263
+ gap: 0.75rem;
1264
+ min-height: 2.75rem;
1265
+ margin: 0.75rem -0.875rem -0.75rem;
1266
+ padding: 0.25rem 0.875rem;
1267
+ border-top: 1px solid var(--seams-colors-borderPrimary);
36
1268
  }
37
-
38
- .seams-dropdown-export-keys-root.is-expanded .seams-dropdown-export-keys-content {
39
- opacity: 1;
40
- transform: translateY(0);
1269
+ [data-seams-root].seams-theme-provider
1270
+ .seams-auth-method-footer
1271
+ > .seams-linked-devices-modal-confirm {
1272
+ flex: 1;
1273
+ margin: 0;
1274
+ padding-block: 0.5rem;
41
1275
  }
42
1276
 
43
- .seams-export-keys-row {
44
- display: flex;
1277
+ /* Quiet text actions; Remove carries the error tone, mixed toward the text
1278
+ colour so it keeps its contrast on both themes. */
1279
+ [data-seams-root].seams-theme-provider button.seams-auth-method-text-action {
1280
+ display: inline-flex;
45
1281
  align-items: center;
46
- gap: 10px;
47
- padding: 8px 10px;
48
- border: none;
49
- border-radius: var(--seams-shape-item, 8px);
1282
+ gap: 0.125rem;
1283
+ min-height: 2.25rem;
1284
+ margin-inline: -0.5rem;
1285
+ padding: 0.375rem 0.5rem;
1286
+ border: 0;
1287
+ border-radius: var(--seams-shape-control, 10px);
50
1288
  background: transparent;
51
- color: inherit;
1289
+ color: var(--seams-colors-textPrimary);
52
1290
  font: inherit;
53
- text-align: left;
1291
+ font-size: 0.8125rem;
1292
+ font-weight: 600;
1293
+ white-space: nowrap;
54
1294
  cursor: pointer;
55
- transition: background 150ms ease;
1295
+ transition: background-color 140ms ease;
56
1296
  }
57
-
58
- .seams-export-keys-row:hover:not(:disabled) {
59
- /* a shade off the expander surface behind the rows, which is often surface2;
60
- mixing follows a theme's surface where a fixed surface step does not */
61
- background: color-mix(
62
- in srgb,
63
- var(--seams-colors-textPrimary) 7%,
64
- var(--seams-expander-surface, var(--seams-colors-surface))
65
- );
1297
+ [data-seams-root].seams-theme-provider button.seams-auth-method-text-action > svg {
1298
+ color: var(--seams-colors-textSecondary);
66
1299
  }
67
-
68
- .seams-export-keys-row:disabled {
69
- opacity: 0.6;
70
- cursor: not-allowed;
1300
+ [data-seams-root].seams-theme-provider button.seams-auth-method-text-action:dir(rtl) > svg {
1301
+ transform: scaleX(-1);
71
1302
  }
72
-
73
- .seams-export-keys-row-label {
74
- flex: 0 0 auto;
75
- font-size: 13px;
76
- font-weight: 600;
77
- color: var(--seams-colors-textPrimary);
78
- white-space: nowrap;
1303
+ [data-seams-root].seams-theme-provider button.seams-auth-method-text-action[data-tone='danger'],
1304
+ [data-seams-root].seams-theme-provider .seams-linked-devices-modal-item-detail [data-tone='error'],
1305
+ [data-seams-root].seams-theme-provider .seams-auth-method-field-error {
1306
+ color: color-mix(in oklab, var(--seams-colors-error) 65%, var(--seams-colors-textPrimary));
1307
+ }
1308
+ [data-seams-root].seams-theme-provider button.seams-auth-method-text-action:hover:not(:disabled) {
1309
+ background: var(--seams-colors-surface2, var(--seams-colors-surface));
1310
+ }
1311
+ [data-seams-root].seams-theme-provider button.seams-auth-method-text-action:disabled {
1312
+ opacity: 0.45;
1313
+ cursor: default;
1314
+ }
1315
+ [data-seams-root].seams-theme-provider button.seams-auth-method-text-action:focus-visible {
1316
+ outline: 2px solid var(--seams-colors-textPrimary);
1317
+ outline-offset: 2px;
1318
+ }
1319
+ @media (pointer: coarse) {
1320
+ [data-seams-root].seams-theme-provider button.seams-auth-method-text-action {
1321
+ min-height: 2.75rem;
1322
+ }
79
1323
  }
80
1324
 
81
- .seams-export-keys-row-description {
1325
+ /* Email OTP's address form opens in its card footer, below a divider. */
1326
+ [data-seams-root].seams-theme-provider .seams-auth-method-form {
1327
+ display: grid;
82
1328
  flex: 1;
83
- min-width: 0;
84
- overflow: hidden;
85
- text-overflow: ellipsis;
86
- white-space: nowrap;
87
- text-align: right;
88
- font-size: 12px;
89
- color: var(--seams-colors-textSecondary);
1329
+ gap: 0.5rem;
1330
+ padding-block: 0.625rem 0.5rem;
1331
+ color: var(--seams-colors-textPrimary);
1332
+ font-size: 0.8125rem;
90
1333
  }
91
-
92
- /* always-present slot: reserves the spinner's footprint so toggling the
93
- export loading state never changes the row (or menu) size */
94
- .seams-export-keys-row-spinner {
95
- flex: 0 0 auto;
96
- width: 14px;
97
- height: 14px;
1334
+ [data-seams-root].seams-theme-provider .seams-auth-method-form label {
1335
+ font-weight: 600;
1336
+ }
1337
+ [data-seams-root].seams-theme-provider .seams-auth-method-note,
1338
+ [data-seams-root].seams-theme-provider .seams-auth-method-field-error {
1339
+ margin: 0;
1340
+ font-size: 0.8125rem;
1341
+ line-height: 1.45;
1342
+ }
1343
+ [data-seams-root].seams-theme-provider .seams-auth-method-note {
98
1344
  color: var(--seams-colors-textSecondary);
99
1345
  }
100
-
101
- .seams-export-keys-row-spinner svg {
102
- display: block;
103
- width: 100%;
104
- height: 100%;
1346
+ [data-seams-root].seams-theme-provider .seams-auth-method-field-error {
1347
+ font-weight: 500;
105
1348
  }
106
-
107
- /* A phone-width menu left the description beside the label only a few
108
- characters, so it moves to a line of its own under the label. */
109
- @media (max-width: 480px) {
110
- .seams-account-screen .seams-export-keys-row {
111
- flex-wrap: wrap;
112
- row-gap: 2px;
113
- }
114
-
115
- .seams-account-screen .seams-export-keys-row-spinner {
116
- margin-left: auto;
117
- }
118
-
119
- .seams-account-screen .seams-export-keys-row-description {
120
- flex-basis: 100%;
121
- order: 1;
122
- white-space: normal;
123
- text-align: left;
124
- }
1349
+ [data-seams-root].seams-theme-provider
1350
+ .seams-auth-method-form
1351
+ .seams-linked-devices-modal-confirm-actions {
1352
+ margin-top: 0.25rem;
1353
+ }
1354
+ [data-seams-root].seams-theme-provider button.seams-auth-method-primary {
1355
+ min-height: 2.5rem;
1356
+ padding: 0.4rem 0.75rem;
1357
+ border: 1px solid transparent;
1358
+ border-radius: 0.6rem;
1359
+ background: var(--seams-colors-textPrimary);
1360
+ color: var(--seams-colors-colorBackground);
1361
+ font: inherit;
1362
+ font-size: 0.86rem;
1363
+ font-weight: 600;
1364
+ cursor: pointer;
1365
+ transition: background-color 140ms ease;
1366
+ }
1367
+ [data-seams-root].seams-theme-provider button.seams-auth-method-primary:hover:not(:disabled) {
1368
+ background: color-mix(
1369
+ in srgb,
1370
+ var(--seams-colors-textPrimary) 84%,
1371
+ var(--seams-colors-colorBackground)
1372
+ );
1373
+ }
1374
+ [data-seams-root].seams-theme-provider button.seams-auth-method-primary:disabled {
1375
+ opacity: 0.5;
1376
+ cursor: default;
1377
+ }
1378
+ [data-seams-root].seams-theme-provider button.seams-auth-method-primary:focus-visible {
1379
+ outline: 2px solid var(--seams-colors-textPrimary);
1380
+ outline-offset: 2px;
125
1381
  }
126
1382
 
127
1383
  /* MenuItem Component Styles */
128
1384
 
129
- .seams-dropdown-menu-item {
1385
+ [data-seams-root].seams-theme-provider button.seams-dropdown-menu-item {
130
1386
  --seams-dropdown-menu-item-opacity: 1;
131
1387
  display: flex;
132
1388
  align-items: center;
@@ -150,38 +1406,38 @@
150
1406
  border-radius: 0;
151
1407
  }
152
1408
 
153
- .seams-dropdown-menu-item:hover {
1409
+ [data-seams-root].seams-theme-provider button.seams-dropdown-menu-item:hover {
154
1410
  background-color: var(--seams-colors-hover);
155
1411
  background: var(--seams-colors-hover);
156
1412
  }
157
- .seams-dropdown-menu-item:hover:not(:disabled) {
1413
+ [data-seams-root].seams-theme-provider button.seams-dropdown-menu-item:hover:not(:disabled) {
158
1414
  background-color: var(--seams-colors-hover);
159
1415
  background: var(--seams-colors-hover);
160
1416
  }
161
1417
 
162
- .seams-dropdown-menu-item:active {
1418
+ [data-seams-root].seams-theme-provider button.seams-dropdown-menu-item:active {
163
1419
  transform: scale(0.98);
164
1420
  background: var(--seams-colors-surface2);
165
1421
  }
166
1422
 
167
- .seams-dropdown-menu-item:focus {
1423
+ [data-seams-root].seams-theme-provider button.seams-dropdown-menu-item:focus {
168
1424
  outline: none;
169
1425
  }
170
1426
 
171
- .seams-dropdown-menu-item:focus-visible {
1427
+ [data-seams-root].seams-theme-provider button.seams-dropdown-menu-item:focus-visible {
172
1428
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--seams-colors-focus), transparent 60%);
173
1429
  }
174
1430
 
175
- .seams-dropdown-menu-item:disabled {
1431
+ [data-seams-root].seams-theme-provider button.seams-dropdown-menu-item:disabled {
176
1432
  --seams-dropdown-menu-item-opacity: 0.5;
177
1433
  cursor: not-allowed;
178
1434
  }
179
1435
 
180
- .seams-dropdown-menu-item:disabled:hover {
1436
+ [data-seams-root].seams-theme-provider button.seams-dropdown-menu-item:disabled:hover {
181
1437
  background-color: transparent;
182
1438
  }
183
1439
 
184
- .seams-dropdown-menu-item-icon {
1440
+ [data-seams-root].seams-theme-provider .seams-dropdown-menu-item-icon {
185
1441
  flex-shrink: 0;
186
1442
  width: 32px;
187
1443
  height: 32px;
@@ -190,13 +1446,13 @@
190
1446
  justify-content: center;
191
1447
  }
192
1448
 
193
- .seams-dropdown-menu-item-icon svg {
1449
+ [data-seams-root].seams-theme-provider .seams-dropdown-menu-item-icon svg {
194
1450
  width: 20px;
195
1451
  height: 20px;
196
1452
  color: var(--seams-colors-textSecondary);
197
1453
  }
198
1454
 
199
- .seams-menu-spinner-icon {
1455
+ [data-seams-root].seams-theme-provider .seams-menu-spinner-icon {
200
1456
  display: block;
201
1457
  will-change: transform;
202
1458
  transform: translateZ(0);
@@ -204,26 +1460,26 @@
204
1460
  animation: seams-menu-spinner-rotate 850ms linear infinite;
205
1461
  }
206
1462
 
207
- .seams-menu-spinner-icon-track,
208
- .seams-menu-spinner-icon-head {
1463
+ [data-seams-root].seams-theme-provider .seams-menu-spinner-icon-track,
1464
+ [data-seams-root].seams-theme-provider .seams-menu-spinner-icon-head {
209
1465
  stroke: currentColor;
210
1466
  stroke-width: 2.25;
211
1467
  }
212
1468
 
213
- .seams-menu-spinner-icon-track {
1469
+ [data-seams-root].seams-theme-provider .seams-menu-spinner-icon-track {
214
1470
  opacity: 0.22;
215
1471
  }
216
1472
 
217
- .seams-menu-spinner-icon-head {
1473
+ [data-seams-root].seams-theme-provider .seams-menu-spinner-icon-head {
218
1474
  opacity: 0.95;
219
1475
  }
220
1476
 
221
- .seams-dropdown-menu-item-content {
1477
+ [data-seams-root].seams-theme-provider .seams-dropdown-menu-item-content {
222
1478
  flex: 1;
223
1479
  min-width: 0;
224
1480
  }
225
1481
 
226
- .seams-dropdown-menu-item-label {
1482
+ [data-seams-root].seams-theme-provider .seams-dropdown-menu-item-label {
227
1483
  font-weight: 500;
228
1484
  color: var(--seams-colors-textPrimary);
229
1485
  font-size: 14px;
@@ -231,11 +1487,13 @@
231
1487
  margin: 0;
232
1488
  }
233
1489
 
234
- .seams-dropdown-menu-item.disabled .seams-dropdown-menu-item-label {
1490
+ [data-seams-root].seams-theme-provider
1491
+ button.seams-dropdown-menu-item.disabled
1492
+ .seams-dropdown-menu-item-label {
235
1493
  color: var(--seams-colors-textSecondary);
236
1494
  }
237
1495
 
238
- .seams-dropdown-menu-item-description {
1496
+ [data-seams-root].seams-theme-provider .seams-dropdown-menu-item-description {
239
1497
  font-size: 12px;
240
1498
  font-weight: 500;
241
1499
  color: var(--seams-colors-textSecondary);
@@ -243,11 +1501,13 @@
243
1501
  line-height: 1.5;
244
1502
  }
245
1503
 
246
- .seams-dropdown-menu-item.disabled .seams-dropdown-menu-item-description {
1504
+ [data-seams-root].seams-theme-provider
1505
+ button.seams-dropdown-menu-item.disabled
1506
+ .seams-dropdown-menu-item-description {
247
1507
  color: var(--seams-colors-textSecondary);
248
1508
  }
249
1509
 
250
- .seams-dropdown-menu-item.highlighted {
1510
+ [data-seams-root].seams-theme-provider button.seams-dropdown-menu-item.highlighted {
251
1511
  background: color-mix(in srgb, var(--seams-colors-focus), transparent 75%);
252
1512
  box-shadow:
253
1513
  0 0 0 1px color-mix(in srgb, var(--seams-colors-focus), transparent 45%),
@@ -255,36 +1515,40 @@
255
1515
  transform: translateX(0);
256
1516
  }
257
1517
 
258
- .seams-dropdown-menu-item.highlighted:hover {
1518
+ [data-seams-root].seams-theme-provider button.seams-dropdown-menu-item.highlighted:hover {
259
1519
  background: color-mix(in srgb, var(--seams-colors-focus), transparent 65%);
260
1520
  }
261
1521
 
262
1522
  /* A chosen item blinks once, highlight off then on, before its menu closes
263
1523
  (blinkMenuItem). No transition, so each phase lands on its own frame. */
264
- .seams-dropdown-menu-item[data-blink] {
1524
+ [data-seams-root].seams-theme-provider button.seams-dropdown-menu-item[data-blink] {
265
1525
  transition: none;
266
1526
  }
267
1527
 
268
- .seams-dropdown-menu-item[data-blink='off'],
269
- .seams-dropdown-menu-item[data-blink='off']:hover {
1528
+ [data-seams-root].seams-theme-provider button.seams-dropdown-menu-item[data-blink='off'],
1529
+ [data-seams-root].seams-theme-provider button.seams-dropdown-menu-item[data-blink='off']:hover {
270
1530
  background: transparent;
271
1531
  box-shadow: none;
272
1532
  }
273
1533
 
274
- .seams-dropdown-menu-item[data-blink='on'],
275
- .seams-dropdown-menu-item[data-blink='on']:hover {
1534
+ [data-seams-root].seams-theme-provider button.seams-dropdown-menu-item[data-blink='on'],
1535
+ [data-seams-root].seams-theme-provider button.seams-dropdown-menu-item[data-blink='on']:hover {
276
1536
  background: var(--seams-colors-hover);
277
1537
  }
278
1538
 
279
1539
  /* Menu item animation states (within ProfileDropdown) */
280
1540
 
281
- .seams-profile-dropdown-morphed[data-state='closed'] .seams-dropdown-menu-item {
1541
+ [data-seams-root].seams-theme-provider
1542
+ .seams-profile-dropdown-morphed[data-state='closed']
1543
+ button.seams-dropdown-menu-item {
282
1544
  opacity: 0;
283
1545
  transform: translateX(-1rem);
284
1546
  animation: none;
285
1547
  }
286
1548
 
287
- .seams-profile-dropdown-morphed[data-state='open'] .seams-dropdown-menu-item {
1549
+ [data-seams-root].seams-theme-provider
1550
+ .seams-profile-dropdown-morphed[data-state='open']
1551
+ button.seams-dropdown-menu-item {
288
1552
  opacity: 0;
289
1553
  transform: translateX(-1rem);
290
1554
  animation: seams-profile-menu-item-enter 240ms linear forwards;
@@ -323,15 +1587,15 @@
323
1587
  }
324
1588
  }
325
1589
 
326
- .seams-account-menu-group {
1590
+ [data-seams-root].seams-theme-provider .seams-account-menu-group {
327
1591
  margin-top: 16px;
328
1592
  }
329
- .seams-account-menu-group + .seams-account-menu-group {
1593
+ [data-seams-root].seams-theme-provider .seams-account-menu-group + .seams-account-menu-group {
330
1594
  border-top: 1px solid var(--seams-colors-borderPrimary);
331
1595
  padding-top: 12px;
332
1596
  margin-top: 10px;
333
1597
  }
334
- .seams-account-menu-group h3 {
1598
+ [data-seams-root].seams-theme-provider .seams-account-menu-group h3 {
335
1599
  font-size: 10px;
336
1600
  font-weight: 600;
337
1601
  letter-spacing: 1px;
@@ -339,10 +1603,12 @@
339
1603
  color: var(--seams-colors-textSecondary);
340
1604
  margin: 0 0 4px;
341
1605
  }
342
- .seams-profile-dropdown-menu {
1606
+ [data-seams-root].seams-theme-provider .seams-profile-dropdown-menu {
343
1607
  --seams-expander-surface: var(--seams-colors-surface2);
344
1608
  }
345
- .seams-profile-dropdown-menu .seams-dropdown-menu-item {
1609
+ [data-seams-root].seams-theme-provider
1610
+ .seams-profile-dropdown-menu
1611
+ button.seams-dropdown-menu-item {
346
1612
  position: relative;
347
1613
  isolation: isolate;
348
1614
  min-height: 40px;
@@ -359,37 +1625,53 @@
359
1625
  align-items: center;
360
1626
  cursor: pointer;
361
1627
  }
362
- .seams-profile-dropdown-menu .seams-dropdown-menu-item:disabled {
1628
+ [data-seams-root].seams-theme-provider
1629
+ .seams-profile-dropdown-menu
1630
+ button.seams-dropdown-menu-item:disabled {
363
1631
  color: var(--seams-colors-textSecondary);
364
1632
  opacity: 0.6;
365
1633
  cursor: default;
366
1634
  }
367
- .seams-profile-dropdown-menu .seams-dropdown-menu-item-icon {
1635
+ [data-seams-root].seams-theme-provider .seams-profile-dropdown-menu .seams-dropdown-menu-item-icon {
368
1636
  width: 22px;
369
1637
  height: 22px;
370
1638
  color: var(--seams-colors-textSecondary);
371
1639
  flex-shrink: 0;
372
1640
  }
373
- .seams-profile-dropdown-menu .seams-dropdown-menu-item-icon svg {
1641
+ [data-seams-root].seams-theme-provider
1642
+ .seams-profile-dropdown-menu
1643
+ .seams-dropdown-menu-item-icon
1644
+ svg {
374
1645
  width: 20px;
375
1646
  height: 20px;
376
1647
  }
377
- .seams-profile-dropdown-menu .seams-dropdown-menu-item-label {
1648
+ [data-seams-root].seams-theme-provider
1649
+ .seams-profile-dropdown-menu
1650
+ .seams-dropdown-menu-item-label {
378
1651
  font-size: 14px;
379
1652
  font-weight: 400;
380
1653
  }
381
- .seams-profile-dropdown-menu .seams-dropdown-menu-item-description {
1654
+ [data-seams-root].seams-theme-provider
1655
+ .seams-profile-dropdown-menu
1656
+ .seams-dropdown-menu-item-description {
382
1657
  display: none;
383
1658
  }
384
- .seams-profile-dropdown-menu .seams-dropdown-menu-item-content {
1659
+ [data-seams-root].seams-theme-provider
1660
+ .seams-profile-dropdown-menu
1661
+ .seams-dropdown-menu-item-content {
385
1662
  flex: 1;
386
1663
  }
387
- .seams-profile-dropdown-menu .seams-dropdown-menu-item > .seams-hover-arrow {
1664
+ [data-seams-root].seams-theme-provider
1665
+ .seams-profile-dropdown-menu
1666
+ button.seams-dropdown-menu-item
1667
+ > .seams-hover-arrow {
388
1668
  margin-inline-end: 4px;
389
1669
  }
390
1670
  /* The hover shade bleeds past the row edges so the icons and labels stay
391
1671
  aligned with the group headings. */
392
- .seams-profile-dropdown-menu .seams-dropdown-menu-item:not(.seams-lock-menu-item)::before {
1672
+ [data-seams-root].seams-theme-provider
1673
+ .seams-profile-dropdown-menu
1674
+ button.seams-dropdown-menu-item:not(button.seams-lock-menu-item)::before {
393
1675
  content: '';
394
1676
  position: absolute;
395
1677
  z-index: -1;
@@ -399,37 +1681,51 @@
399
1681
  opacity: 0;
400
1682
  transition: opacity 150ms ease;
401
1683
  }
402
- .seams-profile-dropdown-menu .seams-dropdown-menu-item:focus-visible::before {
1684
+ [data-seams-root].seams-theme-provider
1685
+ .seams-profile-dropdown-menu
1686
+ button.seams-dropdown-menu-item:focus-visible::before {
403
1687
  opacity: 1;
404
1688
  }
405
- .seams-profile-dropdown-menu .seams-lock-menu-item {
1689
+ [data-seams-root].seams-theme-provider .seams-profile-dropdown-menu button.seams-lock-menu-item {
406
1690
  border: 1px solid var(--seams-colors-borderPrimary);
407
1691
  border-radius: 11px;
408
1692
  justify-content: center;
409
1693
  margin-top: 12px;
410
1694
  }
411
- .seams-lock-menu-item .seams-dropdown-menu-item-content {
1695
+ [data-seams-root].seams-theme-provider
1696
+ button.seams-lock-menu-item
1697
+ .seams-dropdown-menu-item-content {
412
1698
  flex: 0 1 auto;
413
1699
  }
414
1700
  @media (hover: hover) {
415
- .seams-profile-dropdown-menu .seams-dropdown-menu-item:not(:disabled):hover {
1701
+ [data-seams-root].seams-theme-provider
1702
+ .seams-profile-dropdown-menu
1703
+ button.seams-dropdown-menu-item:not(:disabled):hover {
416
1704
  background: transparent;
417
1705
  }
418
- .seams-profile-dropdown-menu .seams-dropdown-menu-item:not(:disabled):hover::before {
1706
+ [data-seams-root].seams-theme-provider
1707
+ .seams-profile-dropdown-menu
1708
+ button.seams-dropdown-menu-item:not(:disabled):hover::before {
419
1709
  opacity: 1;
420
1710
  }
421
- .seams-profile-dropdown-menu .seams-lock-menu-item:not(:disabled):hover {
1711
+ [data-seams-root].seams-theme-provider
1712
+ .seams-profile-dropdown-menu
1713
+ button.seams-lock-menu-item:not(:disabled):hover {
422
1714
  background: var(--seams-colors-surface2);
423
1715
  }
424
1716
  }
425
1717
  @media (prefers-reduced-motion: reduce) {
426
- .seams-profile-dropdown-menu .seams-dropdown-menu-item::before {
1718
+ [data-seams-root].seams-theme-provider
1719
+ .seams-profile-dropdown-menu
1720
+ button.seams-dropdown-menu-item::before {
427
1721
  transition: none;
428
1722
  }
429
1723
  }
430
1724
 
431
1725
  @media (pointer: coarse) {
432
- .seams-profile-dropdown-menu .seams-dropdown-menu-item {
1726
+ [data-seams-root].seams-theme-provider
1727
+ .seams-profile-dropdown-menu
1728
+ button.seams-dropdown-menu-item {
433
1729
  min-height: 44px;
434
1730
  }
435
1731
  }
@@ -437,7 +1733,7 @@
437
1733
  /* HoverArrowIcon: a chevron that grows a shaft (">" to "->") when its
438
1734
  direct parent is hovered or focused from the keyboard. */
439
1735
 
440
- .seams-hover-arrow {
1736
+ [data-seams-root].seams-theme-provider .seams-hover-arrow {
441
1737
  flex: 0 0 auto;
442
1738
  fill: none;
443
1739
  stroke: currentColor;
@@ -445,7 +1741,13 @@
445
1741
  color: var(--seams-colors-textSecondary);
446
1742
  transition: color 140ms ease;
447
1743
  }
448
- .seams-hover-arrow-line {
1744
+ [data-seams-root].seams-theme-provider .seams-hover-arrow--left {
1745
+ transform: rotate(180deg);
1746
+ }
1747
+ [data-seams-root].seams-theme-provider .seams-hover-arrow--up-right {
1748
+ transform: rotate(-45deg);
1749
+ }
1750
+ [data-seams-root].seams-theme-provider .seams-hover-arrow-line {
449
1751
  opacity: 0;
450
1752
  filter: blur(2px);
451
1753
  transform: scaleX(0.45);
@@ -455,39 +1757,57 @@
455
1757
  filter 140ms cubic-bezier(0.215, 0.61, 0.355, 1),
456
1758
  transform 140ms cubic-bezier(0.215, 0.61, 0.355, 1);
457
1759
  }
458
- .seams-hover-arrow-tip {
1760
+ [data-seams-root].seams-theme-provider .seams-hover-arrow-tip {
459
1761
  transition: transform 140ms cubic-bezier(0.215, 0.61, 0.355, 1);
460
1762
  }
461
- :hover > .seams-hover-arrow,
462
- :focus-visible > .seams-hover-arrow {
1763
+ [data-seams-root].seams-theme-provider :focus-visible > .seams-hover-arrow {
463
1764
  color: var(--seams-colors-textPrimary);
464
1765
  }
465
- :hover > .seams-hover-arrow .seams-hover-arrow-line,
466
- :focus-visible > .seams-hover-arrow .seams-hover-arrow-line {
1766
+ [data-seams-root].seams-theme-provider :focus-visible > .seams-hover-arrow .seams-hover-arrow-line {
467
1767
  opacity: 1;
468
1768
  filter: blur(0);
469
1769
  transform: scaleX(1);
470
1770
  }
471
- :hover > .seams-hover-arrow .seams-hover-arrow-tip,
472
- :focus-visible > .seams-hover-arrow .seams-hover-arrow-tip {
1771
+ [data-seams-root].seams-theme-provider :focus-visible > .seams-hover-arrow .seams-hover-arrow-tip {
473
1772
  transform: translateX(3px);
474
1773
  }
1774
+ @media (hover: hover) and (pointer: fine) {
1775
+ [data-seams-root].seams-theme-provider
1776
+ :hover:not(:disabled):not([aria-disabled='true'])
1777
+ > .seams-hover-arrow {
1778
+ color: var(--seams-colors-textPrimary);
1779
+ }
1780
+ [data-seams-root].seams-theme-provider
1781
+ :hover:not(:disabled):not([aria-disabled='true'])
1782
+ > .seams-hover-arrow
1783
+ .seams-hover-arrow-line {
1784
+ opacity: 1;
1785
+ filter: blur(0);
1786
+ transform: scaleX(1);
1787
+ }
1788
+ [data-seams-root].seams-theme-provider
1789
+ :hover:not(:disabled):not([aria-disabled='true'])
1790
+ > .seams-hover-arrow
1791
+ .seams-hover-arrow-tip {
1792
+ transform: translateX(3px);
1793
+ }
1794
+ }
475
1795
  @media (prefers-reduced-motion: reduce) {
476
- .seams-hover-arrow,
477
- .seams-hover-arrow-line,
478
- .seams-hover-arrow-tip {
1796
+ [data-seams-root].seams-theme-provider .seams-hover-arrow,
1797
+ [data-seams-root].seams-theme-provider .seams-hover-arrow-line,
1798
+ [data-seams-root].seams-theme-provider .seams-hover-arrow-tip {
479
1799
  transition: none;
480
1800
  }
481
1801
  }
482
1802
 
483
1803
  /* TouchIcon specific styles and animations */
484
1804
 
485
- .seams-fingerprint-icon path {
1805
+ [data-seams-root].seams-theme-provider .seams-fingerprint-icon path {
486
1806
  /* Normalize path length so dash animations are simple */
487
1807
  stroke: currentColor;
488
1808
  }
489
1809
 
490
- .seams-fingerprint-icon.open path {
1810
+ [data-seams-root].seams-theme-provider .seams-fingerprint-icon.open path {
491
1811
  /* Draw the fingerprint when expanding/opening */
492
1812
  stroke-dasharray: 1;
493
1813
  stroke-dashoffset: 1;
@@ -495,7 +1815,7 @@
495
1815
  }
496
1816
 
497
1817
  /* Animate when closing the menu */
498
- .seams-fingerprint-icon.closed path {
1818
+ [data-seams-root].seams-theme-provider .seams-fingerprint-icon.closed path {
499
1819
  stroke-dasharray: 1;
500
1820
  stroke-dashoffset: 1;
501
1821
  animation: seams-fp-close 1.6s ease-out 0.1s both;
@@ -522,21 +1842,23 @@
522
1842
  /* Transaction settings: a review switch, then the review layout as cards
523
1843
  with a small drawing. The settings page and the account menu share these
524
1844
  rules; the menu adds a compact variant. */
525
- .seams-transaction-page {
1845
+ [data-seams-root].seams-theme-provider .seams-transaction-page {
526
1846
  display: grid;
527
1847
  gap: 40px;
528
1848
  }
529
- .seams-transaction-group {
1849
+ [data-seams-root].seams-theme-provider .seams-transaction-group {
530
1850
  min-width: 0;
531
1851
  margin: 0;
532
1852
  padding: 0;
533
1853
  border: 0;
534
1854
  }
535
- .seams-transaction-review-setting + .seams-transaction-group {
1855
+ [data-seams-root].seams-theme-provider
1856
+ .seams-transaction-review-setting
1857
+ + .seams-transaction-group {
536
1858
  padding-top: 40px;
537
1859
  border-top: 1px solid var(--seams-colors-borderPrimary);
538
1860
  }
539
- .seams-transaction-group legend {
1861
+ [data-seams-root].seams-theme-provider .seams-transaction-group legend {
540
1862
  /* A floated legend leaves the fieldset border, so the divider above a
541
1863
  group runs above its title, not through it. */
542
1864
  float: inline-start;
@@ -545,21 +1867,21 @@
545
1867
  font-size: 18px;
546
1868
  font-weight: 600;
547
1869
  }
548
- .seams-transaction-group legend + * {
1870
+ [data-seams-root].seams-theme-provider .seams-transaction-group legend + * {
549
1871
  clear: both;
550
1872
  }
551
- .seams-transaction-group > p {
1873
+ [data-seams-root].seams-theme-provider .seams-transaction-group > p {
552
1874
  margin: 6px 0 20px;
553
1875
  color: var(--seams-colors-textSecondary);
554
1876
  font-size: 14px;
555
1877
  line-height: 1.5;
556
1878
  }
557
- .seams-transaction-choices {
1879
+ [data-seams-root].seams-theme-provider .seams-transaction-choices {
558
1880
  display: grid;
559
1881
  grid-template-columns: repeat(3, minmax(0, 1fr));
560
1882
  gap: 16px;
561
1883
  }
562
- .seams-transaction-choice {
1884
+ [data-seams-root].seams-theme-provider button.seams-transaction-choice {
563
1885
  display: flex;
564
1886
  flex-direction: column;
565
1887
  gap: 14px;
@@ -575,27 +1897,27 @@
575
1897
  border-color 120ms ease,
576
1898
  background-color 120ms ease;
577
1899
  }
578
- .seams-transaction-choice-text {
1900
+ [data-seams-root].seams-theme-provider .seams-transaction-choice-text {
579
1901
  display: grid;
580
1902
  gap: 6px;
581
1903
  padding-inline: 4px;
582
1904
  }
583
- .seams-transaction-choice-head {
1905
+ [data-seams-root].seams-theme-provider .seams-transaction-choice-head {
584
1906
  display: flex;
585
1907
  align-items: center;
586
1908
  justify-content: space-between;
587
1909
  gap: 12px;
588
1910
  }
589
- .seams-transaction-choice strong {
1911
+ [data-seams-root].seams-theme-provider button.seams-transaction-choice strong {
590
1912
  font-size: 15px;
591
1913
  font-weight: 600;
592
1914
  }
593
- .seams-transaction-choice-description {
1915
+ [data-seams-root].seams-theme-provider .seams-transaction-choice-description {
594
1916
  color: var(--seams-colors-textSecondary);
595
1917
  font-size: 13px;
596
1918
  line-height: 1.5;
597
1919
  }
598
- .seams-transaction-choice-indicator {
1920
+ [data-seams-root].seams-theme-provider .seams-transaction-choice-indicator {
599
1921
  flex-shrink: 0;
600
1922
  width: 18px;
601
1923
  height: 18px;
@@ -603,21 +1925,24 @@
603
1925
  border: 1.5px solid var(--seams-colors-borderPrimary);
604
1926
  border-radius: 50%;
605
1927
  }
606
- .seams-transaction-choice[aria-pressed='true'] {
1928
+ [data-seams-root].seams-theme-provider button.seams-transaction-choice[aria-pressed='true'] {
607
1929
  border-color: var(--seams-colors-primary);
608
1930
  box-shadow: inset 0 0 0 1px var(--seams-colors-primary);
609
1931
  }
610
- .seams-transaction-choice[aria-pressed='true'] .seams-transaction-choice-indicator {
1932
+ [data-seams-root].seams-theme-provider
1933
+ button.seams-transaction-choice[aria-pressed='true']
1934
+ .seams-transaction-choice-indicator {
611
1935
  border: 5px solid var(--seams-colors-primary);
612
1936
  }
613
- .seams-transaction-choice:hover:not(:disabled):not([aria-pressed='true']) {
1937
+ [data-seams-root].seams-theme-provider
1938
+ button.seams-transaction-choice:hover:not(:disabled):not([aria-pressed='true']) {
614
1939
  background: var(--seams-colors-surface);
615
1940
  }
616
- .seams-transaction-choice:focus-visible {
1941
+ [data-seams-root].seams-theme-provider button.seams-transaction-choice:focus-visible {
617
1942
  outline: 2px solid var(--seams-colors-primary);
618
1943
  outline-offset: 4px;
619
1944
  }
620
- .seams-transaction-choice:disabled {
1945
+ [data-seams-root].seams-theme-provider button.seams-transaction-choice:disabled {
621
1946
  opacity: 0.5;
622
1947
  cursor: not-allowed;
623
1948
  }
@@ -625,22 +1950,22 @@
625
1950
  /* The switch row uses the card grid, so its edge lines up with the cards. It has its
626
1951
  own class: the transaction confirmer's review is .seams-transaction-review, and a
627
1952
  page that loads both must not lay that review out on this grid. */
628
- .seams-transaction-review-setting {
1953
+ [data-seams-root].seams-theme-provider .seams-transaction-review-setting {
629
1954
  display: grid;
630
1955
  grid-template-columns: repeat(3, minmax(0, 1fr));
631
1956
  gap: 10px 16px;
632
1957
  }
633
- .seams-transaction-review-setting > * {
1958
+ [data-seams-root].seams-theme-provider .seams-transaction-review-setting > * {
634
1959
  grid-column: span 2;
635
1960
  }
636
- .seams-transaction-review-setting > p {
1961
+ [data-seams-root].seams-theme-provider .seams-transaction-review-setting > p {
637
1962
  margin: 0;
638
1963
  padding-inline: 4px;
639
1964
  color: var(--seams-colors-textSecondary);
640
1965
  font-size: 13px;
641
1966
  line-height: 1.5;
642
1967
  }
643
- .seams-transaction-review-row {
1968
+ [data-seams-root].seams-theme-provider .seams-transaction-review-row {
644
1969
  display: flex;
645
1970
  align-items: center;
646
1971
  justify-content: space-between;
@@ -650,20 +1975,20 @@
650
1975
  border-radius: 16px;
651
1976
  background: var(--seams-colors-colorBackground);
652
1977
  }
653
- .seams-transaction-review-text {
1978
+ [data-seams-root].seams-theme-provider .seams-transaction-review-text {
654
1979
  display: grid;
655
1980
  gap: 6px;
656
1981
  }
657
- .seams-transaction-review-text strong {
1982
+ [data-seams-root].seams-theme-provider .seams-transaction-review-text strong {
658
1983
  font-size: 16px;
659
1984
  font-weight: 600;
660
1985
  }
661
- .seams-transaction-review-text > span {
1986
+ [data-seams-root].seams-theme-provider .seams-transaction-review-text > span {
662
1987
  color: var(--seams-colors-textSecondary);
663
1988
  font-size: 14px;
664
1989
  line-height: 1.5;
665
1990
  }
666
- .seams-transaction-switch {
1991
+ [data-seams-root].seams-theme-provider button.seams-transaction-switch {
667
1992
  position: relative;
668
1993
  flex-shrink: 0;
669
1994
  width: 44px;
@@ -675,7 +2000,7 @@
675
2000
  cursor: pointer;
676
2001
  transition: background-color 150ms ease;
677
2002
  }
678
- .seams-transaction-switch > span {
2003
+ [data-seams-root].seams-theme-provider button.seams-transaction-switch > span {
679
2004
  position: absolute;
680
2005
  inset-block-start: 3px;
681
2006
  inset-inline-start: 3px;
@@ -686,32 +2011,34 @@
686
2011
  box-shadow: 0 1px 3px rgb(0 0 0 / 0.25);
687
2012
  transition: transform 150ms ease;
688
2013
  }
689
- .seams-transaction-switch[aria-checked='true'] {
2014
+ [data-seams-root].seams-theme-provider button.seams-transaction-switch[aria-checked='true'] {
690
2015
  background: var(--seams-colors-primary);
691
2016
  }
692
- .seams-transaction-switch[aria-checked='true'] > span {
2017
+ [data-seams-root].seams-theme-provider button.seams-transaction-switch[aria-checked='true'] > span {
693
2018
  transform: translateX(18px);
694
2019
  }
695
- [dir='rtl'] .seams-transaction-switch[aria-checked='true'] > span {
2020
+ [data-seams-root].seams-theme-provider
2021
+ button.seams-transaction-switch[aria-checked='true']:dir(rtl)
2022
+ > span {
696
2023
  transform: translateX(-18px);
697
2024
  }
698
- .seams-transaction-switch:focus-visible {
2025
+ [data-seams-root].seams-theme-provider button.seams-transaction-switch:focus-visible {
699
2026
  outline: 2px solid var(--seams-colors-primary);
700
2027
  outline-offset: 3px;
701
2028
  }
702
- .seams-transaction-switch:disabled {
2029
+ [data-seams-root].seams-theme-provider button.seams-transaction-switch:disabled {
703
2030
  opacity: 0.5;
704
2031
  cursor: not-allowed;
705
2032
  }
706
2033
  @media (prefers-reduced-motion: reduce) {
707
- .seams-transaction-switch,
708
- .seams-transaction-switch > span {
2034
+ [data-seams-root].seams-theme-provider button.seams-transaction-switch,
2035
+ [data-seams-root].seams-theme-provider button.seams-transaction-switch > span {
709
2036
  transition: none;
710
2037
  }
711
2038
  }
712
2039
 
713
2040
  /* The preview draws a page with the review surface on top of it. */
714
- .seams-transaction-preview {
2041
+ [data-seams-root].seams-theme-provider .seams-transaction-preview {
715
2042
  position: relative;
716
2043
  display: block;
717
2044
  aspect-ratio: 16 / 9;
@@ -720,38 +2047,40 @@
720
2047
  background: var(--seams-colors-surface);
721
2048
  color: var(--seams-colors-textSecondary);
722
2049
  }
723
- .seams-transaction-choice[aria-pressed='true'] .seams-transaction-preview {
2050
+ [data-seams-root].seams-theme-provider
2051
+ button.seams-transaction-choice[aria-pressed='true']
2052
+ .seams-transaction-preview {
724
2053
  color: var(--seams-colors-textPrimary);
725
2054
  }
726
- .seams-tp-page {
2055
+ [data-seams-root].seams-theme-provider .seams-tp-page {
727
2056
  position: absolute;
728
2057
  inset: 14% 12%;
729
2058
  display: grid;
730
2059
  align-content: start;
731
2060
  gap: 8%;
732
2061
  }
733
- .seams-tp-page i,
734
- .seams-tp-panel i {
2062
+ [data-seams-root].seams-theme-provider .seams-tp-page i,
2063
+ [data-seams-root].seams-theme-provider .seams-tp-panel i {
735
2064
  display: block;
736
2065
  height: 6px;
737
2066
  border-radius: 3px;
738
2067
  background: currentColor;
739
2068
  opacity: 0.18;
740
2069
  }
741
- .seams-tp-page i:nth-child(1) {
2070
+ [data-seams-root].seams-theme-provider .seams-tp-page i:nth-child(1) {
742
2071
  width: 38%;
743
2072
  height: 8px;
744
2073
  opacity: 0.28;
745
2074
  }
746
- .seams-tp-page i:nth-child(3) {
2075
+ [data-seams-root].seams-theme-provider .seams-tp-page i:nth-child(3) {
747
2076
  width: 72%;
748
2077
  }
749
- .seams-tp-scrim {
2078
+ [data-seams-root].seams-theme-provider .seams-tp-scrim {
750
2079
  position: absolute;
751
2080
  inset: 0;
752
2081
  background: rgb(0 0 0 / 0.1);
753
2082
  }
754
- .seams-tp-panel {
2083
+ [data-seams-root].seams-theme-provider .seams-tp-panel {
755
2084
  position: absolute;
756
2085
  display: flex;
757
2086
  flex-direction: column;
@@ -762,11 +2091,11 @@
762
2091
  background: var(--seams-colors-colorBackground);
763
2092
  box-shadow: 0 6px 16px rgb(0 0 0 / 0.08);
764
2093
  }
765
- .seams-tp-panel i:nth-child(1) {
2094
+ [data-seams-root].seams-theme-provider .seams-tp-panel i:nth-child(1) {
766
2095
  width: 60%;
767
2096
  opacity: 0.32;
768
2097
  }
769
- .seams-tp-panel b {
2098
+ [data-seams-root].seams-theme-provider .seams-tp-panel b {
770
2099
  display: block;
771
2100
  align-self: flex-end;
772
2101
  width: 48%;
@@ -775,10 +2104,10 @@
775
2104
  border-radius: 4px;
776
2105
  background: var(--seams-colors-primary);
777
2106
  }
778
- [data-preview='modal'] .seams-tp-panel {
2107
+ [data-seams-root].seams-theme-provider [data-preview='modal'] .seams-tp-panel {
779
2108
  inset: 18% 26%;
780
2109
  }
781
- [data-preview='drawer'] .seams-tp-panel {
2110
+ [data-seams-root].seams-theme-provider [data-preview='drawer'] .seams-tp-panel {
782
2111
  inset-block: 0;
783
2112
  inset-inline: auto 0;
784
2113
  width: 40%;
@@ -789,44 +2118,49 @@
789
2118
  }
790
2119
 
791
2120
  @media (max-width: 600px) {
792
- [data-presentation='page'] .seams-transaction-review-setting > * {
2121
+ [data-seams-root].seams-theme-provider
2122
+ [data-presentation='page']
2123
+ .seams-transaction-review-setting
2124
+ > * {
793
2125
  grid-column: 1 / -1;
794
2126
  }
795
- [data-presentation='page'] .seams-transaction-review-row {
2127
+ [data-seams-root].seams-theme-provider [data-presentation='page'] .seams-transaction-review-row {
796
2128
  padding: 16px;
797
2129
  }
798
- [data-presentation='page'] .seams-transaction-choices {
2130
+ [data-seams-root].seams-theme-provider [data-presentation='page'] .seams-transaction-choices {
799
2131
  grid-template-columns: minmax(0, 1fr);
800
2132
  gap: 12px;
801
2133
  }
802
- [data-presentation='page'] .seams-transaction-choice {
2134
+ [data-seams-root].seams-theme-provider
2135
+ [data-presentation='page']
2136
+ button.seams-transaction-choice {
803
2137
  flex-direction: row;
804
2138
  align-items: center;
805
2139
  gap: 14px;
806
2140
  padding: 10px 14px 10px 10px;
807
2141
  }
808
- [data-presentation='page'] .seams-transaction-preview {
2142
+ [data-seams-root].seams-theme-provider [data-presentation='page'] .seams-transaction-preview {
809
2143
  flex-shrink: 0;
810
2144
  width: 104px;
811
2145
  }
812
- [data-presentation='page'] .seams-transaction-choice-text {
2146
+ [data-seams-root].seams-theme-provider [data-presentation='page'] .seams-transaction-choice-text {
813
2147
  flex: 1;
814
2148
  min-width: 0;
815
2149
  padding-inline: 0;
816
2150
  }
817
- [data-presentation='page'] .seams-tp-panel {
2151
+ [data-seams-root].seams-theme-provider [data-presentation='page'] .seams-tp-panel {
818
2152
  gap: 4px;
819
2153
  padding: 6px;
820
2154
  border-radius: 5px;
821
2155
  }
822
- [data-presentation='page'] .seams-tp-page i,
823
- [data-presentation='page'] .seams-tp-panel i {
2156
+ [data-seams-root].seams-theme-provider [data-presentation='page'] .seams-tp-page i,
2157
+ [data-seams-root].seams-theme-provider [data-presentation='page'] .seams-tp-panel i {
824
2158
  height: 4px;
825
2159
  }
826
- [data-presentation='page'] .seams-tp-page i:nth-child(1) {
2160
+ [data-seams-root].seams-theme-provider [data-presentation='page'] .seams-tp-page i:nth-child(1) {
827
2161
  height: 5px;
828
2162
  }
829
- [data-presentation='page'] .seams-tp-panel b {
2163
+ [data-seams-root].seams-theme-provider [data-presentation='page'] .seams-tp-panel b {
830
2164
  height: 6px;
831
2165
  border-radius: 2px;
832
2166
  }
@@ -834,42 +2168,50 @@
834
2168
 
835
2169
  /* The account menu is about 300px wide: three small cards per row, labels
836
2170
  only, and smaller drawings. */
837
- .seams-transaction-page[data-presentation='menu'] {
2171
+ [data-seams-root].seams-theme-provider .seams-transaction-page[data-presentation='menu'] {
838
2172
  gap: 16px;
839
2173
  padding-bottom: 4px;
840
2174
  }
841
- [data-presentation='menu'] .seams-transaction-review-setting + .seams-transaction-group {
2175
+ [data-seams-root].seams-theme-provider
2176
+ [data-presentation='menu']
2177
+ .seams-transaction-review-setting
2178
+ + .seams-transaction-group {
842
2179
  padding-top: 16px;
843
2180
  }
844
- [data-presentation='menu'] .seams-transaction-group legend {
2181
+ [data-seams-root].seams-theme-provider [data-presentation='menu'] .seams-transaction-group legend {
845
2182
  font-size: 14px;
846
2183
  }
847
- [data-presentation='menu'] .seams-transaction-group > p {
2184
+ [data-seams-root].seams-theme-provider [data-presentation='menu'] .seams-transaction-group > p {
848
2185
  margin: 2px 0 10px;
849
2186
  font-size: 12px;
850
2187
  line-height: 1.4;
851
2188
  }
852
- [data-presentation='menu'] .seams-transaction-choices {
2189
+ [data-seams-root].seams-theme-provider [data-presentation='menu'] .seams-transaction-choices {
853
2190
  gap: 8px;
854
2191
  }
855
- [data-presentation='menu'] .seams-transaction-choice {
2192
+ [data-seams-root].seams-theme-provider [data-presentation='menu'] button.seams-transaction-choice {
856
2193
  gap: 8px;
857
2194
  padding: 5px 5px 8px;
858
2195
  border-radius: 12px;
859
2196
  }
860
- [data-presentation='menu'] .seams-transaction-choice-text {
2197
+ [data-seams-root].seams-theme-provider [data-presentation='menu'] .seams-transaction-choice-text {
861
2198
  padding-inline: 3px;
862
2199
  }
863
- [data-presentation='menu'] .seams-transaction-choice {
2200
+ [data-seams-root].seams-theme-provider [data-presentation='menu'] button.seams-transaction-choice {
864
2201
  position: relative;
865
2202
  }
866
- [data-presentation='menu'] .seams-transaction-choice strong {
2203
+ [data-seams-root].seams-theme-provider
2204
+ [data-presentation='menu']
2205
+ button.seams-transaction-choice
2206
+ strong {
867
2207
  font-size: 12px;
868
2208
  font-weight: 500;
869
2209
  line-height: 1.3;
870
2210
  }
871
2211
  /* The dot sits on the drawing's corner, so a long label gets the full width. */
872
- [data-presentation='menu'] .seams-transaction-choice-indicator {
2212
+ [data-seams-root].seams-theme-provider
2213
+ [data-presentation='menu']
2214
+ .seams-transaction-choice-indicator {
873
2215
  position: absolute;
874
2216
  inset-block-start: 10px;
875
2217
  inset-inline-end: 10px;
@@ -877,55 +2219,75 @@
877
2219
  height: 14px;
878
2220
  background: var(--seams-colors-colorBackground);
879
2221
  }
880
- [data-presentation='menu'] .seams-transaction-choice[aria-pressed='true'] .seams-transaction-choice-indicator {
2222
+ [data-seams-root].seams-theme-provider
2223
+ [data-presentation='menu']
2224
+ button.seams-transaction-choice[aria-pressed='true']
2225
+ .seams-transaction-choice-indicator {
881
2226
  border-width: 4px;
882
2227
  }
883
- [data-presentation='menu'] .seams-transaction-preview {
2228
+ [data-seams-root].seams-theme-provider [data-presentation='menu'] .seams-transaction-preview {
884
2229
  border-radius: 8px;
885
2230
  }
886
- [data-presentation='menu'] .seams-tp-panel {
2231
+ [data-seams-root].seams-theme-provider [data-presentation='menu'] .seams-tp-panel {
887
2232
  gap: 3px;
888
2233
  padding: 5px;
889
2234
  border-radius: 4px;
890
2235
  }
891
- [data-presentation='menu'] .seams-tp-page i,
892
- [data-presentation='menu'] .seams-tp-panel i {
2236
+ [data-seams-root].seams-theme-provider [data-presentation='menu'] .seams-tp-page i,
2237
+ [data-seams-root].seams-theme-provider [data-presentation='menu'] .seams-tp-panel i {
893
2238
  height: 3px;
894
2239
  border-radius: 2px;
895
2240
  }
896
- [data-presentation='menu'] .seams-tp-page i:nth-child(1) {
2241
+ [data-seams-root].seams-theme-provider [data-presentation='menu'] .seams-tp-page i:nth-child(1) {
897
2242
  height: 4px;
898
2243
  }
899
- [data-presentation='menu'] .seams-tp-panel b {
2244
+ [data-seams-root].seams-theme-provider [data-presentation='menu'] .seams-tp-panel b {
900
2245
  height: 5px;
901
2246
  border-radius: 2px;
902
2247
  }
903
- [data-presentation='menu'] [data-preview='drawer'] .seams-tp-panel {
2248
+ [data-seams-root].seams-theme-provider
2249
+ [data-presentation='menu']
2250
+ [data-preview='drawer']
2251
+ .seams-tp-panel {
904
2252
  padding-top: 7px;
905
2253
  }
906
- [data-presentation='menu'] .seams-transaction-review-setting > * {
2254
+ [data-seams-root].seams-theme-provider
2255
+ [data-presentation='menu']
2256
+ .seams-transaction-review-setting
2257
+ > * {
907
2258
  grid-column: 1 / -1;
908
2259
  }
909
- [data-presentation='menu'] .seams-transaction-review-setting {
2260
+ [data-seams-root].seams-theme-provider
2261
+ [data-presentation='menu']
2262
+ .seams-transaction-review-setting {
910
2263
  gap: 8px;
911
2264
  }
912
- [data-presentation='menu'] .seams-transaction-review-row {
2265
+ [data-seams-root].seams-theme-provider [data-presentation='menu'] .seams-transaction-review-row {
913
2266
  gap: 14px;
914
2267
  padding: 14px;
915
2268
  border-radius: 12px;
916
2269
  }
917
- [data-presentation='menu'] .seams-transaction-review-text strong {
2270
+ [data-seams-root].seams-theme-provider
2271
+ [data-presentation='menu']
2272
+ .seams-transaction-review-text
2273
+ strong {
918
2274
  font-size: 14px;
919
2275
  }
920
- [data-presentation='menu'] .seams-transaction-review-text > span,
921
- [data-presentation='menu'] .seams-transaction-review-setting > p {
2276
+ [data-seams-root].seams-theme-provider
2277
+ [data-presentation='menu']
2278
+ .seams-transaction-review-text
2279
+ > span,
2280
+ [data-seams-root].seams-theme-provider
2281
+ [data-presentation='menu']
2282
+ .seams-transaction-review-setting
2283
+ > p {
922
2284
  font-size: 12px;
923
2285
  line-height: 1.4;
924
2286
  }
925
2287
 
926
2288
  /* UserAccountButton Component Styles */
927
2289
 
928
- .seams-user-account-button-root {
2290
+ [data-seams-root].seams-theme-provider .seams-user-account-button-root {
929
2291
  width: fit-content;
930
2292
  display: flex;
931
2293
  flex-direction: row;
@@ -933,7 +2295,7 @@
933
2295
  align-items: center;
934
2296
  }
935
2297
 
936
- .seams-user-account-button-trigger {
2298
+ [data-seams-root].seams-theme-provider .seams-user-account-button-trigger {
937
2299
  display: flex;
938
2300
  align-items: center;
939
2301
  gap: 0;
@@ -943,60 +2305,68 @@
943
2305
  cursor: pointer;
944
2306
  }
945
2307
 
946
- .seams-user-account-button-trigger .hide-username {
2308
+ [data-seams-root].seams-theme-provider .seams-user-account-button-trigger .hide-username {
947
2309
  padding: 4px;
948
2310
  }
949
2311
 
950
- .seams-user-account-button-trigger:hover {
2312
+ [data-seams-root].seams-theme-provider .seams-user-account-button-trigger:hover {
951
2313
  color: var(--seams-colors-textPrimary);
952
2314
  transition: color 0.1s ease;
953
2315
  }
954
2316
 
955
- .seams-user-account-button-trigger:hover svg {
2317
+ [data-seams-root].seams-theme-provider .seams-user-account-button-trigger:hover svg {
956
2318
  color: inherit;
957
2319
  }
958
2320
 
959
2321
  /* Profile Button Trigger States */
960
- .seams-user-account-button-trigger.closed .seams-user-account--user-content {
2322
+ [data-seams-root].seams-theme-provider
2323
+ .seams-user-account-button-trigger.closed
2324
+ .seams-user-account--user-content {
961
2325
  gap: 0px;
962
2326
  }
963
2327
 
964
- .seams-user-account-button-trigger.hide-username {
2328
+ [data-seams-root].seams-theme-provider .seams-user-account-button-trigger.hide-username {
965
2329
  padding: 4px;
966
2330
  }
967
2331
 
968
- .seams-user-account-button-trigger.open .seams-user-account--user-content {
2332
+ [data-seams-root].seams-theme-provider
2333
+ .seams-user-account-button-trigger.open
2334
+ .seams-user-account--user-content {
969
2335
  gap: 4px;
970
2336
  padding: 8px 12px 8px 8px;
971
2337
  width: 100%;
972
2338
  }
973
2339
 
974
2340
  /* Avatar States and CSS animations */
975
- .seams-user-account--avatar.shrunk {
2341
+ [data-seams-root].seams-theme-provider .seams-user-account--avatar.shrunk {
976
2342
  transform: scale(0.8);
977
2343
  }
978
2344
 
979
- .seams-user-account--avatar.hide-username {
2345
+ [data-seams-root].seams-theme-provider .seams-user-account--avatar.hide-username {
980
2346
  margin-right: 0px;
981
2347
  }
982
2348
 
983
- .seams-user-account--avatar.expanded {
2349
+ [data-seams-root].seams-theme-provider .seams-user-account--avatar.expanded {
984
2350
  transform: scale(1);
985
2351
  }
986
2352
 
987
- .seams-user-account--avatar.shrunk svg {
2353
+ [data-seams-root].seams-theme-provider .seams-user-account--avatar.shrunk svg {
988
2354
  transform: scale(1.1);
989
2355
  color: var(--seams-colors-textPrimary);
990
2356
  }
991
2357
 
992
- .seams-user-account--avatar.expanded svg {
2358
+ [data-seams-root].seams-theme-provider .seams-user-account--avatar.expanded svg {
993
2359
  transform: scale(1.1);
994
2360
  color: var(--seams-colors-textSecondary); /* same as other MenuItem svg icons */
995
2361
  }
996
2362
 
997
2363
  /* User Details States */
998
- .seams-user-account--user-details .seams-user-account--account-id.hidden,
999
- .seams-user-account--user-details .seams-user-account--email.hidden {
2364
+ [data-seams-root].seams-theme-provider
2365
+ .seams-user-account--user-details
2366
+ .seams-user-account--account-id.hidden,
2367
+ [data-seams-root].seams-theme-provider
2368
+ .seams-user-account--user-details
2369
+ .seams-user-account--email.hidden {
1000
2370
  position: absolute;
1001
2371
  opacity: 0;
1002
2372
  transform: scale(0.7);
@@ -1012,8 +2382,12 @@
1012
2382
  max-height 0s ease;
1013
2383
  }
1014
2384
 
1015
- .seams-user-account--user-details .seams-user-account--account-id.visible,
1016
- .seams-user-account--user-details .seams-user-account--email.visible {
2385
+ [data-seams-root].seams-theme-provider
2386
+ .seams-user-account--user-details
2387
+ .seams-user-account--account-id.visible,
2388
+ [data-seams-root].seams-theme-provider
2389
+ .seams-user-account--user-details
2390
+ .seams-user-account--email.visible {
1017
2391
  opacity: 1;
1018
2392
  display: block;
1019
2393
  transform: scale(1);
@@ -1027,22 +2401,28 @@
1027
2401
  }
1028
2402
 
1029
2403
  /* Username is always visible */
1030
- .seams-user-account--user-details .seams-user-account--username {
2404
+ [data-seams-root].seams-theme-provider
2405
+ .seams-user-account--user-details
2406
+ .seams-user-account--username {
1031
2407
  display: block;
1032
2408
  transition: margin-top 0.2s ease;
1033
2409
  }
1034
2410
 
1035
2411
  /* Username margin animation based on open/closed state */
1036
- .seams-user-account-button-trigger.closed .seams-user-account--username {
2412
+ [data-seams-root].seams-theme-provider
2413
+ .seams-user-account-button-trigger.closed
2414
+ .seams-user-account--username {
1037
2415
  margin-top: 0rem;
1038
2416
  }
1039
2417
 
1040
- .seams-user-account-button-trigger.open .seams-user-account--username {
2418
+ [data-seams-root].seams-theme-provider
2419
+ .seams-user-account-button-trigger.open
2420
+ .seams-user-account--username {
1041
2421
  margin-top: 0rem;
1042
2422
  }
1043
2423
 
1044
2424
  /* User details container is always visible to show username */
1045
- .seams-user-account--user-details {
2425
+ [data-seams-root].seams-theme-provider .seams-user-account--user-details {
1046
2426
  display: block;
1047
2427
  transform: translateY(0);
1048
2428
  transition: transform 100ms linear;
@@ -1051,14 +2431,14 @@
1051
2431
  min-width: 0;
1052
2432
  }
1053
2433
 
1054
- .seams-user-account--user-content {
2434
+ [data-seams-root].seams-theme-provider .seams-user-account--user-content {
1055
2435
  display: flex;
1056
2436
  align-items: center;
1057
2437
  gap: 12px;
1058
2438
  transition: gap 0.1s ease;
1059
2439
  }
1060
2440
 
1061
- .seams-user-account--avatar {
2441
+ [data-seams-root].seams-theme-provider .seams-user-account--avatar {
1062
2442
  width: 40px;
1063
2443
  height: 40px;
1064
2444
  margin-right: 4px;
@@ -1069,7 +2449,7 @@
1069
2449
  justify-content: center;
1070
2450
  }
1071
2451
 
1072
- .seams-user-account--username {
2452
+ [data-seams-root].seams-theme-provider .seams-user-account--username {
1073
2453
  font-weight: 500;
1074
2454
  color: var(--seams-colors-textPrimary);
1075
2455
  font-size: 14px;
@@ -1082,8 +2462,8 @@
1082
2462
  white-space: nowrap;
1083
2463
  }
1084
2464
 
1085
- .seams-user-account--account-id,
1086
- .seams-user-account--email {
2465
+ [data-seams-root].seams-theme-provider .seams-user-account--account-id,
2466
+ [data-seams-root].seams-theme-provider .seams-user-account--email {
1087
2467
  font-size: 12px;
1088
2468
  color: var(--seams-colors-textSecondary);
1089
2469
  margin: 0;
@@ -1098,11 +2478,11 @@
1098
2478
  transform 0s ease;
1099
2479
  }
1100
2480
 
1101
- .seams-user-account--email {
2481
+ [data-seams-root].seams-theme-provider .seams-user-account--email {
1102
2482
  color: var(--seams-colors-textMuted);
1103
2483
  }
1104
2484
 
1105
- .seams-profile-button-morphable {
2485
+ [data-seams-root].seams-theme-provider .seams-profile-button-morphable {
1106
2486
  box-sizing: border-box;
1107
2487
  position: relative;
1108
2488
  background: var(--seams-colors-colorBackground);
@@ -1117,7 +2497,10 @@
1117
2497
  width: fit-content;
1118
2498
  max-width: 100%;
1119
2499
  }
1120
- .seams-profile-button-morphable.open {
2500
+ [data-seams-root].seams-theme-provider .seams-profile-button-morphable * {
2501
+ box-sizing: border-box;
2502
+ }
2503
+ [data-seams-root].seams-theme-provider .seams-profile-button-morphable.open {
1121
2504
  width: 420px;
1122
2505
  overflow: hidden;
1123
2506
  /* The panel replaces the Settings button; a short fade keeps that from
@@ -1129,14 +2512,14 @@
1129
2512
  opacity: 0;
1130
2513
  }
1131
2514
  }
1132
- .seams-account-resize {
2515
+ [data-seams-root].seams-theme-provider .seams-account-resize {
1133
2516
  overflow: hidden;
1134
2517
  }
1135
- .seams-account-panel-content {
2518
+ [data-seams-root].seams-theme-provider .seams-account-panel-content {
1136
2519
  width: 100%;
1137
2520
  display: flow-root;
1138
2521
  }
1139
- .seams-account-origin {
2522
+ [data-seams-root].seams-theme-provider .seams-account-origin {
1140
2523
  display: flex;
1141
2524
  align-items: center;
1142
2525
  gap: 9px;
@@ -1144,12 +2527,12 @@
1144
2527
  font-size: 13px;
1145
2528
  color: var(--seams-colors-textSecondary);
1146
2529
  }
1147
- .seams-account-origin > span {
2530
+ [data-seams-root].seams-theme-provider .seams-account-origin > span {
1148
2531
  overflow: hidden;
1149
2532
  text-overflow: ellipsis;
1150
2533
  white-space: nowrap;
1151
2534
  }
1152
- .seams-account-origin > button {
2535
+ [data-seams-root].seams-theme-provider button.seams-account-close {
1153
2536
  margin-left: auto;
1154
2537
  background: none;
1155
2538
  border: 0;
@@ -1161,10 +2544,27 @@
1161
2544
  place-items: center;
1162
2545
  cursor: pointer;
1163
2546
  }
1164
- .seams-account-main {
2547
+ [data-seams-root].seams-theme-provider .seams-account-origin > svg {
2548
+ width: 14px;
2549
+ height: 14px;
2550
+ }
2551
+ [data-seams-root].seams-theme-provider button.seams-account-close > svg,
2552
+ [data-seams-root].seams-theme-provider button.seams-account-back > svg {
2553
+ width: 18px;
2554
+ height: 18px;
2555
+ fill: none;
2556
+ stroke: currentColor;
2557
+ }
2558
+ [data-seams-root].seams-theme-provider button.seams-account-close > svg {
2559
+ stroke-width: 1.5;
2560
+ }
2561
+ [data-seams-root].seams-theme-provider button.seams-account-back > svg {
2562
+ stroke-width: 1.75;
2563
+ }
2564
+ [data-seams-root].seams-theme-provider .seams-account-main {
1165
2565
  padding: 16px 20px;
1166
2566
  }
1167
- .seams-account-heading h2 {
2567
+ [data-seams-root].seams-theme-provider .seams-account-heading h2 {
1168
2568
  font: inherit;
1169
2569
  font-size: 24px;
1170
2570
  font-weight: 600;
@@ -1173,16 +2573,16 @@
1173
2573
  margin: 0;
1174
2574
  color: var(--seams-colors-textPrimary);
1175
2575
  }
1176
- .seams-account-heading {
2576
+ [data-seams-root].seams-theme-provider .seams-account-heading {
1177
2577
  display: flex;
1178
2578
  align-items: center;
1179
2579
  gap: 10px;
1180
2580
  margin-bottom: 10px;
1181
2581
  }
1182
- .seams-account-heading h2:focus {
2582
+ [data-seams-root].seams-theme-provider .seams-account-heading h2:focus {
1183
2583
  outline: none;
1184
2584
  }
1185
- .seams-account-back {
2585
+ [data-seams-root].seams-theme-provider button.seams-account-back {
1186
2586
  width: 24px;
1187
2587
  height: 30px;
1188
2588
  padding: 0;
@@ -1195,7 +2595,7 @@
1195
2595
  cursor: pointer;
1196
2596
  flex-shrink: 0;
1197
2597
  }
1198
- .seams-account-identity {
2598
+ [data-seams-root].seams-theme-provider .seams-account-identity {
1199
2599
  display: flex;
1200
2600
  align-items: center;
1201
2601
  gap: 12px;
@@ -1204,7 +2604,7 @@
1204
2604
  border-radius: 12px;
1205
2605
  background: var(--seams-colors-surface2);
1206
2606
  }
1207
- .seams-account-avatar {
2607
+ [data-seams-root].seams-theme-provider .seams-account-avatar {
1208
2608
  display: grid;
1209
2609
  place-items: center;
1210
2610
  width: 36px;
@@ -1218,20 +2618,20 @@
1218
2618
  color: var(--seams-colors-textSecondary);
1219
2619
  flex-shrink: 0;
1220
2620
  }
1221
- .seams-account-identity > div {
2621
+ [data-seams-root].seams-theme-provider .seams-account-identity > div {
1222
2622
  min-width: 0;
1223
2623
  overflow-wrap: anywhere;
1224
2624
  }
1225
- .seams-account-identity strong {
2625
+ [data-seams-root].seams-theme-provider .seams-account-identity strong {
1226
2626
  font-size: 15px;
1227
2627
  font-weight: 500;
1228
2628
  }
1229
- .seams-account-identity small {
2629
+ [data-seams-root].seams-theme-provider .seams-account-identity small {
1230
2630
  display: block;
1231
2631
  color: var(--seams-colors-textSecondary);
1232
2632
  margin-top: 4px;
1233
2633
  }
1234
- .seams-account-footer {
2634
+ [data-seams-root].seams-theme-provider .seams-account-footer {
1235
2635
  border-top: 1px solid color-mix(in srgb, var(--seams-colors-borderPrimary) 60%, transparent);
1236
2636
  display: flex;
1237
2637
  justify-content: center;
@@ -1243,18 +2643,20 @@
1243
2643
  line-height: 16px;
1244
2644
  letter-spacing: 0.01em;
1245
2645
  }
1246
- .seams-account-wordmark {
2646
+ [data-seams-root].seams-theme-provider .seams-account-wordmark {
1247
2647
  flex: none;
2648
+ fill: currentColor;
2649
+ stroke: none;
1248
2650
  width: 50px;
1249
2651
  height: 10px;
1250
2652
  }
1251
- .seams-account-description {
2653
+ [data-seams-root].seams-theme-provider .seams-account-description {
1252
2654
  font-size: 14px;
1253
2655
  line-height: 1.5;
1254
2656
  color: var(--seams-colors-textSecondary);
1255
2657
  margin: 0 0 16px;
1256
2658
  }
1257
- .seams-account-action {
2659
+ [data-seams-root].seams-theme-provider button.seams-account-action {
1258
2660
  display: flex;
1259
2661
  width: 100%;
1260
2662
  align-items: center;
@@ -1275,7 +2677,7 @@
1275
2677
  border-color 150ms ease,
1276
2678
  transform 120ms ease;
1277
2679
  }
1278
- .seams-account-action:hover:not(:disabled) {
2680
+ [data-seams-root].seams-theme-provider button.seams-account-action:hover:not(:disabled) {
1279
2681
  background: var(--seams-colors-surface2);
1280
2682
  border-color: color-mix(
1281
2683
  in srgb,
@@ -1283,15 +2685,15 @@
1283
2685
  var(--seams-colors-borderPrimary)
1284
2686
  );
1285
2687
  }
1286
- .seams-account-action:active:not(:disabled) {
2688
+ [data-seams-root].seams-theme-provider button.seams-account-action:active:not(:disabled) {
1287
2689
  transform: scale(0.98);
1288
2690
  }
1289
- .seams-account-action.primary {
2691
+ [data-seams-root].seams-theme-provider button.seams-account-action.primary {
1290
2692
  background: var(--seams-colors-textPrimary);
1291
2693
  color: var(--seams-colors-colorBackground);
1292
2694
  border-color: transparent;
1293
2695
  }
1294
- .seams-account-action.primary:hover:not(:disabled) {
2696
+ [data-seams-root].seams-theme-provider button.seams-account-action.primary:hover:not(:disabled) {
1295
2697
  background: color-mix(
1296
2698
  in srgb,
1297
2699
  var(--seams-colors-textPrimary) 84%,
@@ -1299,64 +2701,64 @@
1299
2701
  );
1300
2702
  border-color: transparent;
1301
2703
  }
1302
- .seams-account-action:disabled {
2704
+ [data-seams-root].seams-theme-provider button.seams-account-action:disabled {
1303
2705
  opacity: 0.5;
1304
2706
  cursor: default;
1305
2707
  }
1306
2708
  @media (prefers-reduced-motion: reduce) {
1307
- .seams-account-action {
2709
+ [data-seams-root].seams-theme-provider button.seams-account-action {
1308
2710
  transition: none;
1309
2711
  }
1310
2712
  }
1311
- .seams-account-note {
2713
+ [data-seams-root].seams-theme-provider .seams-account-note {
1312
2714
  color: var(--seams-colors-textSecondary);
1313
2715
  font-size: 12px;
1314
2716
  line-height: 1.5;
1315
2717
  margin: 10px 0 0;
1316
2718
  }
1317
- .seams-account-inset {
2719
+ [data-seams-root].seams-theme-provider .seams-account-inset {
1318
2720
  padding: 10px 12px;
1319
2721
  background: var(--seams-colors-surface2);
1320
2722
  border-radius: 12px;
1321
2723
  font-size: 13px;
1322
2724
  line-height: 1.5;
1323
2725
  }
1324
- .seams-account-detail-row {
2726
+ [data-seams-root].seams-theme-provider .seams-account-detail-row {
1325
2727
  display: flex;
1326
2728
  justify-content: space-between;
1327
2729
  gap: 12px;
1328
2730
  padding: 6px 0;
1329
2731
  }
1330
- .seams-account-detail-row dt {
2732
+ [data-seams-root].seams-theme-provider .seams-account-detail-row dt {
1331
2733
  color: var(--seams-colors-textSecondary);
1332
2734
  }
1333
- .seams-account-detail-row dd {
2735
+ [data-seams-root].seams-theme-provider .seams-account-detail-row dd {
1334
2736
  margin: 0;
1335
2737
  text-align: right;
1336
2738
  overflow-wrap: anywhere;
1337
2739
  }
1338
- .seams-account-device-hero {
2740
+ [data-seams-root].seams-theme-provider .seams-account-device-hero {
1339
2741
  text-align: center;
1340
2742
  padding: 8px 0 12px;
1341
2743
  }
1342
- .seams-account-device-hero .seams-account-avatar {
2744
+ [data-seams-root].seams-theme-provider .seams-account-device-hero .seams-account-avatar {
1343
2745
  width: 44px;
1344
2746
  height: 44px;
1345
2747
  border-radius: 12px;
1346
2748
  margin: 0 auto 8px;
1347
2749
  }
1348
- .seams-account-device-hero h3 {
2750
+ [data-seams-root].seams-theme-provider .seams-account-device-hero h3 {
1349
2751
  font-size: 24px;
1350
2752
  font-weight: 500;
1351
2753
  letter-spacing: -0.6px;
1352
2754
  margin: 0 0 6px;
1353
2755
  }
1354
- .seams-account-device-hero p {
2756
+ [data-seams-root].seams-theme-provider .seams-account-device-hero p {
1355
2757
  color: var(--seams-colors-textSecondary);
1356
2758
  font-size: 13px;
1357
2759
  margin: 0;
1358
2760
  }
1359
- .seams-account-method-button {
2761
+ [data-seams-root].seams-theme-provider button.seams-account-method-button {
1360
2762
  position: relative;
1361
2763
  isolation: isolate;
1362
2764
  display: flex;
@@ -1374,7 +2776,7 @@
1374
2776
  }
1375
2777
  /* The hover shade bleeds past the row edges so the content and the
1376
2778
  separators stay aligned with the rest of the screen. */
1377
- .seams-account-method-button::before {
2779
+ [data-seams-root].seams-theme-provider button.seams-account-method-button::before {
1378
2780
  content: '';
1379
2781
  position: absolute;
1380
2782
  z-index: -1;
@@ -1384,59 +2786,65 @@
1384
2786
  opacity: 0;
1385
2787
  transition: opacity 150ms ease;
1386
2788
  }
1387
- .seams-account-method-button:hover::before,
1388
- .seams-account-method-button:focus-visible::before {
2789
+ [data-seams-root].seams-theme-provider button.seams-account-method-button:hover::before,
2790
+ [data-seams-root].seams-theme-provider button.seams-account-method-button:focus-visible::before {
1389
2791
  opacity: 1;
1390
2792
  }
1391
- .seams-account-method-button .seams-account-avatar {
2793
+ [data-seams-root].seams-theme-provider button.seams-account-method-button .seams-account-avatar {
1392
2794
  transition: background-color 150ms ease;
1393
2795
  }
1394
- .seams-account-method-button:hover .seams-account-avatar,
1395
- .seams-account-method-button:focus-visible .seams-account-avatar {
2796
+ [data-seams-root].seams-theme-provider
2797
+ button.seams-account-method-button:hover
2798
+ .seams-account-avatar,
2799
+ [data-seams-root].seams-theme-provider
2800
+ button.seams-account-method-button:focus-visible
2801
+ .seams-account-avatar {
1396
2802
  background: var(--seams-colors-colorBackground);
1397
2803
  }
1398
- .seams-account-method-button > div {
2804
+ [data-seams-root].seams-theme-provider button.seams-account-method-button > div {
1399
2805
  flex: 1;
1400
2806
  }
1401
- .seams-account-method-button > .seams-hover-arrow {
2807
+ [data-seams-root].seams-theme-provider button.seams-account-method-button > .seams-hover-arrow {
1402
2808
  margin-inline-end: 2px;
1403
2809
  }
1404
- .seams-account-method-button strong {
2810
+ [data-seams-root].seams-theme-provider button.seams-account-method-button strong {
1405
2811
  font-size: 15px;
1406
2812
  font-weight: 500;
1407
2813
  }
1408
- .seams-account-method-button small {
2814
+ [data-seams-root].seams-theme-provider button.seams-account-method-button small {
1409
2815
  display: block;
1410
2816
  margin-top: 4px;
1411
2817
  color: var(--seams-colors-textSecondary);
1412
2818
  font-size: 12px;
1413
2819
  }
1414
2820
  @media (prefers-reduced-motion: reduce) {
1415
- .seams-account-method-button::before,
1416
- .seams-account-method-button .seams-account-avatar {
2821
+ [data-seams-root].seams-theme-provider button.seams-account-method-button::before,
2822
+ [data-seams-root].seams-theme-provider button.seams-account-method-button .seams-account-avatar {
1417
2823
  transition: none;
1418
2824
  }
1419
2825
  }
1420
- .seams-account-screen .seams-dropdown-accounts-root,
1421
- .seams-account-screen .seams-dropdown-export-keys-root {
2826
+ [data-seams-root].seams-theme-provider .seams-account-screen .seams-dropdown-accounts-root,
2827
+ [data-seams-root].seams-theme-provider .seams-account-screen .seams-dropdown-export-keys-root {
1422
2828
  border: 0;
1423
2829
  border-radius: 12px;
1424
2830
  }
1425
- .seams-account-screen .seams-linked-devices-modal-body {
2831
+ [data-seams-root].seams-theme-provider .seams-account-screen .seams-linked-devices-modal-body {
1426
2832
  max-height: none;
1427
2833
  overflow: visible;
1428
2834
  }
1429
- .seams-account-screen .seams-linked-devices-modal-list {
2835
+ [data-seams-root].seams-theme-provider .seams-account-screen .seams-linked-devices-modal-list {
1430
2836
  margin: 0;
1431
2837
  }
1432
- .seams-account-screen .seams-linked-devices-modal-item {
2838
+ [data-seams-root].seams-theme-provider .seams-account-screen .seams-linked-devices-modal-item {
1433
2839
  background: transparent;
1434
2840
  }
1435
- .seams-account-screen .seams-linked-devices-modal-item-icon {
2841
+ [data-seams-root].seams-theme-provider .seams-account-screen .seams-linked-devices-modal-item-icon {
1436
2842
  background: var(--seams-colors-surface2);
1437
2843
  border-radius: 10px;
1438
2844
  }
1439
- .seams-account-screen .qr-scanner-modal[data-presentation='embedded'] {
2845
+ [data-seams-root].seams-theme-provider
2846
+ .seams-account-screen
2847
+ .qr-scanner-modal[data-presentation='embedded'] {
1440
2848
  position: static;
1441
2849
  inset: auto;
1442
2850
  width: 100%;
@@ -1447,7 +2855,10 @@
1447
2855
  display: block;
1448
2856
  animation: none;
1449
2857
  }
1450
- .seams-account-screen .qr-scanner-modal[data-presentation='embedded'] .qr-scanner-panel {
2858
+ [data-seams-root].seams-theme-provider
2859
+ .seams-account-screen
2860
+ .qr-scanner-modal[data-presentation='embedded']
2861
+ .qr-scanner-panel {
1451
2862
  width: 100%;
1452
2863
  max-width: 100%;
1453
2864
  max-height: none;
@@ -1457,40 +2868,43 @@
1457
2868
  box-shadow: none;
1458
2869
  border-radius: 0;
1459
2870
  }
1460
- .seams-account-screen .qr-scanner-modal[data-presentation='embedded'] .qr-scanner-close {
2871
+ [data-seams-root].seams-theme-provider
2872
+ .seams-account-screen
2873
+ .qr-scanner-modal[data-presentation='embedded']
2874
+ button.qr-scanner-close {
1461
2875
  display: none;
1462
2876
  }
1463
- .seams-account-screen .qr-scanner-camera-container {
2877
+ [data-seams-root].seams-theme-provider .seams-account-screen .qr-scanner-camera-container {
1464
2878
  width: 100%;
1465
2879
  height: 208px;
1466
2880
  aspect-ratio: auto;
1467
2881
  border-radius: 15px;
1468
2882
  overflow: hidden;
1469
2883
  }
1470
- .seams-account-screen .qr-scanner-video {
2884
+ [data-seams-root].seams-theme-provider .seams-account-screen .qr-scanner-video {
1471
2885
  /* The base video is a fixed 400px; the menu's box is narrower, which cut the
1472
2886
  camera off on the right and moved it from under the scan frame. */
1473
2887
  width: 100%;
1474
2888
  height: 208px;
1475
2889
  object-fit: cover;
1476
2890
  }
1477
- .seams-account-screen .qr-scanner-instructions {
2891
+ [data-seams-root].seams-theme-provider .seams-account-screen .qr-scanner-instructions {
1478
2892
  color: var(--seams-colors-textSecondary);
1479
2893
  font-size: 12px;
1480
2894
  padding: 12px 0 0;
1481
2895
  text-align: center;
1482
2896
  }
1483
- .seams-account-screen .qr-scanner-overlay {
2897
+ [data-seams-root].seams-theme-provider .seams-account-screen .qr-scanner-overlay {
1484
2898
  animation: none;
1485
2899
  }
1486
- .seams-account-recovery-codes {
2900
+ [data-seams-root].seams-theme-provider .seams-account-recovery-codes {
1487
2901
  list-style: none;
1488
2902
  display: grid;
1489
2903
  gap: 8px;
1490
2904
  padding: 0;
1491
2905
  margin: 14px 0;
1492
2906
  }
1493
- .seams-account-recovery-codes li {
2907
+ [data-seams-root].seams-theme-provider .seams-account-recovery-codes li {
1494
2908
  display: flex;
1495
2909
  align-items: center;
1496
2910
  gap: 12px;
@@ -1498,116 +2912,133 @@
1498
2912
  border: 1px solid var(--seams-colors-borderPrimary);
1499
2913
  border-radius: 8px;
1500
2914
  }
1501
- .seams-account-recovery-codes li > span {
2915
+ [data-seams-root].seams-theme-provider .seams-account-recovery-codes li > span {
1502
2916
  color: var(--seams-colors-textSecondary);
1503
2917
  font-size: 11px;
1504
2918
  font-variant-numeric: tabular-nums;
1505
2919
  }
1506
- .seams-account-recovery-codes code {
2920
+ [data-seams-root].seams-theme-provider .seams-account-recovery-codes code {
1507
2921
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
1508
2922
  font-size: 14px;
1509
2923
  font-variant-numeric: tabular-nums;
1510
2924
  white-space: nowrap;
1511
2925
  }
1512
2926
  @media (prefers-reduced-motion: no-preference) {
1513
- .seams-account-resize {
2927
+ [data-seams-root].seams-theme-provider .seams-account-resize {
1514
2928
  transition: height 240ms cubic-bezier(0.23, 1, 0.32, 1);
1515
2929
  }
1516
2930
  }
1517
2931
  @media (max-width: 480px) {
1518
- .seams-account-main {
2932
+ [data-seams-root].seams-theme-provider .seams-account-main {
1519
2933
  padding-right: 20px;
1520
2934
  padding-left: 20px;
1521
2935
  }
1522
- .seams-account-origin {
2936
+ [data-seams-root].seams-theme-provider .seams-account-origin {
1523
2937
  padding-right: 20px;
1524
2938
  padding-left: 20px;
1525
2939
  }
1526
2940
  }
1527
- .seams-account-method-list-item {
2941
+ [data-seams-root].seams-theme-provider .seams-account-method-list-item {
1528
2942
  list-style: none;
1529
2943
  }
1530
2944
  /* Separators go between rows only; the footer rule closes the screen. */
1531
- .seams-account-method-list-item:last-child > .seams-account-method-button {
2945
+ [data-seams-root].seams-theme-provider
2946
+ .seams-account-method-list-item:last-child
2947
+ > button.seams-account-method-button {
1532
2948
  border-bottom: 0;
1533
2949
  }
1534
- .seams-account-screen ul {
2950
+ [data-seams-root].seams-theme-provider .seams-account-screen ul {
1535
2951
  padding-left: 0;
1536
2952
  }
1537
- .seams-account-error {
2953
+ [data-seams-root].seams-theme-provider .seams-account-error {
1538
2954
  color: var(--seams-colors-error, #ae3344);
1539
2955
  font-size: 13px;
1540
2956
  margin: 16px 0 0;
1541
2957
  }
1542
- .seams-account-screen {
2958
+ [data-seams-root].seams-theme-provider .seams-account-screen {
1543
2959
  --seams-expander-surface: var(--seams-colors-surface2);
1544
2960
  opacity: 1;
1545
2961
  transition: opacity 140ms ease;
1546
2962
  }
1547
2963
  @starting-style {
1548
- .seams-account-screen {
2964
+ [data-seams-root].seams-theme-provider .seams-account-screen {
1549
2965
  opacity: 0;
1550
2966
  }
1551
2967
  }
1552
- .seams-profile-button-morphable {
2968
+ [data-seams-root].seams-theme-provider .seams-profile-button-morphable {
1553
2969
  font-family: var(--seams-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
1554
2970
  }
1555
- .seams-account-screen [data-detail='true'] > .seams-linked-devices-modal-item-icon,
1556
- .seams-account-screen [data-detail='true'] .seams-linked-devices-modal-item-main,
1557
- .seams-account-screen [data-detail='true'] .seams-linked-devices-modal-item-detail {
2971
+ [data-seams-root].seams-theme-provider
2972
+ .seams-account-screen
2973
+ [data-detail='true']
2974
+ > .seams-linked-devices-modal-item-icon,
2975
+ [data-seams-root].seams-theme-provider
2976
+ .seams-account-screen
2977
+ [data-detail='true']
2978
+ .seams-linked-devices-modal-item-main,
2979
+ [data-seams-root].seams-theme-provider
2980
+ .seams-account-screen
2981
+ [data-detail='true']
2982
+ .seams-linked-devices-modal-item-detail {
1558
2983
  display: none;
1559
2984
  }
1560
- .seams-profile-dropdown-menu .seams-dropdown-menu-item {
2985
+ [data-seams-root].seams-theme-provider
2986
+ .seams-profile-dropdown-menu
2987
+ button.seams-dropdown-menu-item {
1561
2988
  transform: none;
1562
2989
  }
1563
- .seams-account-identity:focus {
2990
+ [data-seams-root].seams-theme-provider .seams-account-identity:focus {
1564
2991
  outline: none;
1565
2992
  }
1566
- .seams-account-screen .seams-transaction-page {
2993
+ [data-seams-root].seams-theme-provider .seams-account-screen .seams-transaction-page {
1567
2994
  margin-top: 14px;
1568
2995
  }
1569
2996
 
1570
- .seams-account-method-tiles {
2997
+ [data-seams-root].seams-theme-provider .seams-account-method-tiles {
1571
2998
  list-style: none;
1572
2999
  padding: 0;
1573
3000
  margin: 16px 0 0;
1574
3001
  display: grid;
1575
3002
  gap: 8px;
1576
3003
  }
1577
- .seams-account-method-tiles .seams-linked-devices-modal-item {
3004
+ [data-seams-root].seams-theme-provider
3005
+ .seams-account-method-tiles
3006
+ .seams-linked-devices-modal-item {
1578
3007
  border: 1px solid var(--seams-colors-borderPrimary);
1579
3008
  border-radius: 12px;
1580
3009
  padding: 10px;
1581
3010
  }
1582
3011
 
1583
- .seams-account-screen .seams-dropdown-toggle-tx-settings-content {
3012
+ [data-seams-root].seams-theme-provider
3013
+ .seams-account-screen
3014
+ .seams-dropdown-toggle-tx-settings-content {
1584
3015
  padding: 8px 0;
1585
3016
  }
1586
3017
  @media (pointer: coarse) {
1587
- .seams-account-action {
3018
+ [data-seams-root].seams-theme-provider button.seams-account-action {
1588
3019
  min-height: 44px;
1589
3020
  }
1590
3021
  }
1591
3022
 
1592
- .seams-recovery-code-actions {
3023
+ [data-seams-root].seams-theme-provider .seams-recovery-code-actions {
1593
3024
  display: grid;
1594
3025
  grid-template-columns: repeat(2, minmax(0, 1fr));
1595
3026
  gap: 8px;
1596
3027
  }
1597
- .seams-recovery-code-actions .seams-account-action {
3028
+ [data-seams-root].seams-theme-provider .seams-recovery-code-actions button.seams-account-action {
1598
3029
  margin-top: 0;
1599
3030
  }
1600
- .seams-recovery-code-action-status {
3031
+ [data-seams-root].seams-theme-provider .seams-recovery-code-action-status {
1601
3032
  margin: 6px 0 0;
1602
3033
  font-size: 12px;
1603
3034
  color: var(--seams-colors-textSecondary);
1604
3035
  }
1605
3036
 
1606
- .seams-recovery-code-action-status:empty {
3037
+ [data-seams-root].seams-theme-provider .seams-recovery-code-action-status:empty {
1607
3038
  margin: 0;
1608
3039
  }
1609
3040
 
1610
- .seams-account-recovery-acknowledgement {
3041
+ [data-seams-root].seams-theme-provider .seams-account-recovery-acknowledgement {
1611
3042
  display: flex;
1612
3043
  align-items: center;
1613
3044
  gap: 10px;
@@ -1619,7 +3050,7 @@
1619
3050
  line-height: 1.45;
1620
3051
  cursor: pointer;
1621
3052
  }
1622
- .seams-account-recovery-acknowledgement input {
3053
+ [data-seams-root].seams-theme-provider .seams-account-recovery-acknowledgement input {
1623
3054
  width: 16px;
1624
3055
  height: 16px;
1625
3056
  margin: 0;
@@ -1627,16 +3058,52 @@
1627
3058
  accent-color: var(--seams-colors-textPrimary);
1628
3059
  }
1629
3060
 
1630
- .seams-settings-page {
3061
+ [data-seams-root].seams-theme-provider dialog[data-seams-root].seams-account-modal {
3062
+ display: none;
3063
+ position: fixed;
3064
+ inset: 0;
3065
+ box-sizing: border-box;
3066
+ width: min(420px, calc(100vw - 32px));
3067
+ height: fit-content;
3068
+ min-width: 0;
3069
+ min-height: 0;
3070
+ max-width: calc(100vw - 32px);
3071
+ max-height: calc(100dvh - 32px);
3072
+ margin: auto;
3073
+ padding: 0;
3074
+ border: 0;
3075
+ border-radius: 27px;
3076
+ outline: none;
3077
+ overflow: auto;
3078
+ overscroll-behavior: contain;
3079
+ background: transparent;
3080
+ color: var(--seams-colors-textPrimary);
3081
+ box-shadow: none;
3082
+ }
3083
+ [data-seams-root].seams-theme-provider dialog[data-seams-root].seams-account-modal[open] {
3084
+ display: block;
3085
+ }
3086
+ [data-seams-root].seams-theme-provider dialog[data-seams-root].seams-account-modal::backdrop {
3087
+ background: rgb(0 0 0 / 0.26);
3088
+ }
3089
+ [data-seams-root].seams-theme-provider .seams-account-modal .seams-profile-button-morphable.open {
3090
+ width: 100%;
3091
+ }
3092
+ html:has(dialog[data-seams-root].seams-account-modal[open]) {
3093
+ overflow: hidden;
3094
+ scrollbar-gutter: stable;
3095
+ }
3096
+
3097
+ [data-seams-root].seams-theme-provider .seams-settings-page {
1631
3098
  min-height: 100dvh;
1632
3099
  color: var(--seams-colors-textPrimary);
1633
3100
  background: var(--seams-colors-colorBackground);
1634
3101
  font-family: var(--seams-fonts-sans, system-ui, sans-serif);
1635
3102
  }
1636
- .seams-settings-page * {
3103
+ [data-seams-root].seams-theme-provider .seams-settings-page * {
1637
3104
  box-sizing: border-box;
1638
3105
  }
1639
- .seams-settings-header {
3106
+ [data-seams-root].seams-theme-provider .seams-settings-header {
1640
3107
  display: flex;
1641
3108
  align-items: center;
1642
3109
  gap: 24px;
@@ -1644,17 +3111,19 @@
1644
3111
  padding: 20px 36px;
1645
3112
  border-bottom: 1px solid var(--seams-colors-borderPrimary);
1646
3113
  }
1647
- .seams-settings-wordmark {
3114
+ [data-seams-root].seams-theme-provider .seams-settings-wordmark {
3115
+ fill: currentColor;
3116
+ stroke: none;
1648
3117
  width: 108px;
1649
3118
  height: auto;
1650
3119
  display: block;
1651
3120
  }
1652
- .seams-settings-header > span {
3121
+ [data-seams-root].seams-theme-provider .seams-settings-header > span {
1653
3122
  padding-inline-start: 24px;
1654
3123
  border-inline-start: 1px solid var(--seams-colors-borderPrimary);
1655
3124
  color: var(--seams-colors-textSecondary);
1656
3125
  }
1657
- .seams-settings-theme-toggle {
3126
+ [data-seams-root].seams-theme-provider button.seams-settings-theme-toggle {
1658
3127
  display: inline-flex;
1659
3128
  align-items: center;
1660
3129
  justify-content: center;
@@ -1670,54 +3139,54 @@
1670
3139
  font: inherit;
1671
3140
  cursor: pointer;
1672
3141
  }
1673
- .seams-settings-theme-toggle:hover {
3142
+ [data-seams-root].seams-theme-provider button.seams-settings-theme-toggle:hover {
1674
3143
  background: var(--seams-colors-surface2);
1675
3144
  }
1676
- .seams-settings-theme-toggle svg {
3145
+ [data-seams-root].seams-theme-provider button.seams-settings-theme-toggle svg {
1677
3146
  flex-shrink: 0;
1678
3147
  }
1679
3148
  @media (max-width: 480px) {
1680
- .seams-settings-theme-toggle > span {
3149
+ [data-seams-root].seams-theme-provider button.seams-settings-theme-toggle > span {
1681
3150
  display: none;
1682
3151
  }
1683
3152
  }
1684
- .seams-settings-shell {
3153
+ [data-seams-root].seams-theme-provider .seams-settings-shell {
1685
3154
  display: grid;
1686
3155
  grid-template-columns: 320px minmax(0, 1fr);
1687
3156
  min-height: calc(100dvh - 80px);
1688
3157
  }
1689
- .seams-settings-sidebar {
3158
+ [data-seams-root].seams-theme-provider .seams-settings-sidebar {
1690
3159
  padding: 28px 18px 20px;
1691
3160
  border-inline-end: 1px solid var(--seams-colors-borderPrimary);
1692
3161
  }
1693
- .seams-settings-identity {
3162
+ [data-seams-root].seams-theme-provider .seams-settings-identity {
1694
3163
  display: flex;
1695
3164
  align-items: center;
1696
3165
  gap: 14px;
1697
3166
  padding: 0 14px 28px;
1698
3167
  overflow-wrap: anywhere;
1699
3168
  }
1700
- .seams-settings-identity > svg {
3169
+ [data-seams-root].seams-theme-provider .seams-settings-identity > svg {
1701
3170
  width: 28px;
1702
3171
  height: 28px;
1703
3172
  flex-shrink: 0;
1704
3173
  }
1705
- .seams-settings-identity strong {
3174
+ [data-seams-root].seams-theme-provider .seams-settings-identity strong {
1706
3175
  display: block;
1707
3176
  font-size: 14px;
1708
3177
  font-weight: 500;
1709
3178
  }
1710
- .seams-settings-identity small {
3179
+ [data-seams-root].seams-theme-provider .seams-settings-identity small {
1711
3180
  display: block;
1712
3181
  margin-top: 4px;
1713
3182
  color: var(--seams-colors-textSecondary);
1714
3183
  }
1715
- .seams-settings-navigation {
3184
+ [data-seams-root].seams-theme-provider .seams-settings-navigation {
1716
3185
  display: flex;
1717
3186
  flex-direction: column;
1718
3187
  gap: 6px;
1719
3188
  }
1720
- .seams-settings-navigation button {
3189
+ [data-seams-root].seams-theme-provider .seams-settings-navigation button {
1721
3190
  width: 100%;
1722
3191
  display: flex;
1723
3192
  align-items: center;
@@ -1732,84 +3201,84 @@
1732
3201
  font: inherit;
1733
3202
  cursor: pointer;
1734
3203
  }
1735
- .seams-settings-navigation button:hover {
3204
+ [data-seams-root].seams-theme-provider .seams-settings-navigation button:hover {
1736
3205
  background: var(--seams-colors-surface);
1737
3206
  }
1738
- .seams-settings-navigation button[aria-current='page'] {
3207
+ [data-seams-root].seams-theme-provider .seams-settings-navigation button[aria-current='page'] {
1739
3208
  background: var(--seams-colors-surface2);
1740
3209
  }
1741
3210
  /* A row chosen from the open mobile list blinks once, highlight off then on,
1742
3211
  before the list closes (blinkMenuItem). */
1743
- .seams-settings-navigation button[data-blink='off'] {
3212
+ [data-seams-root].seams-theme-provider .seams-settings-navigation button[data-blink='off'] {
1744
3213
  background: transparent;
1745
3214
  }
1746
- .seams-settings-navigation button[data-blink='on'] {
3215
+ [data-seams-root].seams-theme-provider .seams-settings-navigation button[data-blink='on'] {
1747
3216
  background: var(--seams-colors-surface);
1748
3217
  }
1749
- .seams-settings-theme-toggle:focus-visible,
1750
- .seams-settings-navigation button:focus-visible,
1751
- .seams-settings-action:focus-visible,
1752
- .seams-settings-mobile-toggle:focus-visible {
3218
+ [data-seams-root].seams-theme-provider button.seams-settings-theme-toggle:focus-visible,
3219
+ [data-seams-root].seams-theme-provider .seams-settings-navigation button:focus-visible,
3220
+ [data-seams-root].seams-theme-provider button.seams-settings-action:focus-visible,
3221
+ [data-seams-root].seams-theme-provider button.seams-settings-mobile-toggle:focus-visible {
1753
3222
  outline: 2px solid var(--seams-colors-textPrimary);
1754
3223
  outline-offset: 2px;
1755
3224
  }
1756
- .seams-settings-nav-icon {
3225
+ [data-seams-root].seams-theme-provider .seams-settings-nav-icon {
1757
3226
  display: flex;
1758
3227
  flex-shrink: 0;
1759
3228
  color: var(--seams-colors-textSecondary);
1760
3229
  }
1761
- .seams-settings-nav-icon svg {
3230
+ [data-seams-root].seams-theme-provider .seams-settings-nav-icon svg {
1762
3231
  width: 22px;
1763
3232
  height: 22px;
1764
3233
  }
1765
- .seams-settings-navigation strong {
3234
+ [data-seams-root].seams-theme-provider .seams-settings-navigation strong {
1766
3235
  display: block;
1767
3236
  font-size: 14px;
1768
3237
  font-weight: 500;
1769
3238
  }
1770
- .seams-settings-navigation small {
3239
+ [data-seams-root].seams-theme-provider .seams-settings-navigation small {
1771
3240
  display: block;
1772
3241
  margin-top: 4px;
1773
3242
  font-size: 12px;
1774
3243
  color: var(--seams-colors-textSecondary);
1775
3244
  }
1776
- .seams-settings-lock {
3245
+ [data-seams-root].seams-theme-provider .seams-settings-lock {
1777
3246
  margin-top: 24px;
1778
3247
  padding-top: 12px;
1779
3248
  border-top: 1px solid var(--seams-colors-borderPrimary);
1780
3249
  }
1781
- .seams-settings-main {
3250
+ [data-seams-root].seams-theme-provider .seams-settings-main {
1782
3251
  display: flex;
1783
3252
  flex-direction: column;
1784
3253
  min-width: 0;
1785
3254
  padding: 38px clamp(24px, 4vw, 64px);
1786
3255
  }
1787
- .seams-settings-breadcrumb {
3256
+ [data-seams-root].seams-theme-provider .seams-settings-breadcrumb {
1788
3257
  margin: 0 0 32px;
1789
3258
  color: var(--seams-colors-textSecondary);
1790
3259
  font-size: 13px;
1791
3260
  }
1792
- .seams-settings-main h1 {
3261
+ [data-seams-root].seams-theme-provider .seams-settings-main h1 {
1793
3262
  margin: 0 0 12px;
1794
3263
  font-size: clamp(24px, 3vw, 32px);
1795
3264
  font-weight: 500;
1796
3265
  letter-spacing: -0.035em;
1797
3266
  }
1798
- .seams-settings-description {
3267
+ [data-seams-root].seams-theme-provider .seams-settings-description {
1799
3268
  margin: 0 0 32px;
1800
3269
  color: var(--seams-colors-textSecondary);
1801
3270
  }
1802
- .seams-settings-content {
3271
+ [data-seams-root].seams-theme-provider .seams-settings-content {
1803
3272
  width: 100%;
1804
3273
  max-width: 800px;
1805
3274
  }
1806
- .seams-settings-main footer {
3275
+ [data-seams-root].seams-theme-provider .seams-settings-main footer {
1807
3276
  margin-top: auto;
1808
3277
  padding-top: 64px;
1809
3278
  font-size: 12px;
1810
3279
  color: var(--seams-colors-textSecondary);
1811
3280
  }
1812
- .seams-settings-action {
3281
+ [data-seams-root].seams-theme-provider button.seams-settings-action {
1813
3282
  display: inline-flex;
1814
3283
  align-items: center;
1815
3284
  justify-content: center;
@@ -1822,40 +3291,40 @@
1822
3291
  font: inherit;
1823
3292
  cursor: pointer;
1824
3293
  }
1825
- .seams-settings-action:disabled {
3294
+ [data-seams-root].seams-theme-provider button.seams-settings-action:disabled {
1826
3295
  opacity: 0.55;
1827
3296
  cursor: default;
1828
3297
  }
1829
- .seams-settings-mobile-toggle {
3298
+ [data-seams-root].seams-theme-provider button.seams-settings-mobile-toggle {
1830
3299
  display: none;
1831
3300
  }
1832
- .seams-settings-sign-in {
3301
+ [data-seams-root].seams-theme-provider .seams-settings-sign-in {
1833
3302
  max-width: 520px;
1834
3303
  margin: 64px auto;
1835
3304
  padding: 24px;
1836
3305
  }
1837
- .seams-settings-content .seams-dropdown-accounts-root,
1838
- .seams-settings-content .seams-dropdown-export-keys-root {
3306
+ [data-seams-root].seams-theme-provider .seams-settings-content .seams-dropdown-accounts-root,
3307
+ [data-seams-root].seams-theme-provider .seams-settings-content .seams-dropdown-export-keys-root {
1839
3308
  margin: 0;
1840
3309
  border: 1px solid var(--seams-colors-borderPrimary);
1841
3310
  border-radius: 16px;
1842
3311
  overflow: hidden;
1843
3312
  }
1844
3313
  @media (max-width: 760px) {
1845
- .seams-settings-header {
3314
+ [data-seams-root].seams-theme-provider .seams-settings-header {
1846
3315
  padding: 20px 24px;
1847
3316
  }
1848
- .seams-settings-shell {
3317
+ [data-seams-root].seams-theme-provider .seams-settings-shell {
1849
3318
  display: block;
1850
3319
  }
1851
- .seams-settings-sidebar {
3320
+ [data-seams-root].seams-theme-provider .seams-settings-sidebar {
1852
3321
  border-inline-end: 0;
1853
3322
  border-bottom: 1px solid var(--seams-colors-borderPrimary);
1854
3323
  }
1855
- .seams-settings-identity {
3324
+ [data-seams-root].seams-theme-provider .seams-settings-identity {
1856
3325
  padding-bottom: 18px;
1857
3326
  }
1858
- .seams-settings-mobile-toggle {
3327
+ [data-seams-root].seams-theme-provider button.seams-settings-mobile-toggle {
1859
3328
  display: block;
1860
3329
  width: 100%;
1861
3330
  min-height: 44px;
@@ -1867,36 +3336,44 @@
1867
3336
  text-align: start;
1868
3337
  padding: 12px 14px;
1869
3338
  }
1870
- .seams-settings-navigation {
3339
+ [data-seams-root].seams-theme-provider .seams-settings-navigation {
1871
3340
  margin-top: 12px;
1872
3341
  }
1873
- .seams-settings-navigation[data-expanded='false'] {
3342
+ [data-seams-root].seams-theme-provider .seams-settings-navigation[data-expanded='false'] {
1874
3343
  display: none;
1875
3344
  }
1876
- .seams-settings-main {
3345
+ [data-seams-root].seams-theme-provider .seams-settings-main {
1877
3346
  padding: 28px 24px;
1878
3347
  }
1879
3348
  }
1880
3349
 
1881
- .seams-settings-content .seams-dropdown-accounts-root[data-presentation='page'],
1882
- .seams-settings-content .seams-dropdown-export-keys-root[data-presentation='page'] {
3350
+ [data-seams-root].seams-theme-provider
3351
+ .seams-settings-content
3352
+ .seams-dropdown-accounts-root[data-presentation='page'],
3353
+ [data-seams-root].seams-theme-provider
3354
+ .seams-settings-content
3355
+ .seams-dropdown-export-keys-root[data-presentation='page'] {
1883
3356
  display: block;
1884
3357
  border: 0;
1885
3358
  border-radius: 0;
1886
3359
  background: transparent;
1887
3360
  overflow: visible;
1888
3361
  }
1889
- [data-presentation='page'] > .seams-dropdown-accounts-clip,
1890
- [data-presentation='page'] > .seams-dropdown-export-keys-clip {
3362
+ [data-seams-root].seams-theme-provider [data-presentation='page'] > .seams-dropdown-accounts-clip,
3363
+ [data-seams-root].seams-theme-provider
3364
+ [data-presentation='page']
3365
+ > .seams-dropdown-export-keys-clip {
1891
3366
  overflow: visible;
1892
3367
  }
1893
- [data-presentation='page'] .seams-dropdown-accounts-content,
1894
- [data-presentation='page'] .seams-dropdown-export-keys-content {
3368
+ [data-seams-root].seams-theme-provider [data-presentation='page'] .seams-dropdown-accounts-content,
3369
+ [data-seams-root].seams-theme-provider
3370
+ [data-presentation='page']
3371
+ .seams-dropdown-export-keys-content {
1895
3372
  padding: 0;
1896
3373
  gap: 16px;
1897
3374
  transition: none;
1898
3375
  }
1899
- [data-presentation='page'] .seams-accounts-row {
3376
+ [data-seams-root].seams-theme-provider [data-presentation='page'] a.seams-accounts-row {
1900
3377
  display: grid;
1901
3378
  grid-template-columns: minmax(0, 1fr) auto 20px;
1902
3379
  gap: 12px;
@@ -1905,10 +3382,10 @@
1905
3382
  border-radius: 16px;
1906
3383
  background: var(--seams-colors-colorBackground);
1907
3384
  }
1908
- [data-presentation='page'] .seams-accounts-row-chain {
3385
+ [data-seams-root].seams-theme-provider [data-presentation='page'] .seams-accounts-row-chain {
1909
3386
  font-size: 20px;
1910
3387
  }
1911
- [data-presentation='page'] .seams-accounts-row-address {
3388
+ [data-seams-root].seams-theme-provider [data-presentation='page'] .seams-accounts-row-address {
1912
3389
  grid-row: 2;
1913
3390
  grid-column: 1 / -1;
1914
3391
  font-size: 14px;
@@ -1916,19 +3393,21 @@
1916
3393
  overflow-wrap: anywhere;
1917
3394
  white-space: normal;
1918
3395
  }
1919
- .seams-accounts-explorer-label {
3396
+ [data-seams-root].seams-theme-provider .seams-accounts-explorer-label {
1920
3397
  font-size: 13px;
1921
3398
  color: var(--seams-colors-textSecondary);
1922
3399
  }
1923
- [data-presentation='page'] .seams-accounts-row-arrow {
3400
+ [data-seams-root].seams-theme-provider [data-presentation='page'] .seams-accounts-row-arrow {
1924
3401
  width: 20px;
1925
3402
  height: 20px;
1926
3403
  }
1927
- [data-presentation='page'] .seams-dropdown-export-keys-content {
3404
+ [data-seams-root].seams-theme-provider
3405
+ [data-presentation='page']
3406
+ .seams-dropdown-export-keys-content {
1928
3407
  display: grid;
1929
3408
  grid-template-columns: repeat(2, minmax(0, 1fr));
1930
3409
  }
1931
- [data-presentation='page'] .seams-export-keys-row {
3410
+ [data-seams-root].seams-theme-provider [data-presentation='page'] button.seams-export-keys-row {
1932
3411
  position: relative;
1933
3412
  display: flex;
1934
3413
  flex-direction: column;
@@ -1940,7 +3419,7 @@
1940
3419
  border-radius: 16px;
1941
3420
  background: var(--seams-colors-colorBackground);
1942
3421
  }
1943
- .seams-export-keys-card-icon {
3422
+ [data-seams-root].seams-theme-provider .seams-export-keys-card-icon {
1944
3423
  display: grid;
1945
3424
  place-items: center;
1946
3425
  width: 44px;
@@ -1949,21 +3428,23 @@
1949
3428
  border-radius: 12px;
1950
3429
  background: var(--seams-colors-surface2);
1951
3430
  }
1952
- .seams-export-keys-card-icon svg {
3431
+ [data-seams-root].seams-theme-provider .seams-export-keys-card-icon svg {
1953
3432
  width: 24px;
1954
3433
  height: 24px;
1955
3434
  }
1956
- [data-presentation='page'] .seams-export-keys-row-label {
3435
+ [data-seams-root].seams-theme-provider [data-presentation='page'] .seams-export-keys-row-label {
1957
3436
  font-size: 20px;
1958
3437
  white-space: normal;
1959
3438
  }
1960
- [data-presentation='page'] .seams-export-keys-row-description {
3439
+ [data-seams-root].seams-theme-provider
3440
+ [data-presentation='page']
3441
+ .seams-export-keys-row-description {
1961
3442
  flex: none;
1962
3443
  font-size: 14px;
1963
3444
  text-align: start;
1964
3445
  white-space: normal;
1965
3446
  }
1966
- .seams-export-keys-action {
3447
+ [data-seams-root].seams-theme-provider .seams-export-keys-action {
1967
3448
  display: flex;
1968
3449
  justify-content: space-between;
1969
3450
  width: 100%;
@@ -1973,37 +3454,45 @@
1973
3454
  font-weight: 600;
1974
3455
  color: var(--seams-colors-textPrimary);
1975
3456
  }
1976
- [data-presentation='page'] .seams-export-keys-row-spinner {
3457
+ [data-seams-root].seams-theme-provider [data-presentation='page'] .seams-export-keys-row-spinner {
1977
3458
  position: absolute;
1978
3459
  inset-block-start: 28px;
1979
3460
  inset-inline-end: 28px;
1980
3461
  }
1981
- [data-presentation='page'] .seams-accounts-row:hover,
1982
- [data-presentation='page'] .seams-export-keys-row:hover:not(:disabled) {
3462
+ [data-seams-root].seams-theme-provider [data-presentation='page'] a.seams-accounts-row:hover,
3463
+ [data-seams-root].seams-theme-provider
3464
+ [data-presentation='page']
3465
+ button.seams-export-keys-row:hover:not(:disabled) {
1983
3466
  background: var(--seams-colors-surface2);
1984
3467
  }
1985
- [data-presentation='page'] .seams-accounts-row:focus-visible,
1986
- [data-presentation='page'] .seams-export-keys-row:focus-visible {
3468
+ [data-seams-root].seams-theme-provider
3469
+ [data-presentation='page']
3470
+ a.seams-accounts-row:focus-visible,
3471
+ [data-seams-root].seams-theme-provider
3472
+ [data-presentation='page']
3473
+ button.seams-export-keys-row:focus-visible {
1987
3474
  outline: 2px solid var(--seams-colors-primary);
1988
3475
  outline-offset: 4px;
1989
3476
  }
1990
3477
  @media (max-width: 600px) {
1991
- [data-presentation='page'] .seams-dropdown-export-keys-content {
3478
+ [data-seams-root].seams-theme-provider
3479
+ [data-presentation='page']
3480
+ .seams-dropdown-export-keys-content {
1992
3481
  grid-template-columns: minmax(0, 1fr);
1993
3482
  }
1994
- [data-presentation='page'] .seams-accounts-row,
1995
- [data-presentation='page'] .seams-export-keys-row {
3483
+ [data-seams-root].seams-theme-provider [data-presentation='page'] a.seams-accounts-row,
3484
+ [data-seams-root].seams-theme-provider [data-presentation='page'] button.seams-export-keys-row {
1996
3485
  padding: 20px;
1997
3486
  }
1998
- .seams-accounts-explorer-label {
3487
+ [data-seams-root].seams-theme-provider .seams-accounts-explorer-label {
1999
3488
  display: none;
2000
3489
  }
2001
- [data-presentation='page'] .seams-accounts-row {
3490
+ [data-seams-root].seams-theme-provider [data-presentation='page'] a.seams-accounts-row {
2002
3491
  grid-template-columns: minmax(0, 1fr) 20px;
2003
3492
  }
2004
3493
  }
2005
3494
 
2006
- .seams-region-field {
3495
+ [data-seams-root].seams-theme-provider .seams-region-field {
2007
3496
  display: grid;
2008
3497
  gap: 8px;
2009
3498
  max-width: 360px;
@@ -2013,11 +3502,11 @@
2013
3502
  }
2014
3503
  /* The wrapper draws the chevron, so the closed control looks the same in
2015
3504
  every browser. */
2016
- .seams-region-select {
3505
+ [data-seams-root].seams-theme-provider .seams-region-select {
2017
3506
  position: relative;
2018
3507
  display: block;
2019
3508
  }
2020
- .seams-region-select::after {
3509
+ [data-seams-root].seams-theme-provider .seams-region-select::after {
2021
3510
  content: '';
2022
3511
  position: absolute;
2023
3512
  inset-block-start: 50%;
@@ -2029,7 +3518,7 @@
2029
3518
  transform: translateY(-70%) rotate(45deg);
2030
3519
  pointer-events: none;
2031
3520
  }
2032
- .seams-region-select select {
3521
+ [data-seams-root].seams-theme-provider .seams-region-select select {
2033
3522
  appearance: none;
2034
3523
  width: 100%;
2035
3524
  min-height: 48px;
@@ -2043,24 +3532,24 @@
2043
3532
  font-weight: 400;
2044
3533
  cursor: pointer;
2045
3534
  }
2046
- .seams-region-select select:hover {
3535
+ [data-seams-root].seams-theme-provider .seams-region-select select:hover {
2047
3536
  background: var(--seams-colors-surface);
2048
3537
  }
2049
- .seams-region-select select:focus-visible {
3538
+ [data-seams-root].seams-theme-provider .seams-region-select select:focus-visible {
2050
3539
  outline: 2px solid var(--seams-colors-textPrimary);
2051
3540
  outline-offset: 2px;
2052
3541
  }
2053
3542
  /* Browsers with customizable select also style the open list. Others keep
2054
3543
  the native list. */
2055
3544
  @supports (appearance: base-select) {
2056
- .seams-region-select select,
2057
- .seams-region-select ::picker(select) {
3545
+ [data-seams-root].seams-theme-provider .seams-region-select select,
3546
+ [data-seams-root].seams-theme-provider .seams-region-select ::picker(select) {
2058
3547
  appearance: base-select;
2059
3548
  }
2060
- .seams-region-select select::picker-icon {
3549
+ [data-seams-root].seams-theme-provider .seams-region-select select::picker-icon {
2061
3550
  display: none;
2062
3551
  }
2063
- .seams-region-select ::picker(select) {
3552
+ [data-seams-root].seams-theme-provider .seams-region-select ::picker(select) {
2064
3553
  margin-block: 6px;
2065
3554
  padding: 6px;
2066
3555
  border: 1px solid var(--seams-colors-borderPrimary);
@@ -2069,7 +3558,7 @@
2069
3558
  color: var(--seams-colors-textPrimary);
2070
3559
  box-shadow: 0 12px 32px rgb(0 0 0 / 0.14);
2071
3560
  }
2072
- .seams-region-select option {
3561
+ [data-seams-root].seams-theme-provider .seams-region-select option {
2073
3562
  display: flex;
2074
3563
  align-items: center;
2075
3564
  gap: 10px;
@@ -2079,15 +3568,15 @@
2079
3568
  font: inherit;
2080
3569
  cursor: pointer;
2081
3570
  }
2082
- .seams-region-select option:hover,
2083
- .seams-region-select option:focus-visible {
3571
+ [data-seams-root].seams-theme-provider .seams-region-select option:hover,
3572
+ [data-seams-root].seams-theme-provider .seams-region-select option:focus-visible {
2084
3573
  outline: none;
2085
3574
  background: var(--seams-colors-surface2);
2086
3575
  }
2087
- .seams-region-select option:checked {
3576
+ [data-seams-root].seams-theme-provider .seams-region-select option:checked {
2088
3577
  font-weight: 500;
2089
3578
  }
2090
- .seams-region-select option::checkmark {
3579
+ [data-seams-root].seams-theme-provider .seams-region-select option::checkmark {
2091
3580
  order: 1;
2092
3581
  margin-inline-start: auto;
2093
3582
  color: var(--seams-colors-textSecondary);
@@ -2095,17 +3584,18 @@
2095
3584
  }
2096
3585
 
2097
3586
 
2098
-
2099
3587
  /* Import QR Code Scanner styles */
2100
3588
  /* QRCodeScanner Component Styles */
2101
3589
 
2102
- .qr-scanner-modal {
3590
+ [data-seams-root].seams-theme-provider .qr-scanner-modal {
2103
3591
  position: fixed;
2104
3592
  inset: 0;
2105
3593
  /* Stay below the wallet iframe overlay so Tx confirmer always sits on top */
2106
3594
  z-index: var(
2107
3595
  --seams-z-underlay-backdrop,
2108
- calc(var(--seams-wallet-overlay-z, 2147483646) - var(--seams-wallet-underlay-backdrop-offset, 2))
3596
+ calc(
3597
+ var(--seams-wallet-overlay-z, 2147483646) - var(--seams-wallet-underlay-backdrop-offset, 2)
3598
+ )
2109
3599
  );
2110
3600
  display: flex;
2111
3601
  justify-content: center;
@@ -2126,7 +3616,7 @@
2126
3616
  }
2127
3617
 
2128
3618
  /* Themed panel similar to ShowQRCode modal content */
2129
- .qr-scanner-panel {
3619
+ [data-seams-root].seams-theme-provider .qr-scanner-panel {
2130
3620
  display: flex;
2131
3621
  flex-direction: column;
2132
3622
  overflow: visible;
@@ -2135,7 +3625,7 @@
2135
3625
  border-radius: 2rem;
2136
3626
  }
2137
3627
 
2138
- .qr-scanner-progress-panel {
3628
+ [data-seams-root].seams-theme-provider .qr-scanner-progress-panel {
2139
3629
  width: min(100%, 360px);
2140
3630
  min-height: 0;
2141
3631
  box-sizing: border-box;
@@ -2151,7 +3641,7 @@
2151
3641
  );
2152
3642
  }
2153
3643
 
2154
- .qr-scanner-progress {
3644
+ [data-seams-root].seams-theme-provider .qr-scanner-progress {
2155
3645
  display: flex;
2156
3646
  flex-direction: column;
2157
3647
  align-items: center;
@@ -2159,7 +3649,7 @@
2159
3649
  text-align: center;
2160
3650
  }
2161
3651
 
2162
- .qr-scanner-progress h2 {
3652
+ [data-seams-root].seams-theme-provider .qr-scanner-progress h2 {
2163
3653
  margin: 0;
2164
3654
  font-size: 1.3125rem;
2165
3655
  font-weight: 600;
@@ -2167,13 +3657,13 @@
2167
3657
  letter-spacing: -0.02em;
2168
3658
  }
2169
3659
 
2170
- .qr-scanner-progress-message {
3660
+ [data-seams-root].seams-theme-provider .qr-scanner-progress-message {
2171
3661
  margin: 12px 0 0;
2172
3662
  color: var(--seams-colors-textSecondary);
2173
3663
  line-height: 1.5;
2174
3664
  }
2175
3665
 
2176
- .qr-scanner-progress-dots {
3666
+ [data-seams-root].seams-theme-provider .qr-scanner-progress-dots {
2177
3667
  display: flex;
2178
3668
  align-items: center;
2179
3669
  justify-content: center;
@@ -2183,7 +3673,7 @@
2183
3673
  color: var(--seams-colors-textPrimary);
2184
3674
  }
2185
3675
 
2186
- .qr-scanner-progress-dots span {
3676
+ [data-seams-root].seams-theme-provider .qr-scanner-progress-dots span {
2187
3677
  width: 7px;
2188
3678
  height: 7px;
2189
3679
  background: currentcolor;
@@ -2192,22 +3682,22 @@
2192
3682
  animation: qr-scanner-progress-dot 1.2s ease-in-out infinite;
2193
3683
  }
2194
3684
 
2195
- .qr-scanner-progress-dots span:nth-child(2) {
3685
+ [data-seams-root].seams-theme-provider .qr-scanner-progress-dots span:nth-child(2) {
2196
3686
  animation-delay: 160ms;
2197
3687
  }
2198
3688
 
2199
- .qr-scanner-progress-dots span:nth-child(3) {
3689
+ [data-seams-root].seams-theme-provider .qr-scanner-progress-dots span:nth-child(3) {
2200
3690
  animation-delay: 320ms;
2201
3691
  }
2202
3692
 
2203
- .qr-scanner-progress-actions {
3693
+ [data-seams-root].seams-theme-provider .qr-scanner-progress-actions {
2204
3694
  display: grid;
2205
3695
  width: 100%;
2206
3696
  gap: 10px;
2207
3697
  margin-top: 28px;
2208
3698
  }
2209
3699
 
2210
- .qr-scanner-progress-actions button {
3700
+ [data-seams-root].seams-theme-provider .qr-scanner-progress-actions button {
2211
3701
  width: 100%;
2212
3702
  min-height: 44px;
2213
3703
  padding: 9px 16px;
@@ -2222,39 +3712,39 @@
2222
3712
  color 160ms ease;
2223
3713
  }
2224
3714
 
2225
- .qr-scanner-progress-cancel {
3715
+ [data-seams-root].seams-theme-provider button.qr-scanner-progress-cancel {
2226
3716
  color: var(--seams-colors-textPrimary);
2227
3717
  background: transparent;
2228
3718
  border-color: var(--seams-colors-borderPrimary);
2229
3719
  }
2230
3720
 
2231
- .qr-scanner-progress-primary {
3721
+ [data-seams-root].seams-theme-provider button.qr-scanner-progress-primary {
2232
3722
  color: var(--seams-colors-textButton);
2233
3723
  background: var(--seams-colors-buttonBackground, var(--seams-colors-primary));
2234
3724
  border-color: transparent;
2235
3725
  }
2236
3726
 
2237
- .qr-scanner-progress-cancel:hover {
3727
+ [data-seams-root].seams-theme-provider button.qr-scanner-progress-cancel:hover {
2238
3728
  background: var(--seams-colors-surface2);
2239
3729
  border-color: var(--seams-colors-borderHover);
2240
3730
  }
2241
3731
 
2242
- .qr-scanner-progress-primary:hover {
3732
+ [data-seams-root].seams-theme-provider button.qr-scanner-progress-primary:hover {
2243
3733
  background: var(--seams-colors-buttonHoverBackground, var(--seams-colors-primaryHover));
2244
3734
  }
2245
3735
 
2246
- .qr-scanner-progress-actions button:focus-visible {
3736
+ [data-seams-root].seams-theme-provider .qr-scanner-progress-actions button:focus-visible {
2247
3737
  outline: 2px solid var(--seams-colors-primary);
2248
3738
  outline-offset: 3px;
2249
3739
  }
2250
3740
 
2251
- .qr-scanner-panel:focus-visible,
2252
- .qr-scanner-progress h2:focus-visible {
3741
+ [data-seams-root].seams-theme-provider .qr-scanner-panel:focus-visible,
3742
+ [data-seams-root].seams-theme-provider .qr-scanner-progress h2:focus-visible {
2253
3743
  outline: 2px solid var(--seams-colors-primary);
2254
3744
  outline-offset: 4px;
2255
3745
  }
2256
3746
 
2257
- .qr-scanner-email-selection {
3747
+ [data-seams-root].seams-theme-provider .qr-scanner-email-selection {
2258
3748
  width: min(100%, 420px);
2259
3749
  box-sizing: border-box;
2260
3750
  padding: 28px;
@@ -2264,19 +3754,19 @@
2264
3754
  box-shadow: 0 16px 48px oklch(0 0 0 / 0.24);
2265
3755
  }
2266
3756
 
2267
- .qr-scanner-email-selection h2 {
3757
+ [data-seams-root].seams-theme-provider .qr-scanner-email-selection h2 {
2268
3758
  margin: 0;
2269
3759
  font-size: 20px;
2270
3760
  line-height: 1.3;
2271
3761
  }
2272
3762
 
2273
- .qr-scanner-email-selection > p {
3763
+ [data-seams-root].seams-theme-provider .qr-scanner-email-selection > p {
2274
3764
  margin: 10px 0 0;
2275
3765
  color: var(--seams-colors-textSecondary);
2276
3766
  line-height: 1.5;
2277
3767
  }
2278
3768
 
2279
- .qr-scanner-email-choice-list {
3769
+ [data-seams-root].seams-theme-provider .qr-scanner-email-choice-list {
2280
3770
  display: grid;
2281
3771
  gap: 10px;
2282
3772
  margin: 22px 0 0;
@@ -2284,13 +3774,13 @@
2284
3774
  border: 0;
2285
3775
  }
2286
3776
 
2287
- .qr-scanner-email-choice-legend {
3777
+ [data-seams-root].seams-theme-provider .qr-scanner-email-choice-legend {
2288
3778
  margin-bottom: 8px;
2289
3779
  color: var(--seams-colors-textSecondary);
2290
3780
  font-size: 13px;
2291
3781
  }
2292
3782
 
2293
- .qr-scanner-email-choice {
3783
+ [data-seams-root].seams-theme-provider .qr-scanner-email-choice {
2294
3784
  display: flex;
2295
3785
  align-items: center;
2296
3786
  gap: 12px;
@@ -2303,23 +3793,23 @@
2303
3793
  cursor: pointer;
2304
3794
  }
2305
3795
 
2306
- .qr-scanner-email-choice:has(input:checked) {
3796
+ [data-seams-root].seams-theme-provider .qr-scanner-email-choice:has(input:checked) {
2307
3797
  border-color: var(--seams-colors-primary);
2308
3798
  }
2309
3799
 
2310
- .qr-scanner-email-choice input {
3800
+ [data-seams-root].seams-theme-provider .qr-scanner-email-choice input {
2311
3801
  width: 18px;
2312
3802
  height: 18px;
2313
3803
  margin: 0;
2314
3804
  accent-color: var(--seams-colors-primary);
2315
3805
  }
2316
3806
 
2317
- .qr-scanner-email-choice:focus-within {
3807
+ [data-seams-root].seams-theme-provider .qr-scanner-email-choice:focus-within {
2318
3808
  outline: 2px solid var(--seams-colors-primary);
2319
3809
  outline-offset: 2px;
2320
3810
  }
2321
3811
 
2322
- .qr-scanner-email-continue {
3812
+ [data-seams-root].seams-theme-provider button.qr-scanner-email-continue {
2323
3813
  width: 100%;
2324
3814
  min-height: 44px;
2325
3815
  margin-top: 22px;
@@ -2333,17 +3823,17 @@
2333
3823
  font-weight: 600;
2334
3824
  }
2335
3825
 
2336
- .qr-scanner-email-continue:disabled {
3826
+ [data-seams-root].seams-theme-provider button.qr-scanner-email-continue:disabled {
2337
3827
  cursor: not-allowed;
2338
3828
  opacity: 0.55;
2339
3829
  }
2340
3830
 
2341
- .qr-scanner-email-continue:focus-visible {
3831
+ [data-seams-root].seams-theme-provider button.qr-scanner-email-continue:focus-visible {
2342
3832
  outline: 2px solid var(--seams-colors-primary);
2343
3833
  outline-offset: 3px;
2344
3834
  }
2345
3835
 
2346
- .qr-scanner-visually-hidden {
3836
+ [data-seams-root].seams-theme-provider .qr-scanner-visually-hidden {
2347
3837
  position: absolute;
2348
3838
  width: 1px;
2349
3839
  height: 1px;
@@ -2356,12 +3846,12 @@
2356
3846
  }
2357
3847
 
2358
3848
  @media (prefers-reduced-motion: reduce) {
2359
- .qr-scanner-modal {
3849
+ [data-seams-root].seams-theme-provider .qr-scanner-modal {
2360
3850
  animation: none;
2361
3851
  transition: none;
2362
3852
  }
2363
3853
 
2364
- .qr-scanner-progress-dots span {
3854
+ [data-seams-root].seams-theme-provider .qr-scanner-progress-dots span {
2365
3855
  animation: none;
2366
3856
  opacity: 0.5;
2367
3857
  }
@@ -2401,7 +3891,7 @@
2401
3891
  }
2402
3892
  }
2403
3893
 
2404
- .qr-scanner-camera-container {
3894
+ [data-seams-root].seams-theme-provider .qr-scanner-camera-container {
2405
3895
  background: var(--seams-colors-surface);
2406
3896
  position: relative;
2407
3897
  display: inline-block;
@@ -2409,7 +3899,7 @@
2409
3899
  border-radius: 12px;
2410
3900
  }
2411
3901
 
2412
- .qr-scanner-video {
3902
+ [data-seams-root].seams-theme-provider .qr-scanner-video {
2413
3903
  width: 400px;
2414
3904
  height: 400px;
2415
3905
  object-fit: cover; /* Crop to square format */
@@ -2421,24 +3911,24 @@
2421
3911
  opacity: 0;
2422
3912
  }
2423
3913
 
2424
- .qr-scanner-video.is-ready {
3914
+ [data-seams-root].seams-theme-provider .qr-scanner-video.is-ready {
2425
3915
  animation: qr-scanner-video-fade-in 200ms ease-out both;
2426
3916
  }
2427
3917
 
2428
3918
  @media (prefers-reduced-motion: reduce) {
2429
- .qr-scanner-video {
3919
+ [data-seams-root].seams-theme-provider .qr-scanner-video {
2430
3920
  opacity: 1;
2431
3921
  }
2432
- .qr-scanner-video.is-ready {
3922
+ [data-seams-root].seams-theme-provider .qr-scanner-video.is-ready {
2433
3923
  animation: none;
2434
3924
  }
2435
3925
  }
2436
3926
 
2437
- .qr-scanner-canvas {
3927
+ [data-seams-root].seams-theme-provider .qr-scanner-canvas {
2438
3928
  display: none;
2439
3929
  }
2440
3930
 
2441
- .qr-scanner-overlay {
3931
+ [data-seams-root].seams-theme-provider .qr-scanner-overlay {
2442
3932
  position: absolute;
2443
3933
  inset: -1px;
2444
3934
  display: flex;
@@ -2447,7 +3937,7 @@
2447
3937
  pointer-events: none;
2448
3938
  }
2449
3939
 
2450
- .qr-scanner-box {
3940
+ [data-seams-root].seams-theme-provider .qr-scanner-box {
2451
3941
  width: 402px;
2452
3942
  height: 402px;
2453
3943
  border: 3px solid var(--seams-colors-primary);
@@ -2455,7 +3945,7 @@
2455
3945
  background: transparent;
2456
3946
  }
2457
3947
 
2458
- .qr-scanner-instructions {
3948
+ [data-seams-root].seams-theme-provider .qr-scanner-instructions {
2459
3949
  margin-top: 24px;
2460
3950
  color: var(--seams-colors-textPrimary);
2461
3951
  text-align: center;
@@ -2464,7 +3954,7 @@
2464
3954
  max-width: 400px;
2465
3955
  }
2466
3956
 
2467
- .qr-scanner-sub-instruction {
3957
+ [data-seams-root].seams-theme-provider .qr-scanner-sub-instruction {
2468
3958
  font-size: 13px;
2469
3959
  font-weight: 400;
2470
3960
  opacity: 0.7;
@@ -2472,18 +3962,18 @@
2472
3962
  line-height: 1.4;
2473
3963
  }
2474
3964
 
2475
- .qr-scanner-sub-instruction--small {
3965
+ [data-seams-root].seams-theme-provider .qr-scanner-sub-instruction--small {
2476
3966
  font-size: 12px;
2477
3967
  opacity: 0.7;
2478
3968
  }
2479
3969
 
2480
- .qr-scanner-camera-controls {
3970
+ [data-seams-root].seams-theme-provider .qr-scanner-camera-controls {
2481
3971
  margin-top: 16px;
2482
3972
  display: flex;
2483
3973
  justify-content: center;
2484
3974
  }
2485
3975
 
2486
- .qr-scanner-camera-selector {
3976
+ [data-seams-root].seams-theme-provider select.qr-scanner-camera-selector {
2487
3977
  background: var(--seams-colors-surface);
2488
3978
  color: var(--seams-colors-textPrimary);
2489
3979
  border: 1px solid var(--seams-colors-borderPrimary);
@@ -2493,7 +3983,7 @@
2493
3983
  max-width: 220px;
2494
3984
  }
2495
3985
 
2496
- .qr-scanner-close {
3986
+ [data-seams-root].seams-theme-provider button.qr-scanner-close {
2497
3987
  position: absolute;
2498
3988
  top: 20px;
2499
3989
  right: 20px;
@@ -2511,24 +4001,27 @@
2511
4001
  align-items: center;
2512
4002
  justify-content: center;
2513
4003
  z-index: 10;
2514
- transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
4004
+ transition:
4005
+ background-color 0.2s ease,
4006
+ border-color 0.2s ease,
4007
+ color 0.2s ease;
2515
4008
  padding: 0;
2516
4009
  line-height: 1;
2517
4010
  box-sizing: border-box;
2518
4011
  }
2519
4012
 
2520
- .qr-scanner-close:hover {
4013
+ [data-seams-root].seams-theme-provider button.qr-scanner-close:hover {
2521
4014
  background: var(--seams-colors-surface2);
2522
4015
  border-color: var(--seams-colors-borderHover);
2523
4016
  color: var(--seams-colors-textPrimary);
2524
4017
  }
2525
4018
 
2526
- .qr-scanner-close:focus-visible {
4019
+ [data-seams-root].seams-theme-provider button.qr-scanner-close:focus-visible {
2527
4020
  outline: 2px solid var(--seams-colors-primary);
2528
4021
  outline-offset: 3px;
2529
4022
  }
2530
4023
 
2531
- .qr-scanner-error-message {
4024
+ [data-seams-root].seams-theme-provider .qr-scanner-error-message {
2532
4025
  background-color: var(--seams-colors-error);
2533
4026
  color: var(--seams-colors-textButton);
2534
4027
  padding: 20px;
@@ -2540,17 +4033,17 @@
2540
4033
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
2541
4034
  }
2542
4035
 
2543
- .qr-scanner-error-message h2 {
4036
+ [data-seams-root].seams-theme-provider .qr-scanner-error-message h2 {
2544
4037
  margin: 0;
2545
4038
  font-size: 18px;
2546
4039
  line-height: 1.3;
2547
4040
  }
2548
4041
 
2549
- .qr-scanner-error-message p {
4042
+ [data-seams-root].seams-theme-provider .qr-scanner-error-message p {
2550
4043
  line-height: 1.45;
2551
4044
  }
2552
4045
 
2553
- .qr-scanner-error-button {
4046
+ [data-seams-root].seams-theme-provider button.qr-scanner-error-button {
2554
4047
  margin-top: 12px;
2555
4048
  margin-left: 6px;
2556
4049
  margin-right: 6px;
@@ -2565,32 +4058,123 @@
2565
4058
  transition: all 0.2s ease;
2566
4059
  }
2567
4060
 
2568
- .qr-scanner-error-button:hover {
4061
+ [data-seams-root].seams-theme-provider button.qr-scanner-error-button:hover {
2569
4062
  background-color: var(--seams-colors-surface2);
2570
4063
  border-color: var(--seams-colors-borderHover);
2571
4064
  }
2572
4065
 
2573
- .qr-scanner-error-button:focus-visible {
4066
+ [data-seams-root].seams-theme-provider button.qr-scanner-error-button:focus-visible {
2574
4067
  outline: 2px solid var(--seams-colors-primary);
2575
4068
  outline-offset: 3px;
2576
4069
  }
2577
4070
 
2578
4071
  @media (max-width: 480px) {
2579
- .qr-scanner-progress-panel {
4072
+ [data-seams-root].seams-theme-provider .qr-scanner-progress-panel {
2580
4073
  padding: 1rem;
2581
4074
  }
2582
4075
 
2583
- .qr-scanner-progress h2 {
4076
+ [data-seams-root].seams-theme-provider .qr-scanner-progress h2 {
2584
4077
  font-size: 1.375rem;
2585
4078
  }
2586
4079
  }
2587
4080
 
2588
- .qr-code-container {
2589
- padding-top: 0.25rem;
4081
+ [data-seams-root].seams-theme-provider .qr-code-container {
4082
+ box-sizing: border-box;
4083
+ width: min(100%, 420px);
4084
+ padding: 24px;
4085
+ border-radius: var(--seams-shape-card, 24px);
4086
+ background: var(--seams-colors-colorBackground);
4087
+ color: var(--seams-colors-textPrimary);
4088
+ }
4089
+
4090
+ [data-seams-root].seams-theme-provider .seams-otp-prompt {
4091
+ display: grid;
4092
+ justify-items: center;
4093
+ gap: 16px;
4094
+ width: 100%;
4095
+ }
4096
+ [data-seams-root].seams-theme-provider .seams-otp-prompt-copy {
4097
+ display: grid;
4098
+ gap: 8px;
4099
+ text-align: center;
4100
+ }
4101
+ [data-seams-root].seams-theme-provider .seams-otp-title {
4102
+ margin: 0;
4103
+ font: 600 21px / 1.25 var(--seams-font-family, system-ui, sans-serif);
4104
+ color: var(--seams-colors-textPrimary);
4105
+ }
4106
+ [data-seams-root].seams-theme-provider .seams-otp-description,
4107
+ [data-seams-root].seams-theme-provider .seams-otp-helper {
4108
+ margin: 0;
4109
+ color: var(--seams-colors-textSecondary);
4110
+ font-size: 13px;
4111
+ line-height: 1.5;
4112
+ text-align: center;
4113
+ }
4114
+ [data-seams-root].seams-theme-provider .seams-field-label {
4115
+ font-size: 13px;
4116
+ font-weight: 600;
4117
+ color: var(--seams-colors-textSecondary);
4118
+ }
4119
+ [data-seams-root].seams-theme-provider .seams-otp-code-field {
4120
+ display: grid;
4121
+ gap: 10px;
4122
+ width: min(100%, 320px);
4123
+ margin: 0;
4124
+ }
4125
+ [data-seams-root].seams-theme-provider input.seams-otp-input {
4126
+ grid-column: 1;
4127
+ grid-row: 2;
4128
+ z-index: 1;
4129
+ width: 100%;
4130
+ height: 44px;
4131
+ padding: 0;
4132
+ border: 0;
4133
+ outline: none;
4134
+ background: transparent;
4135
+ color: transparent;
4136
+ caret-color: transparent;
4137
+ font-size: 16px;
4138
+ }
4139
+ [data-seams-root].seams-theme-provider .seams-otp-slots {
4140
+ grid-column: 1;
4141
+ grid-row: 2;
4142
+ display: grid;
4143
+ grid-template-columns: repeat(6, minmax(0, 1fr));
4144
+ gap: 6px;
4145
+ pointer-events: none;
4146
+ }
4147
+ [data-seams-root].seams-theme-provider .seams-otp-slot {
4148
+ display: grid;
4149
+ place-items: center;
4150
+ min-width: 0;
4151
+ height: 44px;
4152
+ border: 1px solid var(--seams-colors-borderPrimary);
4153
+ border-radius: 6px;
4154
+ background: var(--seams-colors-surface);
4155
+ color: var(--seams-colors-textPrimary);
4156
+ font-size: 20px;
4157
+ font-variant-numeric: tabular-nums;
4158
+ }
4159
+ [data-seams-root].seams-theme-provider .seams-otp-code-field:focus-within .seams-otp-slot {
4160
+ outline: 2px solid var(--seams-colors-focus);
4161
+ outline-offset: 1px;
4162
+ }
4163
+ [data-seams-root].seams-theme-provider .seams-otp-error {
4164
+ margin: 0;
4165
+ color: var(--seams-colors-error);
4166
+ font-size: 13px;
4167
+ line-height: 1.5;
4168
+ }
4169
+ [data-seams-root].seams-theme-provider button.seams-otp-resend {
4170
+ padding: 8px;
4171
+ color: var(--seams-colors-primary);
4172
+ font: inherit;
4173
+ cursor: pointer;
2590
4174
  }
2591
4175
 
2592
4176
  /* Modal Header */
2593
- .qr-header {
4177
+ [data-seams-root].seams-theme-provider .qr-header {
2594
4178
  position: relative;
2595
4179
  display: grid;
2596
4180
  place-content: center;
@@ -2600,7 +4184,7 @@
2600
4184
  /* Sized off the auth menu's own title (21px) rather than louder than it: this
2601
4185
  heading sits inside the same card, so a heavier scale reads as a second,
2602
4186
  competing header. */
2603
- .qr-title {
4187
+ [data-seams-root].seams-theme-provider .qr-title {
2604
4188
  font-size: 1.3125rem;
2605
4189
  font-weight: 600;
2606
4190
  letter-spacing: -0.01em;
@@ -2611,7 +4195,7 @@
2611
4195
  text-wrap: balance;
2612
4196
  }
2613
4197
 
2614
- .qr-body {
4198
+ [data-seams-root].seams-theme-provider .qr-body {
2615
4199
  padding: 0rem;
2616
4200
  flex: 1;
2617
4201
  display: flex;
@@ -2619,14 +4203,14 @@
2619
4203
  align-items: center;
2620
4204
  }
2621
4205
 
2622
- .seams-device-link-email-field {
4206
+ [data-seams-root].seams-theme-provider .seams-device-link-email-field {
2623
4207
  display: grid;
2624
4208
  width: min(100%, 320px);
2625
4209
  gap: 0.4rem;
2626
4210
  margin-top: 0.25rem;
2627
4211
  }
2628
4212
 
2629
- .seams-device-link-factor-options {
4213
+ [data-seams-root].seams-theme-provider .seams-device-link-factor-options {
2630
4214
  box-sizing: border-box;
2631
4215
  display: grid;
2632
4216
  width: min(100%, 320px);
@@ -2636,11 +4220,11 @@
2636
4220
  border: 0;
2637
4221
  }
2638
4222
 
2639
- .seams-device-link-factor-options > legend {
4223
+ [data-seams-root].seams-theme-provider .seams-device-link-factor-options > legend {
2640
4224
  margin-bottom: 0.25rem;
2641
4225
  }
2642
4226
 
2643
- .seams-device-link-factor-option {
4227
+ [data-seams-root].seams-theme-provider .seams-device-link-factor-option {
2644
4228
  box-sizing: border-box;
2645
4229
  display: flex;
2646
4230
  align-items: center;
@@ -2654,51 +4238,53 @@
2654
4238
  cursor: pointer;
2655
4239
  }
2656
4240
 
2657
- .seams-device-link-factor-option:has(input:checked) {
4241
+ [data-seams-root].seams-theme-provider .seams-device-link-factor-option:has(input:checked) {
2658
4242
  border-color: var(--seams-colors-textPrimary, #1e293b);
2659
4243
  background: var(--seams-colors-surface2, #f1f5f9);
2660
4244
  }
2661
4245
 
2662
- .seams-device-link-factor-icon {
4246
+ [data-seams-root].seams-theme-provider .seams-device-link-factor-icon {
2663
4247
  display: grid;
2664
4248
  flex: 0 0 22px;
2665
4249
  place-items: center;
2666
4250
  color: var(--seams-colors-textSecondary, #64748b);
2667
4251
  }
2668
4252
 
2669
- .seams-device-link-factor-icon svg {
4253
+ [data-seams-root].seams-theme-provider .seams-device-link-factor-icon svg {
2670
4254
  display: block;
4255
+ width: 22px;
4256
+ height: 22px;
2671
4257
  }
2672
4258
 
2673
- .seams-device-link-factor-label {
4259
+ [data-seams-root].seams-theme-provider .seams-device-link-factor-label {
2674
4260
  flex: 1;
2675
4261
  text-align: start;
2676
4262
  }
2677
4263
 
2678
- .seams-device-link-factor-label span {
4264
+ [data-seams-root].seams-theme-provider .seams-device-link-factor-label span {
2679
4265
  color: var(--seams-colors-textSecondary, #64748b);
2680
4266
  font-size: 0.8125rem;
2681
4267
  }
2682
4268
 
2683
- .seams-device-link-factor-option input {
4269
+ [data-seams-root].seams-theme-provider .seams-device-link-factor-option input {
2684
4270
  flex: 0 0 auto;
2685
4271
  width: 1rem;
2686
4272
  height: 1rem;
2687
4273
  margin: 0 0 0 auto;
2688
4274
  }
2689
4275
 
2690
- .seams-device-link-factor-option input:focus-visible {
4276
+ [data-seams-root].seams-theme-provider .seams-device-link-factor-option input:focus-visible {
2691
4277
  outline: 2px solid var(--seams-colors-primary, #3b82f6);
2692
4278
  outline-offset: 3px;
2693
4279
  }
2694
4280
 
2695
- .seams-device-link-email-field .seams-field-label {
4281
+ [data-seams-root].seams-theme-provider .seams-device-link-email-field .seams-field-label {
2696
4282
  color: var(--seams-colors-textSecondary, #64748b);
2697
4283
  font-size: 0.8125rem;
2698
4284
  font-weight: 600;
2699
4285
  }
2700
4286
 
2701
- .seams-device-link-email-field input {
4287
+ [data-seams-root].seams-theme-provider .seams-device-link-email-field input {
2702
4288
  box-sizing: border-box;
2703
4289
  width: 100%;
2704
4290
  min-height: 44px;
@@ -2710,7 +4296,7 @@
2710
4296
  font: inherit;
2711
4297
  }
2712
4298
 
2713
- .seams-device-link-email-field input:focus-visible {
4299
+ [data-seams-root].seams-theme-provider .seams-device-link-email-field input:focus-visible {
2714
4300
  outline: none;
2715
4301
  border-color: transparent;
2716
4302
  background:
@@ -2726,7 +4312,7 @@
2726
4312
  border-box;
2727
4313
  }
2728
4314
 
2729
- .qr-code-section {
4315
+ [data-seams-root].seams-theme-provider .qr-code-section {
2730
4316
  width: 100%;
2731
4317
  display: flex;
2732
4318
  flex-direction: column;
@@ -2738,7 +4324,7 @@
2738
4324
  so on a dark theme an unbacked image reads as a raw white rectangle. The
2739
4325
  plate is a fixed square in both states — the placeholder below occupies the
2740
4326
  same box, so nothing under it moves when the image arrives. */
2741
- .qr-code-display {
4327
+ [data-seams-root].seams-theme-provider .qr-code-display {
2742
4328
  display: grid;
2743
4329
  place-items: center;
2744
4330
  width: min(100%, 232px);
@@ -2751,7 +4337,7 @@
2751
4337
  0 14px 28px -20px rgba(15, 23, 42, 0.45);
2752
4338
  }
2753
4339
 
2754
- .qr-code-placeholder {
4340
+ [data-seams-root].seams-theme-provider .qr-code-placeholder {
2755
4341
  display: grid;
2756
4342
  place-items: center;
2757
4343
  width: 100%;
@@ -2763,7 +4349,7 @@
2763
4349
 
2764
4350
  /* On the white plate a translucent-white spinner track is invisible; state the
2765
4351
  track against the plate rather than the card. */
2766
- .qr-code-placeholder .seams-spinner {
4352
+ [data-seams-root].seams-theme-provider .qr-code-placeholder .seams-spinner {
2767
4353
  width: 28px;
2768
4354
  height: 28px;
2769
4355
  border-radius: 999px;
@@ -2794,13 +4380,13 @@
2794
4380
  }
2795
4381
 
2796
4382
  @media (prefers-reduced-motion: reduce) {
2797
- .qr-code-placeholder {
4383
+ [data-seams-root].seams-theme-provider .qr-code-placeholder {
2798
4384
  animation: none;
2799
4385
  }
2800
4386
  }
2801
4387
 
2802
- .qr-instruction,
2803
- .qr-status {
4388
+ [data-seams-root].seams-theme-provider .qr-instruction,
4389
+ [data-seams-root].seams-theme-provider .qr-status {
2804
4390
  margin: 0;
2805
4391
  font-weight: 500;
2806
4392
  color: var(--seams-colors-textSecondary, #1e293b);
@@ -2808,7 +4394,7 @@
2808
4394
  text-wrap: pretty;
2809
4395
  }
2810
4396
 
2811
- .qr-instruction {
4397
+ [data-seams-root].seams-theme-provider .qr-instruction {
2812
4398
  max-width: 34ch;
2813
4399
  font-size: 0.95rem;
2814
4400
  line-height: 1.45;
@@ -2817,20 +4403,20 @@
2817
4403
  /* The status is a running commentary on the pairing, not a peer of the
2818
4404
  instruction — one step quieter and smaller so the two lines stack as a
2819
4405
  hierarchy instead of a paragraph. */
2820
- .qr-status {
4406
+ [data-seams-root].seams-theme-provider .qr-status {
2821
4407
  margin-bottom: 0.25rem;
2822
4408
  color: color-mix(in srgb, var(--seams-colors-textSecondary, #64748b), transparent 25%);
2823
4409
  font-size: 0.8125rem;
2824
4410
  line-height: 1.4;
2825
4411
  }
2826
4412
 
2827
- .animated-ellipsis {
4413
+ [data-seams-root].seams-theme-provider .animated-ellipsis {
2828
4414
  display: inline-block;
2829
4415
  width: 1.2em;
2830
4416
  text-align: left;
2831
4417
  }
2832
4418
 
2833
- .animated-ellipsis::after {
4419
+ [data-seams-root].seams-theme-provider .animated-ellipsis::after {
2834
4420
  content: '...';
2835
4421
  animation: ellipsis 1.5s infinite;
2836
4422
  }
@@ -2853,7 +4439,7 @@
2853
4439
  }
2854
4440
  }
2855
4441
 
2856
- .qr-code-image {
4442
+ [data-seams-root].seams-theme-provider .qr-code-image {
2857
4443
  width: 100%;
2858
4444
  max-width: 200px;
2859
4445
  height: auto;
@@ -2863,7 +4449,7 @@
2863
4449
  /* Failure view. Same skeleton as the link-device confirmation — badge, title,
2864
4450
  copy, one control. Styles are restated here because ShowQRCode is also
2865
4451
  shared by device-linking surfaces. */
2866
- .seams-link-device-failure {
4452
+ [data-seams-root].seams-theme-provider .seams-link-device-failure {
2867
4453
  min-height: 300px;
2868
4454
  width: min(100%, 360px);
2869
4455
  margin-inline: auto;
@@ -2876,7 +4462,7 @@
2876
4462
  text-align: center;
2877
4463
  }
2878
4464
 
2879
- .seams-link-device-failure-icon {
4465
+ [data-seams-root].seams-theme-provider .seams-link-device-failure-icon {
2880
4466
  width: 56px;
2881
4467
  height: 56px;
2882
4468
  display: grid;
@@ -2886,11 +4472,15 @@
2886
4472
  background: color-mix(in srgb, var(--seams-colors-error, #ef4444), transparent 88%);
2887
4473
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--seams-colors-error, #ef4444), transparent 80%);
2888
4474
  }
4475
+ [data-seams-root].seams-theme-provider .seams-link-device-failure-icon > svg {
4476
+ width: 26px;
4477
+ height: 26px;
4478
+ }
2889
4479
 
2890
4480
  /* The detail is a raw error string, so it is sized and coloured as evidence
2891
4481
  rather than as prose: quiet, tight, and allowed to break mid-token so a long
2892
4482
  technical message wraps instead of forcing the card wider. */
2893
- .seams-link-device-failure-detail {
4483
+ [data-seams-root].seams-theme-provider .seams-link-device-failure-detail {
2894
4484
  max-width: 34ch;
2895
4485
  margin: 0;
2896
4486
  color: color-mix(in srgb, var(--seams-colors-textSecondary, #64748b), transparent 15%);
@@ -2901,9 +4491,8 @@
2901
4491
  overflow-wrap: anywhere;
2902
4492
  }
2903
4493
 
2904
- /* Device-linking button styling keeps the button looking
2905
- the same whether or not that sheet is loaded alongside this one. */
2906
- .seams-link-device-failure .seams-link-device-btn {
4494
+ /* Every device-link step uses the same action control. */
4495
+ [data-seams-root].seams-theme-provider button.seams-link-device-btn {
2907
4496
  display: flex;
2908
4497
  align-items: center;
2909
4498
  justify-content: center;
@@ -2912,7 +4501,7 @@
2912
4501
  margin-top: 0.25rem;
2913
4502
  gap: 0.5rem;
2914
4503
  padding: 0.5rem 1rem;
2915
- height: calc(var(--seams-shape-controlHeight, 44px) - 4px);
4504
+ min-height: var(--seams-shape-controlHeight, 44px);
2916
4505
  background: var(--seams-colors-surface, #f8fafc);
2917
4506
  border: 1px solid var(--seams-colors-borderPrimary, #e2e8f0);
2918
4507
  border-radius: var(--seams-shape-control, 10px);
@@ -2923,10 +4512,19 @@
2923
4512
  font-size: 0.875rem;
2924
4513
  }
2925
4514
 
2926
- .seams-link-device-failure .seams-link-device-btn:hover,
2927
- .seams-link-device-failure .seams-link-device-btn:focus-visible {
4515
+ [data-seams-root].seams-theme-provider button.seams-link-device-btn:hover:not(:disabled) {
2928
4516
  background: var(--seams-colors-surface2, #f1f5f9);
2929
4517
  }
4518
+ [data-seams-root].seams-theme-provider button.seams-link-device-btn:focus-visible,
4519
+ [data-seams-root].seams-theme-provider button.seams-otp-resend:focus-visible {
4520
+ outline: 2px solid var(--seams-colors-focus);
4521
+ outline-offset: 3px;
4522
+ }
4523
+ [data-seams-root].seams-theme-provider button.seams-link-device-btn:disabled,
4524
+ [data-seams-root].seams-theme-provider button.seams-otp-resend:disabled {
4525
+ opacity: 0.5;
4526
+ cursor: not-allowed;
4527
+ }
2930
4528
 
2931
4529
 
2932
4530
  /* Global default z-index tokens for wallet overlay + SDK modals */