@rynt/sdk 0.9.53

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 (332) hide show
  1. package/README.md +122 -0
  2. package/REGISTRIES.md +189 -0
  3. package/env.d.ts +11 -0
  4. package/host-shims.d.ts +30 -0
  5. package/package.json +88 -0
  6. package/src/extension-marketplace/api-types.ts +141 -0
  7. package/src/extension-marketplace/client.ts +296 -0
  8. package/src/extension-marketplace/index.ts +22 -0
  9. package/src/extension-marketplace/schemas.ts +178 -0
  10. package/src/extensions/ExtensionRoutePage.vue +17 -0
  11. package/src/extensions/context.ts +37 -0
  12. package/src/extensions/disabled-folder.ts +21 -0
  13. package/src/extensions/extension-expose-map.ts +5 -0
  14. package/src/extensions/extension-expose.ts +48 -0
  15. package/src/extensions/graph.ts +67 -0
  16. package/src/extensions/index.ts +251 -0
  17. package/src/extensions/invite-handler/types.ts +20 -0
  18. package/src/extensions/launcher-entities/create-launcher-entity.ts +25 -0
  19. package/src/extensions/launcher-entities/keys.ts +46 -0
  20. package/src/extensions/launcher-entities/launcher-entity-components.ts +177 -0
  21. package/src/extensions/launcher-entities/props-map.ts +69 -0
  22. package/src/extensions/launcher-entities/registry.ts +32 -0
  23. package/src/extensions/launcher-models/apis/accounts-contracts.ts +102 -0
  24. package/src/extensions/launcher-models/apis/launcher-model-apis.ts +553 -0
  25. package/src/extensions/launcher-models/keys.ts +23 -0
  26. package/src/extensions/launcher-models/public.ts +9 -0
  27. package/src/extensions/launcher-models/registry-core.ts +34 -0
  28. package/src/extensions/manifest-types.ts +22 -0
  29. package/src/extensions/manifest.ts +46 -0
  30. package/src/extensions/marketplace-open-key.ts +26 -0
  31. package/src/extensions/plugin-types.ts +44 -0
  32. package/src/extensions/plugin.ts +62 -0
  33. package/src/extensions/registries/bootstrap.ts +11 -0
  34. package/src/extensions/registries/builtins/account-provider.ts +6 -0
  35. package/src/extensions/registries/builtins/app-topbar-left-widgets.ts +6 -0
  36. package/src/extensions/registries/builtins/app-topbar-right-widgets.ts +6 -0
  37. package/src/extensions/registries/builtins/app-topbar-status-widgets.ts +6 -0
  38. package/src/extensions/registries/builtins/build-card-actions.ts +6 -0
  39. package/src/extensions/registries/builtins/build-card-after-meta.ts +6 -0
  40. package/src/extensions/registries/builtins/build-card-before-media.ts +6 -0
  41. package/src/extensions/registries/builtins/build-card-before-meta.ts +6 -0
  42. package/src/extensions/registries/builtins/build-card-footer-actions.ts +6 -0
  43. package/src/extensions/registries/builtins/build-detail-after-content.ts +6 -0
  44. package/src/extensions/registries/builtins/build-detail-before-content.ts +6 -0
  45. package/src/extensions/registries/builtins/build-detail-before-hero.ts +6 -0
  46. package/src/extensions/registries/builtins/build-detail-header-actions.ts +6 -0
  47. package/src/extensions/registries/builtins/build-detail-mod-row-actions.ts +6 -0
  48. package/src/extensions/registries/builtins/build-detail-resourcepack-row-actions.ts +6 -0
  49. package/src/extensions/registries/builtins/build-detail-right-column-bottom.ts +6 -0
  50. package/src/extensions/registries/builtins/build-detail-right-column-top.ts +6 -0
  51. package/src/extensions/registries/builtins/dialog-footer-actions.ts +6 -0
  52. package/src/extensions/registries/builtins/feed-after-content.ts +6 -0
  53. package/src/extensions/registries/builtins/feed-before-content.ts +6 -0
  54. package/src/extensions/registries/builtins/file-editor.ts +19 -0
  55. package/src/extensions/registries/builtins/friends-after-list.ts +6 -0
  56. package/src/extensions/registries/builtins/friends-before-list.ts +6 -0
  57. package/src/extensions/registries/builtins/index.ts +141 -0
  58. package/src/extensions/registries/builtins/invite-handler.ts +7 -0
  59. package/src/extensions/registries/builtins/library-after-content.ts +6 -0
  60. package/src/extensions/registries/builtins/library-before-content.ts +6 -0
  61. package/src/extensions/registries/builtins/loader.ts +8 -0
  62. package/src/extensions/registries/builtins/map-card-actions.ts +6 -0
  63. package/src/extensions/registries/builtins/map-card-after-meta.ts +6 -0
  64. package/src/extensions/registries/builtins/map-card-before-meta.ts +6 -0
  65. package/src/extensions/registries/builtins/map-card-footer-actions.ts +6 -0
  66. package/src/extensions/registries/builtins/map-detail-after-content.ts +6 -0
  67. package/src/extensions/registries/builtins/map-detail-before-content.ts +6 -0
  68. package/src/extensions/registries/builtins/map-detail-header-actions.ts +6 -0
  69. package/src/extensions/registries/builtins/markdown-editor-tiptap-extensions.ts +7 -0
  70. package/src/extensions/registries/builtins/markdown-editor-toolbar-actions.ts +6 -0
  71. package/src/extensions/registries/builtins/markdown-renderer-after-content.ts +6 -0
  72. package/src/extensions/registries/builtins/markdown-renderer-before-content.ts +6 -0
  73. package/src/extensions/registries/builtins/mod-details-footer-actions.ts +6 -0
  74. package/src/extensions/registries/builtins/mod-manage-actions.ts +6 -0
  75. package/src/extensions/registries/builtins/mod-provider.ts +5 -0
  76. package/src/extensions/registries/builtins/nav.ts +7 -0
  77. package/src/extensions/registries/builtins/page.ts +13 -0
  78. package/src/extensions/registries/builtins/projects-after-content.ts +6 -0
  79. package/src/extensions/registries/builtins/projects-before-content.ts +6 -0
  80. package/src/extensions/registries/builtins/resourcepack-manage-actions.ts +7 -0
  81. package/src/extensions/registries/builtins/server-card-actions.ts +6 -0
  82. package/src/extensions/registries/builtins/server-card-after-meta.ts +6 -0
  83. package/src/extensions/registries/builtins/server-card-before-meta.ts +6 -0
  84. package/src/extensions/registries/builtins/server-card-footer-actions.ts +6 -0
  85. package/src/extensions/registries/builtins/server-detail-after-content.ts +6 -0
  86. package/src/extensions/registries/builtins/server-detail-before-content.ts +6 -0
  87. package/src/extensions/registries/builtins/server-detail-header-actions.ts +6 -0
  88. package/src/extensions/registries/builtins/settings-after-sections.ts +6 -0
  89. package/src/extensions/registries/builtins/settings-before-sections.ts +6 -0
  90. package/src/extensions/registries/builtins/settings-section-widgets.ts +6 -0
  91. package/src/extensions/registries/builtins/shaderpack-manage-actions.ts +7 -0
  92. package/src/extensions/registries/builtins/shell.ts +5 -0
  93. package/src/extensions/registries/builtins/sidebar-after-content.ts +6 -0
  94. package/src/extensions/registries/builtins/sidebar-before-content.ts +6 -0
  95. package/src/extensions/registries/builtins/sidebar-footer-widgets.ts +6 -0
  96. package/src/extensions/registries/builtins/sidebar-header-widgets.ts +6 -0
  97. package/src/extensions/registries/builtins/sidebar.ts +11 -0
  98. package/src/extensions/registries/builtins/theme.ts +5 -0
  99. package/src/extensions/registries/builtins/user-card-after-meta.ts +6 -0
  100. package/src/extensions/registries/builtins/user-card-before-meta.ts +6 -0
  101. package/src/extensions/registries/builtins/user-menu-actions.ts +6 -0
  102. package/src/extensions/registries/builtins/user-menu-after-actions.ts +6 -0
  103. package/src/extensions/registries/builtins/user-menu-before-actions.ts +6 -0
  104. package/src/extensions/registries/builtins/user-strip.ts +5 -0
  105. package/src/extensions/registries/clear-extension-ui-registries.ts +15 -0
  106. package/src/extensions/registries/define-extension-registry.ts +58 -0
  107. package/src/extensions/registries/extension-host-api.ts +41 -0
  108. package/src/extensions/registries/extension-registry-api.ts +103 -0
  109. package/src/extensions/registries/extension-registry-payload-map.ts +9 -0
  110. package/src/extensions/registries/extension-scope.ts +41 -0
  111. package/src/extensions/registries/get-registry.ts +23 -0
  112. package/src/extensions/registries/index.ts +58 -0
  113. package/src/extensions/registries/manifest-rynt.ts +193 -0
  114. package/src/extensions/registries/registry-slot.ts +40 -0
  115. package/src/extensions/registries/registry-value-map.ts +89 -0
  116. package/src/extensions/registries/store.ts +206 -0
  117. package/src/extensions/resolve-extensions.ts +245 -0
  118. package/src/extensions/router-bridge.ts +103 -0
  119. package/src/extensions/session.ts +6 -0
  120. package/src/extensions/slug.ts +23 -0
  121. package/src/extensions/version.ts +147 -0
  122. package/src/host/extensions-composables.ts +33 -0
  123. package/src/host/extensions-init.ts +194 -0
  124. package/src/host/index.ts +11 -0
  125. package/src/host/launcher-models/index.ts +4 -0
  126. package/src/index.ts +229 -0
  127. package/src/minecraft-loader/base-loader.ts +102 -0
  128. package/src/minecraft-loader/index.ts +11 -0
  129. package/src/minecraft-loader/loader-registry.ts +72 -0
  130. package/src/shared/api/assets.ts +112 -0
  131. package/src/shared/api/auth.ts +283 -0
  132. package/src/shared/api/builds.ts +647 -0
  133. package/src/shared/api/config.ts +19 -0
  134. package/src/shared/api/download-stats.ts +103 -0
  135. package/src/shared/api/downloads.ts +36 -0
  136. package/src/shared/api/entity-authorship.ts +60 -0
  137. package/src/shared/api/events.ts +393 -0
  138. package/src/shared/api/friends.ts +140 -0
  139. package/src/shared/api/graphql.ts +87 -0
  140. package/src/shared/api/index.ts +23 -0
  141. package/src/shared/api/invites.ts +262 -0
  142. package/src/shared/api/library.ts +44 -0
  143. package/src/shared/api/maps.ts +385 -0
  144. package/src/shared/api/notify-websocket.ts +140 -0
  145. package/src/shared/api/posts.ts +357 -0
  146. package/src/shared/api/projectServers.ts +379 -0
  147. package/src/shared/api/serverMembers.ts +173 -0
  148. package/src/shared/api/users.ts +294 -0
  149. package/src/shared/composables/buildEditor/useBuildEditor.ts +66 -0
  150. package/src/shared/composables/buildManifest/buildManifest.ts +447 -0
  151. package/src/shared/composables/filesEditor/filesEditor.ts +346 -0
  152. package/src/shared/composables/index.ts +10 -0
  153. package/src/shared/composables/modsEditor/modsEditor.ts +1678 -0
  154. package/src/shared/composables/registrySlot/registry-slot-utils.ts +25 -0
  155. package/src/shared/composables/registrySlot/useRegistrySlotMissing.ts +35 -0
  156. package/src/shared/composables/resourcePacksEditor/resourcePacksEditor.ts +448 -0
  157. package/src/shared/composables/shaderPacksEditor/shaderPacksEditor.ts +395 -0
  158. package/src/shared/composables/useSkinRender.ts +70 -0
  159. package/src/shared/composables/useZlDeepLink.ts +178 -0
  160. package/src/shared/definitions/defineGraphCache.ts +216 -0
  161. package/src/shared/definitions/defineStore.ts +32 -0
  162. package/src/shared/definitions/index.ts +2 -0
  163. package/src/shared/minecraft-types/build-manifest.ts +611 -0
  164. package/src/shared/minecraft-types/index.ts +3 -0
  165. package/src/shared/minecraft-types/launcher-versions.ts +32 -0
  166. package/src/shared/minecraft-types/minecraft-launcher-types.ts +276 -0
  167. package/src/shared/mocks/index.ts +1 -0
  168. package/src/shared/mocks/navigation.ts +17 -0
  169. package/src/shared/mods/http.ts +45 -0
  170. package/src/shared/mods/index.ts +5 -0
  171. package/src/shared/mods/marketplace-editor-search.ts +266 -0
  172. package/src/shared/mods/marketplace-search-utils.ts +42 -0
  173. package/src/shared/mods/mod-marketplace-registry.ts +66 -0
  174. package/src/shared/mods/mod-marketplace-types.ts +28 -0
  175. package/src/shared/mods/providers/curseforge.ts +464 -0
  176. package/src/shared/mods/providers/index.ts +8 -0
  177. package/src/shared/mods/providers/modrinth.ts +402 -0
  178. package/src/shared/mods/resolve-mods-provider-loader-ids.ts +77 -0
  179. package/src/shared/mods/types.ts +76 -0
  180. package/src/shared/styles/index.css +713 -0
  181. package/src/shared/themes/index.ts +23 -0
  182. package/src/shared/themes/theme-tokens-black.json +126 -0
  183. package/src/shared/themes/theme-tokens-classic.json +126 -0
  184. package/src/shared/themes/theme-tokens-pink.json +126 -0
  185. package/src/shared/themes/theme-tokens.json +126 -0
  186. package/src/shared/themes/types.ts +85 -0
  187. package/src/shared/types/API_DOCUMENTATION.md +422 -0
  188. package/src/shared/types/account.ts +40 -0
  189. package/src/shared/types/build.ts +8 -0
  190. package/src/shared/types/entities.ts +181 -0
  191. package/src/shared/types/index.ts +6 -0
  192. package/src/shared/types/invite-payloads.ts +60 -0
  193. package/src/shared/types/navigation.ts +16 -0
  194. package/src/shared/types/running-build.ts +51 -0
  195. package/src/shared/types/serverMember.ts +17 -0
  196. package/src/shared/types/user.ts +55 -0
  197. package/src/shared/ui/base/Avatar.vue +262 -0
  198. package/src/shared/ui/base/Badge.vue +47 -0
  199. package/src/shared/ui/base/Button.vue +78 -0
  200. package/src/shared/ui/base/Divider.vue +42 -0
  201. package/src/shared/ui/base/Icon.vue +597 -0
  202. package/src/shared/ui/base/StatusIndicator.vue +44 -0
  203. package/src/shared/ui/base/index.ts +7 -0
  204. package/src/shared/ui/cards/InviteCard.vue +47 -0
  205. package/src/shared/ui/cards/index.ts +2 -0
  206. package/src/shared/ui/dialog/Dialog.vue +71 -0
  207. package/src/shared/ui/dialog/DialogContent.vue +31 -0
  208. package/src/shared/ui/dialog/DialogFooter.vue +14 -0
  209. package/src/shared/ui/dialog/DialogHeader.vue +41 -0
  210. package/src/shared/ui/dialog/index.ts +5 -0
  211. package/src/shared/ui/editors/AttachmentImagesEditor.vue +133 -0
  212. package/src/shared/ui/editors/ContentAttachmentsDisplay.vue +76 -0
  213. package/src/shared/ui/editors/MarkdownEditor.vue +956 -0
  214. package/src/shared/ui/editors/MarkdownRenderer.vue +299 -0
  215. package/src/shared/ui/editors/RichContentImageViewer.vue +85 -0
  216. package/src/shared/ui/editors/SocialPostMediaZone.vue +320 -0
  217. package/src/shared/ui/editors/index.ts +6 -0
  218. package/src/shared/ui/editors/markdown-editor-gallery.ts +234 -0
  219. package/src/shared/ui/editors/markdown-editor-image.ts +178 -0
  220. package/src/shared/ui/form/Checkbox.vue +38 -0
  221. package/src/shared/ui/form/FormField.vue +30 -0
  222. package/src/shared/ui/form/FormGrid.vue +38 -0
  223. package/src/shared/ui/form/ImageEditor.vue +598 -0
  224. package/src/shared/ui/form/Input.vue +72 -0
  225. package/src/shared/ui/form/Range.vue +65 -0
  226. package/src/shared/ui/form/Select.vue +76 -0
  227. package/src/shared/ui/form/Switch.vue +38 -0
  228. package/src/shared/ui/form/Textarea.vue +144 -0
  229. package/src/shared/ui/form/index.ts +9 -0
  230. package/src/shared/ui/index.ts +9 -0
  231. package/src/shared/ui/layout/BusyOverlay.vue +31 -0
  232. package/src/shared/ui/layout/Callout.vue +44 -0
  233. package/src/shared/ui/layout/Card.vue +38 -0
  234. package/src/shared/ui/layout/Container.vue +36 -0
  235. package/src/shared/ui/layout/EmptyState.vue +99 -0
  236. package/src/shared/ui/layout/EntityMediaRow.vue +54 -0
  237. package/src/shared/ui/layout/FilterResultsLayout.vue +22 -0
  238. package/src/shared/ui/layout/FloatingPanel.vue +37 -0
  239. package/src/shared/ui/layout/FullscreenDimmer.vue +11 -0
  240. package/src/shared/ui/layout/Grid.vue +40 -0
  241. package/src/shared/ui/layout/Inline.vue +59 -0
  242. package/src/shared/ui/layout/LoadingState.vue +39 -0
  243. package/src/shared/ui/layout/MediaBox.vue +47 -0
  244. package/src/shared/ui/layout/OverlayPanel.vue +28 -0
  245. package/src/shared/ui/layout/OverlayWaitPanel.vue +22 -0
  246. package/src/shared/ui/layout/PageSection.vue +43 -0
  247. package/src/shared/ui/layout/PageToolbar.vue +29 -0
  248. package/src/shared/ui/layout/Panel.vue +39 -0
  249. package/src/shared/ui/layout/ProgressBar.vue +49 -0
  250. package/src/shared/ui/layout/Section.vue +30 -0
  251. package/src/shared/ui/layout/SegmentedControl.vue +43 -0
  252. package/src/shared/ui/layout/SelectableCard.vue +46 -0
  253. package/src/shared/ui/layout/SelectableRow.vue +41 -0
  254. package/src/shared/ui/layout/Skeleton.vue +25 -0
  255. package/src/shared/ui/layout/SkeletonAvatar.vue +30 -0
  256. package/src/shared/ui/layout/SkeletonEntityCard.vue +20 -0
  257. package/src/shared/ui/layout/SkeletonFeedPost.vue +22 -0
  258. package/src/shared/ui/layout/SkeletonGrid.vue +18 -0
  259. package/src/shared/ui/layout/SkeletonListRow.vue +31 -0
  260. package/src/shared/ui/layout/SkeletonText.vue +25 -0
  261. package/src/shared/ui/layout/Stack.vue +42 -0
  262. package/src/shared/ui/layout/StateBlock.vue +44 -0
  263. package/src/shared/ui/layout/TwoPaneLayout.vue +35 -0
  264. package/src/shared/ui/layout/VirtualList.vue +160 -0
  265. package/src/shared/ui/layout/index.ts +35 -0
  266. package/src/shared/ui/layout/skeletonSurfaceStyles.ts +24 -0
  267. package/src/shared/ui/navigation/NavItem.vue +139 -0
  268. package/src/shared/ui/navigation/Tab.vue +61 -0
  269. package/src/shared/ui/navigation/Tabs.vue +37 -0
  270. package/src/shared/ui/navigation/index.ts +4 -0
  271. package/src/shared/ui/primitives/Action.vue +19 -0
  272. package/src/shared/ui/primitives/Block.vue +28 -0
  273. package/src/shared/ui/primitives/CanvasView.vue +19 -0
  274. package/src/shared/ui/primitives/Control.vue +24 -0
  275. package/src/shared/ui/primitives/ControlSelect.vue +19 -0
  276. package/src/shared/ui/primitives/ControlTextarea.vue +17 -0
  277. package/src/shared/ui/primitives/FieldLabel.vue +19 -0
  278. package/src/shared/ui/primitives/Form.vue +19 -0
  279. package/src/shared/ui/primitives/Heading.vue +29 -0
  280. package/src/shared/ui/primitives/Image.vue +17 -0
  281. package/src/shared/ui/primitives/LineBreak.vue +3 -0
  282. package/src/shared/ui/primitives/Link.vue +19 -0
  283. package/src/shared/ui/primitives/List.vue +28 -0
  284. package/src/shared/ui/primitives/ListItem.vue +19 -0
  285. package/src/shared/ui/primitives/OptionItem.vue +19 -0
  286. package/src/shared/ui/primitives/Text.vue +28 -0
  287. package/src/shared/ui/primitives/VideoView.vue +19 -0
  288. package/src/shared/ui/primitives/index.ts +19 -0
  289. package/src/shared/ui/primitives/resolveElement.ts +25 -0
  290. package/src/shared/ui/special/AngularAccent.vue +106 -0
  291. package/src/shared/ui/special/ExtensionRegistrySlotButton.vue +143 -0
  292. package/src/shared/ui/special/InfoRow.vue +39 -0
  293. package/src/shared/ui/special/LogViewer.vue +53 -0
  294. package/src/shared/ui/special/PageHeader.vue +23 -0
  295. package/src/shared/ui/special/RegistrySlotMissingCallout.vue +48 -0
  296. package/src/shared/ui/special/WelcomeCard.vue +32 -0
  297. package/src/shared/ui/special/index.ts +9 -0
  298. package/src/shared/utils/app-paths.ts +50 -0
  299. package/src/shared/utils/attachments.ts +16 -0
  300. package/src/shared/utils/autostart.ts +213 -0
  301. package/src/shared/utils/build-files.ts +439 -0
  302. package/src/shared/utils/build-manifest-init.ts +176 -0
  303. package/src/shared/utils/cloudinary.ts +67 -0
  304. package/src/shared/utils/cn.ts +7 -0
  305. package/src/shared/utils/download-stats-week.ts +165 -0
  306. package/src/shared/utils/entity-api-to-cache.ts +84 -0
  307. package/src/shared/utils/entity-build-from-api.ts +1 -0
  308. package/src/shared/utils/entity-display.ts +27 -0
  309. package/src/shared/utils/entity-map-from-api.ts +1 -0
  310. package/src/shared/utils/file-hash.ts +65 -0
  311. package/src/shared/utils/formatSize.ts +5 -0
  312. package/src/shared/utils/formatTime.ts +157 -0
  313. package/src/shared/utils/getAccountSkinRender.ts +32 -0
  314. package/src/shared/utils/index.ts +34 -0
  315. package/src/shared/utils/local-mods.ts +678 -0
  316. package/src/shared/utils/local-settings.ts +217 -0
  317. package/src/shared/utils/member-join-stats.ts +35 -0
  318. package/src/shared/utils/platform.ts +86 -0
  319. package/src/shared/utils/play-host-slug.ts +92 -0
  320. package/src/shared/utils/rich-content.ts +294 -0
  321. package/src/shared/utils/safeRequest.ts +23 -0
  322. package/src/shared/utils/semver.ts +81 -0
  323. package/src/shared/utils/serverPermissions.ts +155 -0
  324. package/src/shared/utils/skin-render-cache.ts +372 -0
  325. package/src/shared/utils/stripMarkdown.ts +45 -0
  326. package/src/shared/utils/transliterate.ts +74 -0
  327. package/src/shared/utils/updateAccountSkinRender.ts +64 -0
  328. package/src/shared/utils/updater.ts +218 -0
  329. package/src/shared/utils/uploadImage.ts +195 -0
  330. package/src/shared/utils/user-status.ts +9 -0
  331. package/src/tiptap/index.ts +7 -0
  332. package/tsconfig.json +13 -0
