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