@@ -0,0 +1,713 @@
1
+ @import 'tailwindcss';
2
+ @source "../ui/**/*.{vue,ts}";
3
+
4
+ @custom-variant dark (&:where(.dark, .dark *));
5
+
6
+ @plugin 'tailwind-scrollbar';
7
+
8
+ /* Semantic tokens: cool slate / indigo neutrals; :root = light, .dark = dark */
9
+
10
+ :root {
11
+ --font-size: 16px;
12
+ --background: #e9edf6;
13
+ --foreground: #171a26;
14
+ --card: #f6f8fd;
15
+ --card-foreground: #171a26;
16
+ --popover: #f4f7fc;
17
+ --popover-foreground: #171a26;
18
+ --primary: #5865f2;
19
+ --primary-hover: #4752c4;
20
+ --primary-foreground: #ffffff;
21
+ --secondary: #dfe4f0;
22
+ --secondary-foreground: #171a26;
23
+ --muted: #dbe0ed;
24
+ --muted-foreground: #4b5166;
25
+ --subtle-fg: #5d657d;
26
+ --accent: #5865f2;
27
+ --accent-foreground: #ffffff;
28
+ --destructive: #ed4245;
29
+ --destructive-foreground: #ffffff;
30
+ --destructive-soft: #c81e2a;
31
+ --success: #43b581;
32
+ --warning: #faa61a;
33
+ --warning-foreground: #1f1a14;
34
+ --accent-secondary: #7289da;
35
+ --border: rgba(88, 101, 242, 0.14);
36
+ --border-strong: rgba(88, 101, 242, 0.22);
37
+ --input: rgba(88, 101, 242, 0.1);
38
+ --input-background: #dee3ef;
39
+ --surface-raised: #dfe5f1;
40
+ --surface-overlay: #eef2fa;
41
+ --surface-solid: #f2f5fb;
42
+ --surface-list: #e6ebf5;
43
+ --surface-list-hover: #d7deed;
44
+ --switch-background: #c7cad8;
45
+ --font-weight-medium: 500;
46
+ --font-weight-semibold: 600;
47
+ --font-weight-normal: 400;
48
+ --ring: #5865f2;
49
+ --radius-ui-sm: 1px;
50
+ --radius-ui-md: 2px;
51
+ --radius-ui-lg: 4px;
52
+ --radius-ui-xl: 6px;
53
+ --radius: var(--radius-ui-md);
54
+ --sidebar: #e1e7f5;
55
+ --sidebar-foreground: #171a26;
56
+ --sidebar-primary: #5865f2;
57
+ --sidebar-primary-foreground: #ffffff;
58
+ --sidebar-accent: #d2d9ea;
59
+ --sidebar-accent-foreground: #171a26;
60
+ --sidebar-border: rgba(88, 101, 242, 0.12);
61
+ --sidebar-ring: #5865f2;
62
+ --app-grid-line: rgba(88, 101, 242, 0.12);
63
+ --scrollbar-thumb: rgba(23, 26, 38, 0.22);
64
+ --scrollbar-thumb-hover: rgba(23, 26, 38, 0.35);
65
+ }
66
+
67
+ .dark {
68
+ --background: #141824;
69
+ --foreground: #f6f7fb;
70
+ --card: rgba(42, 47, 58, 0.48);
71
+ --card-foreground: #f6f7fb;
72
+ --popover: #252a38;
73
+ --popover-foreground: #f6f7fb;
74
+ --primary: #5865f2;
75
+ --primary-hover: #4752c4;
76
+ --primary-foreground: #ffffff;
77
+ --secondary: #2d3346;
78
+ --secondary-foreground: #f6f7fb;
79
+ --muted: #252a38;
80
+ --muted-foreground: #b4bacb;
81
+ --subtle-fg: #858ca3;
82
+ --accent: #5865f2;
83
+ --accent-foreground: #ffffff;
84
+ --destructive: #ed4245;
85
+ --destructive-foreground: #ffffff;
86
+ --destructive-soft: #fcb0b1;
87
+ --success: #43b581;
88
+ --warning: #faa61a;
89
+ --warning-foreground: #1a1410;
90
+ --accent-secondary: #7289da;
91
+ --border: rgba(88, 101, 242, 0.12);
92
+ --border-strong: rgba(88, 101, 242, 0.22);
93
+ --input: rgba(88, 101, 242, 0.12);
94
+ --input-background: #2d3346;
95
+ --surface-raised: #242a3a;
96
+ --surface-overlay: rgba(42, 47, 58, 0.48);
97
+ --surface-solid: #1a1f2e;
98
+ --surface-list: #181c29;
99
+ --surface-list-hover: #222735;
100
+ --switch-background: #5a6278;
101
+ --font-weight-medium: 600;
102
+ --font-weight-semibold: 600;
103
+ --font-weight-normal: 400;
104
+ --ring: #5865f2;
105
+ --sidebar: #252a38;
106
+ --sidebar-foreground: #f6f7fb;
107
+ --sidebar-primary: #5865f2;
108
+ --sidebar-primary-foreground: #ffffff;
109
+ --sidebar-accent: #2d3346;
110
+ --sidebar-accent-foreground: #f6f7fb;
111
+ --sidebar-border: rgba(88, 101, 242, 0.1);
112
+ --sidebar-ring: #5865f2;
113
+ --app-grid-line: rgba(108, 116, 142, 0.42);
114
+ --scrollbar-thumb: rgba(255, 255, 255, 0.14);
115
+ --scrollbar-thumb-hover: rgba(255, 255, 255, 0.24);
116
+ }
117
+
118
+ @theme inline {
119
+ --color-background: var(--background);
120
+ --color-foreground: var(--foreground);
121
+ --color-card: var(--card);
122
+ --color-card-foreground: var(--card-foreground);
123
+ --color-popover: var(--popover);
124
+ --color-popover-foreground: var(--popover-foreground);
125
+ --color-primary: var(--primary);
126
+ --color-primary-hover: var(--primary-hover);
127
+ --color-primary-foreground: var(--primary-foreground);
128
+ --color-secondary: var(--secondary);
129
+ --color-secondary-foreground: var(--secondary-foreground);
130
+ --color-muted: var(--muted);
131
+ --color-muted-foreground: var(--muted-foreground);
132
+ --color-subtle-fg: var(--subtle-fg);
133
+ --color-accent: var(--accent);
134
+ --color-accent-secondary: var(--accent-secondary);
135
+ --color-accent-foreground: var(--accent-foreground);
136
+ --color-destructive: var(--destructive);
137
+ --color-destructive-foreground: var(--destructive-foreground);
138
+ --color-success: var(--success);
139
+ --color-warning: var(--warning);
140
+ --color-border: var(--border);
141
+ --color-input: var(--input);
142
+ --color-input-background: var(--input-background);
143
+ --color-surface-raised: var(--surface-raised);
144
+ --color-surface-overlay: var(--surface-overlay);
145
+ --color-surface-solid: var(--surface-solid);
146
+ --color-surface-list: var(--surface-list);
147
+ --color-surface-list-hover: var(--surface-list-hover);
148
+ --color-switch-background: var(--switch-background);
149
+ --color-ring: var(--ring);
150
+ --color-border-strong: var(--border-strong);
151
+ --color-warning-foreground: var(--warning-foreground);
152
+ --color-destructive-soft: var(--destructive-soft);
153
+ --color-chart-1: #5865f2;
154
+ --color-chart-2: #7289da;
155
+ --color-chart-3: #8a9eb0;
156
+ --color-chart-4: #43b581;
157
+ --color-chart-5: #faa61a;
158
+ --radius-sm: var(--radius-ui-sm);
159
+ --radius-md: var(--radius-ui-md);
160
+ --radius-lg: var(--radius-ui-lg);
161
+ --radius-xl: var(--radius-ui-xl);
162
+ }
163
+
164
+ @layer base {
165
+ html {
166
+ font-size: var(--font-size);
167
+ }
168
+
169
+ body.radius-scale-none {
170
+ --radius-ui-sm: 0px;
171
+ --radius-ui-md: 0px;
172
+ --radius-ui-lg: 0px;
173
+ --radius-ui-xl: 0px;
174
+ }
175
+
176
+ body.radius-scale-standard {
177
+ --radius-ui-sm: 1px;
178
+ --radius-ui-md: 2px;
179
+ --radius-ui-lg: 4px;
180
+ --radius-ui-xl: 6px;
181
+ }
182
+
183
+ body.radius-scale-medium {
184
+ --radius-ui-sm: 2px;
185
+ --radius-ui-md: 4px;
186
+ --radius-ui-lg: 8px;
187
+ --radius-ui-xl: 12px;
188
+ }
189
+
190
+ body {
191
+ background-color: var(--background);
192
+ color: var(--foreground);
193
+ }
194
+
195
+ /* Кастомные скроллбары (thumb цвет от темы) */
196
+ * {
197
+ scrollbar-width: thin;
198
+ scrollbar-color: var(--scrollbar-thumb) transparent;
199
+ }
200
+
201
+ *::-webkit-scrollbar {
202
+ width: 8px;
203
+ height: 8px;
204
+ }
205
+
206
+ *::-webkit-scrollbar-track {
207
+ background: transparent;
208
+ }
209
+
210
+ *::-webkit-scrollbar-thumb {
211
+ background: var(--scrollbar-thumb);
212
+ border-radius: 0;
213
+ transition: background 0.2s ease;
214
+ }
215
+
216
+ *::-webkit-scrollbar-thumb:hover {
217
+ background: var(--scrollbar-thumb-hover);
218
+ }
219
+
220
+ *::-webkit-scrollbar-corner {
221
+ background: transparent;
222
+ }
223
+ }
224
+
225
+ /* Фон как на zaklauncher.xyz: сетка + лёгкий blurple-свет сверху */
226
+ @layer utilities {
227
+ .rnt-app-grid {
228
+ pointer-events: none;
229
+ position: absolute;
230
+ inset: 0;
231
+ background-image:
232
+ linear-gradient(to right, var(--app-grid-line) 1px, transparent 1px),
233
+ linear-gradient(to bottom, var(--app-grid-line) 1px, transparent 1px);
234
+ background-size: 4rem 4rem;
235
+ -webkit-mask-image: radial-gradient(
236
+ ellipse 72% 58% at 50% -6%,
237
+ #000 50%,
238
+ transparent 102%
239
+ );
240
+ mask-image: radial-gradient(
241
+ ellipse 72% 58% at 50% -6%,
242
+ #000 50%,
243
+ transparent 102%
244
+ );
245
+ }
246
+
247
+ .rnt-app-grid-glow {
248
+ pointer-events: none;
249
+ position: absolute;
250
+ inset: 0;
251
+ background: linear-gradient(
252
+ to bottom,
253
+ color-mix(in srgb, var(--primary) 14%, transparent) 0%,
254
+ transparent 48%
255
+ );
256
+ }
257
+
258
+ /**
259
+ * Tabs variant rail: `flex-row lg:flex-col` из SFC `@rynt/sdk` часто не попадает в Tailwind,
260
+ * тогда rail остаётся горизонтальным на десктопе. Брейкпоинт 1024px = `lg` у Tailwind.
261
+ */
262
+ .rnt-rail-tabs {
263
+ display: flex;
264
+ width: 100%;
265
+ flex-shrink: 0;
266
+ gap: 0.25rem;
267
+ flex-direction: row;
268
+ overflow-x: auto;
269
+ margin-left: -0.25rem;
270
+ margin-right: -0.25rem;
271
+ padding-left: 0.25rem;
272
+ padding-right: 0.25rem;
273
+ padding-bottom: 0.5rem;
274
+ }
275
+
276
+ @media (min-width: 1024px) {
277
+ .rnt-rail-tabs {
278
+ width: auto;
279
+ flex-direction: column;
280
+ overflow: visible;
281
+ margin-left: 0;
282
+ margin-right: 0;
283
+ padding-left: 0;
284
+ padding-right: 0;
285
+ padding-bottom: 0;
286
+ }
287
+ }
288
+
289
+ /**
290
+ * Button / заливки: `bg-destructive`, `bg-primary` из SFC SDK могут отсутствовать в Tailwind — без фона у danger и др.
291
+ */
292
+ .rnt-btn-primary {
293
+ background-color: var(--primary);
294
+ color: var(--primary-foreground);
295
+ }
296
+ .rnt-btn-primary:hover:not(:disabled) {
297
+ background-color: var(--primary-hover);
298
+ }
299
+
300
+ .rnt-btn-secondary {
301
+ background-color: var(--surface-overlay);
302
+ color: var(--muted-foreground);
303
+ }
304
+ .rnt-btn-secondary:hover:not(:disabled) {
305
+ background-color: var(--secondary);
306
+ color: var(--foreground);
307
+ }
308
+
309
+ .rnt-btn-danger {
310
+ background-color: var(--destructive);
311
+ color: var(--destructive-foreground);
312
+ }
313
+ .rnt-btn-danger:hover:not(:disabled) {
314
+ opacity: 0.9;
315
+ }
316
+
317
+ .rnt-btn-ghost {
318
+ background-color: transparent;
319
+ color: var(--muted-foreground);
320
+ }
321
+ .rnt-btn-ghost:hover:not(:disabled) {
322
+ background-color: var(--card);
323
+ color: var(--foreground);
324
+ }
325
+
326
+ .rnt-btn-success {
327
+ background-color: var(--success);
328
+ color: #ffffff;
329
+ }
330
+ .rnt-btn-success:hover:not(:disabled) {
331
+ opacity: 0.9;
332
+ }
333
+
334
+ .rnt-btn-warning {
335
+ background-color: var(--warning);
336
+ color: var(--warning-foreground);
337
+ }
338
+ .rnt-btn-warning:hover:not(:disabled) {
339
+ opacity: 0.9;
340
+ }
341
+
342
+ .rnt-fill-primary {
343
+ background-color: var(--primary);
344
+ }
345
+ .rnt-fill-success {
346
+ background-color: var(--success);
347
+ }
348
+ .rnt-fill-warning {
349
+ background-color: var(--warning);
350
+ }
351
+ .rnt-fill-danger {
352
+ background-color: var(--destructive);
353
+ }
354
+
355
+ .rnt-dialog {
356
+ background-color: var(--surface-solid);
357
+ }
358
+
359
+ /**
360
+ * Switch / checkbox-toggle из SFC: `sr-only`, `peer-checked:*` не попадают в скан @tailwindcss/vite,
361
+ * на экране остаётся нативный input. Стили только через классы из этого файла.
362
+ */
363
+ .rnt-switch {
364
+ position: relative;
365
+ display: inline-flex;
366
+ align-items: center;
367
+ cursor: pointer;
368
+ }
369
+
370
+ .rnt-switch--disabled {
371
+ opacity: 0.5;
372
+ cursor: not-allowed;
373
+ }
374
+
375
+ .rnt-switch-input {
376
+ position: absolute;
377
+ width: 1px;
378
+ height: 1px;
379
+ padding: 0;
380
+ margin: -1px;
381
+ overflow: hidden;
382
+ clip: rect(0, 0, 0, 0);
383
+ white-space: nowrap;
384
+ border: 0;
385
+ opacity: 0;
386
+ }
387
+
388
+ .rnt-switch-track {
389
+ position: relative;
390
+ display: inline-block;
391
+ width: 2.75rem;
392
+ height: 1.5rem;
393
+ flex-shrink: 0;
394
+ background-color: var(--switch-background);
395
+ border-radius: 9999px;
396
+ transition:
397
+ background-color 0.2s ease,
398
+ box-shadow 0.15s ease;
399
+ }
400
+
401
+ .rnt-switch-thumb {
402
+ position: absolute;
403
+ top: 2px;
404
+ left: 2px;
405
+ width: 1.25rem;
406
+ height: 1.25rem;
407
+ background-color: #ffffff;
408
+ border-radius: 9999px;
409
+ transition: transform 0.2s ease;
410
+ box-shadow: 0 1px 2px rgb(0 0 0 / 0.12);
411
+ }
412
+
413
+ .rnt-switch-input:focus-visible + .rnt-switch-track {
414
+ box-shadow:
415
+ 0 0 0 2px var(--background, #17191e),
416
+ 0 0 0 4px var(--ring);
417
+ }
418
+
419
+ .rnt-switch-input:checked + .rnt-switch-track {
420
+ background-color: var(--primary);
421
+ }
422
+
423
+ .rnt-switch-input:checked + .rnt-switch-track .rnt-switch-thumb {
424
+ transform: translateX(1.25rem);
425
+ }
426
+
427
+ .rnt-switch-input:disabled + .rnt-switch-track {
428
+ opacity: 0.85;
429
+ }
430
+
431
+ /**
432
+ * Кнопки микрофона/камеры/сброса в сайдбаре при активном звонке.
433
+ * Ghost + произвольные hover из Tailwind в SDK часто отсутствуют в CSS; rnt-btn-ghost:hover ломает задуманные цвета.
434
+ */
435
+ .rnt-sidebar-call-strip .rnt-sidebar-callCtl {
436
+ color: var(--foreground);
437
+ }
438
+ .rnt-sidebar-call-strip .rnt-sidebar-callCtl:not(:last-child) {
439
+ border-right: 1px solid color-mix(in srgb, var(--primary) 10%, transparent);
440
+ }
441
+ .rnt-sidebar-call-strip .rnt-sidebar-callCtl--muted {
442
+ background-color: rgba(239, 68, 68, 0.2);
443
+ }
444
+ .rnt-sidebar-call-strip .rnt-sidebar-callCtl--muted:hover:not(:disabled) {
445
+ background-color: rgba(239, 68, 68, 0.32);
446
+ }
447
+ .rnt-sidebar-call-strip .rnt-sidebar-callCtl--live {
448
+ background-color: color-mix(in srgb, var(--muted) 60%, transparent);
449
+ }
450
+ .rnt-sidebar-call-strip .rnt-sidebar-callCtl--live:hover:not(:disabled) {
451
+ background-color: var(--muted);
452
+ }
453
+ .rnt-sidebar-call-strip .rnt-sidebar-callCtl--hangup {
454
+ background-color: rgba(239, 68, 68, 0.2);
455
+ }
456
+ .rnt-sidebar-call-strip .rnt-sidebar-callCtl--hangup:hover:not(:disabled) {
457
+ background-color: rgba(239, 68, 68, 0.34);
458
+ }
459
+
460
+ /**
461
+ * Card / вертикальный стек секций: строки классов из <script setup> (cn и т.п.) не всегда
462
+ * попадают в скан @tailwindcss/vite, поэтому тень карточки и space-y-5/8 «исчезали» из бандла.
463
+ */
464
+ .rnt-card {
465
+ background-color: var(--card);
466
+ border-radius: var(--radius-ui-md);
467
+ overflow: hidden;
468
+ transition:
469
+ background-color 200ms ease,
470
+ border-color 200ms ease,
471
+ transform 200ms ease,
472
+ box-shadow 200ms ease;
473
+ }
474
+
475
+ .rnt-card--raised {
476
+ border-radius: var(--radius-ui-lg);
477
+ border: 1px solid color-mix(in srgb, var(--primary) 18%, transparent);
478
+ box-shadow:
479
+ 0 12px 40px -12px rgb(0 0 0 / 0.16),
480
+ inset 0 0 0 1px rgb(88 101 242 / 0.06);
481
+ }
482
+
483
+ .rnt-card--interactive {
484
+ cursor: pointer;
485
+ }
486
+
487
+ .rnt-card--interactive:hover {
488
+ background-color: color-mix(in srgb, var(--foreground) 7%, var(--card));
489
+ border-color: color-mix(in srgb, var(--primary) 18%, transparent);
490
+ transform: translateY(-2px);
491
+ box-shadow:
492
+ 0 18px 50px -14px rgb(0 0 0 / 0.62),
493
+ 0 0 24px -8px rgb(88 101 242 / 0.14);
494
+ }
495
+
496
+ .rnt-section-stack {
497
+ display: flex;
498
+ flex-direction: column;
499
+ }
500
+
501
+ .rnt-section-stack--none {
502
+ gap: 0;
503
+ }
504
+
505
+ .rnt-section-stack--sm {
506
+ gap: 0.75rem;
507
+ }
508
+
509
+ .rnt-section-stack--md {
510
+ gap: 1.25rem;
511
+ }
512
+
513
+ .rnt-section-stack--lg {
514
+ gap: 2rem;
515
+ }
516
+
517
+ /**
518
+ * Build editor — blueprint / graph-workshop aesthetic (aligned with rnt-website tokens)
519
+ */
520
+ .be-root {
521
+ background: linear-gradient(
522
+ 165deg,
523
+ color-mix(in srgb, var(--background) 80%, var(--surface-solid)) 0%,
524
+ color-mix(in srgb, var(--surface-raised) 62%, var(--surface-solid)) 42%,
525
+ color-mix(in srgb, var(--background) 72%, var(--surface-solid)) 100%
526
+ );
527
+ }
528
+
529
+ .be-blueprint-canvas {
530
+ position: relative;
531
+ isolation: isolate;
532
+ background-color: color-mix(
533
+ in srgb,
534
+ var(--surface-list) 86%,
535
+ var(--surface-solid)
536
+ );
537
+ background-image:
538
+ linear-gradient(rgba(88, 101, 242, 0.034) 1px, transparent 1px),
539
+ linear-gradient(90deg, rgba(88, 101, 242, 0.034) 1px, transparent 1px),
540
+ linear-gradient(rgba(114, 137, 218, 0.06) 1px, transparent 1px),
541
+ linear-gradient(90deg, rgba(114, 137, 218, 0.06) 1px, transparent 1px);
542
+ background-size:
543
+ 16px 16px,
544
+ 16px 16px,
545
+ 128px 128px,
546
+ 128px 128px;
547
+ background-position:
548
+ 0 0,
549
+ 0 0,
550
+ -1px -1px,
551
+ -1px -1px;
552
+ }
553
+
554
+ .be-blueprint-canvas::before {
555
+ content: '';
556
+ position: absolute;
557
+ inset: 0;
558
+ z-index: 0;
559
+ pointer-events: none;
560
+ background: radial-gradient(
561
+ ellipse 95% 65% at 50% -8%,
562
+ color-mix(in srgb, var(--primary) 16%, transparent),
563
+ transparent 58%
564
+ );
565
+ opacity: 0.35;
566
+ }
567
+
568
+ .be-blueprint-canvas > * {
569
+ position: relative;
570
+ z-index: 1;
571
+ }
572
+
573
+ .be-toolbar {
574
+ background: linear-gradient(
575
+ 180deg,
576
+ color-mix(in srgb, var(--surface-raised) 30%, var(--surface-solid)) 0%,
577
+ color-mix(in srgb, var(--surface-solid) 92%, var(--surface-list)) 100%
578
+ );
579
+ border-bottom: 1px solid color-mix(in srgb, var(--primary) 12%, transparent);
580
+ box-shadow:
581
+ 0 1px 0 color-mix(in srgb, var(--accent-secondary) 8%, transparent),
582
+ inset 0 -1px 0 rgba(0, 0, 0, 0.35);
583
+ }
584
+
585
+ .be-toolbar-accent {
586
+ height: 2px;
587
+ background: linear-gradient(
588
+ 90deg,
589
+ transparent 0%,
590
+ color-mix(in srgb, var(--primary) 70%, transparent) 18%,
591
+ color-mix(in srgb, var(--accent-secondary) 55%, transparent) 50%,
592
+ color-mix(in srgb, var(--primary) 70%, transparent) 82%,
593
+ transparent 100%
594
+ );
595
+ opacity: 0.85;
596
+ }
597
+
598
+ .be-rail {
599
+ background: linear-gradient(
600
+ 180deg,
601
+ color-mix(in srgb, var(--surface-solid) 88%, var(--surface-list)) 0%,
602
+ color-mix(in srgb, var(--surface-list) 88%, var(--surface-solid)) 52%,
603
+ color-mix(in srgb, var(--surface-solid) 92%, var(--surface-raised)) 100%
604
+ );
605
+ border-right: 1px solid color-mix(in srgb, var(--primary) 14%, transparent);
606
+ box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.45);
607
+ }
608
+
609
+ .be-rail-meta {
610
+ font-size: 0.5625rem;
611
+ font-weight: 600;
612
+ letter-spacing: 0.22em;
613
+ text-transform: uppercase;
614
+ color: color-mix(
615
+ in srgb,
616
+ var(--accent-secondary) 75%,
617
+ var(--muted-foreground)
618
+ );
619
+ opacity: 0.92;
620
+ }
621
+
622
+ .be-node-panel {
623
+ border: 1px solid color-mix(in srgb, var(--primary) 18%, transparent);
624
+ background: color-mix(in srgb, var(--surface-overlay) 92%, transparent);
625
+ box-shadow:
626
+ inset 0 1px 0 color-mix(in srgb, var(--accent-secondary) 10%, transparent),
627
+ 0 4px 28px rgba(0, 0, 0, 0.42);
628
+ backdrop-filter: blur(8px);
629
+ }
630
+
631
+ .be-node-panel-header {
632
+ display: flex;
633
+ align-items: center;
634
+ gap: 0.5rem;
635
+ padding-bottom: 0.75rem;
636
+ margin-bottom: 0.25rem;
637
+ border-bottom: 1px solid color-mix(in srgb, var(--primary) 10%, transparent);
638
+ }
639
+
640
+ .be-node-panel-header::before {
641
+ content: '';
642
+ width: 3px;
643
+ align-self: stretch;
644
+ min-height: 1rem;
645
+ background: linear-gradient(
646
+ 180deg,
647
+ color-mix(in srgb, var(--primary) 85%, transparent),
648
+ color-mix(in srgb, var(--accent-secondary) 45%, transparent)
649
+ );
650
+ border-radius: var(--radius-ui-sm);
651
+ }
652
+
653
+ .be-scroll-well {
654
+ background: color-mix(in srgb, var(--surface-list) 86%, transparent);
655
+ border: 1px solid color-mix(in srgb, var(--primary) 8%, transparent);
656
+ box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.35);
657
+ }
658
+
659
+ .be-sub-toolbar {
660
+ background: linear-gradient(
661
+ 180deg,
662
+ color-mix(in srgb, var(--surface-raised) 25%, var(--surface-solid)) 0%,
663
+ color-mix(in srgb, var(--surface-solid) 94%, var(--surface-list)) 100%
664
+ );
665
+ border-bottom: 1px solid color-mix(in srgb, var(--primary) 10%, transparent);
666
+ box-shadow: inset 0 1px 0
667
+ color-mix(in srgb, var(--accent-secondary) 6%, transparent);
668
+ }
669
+
670
+ .be-section-label {
671
+ font-size: 0.625rem;
672
+ font-weight: 600;
673
+ letter-spacing: 0.14em;
674
+ text-transform: uppercase;
675
+ color: var(--muted-foreground);
676
+ opacity: 0.92;
677
+ }
678
+ }
679
+
680
+ /* .main-background {
681
+ background:
682
+ linear-gradient(rgb(0 0 0 / 73%), rgb(0 0 0 / 79%)),
683
+ url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAIuSURBVDhPVZJLbtswEIY/apHUpCO59SOklkF8uJzCuadadxWJgdE2okUqQGBNF7aJZIBZDEDO/C+12+0kxsjnMsawWCwQEZqmYbvdEkJgGAZEBKUUoJibGYWIoLWmrmucc9R1TVVVtG1L27bM53MAyrLEOcc4jhhj0FoTh0hRFAWHw4Gu6/De0zQNbdsiIgBYa/He0/c9IQRWqxVlWYICMzdnBNvtFq01s9mM1WpFjDGjOh6P3N7eklIipcQ4jnjvGdOITIJ6fn6WsiwB6LouXxYRiqLIs3MOpVTWYJqE3/uGIsZI13WEENBao7UGyI+11qSUCCHQ9z3ee7quY7/f82O5onDOYa1lmqaLuufPV0GVUiyXS0QEEcFai3OOh4cH/v35e6bApYZhyJc/o4gxYozJB7hYPU2ns4hlWXJ3d0eMkfv7e5RSmY7WmsfHR+q6xlqbu6oqvi8WFFzE895jjMF7j4gwjiPTNHE4HAghEELAe59bROj7/rxAa421NsNzzuGc4/39HREhpZSDZK3FGEMI4azb09OTrNdriqJgmiZSShhj8rKqqgAIIWRtqqpCRPj1s6HYbDaklIgxMo4jQJ5TSnnRMAwMw0CMkbZt8a+vrNfrr0G61pVfSumLE/P5nNlshlKKsqxQCGq328nVnpRSTtrVd2MMIsJisYALlRjj2anZt3MSryp/fHwQQmCz2eCcwxjD6XRCKcXb2xsvLy8cj0dOpxM3N7eICP8BxDhsd/idP9MAAAAASUVORK5CYII=);
684
+ background-size: 64px;
685
+ image-rendering: pixelated;
686
+ }
687
+
688
+ .sidebar-background {
689
+ background:
690
+ linear-gradient(
691
+ 90deg,
692
+ rgb(0 0 0 / 62%) 0%,
693
+ rgb(0 0 0 / 50%) 0%,
694
+ rgb(0 0 0 / 71%) 2%,
695
+ rgb(0 0 0 / 87%) 100%
696
+ ),
697
+ url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAMXSURBVDhPLZJJbxtlAEDfN+O0jlNvSjJu0nhJDqVJXIcLbpoFihACKq60CPghHA3iJ1VcuMZNlEoc8NL0QD3jpfF43Hg8drzF830cwu1J7/ie+POPX5RlXyGlotnpA/D53iaW3ceXPs1OH6Wg3nFJGVECus5hNs1JyeTgcRp9y4gWFoMBzioNwot30HUNH+gl8vx9dkr8XpCjbIbw0l2G4xn7uylMu0e51qZk2ohXv/+sTssWc+nTcjx+/CpHsVxHKghogoPdFGfVOr6UoMDquGhC8OJZjtOLOprl9BkaWY5zW2Tux6i1XRp2Dx3FwW6KZtdjNX4PgDUjRjoR5+WXOZrdPnIu0XzfJ9T5h2bX5elumvNqnfxOEgUUSyaT2Zw3b+v4Et6pFCCwbJdiyUTTBFq7O6DRdrmZS6yOS9KIoQlBw3YxbZc3Fw0erETRNXCrJ0gpaTkeSSPGYTaDePXbT6pYNhEChKazlP2aQekv8Occ5TYBKJYtDrNpxP98fyVM++OADSOGnklEC0IpjnIZ0kaUSedfIosLDEZTmk6fOYpqzSYcCtIfTegNxwxHM9ZXIigF2vpKBASclEzeX/Zo2j2kUvhKUbvs0bL75LeTSKVo2C66EAjgtGLxodtH/3QrUVhbCVOt2QjtVlbetxmMZiSNKADj6Q3eaIoCjvc2SSfi9Ecz1pbD6MfZVCESuoMmBMe5TVJGnOF4yjf5hyAEVcvh+ZNHpIwYrysWoeAC3nSOzBzTrV2gv/hit9ByPIQQ+CiGkynZdILzt01CobuMjBwLIxv3eoSSUDVt1pfDXFnvaHauEL/+cKhajkt+J8lld8D6aoSAppFajfK6YnEjASUJaBq+ur0xENA42EmDAE3TBPntDT44HgowuzOsdg/T7pFYjqChuPw44MlOilZ3gACebqdpOB6m7d5WaDkezY7L4U6KBTnGavew7D7nFYujxxlePstxXq3z2ScPQECxbHLjz5G+RP9+/2HhenLDd/uPaF15RJaC6AGdyN63BEeXCAHeeIZ7PWE0nbORiBENL9FyPKqWw39vS5Ei63xEngAAAABJRU5ErkJggg==);
698
+ background-size:
699
+ 100% 100%,
700
+ 64px;
701
+ image-rendering: pixelated;
702
+ border-left: 2px solid #0e0e0e;
703
+ } */
704
+
705
+ /* .rnt-card {
706
+ background:
707
+ linear-gradient(rgba(0, 0, 0, 0.226), rgba(0, 0, 0, 0.253)),
708
+ url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAAAYdpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+DQo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIj48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSJ1dWlkOmZhZjViZGQ1LWJhM2QtMTFkYS1hZDMxLWQzM2Q3NTE4MmYxYiIgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iPjx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+PC9yZGY6RGVzY3JpcHRpb24+PC9yZGY6UkRGPjwveDp4bXBtZXRhPg0KPD94cGFja2V0IGVuZD0ndyc/PiyUmAsAAAMXSURBVDhPLZJJbxtlAEDfN+O0jlNvSjJu0nhJDqVJXIcLbpoFihACKq60CPghHA3iJ1VcuMZNlEoc8NL0QD3jpfF43Hg8drzF830cwu1J7/ie+POPX5RlXyGlotnpA/D53iaW3ceXPs1OH6Wg3nFJGVECus5hNs1JyeTgcRp9y4gWFoMBzioNwot30HUNH+gl8vx9dkr8XpCjbIbw0l2G4xn7uylMu0e51qZk2ohXv/+sTssWc+nTcjx+/CpHsVxHKghogoPdFGfVOr6UoMDquGhC8OJZjtOLOprl9BkaWY5zW2Tux6i1XRp2Dx3FwW6KZtdjNX4PgDUjRjoR5+WXOZrdPnIu0XzfJ9T5h2bX5elumvNqnfxOEgUUSyaT2Zw3b+v4Et6pFCCwbJdiyUTTBFq7O6DRdrmZS6yOS9KIoQlBw3YxbZc3Fw0erETRNXCrJ0gpaTkeSSPGYTaDePXbT6pYNhEChKazlP2aQekv8Occ5TYBKJYtDrNpxP98fyVM++OADSOGnklEC0IpjnIZ0kaUSedfIosLDEZTmk6fOYpqzSYcCtIfTegNxwxHM9ZXIigF2vpKBASclEzeX/Zo2j2kUvhKUbvs0bL75LeTSKVo2C66EAjgtGLxodtH/3QrUVhbCVOt2QjtVlbetxmMZiSNKADj6Q3eaIoCjvc2SSfi9Ecz1pbD6MfZVCESuoMmBMe5TVJGnOF4yjf5hyAEVcvh+ZNHpIwYrysWoeAC3nSOzBzTrV2gv/hit9ByPIQQ+CiGkynZdILzt01CobuMjBwLIxv3eoSSUDVt1pfDXFnvaHauEL/+cKhajkt+J8lld8D6aoSAppFajfK6YnEjASUJaBq+ur0xENA42EmDAE3TBPntDT44HgowuzOsdg/T7pFYjqChuPw44MlOilZ3gACebqdpOB6m7d5WaDkezY7L4U6KBTnGavew7D7nFYujxxlePstxXq3z2ScPQECxbHLjz5G+RP9+/2HhenLDd/uPaF15RJaC6AGdyN63BEeXCAHeeIZ7PWE0nbORiBENL9FyPKqWw39vS5Ei63xEngAAAABJRU5ErkJggg==);
709
+ background-size:
710
+ 100% 100%,
711
+ 64px;
712
+ image-rendering: pixelated;
713
+ } */