@liveblocks/react-ui 2.22.2 → 2.22.4-emails1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiPicker.js","sources":["../../../src/components/internal/EmojiPicker.tsx"],"sourcesContent":["import * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport {\n type Emoji as FrimousseEmoji,\n EmojiPicker as EmojiPickerPrimitive,\n type EmojiPickerListCategoryHeaderProps,\n type EmojiPickerListEmojiProps,\n type EmojiPickerListRowProps,\n type Locale,\n} from \"frimousse\";\nimport type { ComponentPropsWithoutRef } from \"react\";\nimport { forwardRef, useCallback, useState } from \"react\";\n\nimport { useLiveblocksUIConfig } from \"../../config\";\nimport {\n FLOATING_ELEMENT_COLLISION_PADDING,\n FLOATING_ELEMENT_SIDE_OFFSET,\n} from \"../../constants\";\nimport { SearchIcon } from \"../../icons/Search\";\nimport { SpinnerIcon } from \"../../icons/Spinner\";\nimport { useOverrides } from \"../../overrides\";\nimport { classNames } from \"../../utils/class-names\";\nimport { Emoji } from \"./Emoji\";\nimport { Tooltip } from \"./Tooltip\";\n\nexport interface EmojiPickerProps extends ComponentPropsWithoutRef<\"div\"> {\n onOpenChange?: (open: boolean) => void;\n onEmojiSelect?: (emoji: string) => void;\n}\n\nfunction EmojiPickerListEmoji({\n emoji,\n className,\n ...props\n}: EmojiPickerListEmojiProps) {\n return (\n <button\n className={classNames(\"lb-emoji-picker-emoji\", className)}\n {...props}\n >\n <Emoji emoji={emoji.emoji} />\n </button>\n );\n}\n\nfunction EmojiPickerListRow({\n children,\n className,\n ...props\n}: EmojiPickerListRowProps) {\n return (\n <div className={classNames(\"lb-emoji-picker-row\", className)} {...props}>\n {children}\n </div>\n );\n}\n\nfunction EmojiPickerListCategoryHeader({\n category,\n className,\n ...props\n}: EmojiPickerListCategoryHeaderProps) {\n return (\n <div\n className={classNames(\"lb-emoji-picker-category-header\", className)}\n {...props}\n >\n <span className=\"lb-emoji-picker-category-header-title\">\n {category.label}\n </span>\n </div>\n );\n}\n\nexport const EmojiPicker = forwardRef<HTMLDivElement, EmojiPickerProps>(\n (\n { onEmojiSelect, onOpenChange, children, className, ...props },\n forwardedRef\n ) => {\n const [isOpen, setOpen] = useState(false);\n const { portalContainer } = useLiveblocksUIConfig();\n const $ = useOverrides();\n\n const handleOpenChange = useCallback(\n (isOpen: boolean) => {\n setOpen(isOpen);\n onOpenChange?.(isOpen);\n },\n [onOpenChange]\n );\n\n const handleEmojiSelect = useCallback(\n ({ emoji }: FrimousseEmoji) => {\n setOpen(false);\n onEmojiSelect?.(emoji);\n },\n [onEmojiSelect]\n );\n\n return (\n <PopoverPrimitive.Root open={isOpen} onOpenChange={handleOpenChange}>\n {children}\n <PopoverPrimitive.Portal container={portalContainer}>\n <PopoverPrimitive.Content\n side=\"top\"\n align=\"center\"\n sideOffset={FLOATING_ELEMENT_SIDE_OFFSET}\n collisionPadding={FLOATING_ELEMENT_COLLISION_PADDING}\n className={classNames(\n \"lb-root lb-portal lb-elevation lb-emoji-picker\",\n className\n )}\n {...props}\n ref={forwardedRef}\n asChild\n >\n <EmojiPickerPrimitive.Root\n onEmojiSelect={handleEmojiSelect}\n locale={$.locale as Locale}\n emojiVersion={15.1}\n columns={10}\n >\n <div className=\"lb-emoji-picker-header\">\n <div className=\"lb-emoji-picker-search-container\">\n <EmojiPickerPrimitive.Search\n className=\"lb-emoji-picker-search\"\n placeholder={$.EMOJI_PICKER_SEARCH_PLACEHOLDER}\n autoFocus\n />\n <SearchIcon />\n </div>\n </div>\n <EmojiPickerPrimitive.Viewport className=\"lb-emoji-picker-content\">\n <EmojiPickerPrimitive.Loading className=\"lb-loading lb-emoji-picker-loading\">\n <SpinnerIcon />\n </EmojiPickerPrimitive.Loading>\n <EmojiPickerPrimitive.Empty className=\"lb-empty lb-emoji-picker-empty\">\n {$.EMOJI_PICKER_EMPTY}\n </EmojiPickerPrimitive.Empty>\n <EmojiPickerPrimitive.List\n className=\"lb-emoji-picker-list\"\n components={{\n CategoryHeader: EmojiPickerListCategoryHeader,\n Row: EmojiPickerListRow,\n Emoji: EmojiPickerListEmoji,\n }}\n />\n </EmojiPickerPrimitive.Viewport>\n <div className=\"lb-emoji-picker-footer\">\n <EmojiPickerPrimitive.ActiveEmoji>\n {({ emoji }) =>\n emoji ? (\n <>\n <div className=\"lb-emoji-picker-active-emoji\">\n {emoji.emoji}\n </div>\n <span className=\"lb-emoji-picker-active-emoji-label\">\n {emoji.label}\n </span>\n </>\n ) : (\n <span className=\"lb-emoji-picker-active-emoji-label lb-emoji-picker-active-emoji-label-placeholder\">\n Select an emoji…\n </span>\n )\n }\n </EmojiPickerPrimitive.ActiveEmoji>\n <Tooltip content={$.EMOJI_PICKER_CHANGE_SKIN_TONE}>\n <EmojiPickerPrimitive.SkinToneSelector className=\"lb-button lb-emoji-picker-skin-tone-selector\" />\n </Tooltip>\n </div>\n </EmojiPickerPrimitive.Root>\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n );\n }\n);\n\nexport { PopoverTrigger as EmojiPickerTrigger } from \"@radix-ui/react-popover\";\n"],"names":["isOpen","EmojiPickerPrimitive"],"mappings":"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"}
1
+ {"version":3,"file":"EmojiPicker.js","sources":["../../../src/components/internal/EmojiPicker.tsx"],"sourcesContent":["import * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport {\n type Emoji as FrimousseEmoji,\n EmojiPicker as EmojiPickerPrimitive,\n type EmojiPickerListCategoryHeaderProps,\n type EmojiPickerListEmojiProps,\n type EmojiPickerListRowProps,\n type Locale,\n} from \"frimousse\";\nimport type { ComponentPropsWithoutRef, SyntheticEvent } from \"react\";\nimport { forwardRef, useCallback, useState } from \"react\";\n\nimport { useLiveblocksUIConfig } from \"../../config\";\nimport {\n FLOATING_ELEMENT_COLLISION_PADDING,\n FLOATING_ELEMENT_SIDE_OFFSET,\n} from \"../../constants\";\nimport { SearchIcon } from \"../../icons/Search\";\nimport { SpinnerIcon } from \"../../icons/Spinner\";\nimport { useOverrides } from \"../../overrides\";\nimport { classNames } from \"../../utils/class-names\";\nimport { Emoji } from \"./Emoji\";\nimport { Tooltip } from \"./Tooltip\";\n\nexport interface EmojiPickerProps extends ComponentPropsWithoutRef<\"div\"> {\n onOpenChange?: (open: boolean) => void;\n onEmojiSelect?: (emoji: string) => void;\n}\n\nfunction EmojiPickerListEmoji({\n emoji,\n className,\n ...props\n}: EmojiPickerListEmojiProps) {\n return (\n <button\n className={classNames(\"lb-emoji-picker-emoji\", className)}\n {...props}\n >\n <Emoji emoji={emoji.emoji} />\n </button>\n );\n}\n\nfunction EmojiPickerListRow({\n children,\n className,\n ...props\n}: EmojiPickerListRowProps) {\n return (\n <div className={classNames(\"lb-emoji-picker-row\", className)} {...props}>\n {children}\n </div>\n );\n}\n\nfunction EmojiPickerListCategoryHeader({\n category,\n className,\n ...props\n}: EmojiPickerListCategoryHeaderProps) {\n return (\n <div\n className={classNames(\"lb-emoji-picker-category-header\", className)}\n {...props}\n >\n <span className=\"lb-emoji-picker-category-header-title\">\n {category.label}\n </span>\n </div>\n );\n}\n\nexport const EmojiPicker = forwardRef<HTMLDivElement, EmojiPickerProps>(\n (\n { onEmojiSelect, onOpenChange, children, className, ...props },\n forwardedRef\n ) => {\n const [isOpen, setOpen] = useState(false);\n const { portalContainer, emojibaseUrl } = useLiveblocksUIConfig();\n const $ = useOverrides();\n\n const handleOpenChange = useCallback(\n (isOpen: boolean) => {\n setOpen(isOpen);\n onOpenChange?.(isOpen);\n },\n [onOpenChange]\n );\n\n const handleEmojiSelect = useCallback(\n ({ emoji }: FrimousseEmoji) => {\n setOpen(false);\n onEmojiSelect?.(emoji);\n },\n [onEmojiSelect]\n );\n\n const stopPropagation = useCallback((event: SyntheticEvent) => {\n event.stopPropagation();\n }, []);\n\n return (\n <PopoverPrimitive.Root open={isOpen} onOpenChange={handleOpenChange}>\n {children}\n <PopoverPrimitive.Portal container={portalContainer}>\n <PopoverPrimitive.Content\n side=\"top\"\n align=\"center\"\n sideOffset={FLOATING_ELEMENT_SIDE_OFFSET}\n collisionPadding={FLOATING_ELEMENT_COLLISION_PADDING}\n className={classNames(\n \"lb-root lb-portal lb-elevation lb-emoji-picker\",\n className\n )}\n {...props}\n ref={forwardedRef}\n asChild\n >\n <EmojiPickerPrimitive.Root\n onEmojiSelect={handleEmojiSelect}\n locale={$.locale as Locale}\n columns={10}\n emojiVersion={15.1}\n emojibaseUrl={emojibaseUrl}\n onClick={stopPropagation}\n >\n <div className=\"lb-emoji-picker-header\">\n <div className=\"lb-emoji-picker-search-container\">\n <EmojiPickerPrimitive.Search\n className=\"lb-emoji-picker-search\"\n placeholder={$.EMOJI_PICKER_SEARCH_PLACEHOLDER}\n autoFocus\n />\n <SearchIcon />\n </div>\n </div>\n <EmojiPickerPrimitive.Viewport className=\"lb-emoji-picker-content\">\n <EmojiPickerPrimitive.Loading className=\"lb-loading lb-emoji-picker-loading\">\n <SpinnerIcon />\n </EmojiPickerPrimitive.Loading>\n <EmojiPickerPrimitive.Empty className=\"lb-empty lb-emoji-picker-empty\">\n {$.EMOJI_PICKER_EMPTY}\n </EmojiPickerPrimitive.Empty>\n <EmojiPickerPrimitive.List\n className=\"lb-emoji-picker-list\"\n components={{\n CategoryHeader: EmojiPickerListCategoryHeader,\n Row: EmojiPickerListRow,\n Emoji: EmojiPickerListEmoji,\n }}\n />\n </EmojiPickerPrimitive.Viewport>\n <div className=\"lb-emoji-picker-footer\">\n <EmojiPickerPrimitive.ActiveEmoji>\n {({ emoji }) =>\n emoji ? (\n <>\n <div className=\"lb-emoji-picker-active-emoji\">\n {emoji.emoji}\n </div>\n <span className=\"lb-emoji-picker-active-emoji-label\">\n {emoji.label}\n </span>\n </>\n ) : (\n <span className=\"lb-emoji-picker-active-emoji-label lb-emoji-picker-active-emoji-label-placeholder\">\n Select an emoji…\n </span>\n )\n }\n </EmojiPickerPrimitive.ActiveEmoji>\n <Tooltip content={$.EMOJI_PICKER_CHANGE_SKIN_TONE}>\n <EmojiPickerPrimitive.SkinToneSelector className=\"lb-button lb-emoji-picker-skin-tone-selector\" />\n </Tooltip>\n </div>\n </EmojiPickerPrimitive.Root>\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n );\n }\n);\n\nexport { PopoverTrigger as EmojiPickerTrigger } from \"@radix-ui/react-popover\";\n"],"names":["isOpen","EmojiPickerPrimitive"],"mappings":"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"}
package/dist/config.cjs CHANGED
@@ -16,11 +16,16 @@ function LiveblocksUIConfig({
16
16
  components: components$1,
17
17
  portalContainer,
18
18
  preventUnsavedComposerChanges = true,
19
+ emojibaseUrl,
19
20
  children
20
21
  }) {
21
22
  const liveblocksUIConfig = react.useMemo(
22
- () => ({ portalContainer, preventUnsavedComposerChanges }),
23
- [portalContainer, preventUnsavedComposerChanges]
23
+ () => ({
24
+ portalContainer,
25
+ preventUnsavedComposerChanges,
26
+ emojibaseUrl
27
+ }),
28
+ [portalContainer, preventUnsavedComposerChanges, emojibaseUrl]
24
29
  );
25
30
  return /* @__PURE__ */ jsxRuntime.jsx(LiveblocksUIConfigContext.Provider, {
26
31
  value: liveblocksUIConfig,
@@ -1 +1 @@
1
- {"version":3,"file":"config.cjs","sources":["../src/config.tsx"],"sourcesContent":["\"use client\";\n\nimport type { PropsWithChildren } from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\n\nimport { type Components, ComponentsProvider } from \"./components\";\nimport type { Overrides } from \"./overrides\";\nimport { OverridesProvider } from \"./overrides\";\n\ntype LiveblocksUIConfigProps = PropsWithChildren<{\n /**\n * Override the components' strings.\n */\n overrides?: Partial<Overrides>;\n\n /**\n * Override the components' components.\n */\n components?: Partial<Components>;\n\n /**\n * The container to render the portal into.\n */\n portalContainer?: HTMLElement;\n\n /**\n * When `preventUnsavedChanges` is set on your Liveblocks client (or set on\n * <LiveblocksProvider>), then closing a browser tab will be prevented when\n * there are unsaved changes.\n *\n * By default, that will include draft texts or attachments that are (being)\n * uploaded via comments/threads composers, but not submitted yet.\n *\n * If you want to prevent unsaved changes with Liveblocks, but not for\n * composers, you can opt-out by setting this option to `false`.\n */\n preventUnsavedComposerChanges?: boolean;\n}>;\n\ninterface LiveblocksUIConfigContext {\n portalContainer?: HTMLElement;\n preventUnsavedComposerChanges?: boolean;\n}\n\nconst LiveblocksUIConfigContext = createContext<LiveblocksUIConfigContext>({});\n\nexport function useLiveblocksUIConfig() {\n return useContext(LiveblocksUIConfigContext);\n}\n\n/**\n * Set configuration options for all components.\n *\n * @example\n * <LiveblocksUIConfig overrides={{ locale: \"fr\", USER_UNKNOWN: \"Anonyme\", ... }}>\n * <App />\n * </LiveblocksUIConfig>\n */\nexport function LiveblocksUIConfig({\n overrides,\n components,\n portalContainer,\n preventUnsavedComposerChanges = true,\n children,\n}: LiveblocksUIConfigProps) {\n const liveblocksUIConfig = useMemo(\n () => ({ portalContainer, preventUnsavedComposerChanges }),\n [portalContainer, preventUnsavedComposerChanges]\n );\n\n return (\n <LiveblocksUIConfigContext.Provider value={liveblocksUIConfig}>\n <OverridesProvider overrides={overrides}>\n <ComponentsProvider components={components}>\n {children}\n </ComponentsProvider>\n </OverridesProvider>\n </LiveblocksUIConfigContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;AA4CA;AAEO;AACL;AACF;AAUO;AAA4B;AACjC;AACA;AACA;AACgC;AAElC;AACE;AAA2B;AAC+B;AACT;AAGjD;AACG;AAA0C;AACxC;AAAkB;AAChB;AAAmB;AACjB;AACH;AACF;AAGN;;;"}
1
+ {"version":3,"file":"config.cjs","sources":["../src/config.tsx"],"sourcesContent":["\"use client\";\n\nimport type { PropsWithChildren } from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\n\nimport { type Components, ComponentsProvider } from \"./components\";\nimport type { Overrides } from \"./overrides\";\nimport { OverridesProvider } from \"./overrides\";\n\ntype LiveblocksUIConfigProps = PropsWithChildren<{\n /**\n * Override the components' strings.\n */\n overrides?: Partial<Overrides>;\n\n /**\n * Override the components' components.\n */\n components?: Partial<Components>;\n\n /**\n * The container to render the portal into.\n */\n portalContainer?: HTMLElement;\n\n /**\n * When `preventUnsavedChanges` is set on your Liveblocks client (or set on\n * <LiveblocksProvider>), then closing a browser tab will be prevented when\n * there are unsaved changes.\n *\n * By default, that will include draft texts or attachments that are (being)\n * uploaded via comments/threads composers, but not submitted yet.\n *\n * If you want to prevent unsaved changes with Liveblocks, but not for\n * composers, you can opt-out by setting this option to `false`.\n */\n preventUnsavedComposerChanges?: boolean;\n\n /**\n * The Liveblocks emoji picker (visible when adding reactions in `Comment`) is built with\n * {@link https://github.com/liveblocks/frimousse | Frimousse}, which fetches its data from\n * {@link https://emojibase.dev/docs/datasets/ | Emojibase}.\n *\n * This option allows you to change the base URL of where the {@link https://www.npmjs.com/package/emojibase-data | `emojibase-data`}\n * files should be fetched from, used as follows: `${emojibaseUrl}/${locale}/${file}.json`.\n * (e.g. `${emojibaseUrl}/en/data.json`).\n *\n * @example \"https://unpkg.com/emojibase-data\"\n *\n * @example \"https://example.com/self-hosted-emojibase-data\"\n */\n emojibaseUrl?: string;\n}>;\n\ninterface LiveblocksUIConfigContext {\n portalContainer?: HTMLElement;\n preventUnsavedComposerChanges?: boolean;\n emojibaseUrl?: string;\n}\n\nconst LiveblocksUIConfigContext = createContext<LiveblocksUIConfigContext>({});\n\nexport function useLiveblocksUIConfig() {\n return useContext(LiveblocksUIConfigContext);\n}\n\n/**\n * Set configuration options for all components.\n *\n * @example\n * <LiveblocksUIConfig overrides={{ locale: \"fr\", USER_UNKNOWN: \"Anonyme\", ... }}>\n * <App />\n * </LiveblocksUIConfig>\n */\nexport function LiveblocksUIConfig({\n overrides,\n components,\n portalContainer,\n preventUnsavedComposerChanges = true,\n emojibaseUrl,\n children,\n}: LiveblocksUIConfigProps) {\n const liveblocksUIConfig = useMemo(\n () => ({\n portalContainer,\n preventUnsavedComposerChanges,\n emojibaseUrl,\n }),\n [portalContainer, preventUnsavedComposerChanges, emojibaseUrl]\n );\n\n return (\n <LiveblocksUIConfigContext.Provider value={liveblocksUIConfig}>\n <OverridesProvider overrides={overrides}>\n <ComponentsProvider components={components}>\n {children}\n </ComponentsProvider>\n </OverridesProvider>\n </LiveblocksUIConfigContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;AA4DA;AAEO;AACL;AACF;AAUO;AAA4B;AACjC;AACA;AACA;AACgC;AAChC;AAEF;AACE;AAA2B;AAClB;AACL;AACA;AACA;AACF;AAC6D;AAG/D;AACG;AAA0C;AACxC;AAAkB;AAChB;AAAmB;AACjB;AACH;AACF;AAGN;;;"}
package/dist/config.js CHANGED
@@ -14,11 +14,16 @@ function LiveblocksUIConfig({
14
14
  components,
15
15
  portalContainer,
16
16
  preventUnsavedComposerChanges = true,
17
+ emojibaseUrl,
17
18
  children
18
19
  }) {
19
20
  const liveblocksUIConfig = useMemo(
20
- () => ({ portalContainer, preventUnsavedComposerChanges }),
21
- [portalContainer, preventUnsavedComposerChanges]
21
+ () => ({
22
+ portalContainer,
23
+ preventUnsavedComposerChanges,
24
+ emojibaseUrl
25
+ }),
26
+ [portalContainer, preventUnsavedComposerChanges, emojibaseUrl]
22
27
  );
23
28
  return /* @__PURE__ */ jsx(LiveblocksUIConfigContext.Provider, {
24
29
  value: liveblocksUIConfig,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sources":["../src/config.tsx"],"sourcesContent":["\"use client\";\n\nimport type { PropsWithChildren } from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\n\nimport { type Components, ComponentsProvider } from \"./components\";\nimport type { Overrides } from \"./overrides\";\nimport { OverridesProvider } from \"./overrides\";\n\ntype LiveblocksUIConfigProps = PropsWithChildren<{\n /**\n * Override the components' strings.\n */\n overrides?: Partial<Overrides>;\n\n /**\n * Override the components' components.\n */\n components?: Partial<Components>;\n\n /**\n * The container to render the portal into.\n */\n portalContainer?: HTMLElement;\n\n /**\n * When `preventUnsavedChanges` is set on your Liveblocks client (or set on\n * <LiveblocksProvider>), then closing a browser tab will be prevented when\n * there are unsaved changes.\n *\n * By default, that will include draft texts or attachments that are (being)\n * uploaded via comments/threads composers, but not submitted yet.\n *\n * If you want to prevent unsaved changes with Liveblocks, but not for\n * composers, you can opt-out by setting this option to `false`.\n */\n preventUnsavedComposerChanges?: boolean;\n}>;\n\ninterface LiveblocksUIConfigContext {\n portalContainer?: HTMLElement;\n preventUnsavedComposerChanges?: boolean;\n}\n\nconst LiveblocksUIConfigContext = createContext<LiveblocksUIConfigContext>({});\n\nexport function useLiveblocksUIConfig() {\n return useContext(LiveblocksUIConfigContext);\n}\n\n/**\n * Set configuration options for all components.\n *\n * @example\n * <LiveblocksUIConfig overrides={{ locale: \"fr\", USER_UNKNOWN: \"Anonyme\", ... }}>\n * <App />\n * </LiveblocksUIConfig>\n */\nexport function LiveblocksUIConfig({\n overrides,\n components,\n portalContainer,\n preventUnsavedComposerChanges = true,\n children,\n}: LiveblocksUIConfigProps) {\n const liveblocksUIConfig = useMemo(\n () => ({ portalContainer, preventUnsavedComposerChanges }),\n [portalContainer, preventUnsavedComposerChanges]\n );\n\n return (\n <LiveblocksUIConfigContext.Provider value={liveblocksUIConfig}>\n <OverridesProvider overrides={overrides}>\n <ComponentsProvider components={components}>\n {children}\n </ComponentsProvider>\n </OverridesProvider>\n </LiveblocksUIConfigContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;;;;AA4CA;AAEO;AACL;AACF;AAUO;AAA4B;AACjC;AACA;AACA;AACgC;AAElC;AACE;AAA2B;AAC+B;AACT;AAGjD;AACG;AAA0C;AACxC;AAAkB;AAChB;AAAmB;AACjB;AACH;AACF;AAGN;;"}
1
+ {"version":3,"file":"config.js","sources":["../src/config.tsx"],"sourcesContent":["\"use client\";\n\nimport type { PropsWithChildren } from \"react\";\nimport { createContext, useContext, useMemo } from \"react\";\n\nimport { type Components, ComponentsProvider } from \"./components\";\nimport type { Overrides } from \"./overrides\";\nimport { OverridesProvider } from \"./overrides\";\n\ntype LiveblocksUIConfigProps = PropsWithChildren<{\n /**\n * Override the components' strings.\n */\n overrides?: Partial<Overrides>;\n\n /**\n * Override the components' components.\n */\n components?: Partial<Components>;\n\n /**\n * The container to render the portal into.\n */\n portalContainer?: HTMLElement;\n\n /**\n * When `preventUnsavedChanges` is set on your Liveblocks client (or set on\n * <LiveblocksProvider>), then closing a browser tab will be prevented when\n * there are unsaved changes.\n *\n * By default, that will include draft texts or attachments that are (being)\n * uploaded via comments/threads composers, but not submitted yet.\n *\n * If you want to prevent unsaved changes with Liveblocks, but not for\n * composers, you can opt-out by setting this option to `false`.\n */\n preventUnsavedComposerChanges?: boolean;\n\n /**\n * The Liveblocks emoji picker (visible when adding reactions in `Comment`) is built with\n * {@link https://github.com/liveblocks/frimousse | Frimousse}, which fetches its data from\n * {@link https://emojibase.dev/docs/datasets/ | Emojibase}.\n *\n * This option allows you to change the base URL of where the {@link https://www.npmjs.com/package/emojibase-data | `emojibase-data`}\n * files should be fetched from, used as follows: `${emojibaseUrl}/${locale}/${file}.json`.\n * (e.g. `${emojibaseUrl}/en/data.json`).\n *\n * @example \"https://unpkg.com/emojibase-data\"\n *\n * @example \"https://example.com/self-hosted-emojibase-data\"\n */\n emojibaseUrl?: string;\n}>;\n\ninterface LiveblocksUIConfigContext {\n portalContainer?: HTMLElement;\n preventUnsavedComposerChanges?: boolean;\n emojibaseUrl?: string;\n}\n\nconst LiveblocksUIConfigContext = createContext<LiveblocksUIConfigContext>({});\n\nexport function useLiveblocksUIConfig() {\n return useContext(LiveblocksUIConfigContext);\n}\n\n/**\n * Set configuration options for all components.\n *\n * @example\n * <LiveblocksUIConfig overrides={{ locale: \"fr\", USER_UNKNOWN: \"Anonyme\", ... }}>\n * <App />\n * </LiveblocksUIConfig>\n */\nexport function LiveblocksUIConfig({\n overrides,\n components,\n portalContainer,\n preventUnsavedComposerChanges = true,\n emojibaseUrl,\n children,\n}: LiveblocksUIConfigProps) {\n const liveblocksUIConfig = useMemo(\n () => ({\n portalContainer,\n preventUnsavedComposerChanges,\n emojibaseUrl,\n }),\n [portalContainer, preventUnsavedComposerChanges, emojibaseUrl]\n );\n\n return (\n <LiveblocksUIConfigContext.Provider value={liveblocksUIConfig}>\n <OverridesProvider overrides={overrides}>\n <ComponentsProvider components={components}>\n {children}\n </ComponentsProvider>\n </OverridesProvider>\n </LiveblocksUIConfigContext.Provider>\n );\n}\n"],"names":[],"mappings":";;;;;;;AA4DA;AAEO;AACL;AACF;AAUO;AAA4B;AACjC;AACA;AACA;AACgC;AAChC;AAEF;AACE;AAA2B;AAClB;AACL;AACA;AACA;AACF;AAC6D;AAG/D;AACG;AAA0C;AACxC;AAAkB;AAChB;AAAmB;AACjB;AACH;AACF;AAGN;;"}
package/dist/index.d.cts CHANGED
@@ -654,6 +654,20 @@ type LiveblocksUIConfigProps = PropsWithChildren<{
654
654
  * composers, you can opt-out by setting this option to `false`.
655
655
  */
656
656
  preventUnsavedComposerChanges?: boolean;
657
+ /**
658
+ * The Liveblocks emoji picker (visible when adding reactions in `Comment`) is built with
659
+ * {@link https://github.com/liveblocks/frimousse | Frimousse}, which fetches its data from
660
+ * {@link https://emojibase.dev/docs/datasets/ | Emojibase}.
661
+ *
662
+ * This option allows you to change the base URL of where the {@link https://www.npmjs.com/package/emojibase-data | `emojibase-data`}
663
+ * files should be fetched from, used as follows: `${emojibaseUrl}/${locale}/${file}.json`.
664
+ * (e.g. `${emojibaseUrl}/en/data.json`).
665
+ *
666
+ * @example "https://unpkg.com/emojibase-data"
667
+ *
668
+ * @example "https://example.com/self-hosted-emojibase-data"
669
+ */
670
+ emojibaseUrl?: string;
657
671
  }>;
658
672
  /**
659
673
  * Set configuration options for all components.
@@ -663,7 +677,7 @@ type LiveblocksUIConfigProps = PropsWithChildren<{
663
677
  * <App />
664
678
  * </LiveblocksUIConfig>
665
679
  */
666
- declare function LiveblocksUIConfig({ overrides, components, portalContainer, preventUnsavedComposerChanges, children, }: LiveblocksUIConfigProps): react_jsx_runtime.JSX.Element;
680
+ declare function LiveblocksUIConfig({ overrides, components, portalContainer, preventUnsavedComposerChanges, emojibaseUrl, children, }: LiveblocksUIConfigProps): react_jsx_runtime.JSX.Element;
667
681
 
668
682
  declare function ArrowCornerDownRightIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
669
683
 
package/dist/index.d.ts CHANGED
@@ -654,6 +654,20 @@ type LiveblocksUIConfigProps = PropsWithChildren<{
654
654
  * composers, you can opt-out by setting this option to `false`.
655
655
  */
656
656
  preventUnsavedComposerChanges?: boolean;
657
+ /**
658
+ * The Liveblocks emoji picker (visible when adding reactions in `Comment`) is built with
659
+ * {@link https://github.com/liveblocks/frimousse | Frimousse}, which fetches its data from
660
+ * {@link https://emojibase.dev/docs/datasets/ | Emojibase}.
661
+ *
662
+ * This option allows you to change the base URL of where the {@link https://www.npmjs.com/package/emojibase-data | `emojibase-data`}
663
+ * files should be fetched from, used as follows: `${emojibaseUrl}/${locale}/${file}.json`.
664
+ * (e.g. `${emojibaseUrl}/en/data.json`).
665
+ *
666
+ * @example "https://unpkg.com/emojibase-data"
667
+ *
668
+ * @example "https://example.com/self-hosted-emojibase-data"
669
+ */
670
+ emojibaseUrl?: string;
657
671
  }>;
658
672
  /**
659
673
  * Set configuration options for all components.
@@ -663,7 +677,7 @@ type LiveblocksUIConfigProps = PropsWithChildren<{
663
677
  * <App />
664
678
  * </LiveblocksUIConfig>
665
679
  */
666
- declare function LiveblocksUIConfig({ overrides, components, portalContainer, preventUnsavedComposerChanges, children, }: LiveblocksUIConfigProps): react_jsx_runtime.JSX.Element;
680
+ declare function LiveblocksUIConfig({ overrides, components, portalContainer, preventUnsavedComposerChanges, emojibaseUrl, children, }: LiveblocksUIConfigProps): react_jsx_runtime.JSX.Element;
667
681
 
668
682
  declare function ArrowCornerDownRightIcon(props: ComponentProps<"svg">): react_jsx_runtime.JSX.Element;
669
683
 
package/dist/version.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const PKG_NAME = "@liveblocks/react-ui";
4
- const PKG_VERSION = typeof "2.22.2" === "string" && "2.22.2";
4
+ const PKG_VERSION = typeof "2.22.4-emails1" === "string" && "2.22.4-emails1";
5
5
  const PKG_FORMAT = typeof "cjs" === "string" && "cjs";
6
6
 
7
7
  exports.PKG_FORMAT = PKG_FORMAT;
@@ -1 +1 @@
1
- {"version":3,"file":"version.cjs","sources":["../src/version.ts"],"sourcesContent":["declare const __VERSION__: string;\ndeclare const ROLLUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react-ui\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof ROLLUP_FORMAT === \"string\" && ROLLUP_FORMAT;\n"],"names":[],"mappings":";;AAGO,MAAM,QAAW,GAAA,uBAAA;AACX,MAAA,WAAA,GAAc,OAAO,QAAA,KAAgB,QAAY,IAAA,SAAA;AACjD,MAAA,UAAA,GAAa,OAAO,KAAA,KAAkB,QAAY,IAAA;;;;;;"}
1
+ {"version":3,"file":"version.cjs","sources":["../src/version.ts"],"sourcesContent":["declare const __VERSION__: string;\ndeclare const ROLLUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react-ui\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof ROLLUP_FORMAT === \"string\" && ROLLUP_FORMAT;\n"],"names":[],"mappings":";;AAGO,MAAM,QAAW,GAAA,uBAAA;AACX,MAAA,WAAA,GAAc,OAAO,gBAAA,KAAgB,QAAY,IAAA,iBAAA;AACjD,MAAA,UAAA,GAAa,OAAO,KAAA,KAAkB,QAAY,IAAA;;;;;;"}
package/dist/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  const PKG_NAME = "@liveblocks/react-ui";
2
- const PKG_VERSION = typeof "2.22.2" === "string" && "2.22.2";
2
+ const PKG_VERSION = typeof "2.22.4-emails1" === "string" && "2.22.4-emails1";
3
3
  const PKG_FORMAT = typeof "esm" === "string" && "esm";
4
4
 
5
5
  export { PKG_FORMAT, PKG_NAME, PKG_VERSION };
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sources":["../src/version.ts"],"sourcesContent":["declare const __VERSION__: string;\ndeclare const ROLLUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react-ui\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof ROLLUP_FORMAT === \"string\" && ROLLUP_FORMAT;\n"],"names":[],"mappings":"AAGO,MAAM,QAAW,GAAA,uBAAA;AACX,MAAA,WAAA,GAAc,OAAO,QAAA,KAAgB,QAAY,IAAA,SAAA;AACjD,MAAA,UAAA,GAAa,OAAO,KAAA,KAAkB,QAAY,IAAA;;;;"}
1
+ {"version":3,"file":"version.js","sources":["../src/version.ts"],"sourcesContent":["declare const __VERSION__: string;\ndeclare const ROLLUP_FORMAT: string;\n\nexport const PKG_NAME = \"@liveblocks/react-ui\";\nexport const PKG_VERSION = typeof __VERSION__ === \"string\" && __VERSION__;\nexport const PKG_FORMAT = typeof ROLLUP_FORMAT === \"string\" && ROLLUP_FORMAT;\n"],"names":[],"mappings":"AAGO,MAAM,QAAW,GAAA,uBAAA;AACX,MAAA,WAAA,GAAc,OAAO,gBAAA,KAAgB,QAAY,IAAA,iBAAA;AACjD,MAAA,UAAA,GAAa,OAAO,KAAA,KAAkB,QAAY,IAAA;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liveblocks/react-ui",
3
- "version": "2.22.2",
3
+ "version": "2.22.4-emails1",
4
4
  "description": "A set of React pre-built components for the Liveblocks products. Liveblocks is the all-in-one toolkit to build collaborative products like Figma, Notion, and more.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -76,15 +76,15 @@
76
76
  },
77
77
  "dependencies": {
78
78
  "@floating-ui/react-dom": "^2.1.2",
79
- "@liveblocks/client": "2.22.2",
80
- "@liveblocks/core": "2.22.2",
81
- "@liveblocks/react": "2.22.2",
79
+ "@liveblocks/client": "2.22.4-emails1",
80
+ "@liveblocks/core": "2.22.4-emails1",
81
+ "@liveblocks/react": "2.22.4-emails1",
82
82
  "@radix-ui/react-dropdown-menu": "^2.1.2",
83
83
  "@radix-ui/react-popover": "^1.1.2",
84
84
  "@radix-ui/react-slot": "^1.1.0",
85
85
  "@radix-ui/react-toggle": "^1.1.0",
86
86
  "@radix-ui/react-tooltip": "^1.1.3",
87
- "frimousse": "^0.1.0",
87
+ "frimousse": "^0.2.0",
88
88
  "slate": "^0.110.2",
89
89
  "slate-history": "^0.110.3",
90
90
  "slate-hyperscript": "^0.100.0",
@@ -779,17 +779,21 @@
779
779
  * Name *
780
780
  *************************************/
781
781
 
782
- .lb-name:where([data-loading]) {
783
- &::before {
784
- content: "\FEFF";
785
- display: inline-block;
786
- vertical-align: middle;
787
- inline-size: 8ch;
788
- block-size: 1.75ex;
789
- border-radius: calc(0.5 * var(--lb-radius));
790
- background: currentcolor;
791
- opacity: $lb-loading-opacity;
792
- user-select: none;
782
+ .lb-name {
783
+ display: inline-block;
784
+
785
+ &:where([data-loading]) {
786
+ &::before {
787
+ content: "\FEFF";
788
+ display: inline-block;
789
+ vertical-align: middle;
790
+ inline-size: 8ch;
791
+ block-size: 1.75ex;
792
+ border-radius: calc(0.5 * var(--lb-radius));
793
+ background: currentcolor;
794
+ opacity: $lb-loading-opacity;
795
+ user-select: none;
796
+ }
793
797
  }
794
798
  }
795
799
 
package/styles.css CHANGED
@@ -1 +1 @@
1
- .lb-root{--lb-radius:.5em;--lb-spacing:1em;--lb-accent:#17f;--lb-accent-foreground:#fff;--lb-destructive:#f45;--lb-destructive-foreground:#fff;--lb-background:#fff;--lb-foreground:#111;--lb-line-height:1.5;--lb-icon-size:20px;--lb-icon-weight:1.5px;--lb-avatar-radius:50%;--lb-button-radius:calc(.75*var(--lb-radius));--lb-transition-duration:.1s;--lb-transition-easing:cubic-bezier(.4,0,.2,1);--lb-highlight-shadow:inset 0 0 0 1px #0000001a;--lb-elevation-shadow:0 0 0 1px #0000000a,0 2px 6px #00000014,0 8px 26px #0000001f;--lb-tooltip-shadow:0 2px 4px #00000014,0 4px 12px #0000001f;--lb-accent-contrast:8%;--lb-destructive-contrast:8%;--lb-foreground-contrast:8%;--lb-background-foreground-faint:color-mix(in srgb,var(--lb-foreground),var(--lb-background)calc(100% - var(--lb-foreground-contrast) + ((100% - var(--lb-foreground-contrast))/9)/2));--lb-background-accent-faint:color-mix(in srgb,var(--lb-accent),var(--lb-background)calc(100% - var(--lb-accent-contrast) + ((100% - var(--lb-accent-contrast))/9)/2));--lb-background-accent-subtle:color-mix(in srgb,var(--lb-accent),var(--lb-background)calc(100% - var(--lb-accent-contrast)));--lb-background-destructive-faint:color-mix(in srgb,var(--lb-destructive),var(--lb-background)calc(100% - var(--lb-destructive-contrast) + ((100% - var(--lb-destructive-contrast))/9)/2));--lb-background-destructive-subtle:color-mix(in srgb,var(--lb-destructive),var(--lb-background)calc(100% - var(--lb-destructive-contrast)));--lb-accent-subtle:color-mix(in srgb,var(--lb-accent),var(--lb-dynamic-background)calc(100% - var(--lb-accent-contrast)));--lb-accent-moderate:color-mix(in srgb,var(--lb-accent),var(--lb-dynamic-background)calc(100% - (var(--lb-accent-contrast) + 3*((100% - var(--lb-accent-contrast))/9))));--lb-accent-tertiary:color-mix(in srgb,var(--lb-accent),var(--lb-dynamic-background)calc(100% - (var(--lb-accent-contrast) + 5*((100% - var(--lb-accent-contrast))/9))));--lb-accent-secondary:color-mix(in srgb,var(--lb-accent),var(--lb-dynamic-background)calc(100% - (var(--lb-accent-contrast) + 7*((100% - var(--lb-accent-contrast))/9))));--lb-destructive-subtle:color-mix(in srgb,var(--lb-destructive),var(--lb-dynamic-background)calc(100% - var(--lb-destructive-contrast)));--lb-destructive-moderate:color-mix(in srgb,var(--lb-destructive),var(--lb-dynamic-background)calc(100% - (var(--lb-destructive-contrast) + 3*((100% - var(--lb-destructive-contrast))/9))));--lb-destructive-tertiary:color-mix(in srgb,var(--lb-destructive),var(--lb-dynamic-background)calc(100% - (var(--lb-destructive-contrast) + 5*((100% - var(--lb-destructive-contrast))/9))));--lb-destructive-secondary:color-mix(in srgb,var(--lb-destructive),var(--lb-dynamic-background)calc(100% - (var(--lb-destructive-contrast) + 7*((100% - var(--lb-destructive-contrast))/9))));--lb-foreground-subtle:color-mix(in srgb,var(--lb-foreground),var(--lb-dynamic-background)calc(100% - var(--lb-foreground-contrast)));--lb-foreground-moderate:color-mix(in srgb,var(--lb-foreground),var(--lb-dynamic-background)calc(100% - (var(--lb-foreground-contrast) + 3*((100% - var(--lb-foreground-contrast))/9))));--lb-foreground-tertiary:color-mix(in srgb,var(--lb-foreground),var(--lb-dynamic-background)calc(100% - (var(--lb-foreground-contrast) + 5*((100% - var(--lb-foreground-contrast))/9))));--lb-foreground-secondary:color-mix(in srgb,var(--lb-foreground),var(--lb-dynamic-background)calc(100% - (var(--lb-foreground-contrast) + 7*((100% - var(--lb-foreground-contrast))/9))));--lb-selection:color-mix(in srgb,var(--lb-accent)40%,transparent);overflow-wrap:break-word;accent-color:var(--lb-accent);-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lb-root,.lb-root *,.lb-root :before,.lb-root :after{box-sizing:border-box;transition:none var(--lb-transition-duration)var(--lb-transition-easing)}.lb-root:where(:not(.lb-root .lb-root)){--lb-dynamic-background:var(--lb-background)}.lb-loading,.lb-empty,.lb-error{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lb-loading{color:var(--lb-foreground-moderate)}.lb-empty,.lb-error{padding:var(--lb-spacing);color:var(--lb-foreground-tertiary);text-align:center;text-wrap:balance;font-size:.875em}.lb-icon-container,.lb-icon{inline-size:var(--lb-icon-size);block-size:var(--lb-icon-size)}.lb-icon-container{justify-content:center;align-items:center;display:flex}.lb-icon{--lb-icon-background:var(--lb-dynamic-background)}.lb-icon *{stroke-width:var(--lb-icon-weight);vector-effect:non-scaling-stroke}.lb-icon-spinner{transform-origin:50%;animation:.75s linear infinite lb-animation-spin}.lb-button{--lb-button-background:var(--lb-dynamic-background);all:unset;box-sizing:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;transition-timing-function:var(--lb-transition-easing);transition-duration:var(--lb-transition-duration);-webkit-tap-highlight-color:transparent;padding:calc(.25*var(--lb-spacing));border-radius:var(--lb-button-radius);background:var(--lb-button-background);color:var(--lb-foreground-moderate);outline:none;justify-content:center;align-items:center;transition-property:background,color,opacity;display:flex;position:relative}.lb-button:after{content:"";border-radius:inherit;pointer-events:none;transition-property:box-shadow;position:absolute;inset:0}.lb-button:where(:focus-visible){z-index:1}.lb-button:where(:focus-visible):after{box-shadow:var(--lb-dynamic-background)0 0 0 2px,var(--lb-accent)0 0 0 4px}.lb-button:where(.lb-button\:non-disableable:disabled){cursor:default}.lb-button:where(:not(.lb-button\:non-disableable):disabled){opacity:.5;cursor:not-allowed}.lb-button:where(:enabled:hover,:enabled:focus-visible,[aria-expanded=true],[aria-selected=true]){--lb-button-background:var(--lb-foreground-subtle);color:var(--lb-foreground-tertiary)}.lb-button:where([data-variant=default]:not(:is(:enabled:hover,:enabled:focus-visible,[aria-expanded=true],[aria-selected=true],[aria-pressed]))){background:0 0}.lb-button:where([data-variant=primary]){--lb-button-background:var(--lb-accent);color:var(--lb-accent-foreground)}.lb-button:where([data-variant=primary]):where(:enabled:hover,:enabled:focus-visible,[aria-expanded=true],[aria-selected=true]){--lb-button-background:var(--lb-accent-secondary);color:var(--lb-accent-foreground)}.lb-button:where([data-variant=outline]){box-shadow:inset 0 0 0 1px var(--lb-foreground-subtle);transition-property:background,color,opacity,box-shadow}.lb-button:where(:has(.lb-button-label)){gap:calc(.175*var(--lb-spacing));padding-inline:calc(.55*var(--lb-spacing))}.lb-button:where(:has(.lb-button-label)):where(:has(.lb-icon-container)){padding-inline-start:calc(.4*var(--lb-spacing))}.lb-button:where([data-variant=toolbar]){color:var(--lb-foreground-tertiary)}.lb-button:where([data-variant=toolbar]):where([aria-pressed=true]){--lb-button-background:var(--lb-foreground-subtle);color:var(--lb-foreground-secondary)}.lb-button:where([data-variant=toolbar]):where([aria-pressed=true]) :where(.lb-icon *){stroke-width:calc(1.25*var(--lb-icon-weight))}.lb-button:where([data-variant=secondary]){--lb-button-background:var(--lb-foreground-subtle);color:var(--lb-foreground-tertiary)}.lb-button:where([data-variant=secondary]):where(:enabled:hover,:enabled:focus-visible,[aria-expanded=true],[aria-selected=true]){--lb-button-background:var(--lb-foreground);color:var(--lb-dynamic-background)}.lb-button:where([data-size=large]){padding:calc(.5*var(--lb-spacing))}.lb-button:where([data-size=large]):where(:has(.lb-button-label)){gap:calc(.35*var(--lb-spacing));padding-inline:calc(.7*var(--lb-spacing))}.lb-button:where([data-size=large]):where(:has(.lb-button-label)):where(:has(.lb-icon-container)){padding-inline-start:calc(.6*var(--lb-spacing))}.lb-button :where(.lb-icon-container){flex:none}.lb-button :where(.lb-icon){--lb-icon-background:var(--lb-button-background)}.lb-button-label{block-size:var(--lb-icon-size);font-weight:500;font-size:calc(.7*var(--lb-icon-size));flex:none;align-items:center;line-height:1;display:inline-flex}.lb-dropdown{min-inline-size:160px}.lb-dropdown-label{padding:calc(.875*var(--lb-spacing))calc(.625*var(--lb-spacing))calc(.125*var(--lb-spacing));color:var(--lb-foreground-tertiary);text-transform:uppercase;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.675em;font-weight:600}.lb-dropdown-label:where(:first-child){padding-block-start:var(--lb-spacing)}.lb-dropdown-separator{background:var(--lb-foreground-subtle);block-size:1px;margin:4px -4px}.lb-dropdown-item :where(.lb-icon-container){color:var(--lb-foreground-moderate);margin-inline-start:calc(-.125*var(--lb-spacing));margin-inline-end:calc(.375*var(--lb-spacing));transition-property:color}.lb-dropdown-item:where(:is([data-highlighted]:not([data-highlighted=false]),[data-selected]:not([data-selected=false]),[data-active]:not([data-active=false]))) :where(.lb-icon-container){color:var(--lb-foreground-tertiary)}.lb-dropdown-item:where(:has(.lb-dropdown-item-accessory)) :where(.lb-dropdown-item-label){margin-inline-end:calc(.375*var(--lb-spacing))}.lb-dropdown-item-accessory{margin-inline-start:auto;margin-inline-end:calc(-.25*var(--lb-spacing))}.lb-dropdown:where(:has(.lb-dropdown-item-icon)) :where(.lb-dropdown-item:not(:has(.lb-dropdown-item-icon))) :where(.lb-dropdown-item-label){margin-inline-start:calc(var(--lb-icon-size) + (.375 - .125)*var(--lb-spacing))}.lb-select-button{min-inline-size:0}.lb-select-button :where(.lb-button-label){text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.lb-select-button-chevron{opacity:.75;flex:none;margin-inline-end:calc(-.25*var(--lb-spacing))}.lb-composer-suggestions-list{margin:0;padding:0;list-style:none}.lb-composer-suggestions-list-item{scroll-margin-block:4px}.lb-composer-mention-suggestions{--lb-composer-mention-suggestion-avatar-size:1.25rem}.lb-composer-mention-suggestion{padding:calc(.375*var(--lb-spacing))calc(.625*var(--lb-spacing))}.lb-composer-mention-suggestion-avatar{inline-size:var(--lb-composer-mention-suggestion-avatar-size);margin-inline-start:calc(-.125*var(--lb-spacing));margin-inline-end:calc(.5*var(--lb-spacing));margin-block:calc(.125*var(--lb-spacing));background:var(--lb-foreground-subtle);color:var(--lb-foreground-moderate)}.lb-list{display:contents}.lb-list :where(:first-child):first-letter,.lb-date:first-letter{text-transform:capitalize}@supports (background:-webkit-named-image(i)){.lb-emoji{will-change:transform;transform:scale(.825)}}.lb-emoji-picker{--lb-emoji-picker-padding:6px;--lb-emoji-picker-offset-padding:calc(6px + .375*var(--lb-spacing));max-inline-size:var(--frimousse-viewport-width);color:var(--lb-foreground);flex-direction:column;block-size:374px;inline-size:100%;display:flex}.lb-emoji-picker-header{border-block-end:1px solid var(--lb-foreground-subtle);flex:none}.lb-emoji-picker-footer{gap:calc(.5*var(--lb-spacing));padding:calc(.5*var(--lb-spacing));border-block-start:1px solid var(--lb-foreground-subtle);flex:none;align-items:center;inline-size:100%;display:flex}.lb-emoji-picker-active-emoji{flex:none;justify-content:center;align-items:center;block-size:1.25em;inline-size:1.25em;font-size:1.25em;display:flex}.lb-emoji-picker-active-emoji-label{text-overflow:ellipsis;white-space:nowrap;color:var(--lb-foreground-secondary);flex:1;font-size:.8125em;font-weight:500;overflow:hidden}.lb-emoji-picker-active-emoji-label-placeholder{color:var(--lb-foreground-moderate);margin-inline-start:calc(.5*var(--lb-spacing))}.lb-emoji-picker-skin-tone-selector{inline-size:calc(1.75*var(--lb-spacing));block-size:calc(1.75*var(--lb-spacing));flex:none;justify-content:center;align-items:center;margin-inline-start:auto;display:flex}.lb-emoji-picker-search-container{align-items:center;display:flex;position:relative}.lb-emoji-picker-search-container :where(.lb-icon){color:var(--lb-foreground-moderate);pointer-events:none;position:absolute;inset-inline-start:var(--lb-emoji-picker-offset-padding)}.lb-emoji-picker-search{all:unset;box-sizing:inherit;padding:var(--lb-emoji-picker-offset-padding);-webkit-appearance:textfield;appearance:textfield;background:0 0;outline:none;inline-size:100%;padding-inline-start:calc(var(--lb-icon-size) + var(--lb-emoji-picker-offset-padding) + .375*var(--lb-spacing))}.lb-emoji-picker-search::placeholder{color:var(--lb-foreground-moderate)}.lb-emoji-picker-search::-webkit-search-cancel-button{display:none}.lb-emoji-picker-content{outline:none;flex:1;position:relative}.lb-emoji-picker-category-header{padding:var(--lb-emoji-picker-padding)var(--lb-emoji-picker-offset-padding);background:var(--lb-dynamic-background)}.lb-emoji-picker-category-header-title{color:var(--lb-foreground-tertiary);text-transform:uppercase;font-size:.675em;font-weight:600}.lb-emoji-picker-list{animation:lb-animation-appear var(--lb-transition-duration)var(--lb-transition-easing)both;padding-block-end:var(--lb-emoji-picker-padding)}.lb-emoji-picker-row{padding-inline:var(--lb-emoji-picker-padding);scroll-margin-block-end:var(--lb-emoji-picker-padding);display:flex}.lb-emoji-picker-emoji{all:unset;box-sizing:inherit;aspect-ratio:1;padding:calc(.375*var(--lb-spacing));border-radius:calc(var(--lb-radius) - .75*6px);text-align:center;justify-content:center;align-items:center;display:flex;overflow:hidden}.lb-tooltip{--lb-background:#222;--lb-foreground:#fff;--lb-foreground-contrast:10%;min-block-size:calc(calc(1em + 2*.25*var(--lb-spacing)) + 2*5px);padding-inline:calc(.75*var(--lb-spacing));border-radius:var(--lb-radius);background:var(--lb-dynamic-background);color:var(--lb-foreground);box-shadow:var(--lb-tooltip-shadow);overflow-wrap:anywhere;pointer-events:none;align-items:center;max-inline-size:300px;font-size:.75rem;line-height:1;display:flex;position:relative}.lb-tooltip:after{content:"";z-index:1;border-radius:inherit;box-shadow:var(--lb-inset-shadow);pointer-events:none;position:absolute;inset:0}.lb-tooltip\:multiline{padding-block:calc(calc(.625*var(--lb-spacing))*(1/1.5));text-align:center;justify-content:center;line-height:1.5}.lb-tooltip-shortcut{gap:calc(.125*var(--lb-spacing));block-size:calc(1em + 2*.25*var(--lb-spacing));padding-inline:calc(.25*var(--lb-spacing));border-radius:calc(var(--lb-radius) - .625*5px);background:var(--lb-foreground-subtle);color:var(--lb-foreground-tertiary);text-transform:uppercase;justify-content:center;align-items:center;margin-inline-start:calc(.75*var(--lb-spacing));margin-inline-end:calc(-1*calc(.75*var(--lb-spacing)) + 5px);font-family:inherit;line-height:1;display:flex}.lb-tooltip-shortcut :where(abbr){all:unset}.lb-avatar{aspect-ratio:1;border-radius:var(--lb-avatar-radius);background:var(--lb-foreground-subtle);color:var(--lb-foreground-moderate);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;container-type:inline-size}.lb-avatar:where([data-loading]){background:var(--lb-foreground);opacity:.12}.lb-avatar-image{object-fit:cover;block-size:100%;inline-size:100%;position:absolute;inset:0}.lb-avatar-fallback{white-space:nowrap;font-size:35cqi;font-weight:500}@supports not (container-type:inline-size){.lb-avatar-fallback{display:none}}.lb-name:where([data-loading]):before{content:"";vertical-align:middle;border-radius:calc(.5*var(--lb-radius));opacity:.12;-webkit-user-select:none;user-select:none;background:currentColor;block-size:1.75ex;inline-size:8ch;display:inline-block}:is(.lb-avatar,.lb-name):where([data-loading]){animation:8s linear infinite lb-animation-shimmer}:is(.lb-comment-body,.lb-composer-editor){color:var(--lb-foreground-secondary)}:is(.lb-comment-body,.lb-composer-editor),:is(.lb-comment-body,.lb-composer-editor) *{line-height:var(--lb-line-height)}:is(.lb-comment-body,.lb-composer-editor) :where(p){--lb-line-height-crop:calc(1lh - 1em)/-2;margin-block:.25em}:is(.lb-comment-body,.lb-composer-editor) :where(p):where(:first-of-type){margin-block-start:calc(.125em + var(--lb-line-height-crop))}:is(.lb-comment-body,.lb-composer-editor) :where(p):where(:last-of-type){margin-block-end:calc(.125em + var(--lb-line-height-crop))}:is(.lb-comment-body,.lb-composer-editor) :where(strong){font-weight:600}.lb-comment-mention,.lb-composer-mention{color:var(--lb-accent);-webkit-box-decoration-break:clone;box-decoration-break:clone;font-weight:500}:is(.lb-comment-link,.lb-composer-link){color:var(--lb-foreground);text-decoration-line:underline;-webkit-text-decoration-color:var(--lb-foreground-moderate);text-decoration-color:var(--lb-foreground-moderate);text-underline-offset:2px;outline:none;font-weight:500;transition-property:color,text-decoration-color}:is(.lb-comment-link,.lb-composer-link):where([href]):where(:hover,:focus-visible){color:var(--lb-accent);-webkit-text-decoration-color:var(--lb-accent-moderate);text-decoration-color:var(--lb-accent-moderate)}.lb-comment-mention:where([data-self]),.lb-composer-mention{border-radius:calc(.675*var(--lb-radius));background:var(--lb-accent-subtle);padding:.1em .3em}.lb-composer{background:var(--lb-dynamic-background);color:var(--lb-foreground);transition-property:background;position:relative}.lb-composer-form{margin:0}.lb-composer:where(:has(.lb-composer-editor:not(:focus-visible))) :where(.lb-button[data-variant=primary]){--lb-button-background:var(--lb-foreground-subtle);color:var(--lb-foreground-tertiary)}.lb-composer:where(:has(.lb-composer-editor:not(:focus-visible))) :where(.lb-button[data-variant=primary]):where(:enabled:hover,:enabled:focus-visible){--lb-button-background:var(--lb-accent);color:var(--lb-accent-foreground)}.lb-composer-editor{padding:var(--lb-spacing);outline:none}.lb-composer-editor:where([data-disabled]:not([data-disabled=false])){opacity:.5;cursor:not-allowed}:where(.lb-composer-editor-container:has(.lb-composer-attachments)) .lb-composer-editor{padding-block-end:calc(.25*var(--lb-spacing))}.lb-composer-editor :where([data-placeholder]){color:var(--lb-foreground-moderate)}.lb-composer-mention::selection{background:0 0}.lb-composer-mention ::selection{background:0 0}.lb-composer-mention:where([data-selected]:not([data-selected=false])){background:var(--lb-accent);color:var(--lb-accent-foreground)}.lb-composer-footer{gap:calc(.75*var(--lb-spacing));block-size:calc(calc(2*.25*var(--lb-spacing) + var(--lb-icon-size)) + var(--lb-spacing));padding:0 var(--lb-spacing)var(--lb-spacing);align-items:center;margin-block-start:calc(-.125*var(--lb-spacing));display:flex}.lb-composer-actions,.lb-composer-editor-actions{gap:calc(.125*var(--lb-spacing));align-items:center;display:flex}.lb-composer-editor-actions{margin-inline-end:auto}.lb-composer-attribution{color:var(--lb-foreground-moderate);outline:none;transition-property:color}.lb-composer-attribution:where(:hover,:focus-visible){color:var(--lb-foreground-tertiary)}.lb-composer-attribution :where(svg){block-size:calc(.75*calc(2*.25*var(--lb-spacing) + var(--lb-icon-size)))}.lb-composer-attachments{padding-inline:var(--lb-spacing);padding-block-start:calc(.75*var(--lb-spacing));padding-block-end:var(--lb-spacing)}.lb-composer-editor-container:where([data-drop]) *{pointer-events:none}.lb-composer-attachments-drop-area{color:var(--lb-accent);place-content:center;place-items:center;display:flex;position:absolute;inset:0}.lb-composer-attachments-drop-area:before,.lb-composer-attachments-drop-area:after{content:"";inset:calc(.5*var(--lb-spacing));z-index:0;border-radius:calc(.75*var(--lb-radius));position:absolute}.lb-composer-attachments-drop-area:before{opacity:calc(1*var(--lb-accent-contrast));background:currentColor}.lb-composer-attachments-drop-area:after{opacity:calc(2*var(--lb-accent-contrast));border:2px dashed}.lb-composer-attachments-drop-area-label{gap:calc(.25*var(--lb-spacing));padding:calc(.375*var(--lb-spacing))calc(.5*var(--lb-spacing));border-radius:calc(.75*var(--lb-radius));background:var(--lb-accent);color:var(--lb-accent-foreground);pointer-events:none;place-items:center;font-weight:500;display:flex;position:relative}.lb-composer-floating-toolbar{-webkit-user-select:none;user-select:none;flex-direction:row;gap:4px;padding:4px;display:flex}.lb-composer-floating-toolbar :where(.lb-button):before{content:"";z-index:-1;border-radius:inherit;position:absolute;inset:-4px}.lb-composer-floating-toolbar :where(.lb-button):where(:not(:first-of-type)):before{inset-inline-start:-2px}.lb-composer-floating-toolbar :where(.lb-button):where(:not(:last-of-type)):before{inset-inline-end:-2px}.lb-comment{--lb-comment-avatar-size:calc(2*.25*var(--lb-spacing) + var(--lb-icon-size));padding:var(--lb-spacing);background:var(--lb-dynamic-background);color:var(--lb-foreground);scroll-margin:var(--lb-spacing);font-weight:400;position:relative}.lb-comment:where(:target,[data-target]){--lb-dynamic-background:var(--lb-background-accent-faint)}.lb-comment:where([data-editing]){--lb-dynamic-background:var(--lb-background-foreground-faint)}.lb-comment-header{gap:calc(.75*var(--lb-spacing));block-size:var(--lb-comment-avatar-size);align-items:center;margin-block-end:calc(.75*var(--lb-spacing));display:flex;position:relative}.lb-comment-details{gap:calc(.75*var(--lb-spacing));align-items:center;min-inline-size:0;display:flex}.lb-comment-avatar{inline-size:var(--lb-comment-avatar-size);flex:none}.lb-comment-details-labels{gap:calc(.5*var(--lb-spacing));align-items:baseline;min-inline-size:0;display:flex}.lb-comment-author,.lb-comment-date{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lb-comment-author:first-letter,.lb-comment-date:first-letter{text-transform:capitalize}.lb-comment-author{font-weight:500}.lb-comment-date{color:var(--lb-foreground-tertiary);font-size:.875em}.lb-comment-date-created,.lb-comment-date-edited{display:contents}.lb-comment-actions{gap:calc(.125*var(--lb-spacing));margin-inline-start:auto;display:flex}.lb-comment-composer{margin:calc(-1*var(--lb-spacing));background:unset}.lb-comment-body :where(p span:only-child:empty):before{content:"";-webkit-user-select:none;user-select:none}.lb-comment-attachments{margin-block-start:calc(.75*var(--lb-spacing))}.lb-comment-reactions{gap:calc(.375*var(--lb-spacing));flex-wrap:wrap;margin-block-start:calc(.75*var(--lb-spacing));display:flex}.lb-comment-reaction{gap:calc(.375*var(--lb-spacing));block-size:calc(2*.25*var(--lb-spacing) + var(--lb-icon-size));padding-inline:calc(.575*var(--lb-spacing));border-radius:9999px}.lb-comment-reaction:where([data-self]){background:var(--lb-accent-subtle);color:var(--lb-accent-secondary);box-shadow:inset 0 0 0 1px var(--lb-accent-moderate)}.lb-comment-reaction:where([data-self]):where(:enabled:hover,:enabled:focus-visible,[aria-expanded=true],[aria-selected=true]){color:var(--lb-accent)}.lb-comment-reaction-count{font-variant-numeric:tabular-nums;font-size:.75em;font-weight:500}.lb-comment-reaction-tooltip{max-inline-size:200px}.lb-comment-deleted{color:var(--lb-foreground-tertiary);font-size:.875em}.lb-comment\:indent-content{min-block-size:calc(var(--lb-comment-avatar-size) + 2*var(--lb-spacing))}.lb-comment\:indent-content :where(.lb-comment-header){block-size:calc(2*.25*var(--lb-spacing) + var(--lb-icon-size));margin-block-end:calc(.25*var(--lb-spacing))}.lb-comment\:indent-content :where(.lb-comment-avatar){position:absolute;inset-block-start:0;inset-inline-start:0}.lb-comment\:indent-content :where(.lb-comment-details-labels){margin-inline-start:calc(var(--lb-comment-avatar-size) + .75*var(--lb-spacing))}.lb-comment\:indent-content :where(.lb-comment-content){padding-inline-start:calc(var(--lb-comment-avatar-size) + .75*var(--lb-spacing))}.lb-thread{background:var(--lb-dynamic-background);color:var(--lb-foreground);transition-property:background}.lb-thread-comments{z-index:0;flex-direction:column;display:flex;position:relative}.lb-thread-comment{z-index:0;padding-block:calc(.6*var(--lb-spacing));transition-property:background}.lb-thread-comment:where(.lb-comment\:indent-content){min-block-size:calc(var(--lb-comment-avatar-size) + var(--lb-spacing))}.lb-thread-comment:where(:first-of-type,[data-editing]){padding-block-start:var(--lb-spacing)}.lb-thread-comment:where(:first-of-type,[data-editing]):where(.lb-comment\:indent-content){min-block-size:calc(var(--lb-comment-avatar-size) + 1.5*var(--lb-spacing))}.lb-thread-comment:where(:last-of-type,[data-editing]){padding-block-end:var(--lb-spacing)}.lb-thread-comment:where(:last-of-type,[data-editing]):where(.lb-comment\:indent-content){min-block-size:calc(var(--lb-comment-avatar-size) + 1.75*var(--lb-spacing))}.lb-thread-new-indicator{z-index:1;justify-content:center;align-items:center;block-size:0;display:flex;position:relative}.lb-thread-new-indicator:before,.lb-thread-new-indicator:after{content:"";z-index:0;border-block-start:1px solid var(--lb-foreground-subtle);flex:1;block-size:0;transition-property:border}.lb-thread-new-indicator-label{z-index:1;gap:calc(.325*var(--lb-spacing));padding:calc(.25*var(--lb-spacing))var(--lb-spacing);color:var(--lb-accent);text-transform:uppercase;flex:none;align-items:center;font-size:.675em;font-weight:600;display:flex}.lb-thread-new-indicator-label-icon{inline-size:calc(.6*var(--lb-icon-size));block-size:calc(.6*var(--lb-icon-size))}.lb-thread-composer{position:relative}.lb-thread-composer:after{content:"";border-block-start:1px solid var(--lb-foreground-subtle);pointer-events:none;block-size:100%;inline-size:100%;transition-property:border;position:absolute;inset:0}.lb-comment-attachments,.lb-composer-attachments{gap:calc(.75*var(--lb-spacing));flex-direction:column;display:flex}.lb-attachments{gap:calc(.75*var(--lb-spacing));grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));display:grid}.lb-attachment,.lb-attachment-delete{all:unset;box-sizing:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;transition-timing-function:var(--lb-transition-easing);transition-duration:var(--lb-transition-duration);-webkit-tap-highlight-color:transparent;outline:none;transition-property:background,color,opacity;position:relative}.lb-attachment:after,.lb-attachment-delete:after{content:"";border-radius:inherit;pointer-events:none;transition-property:box-shadow;position:absolute;inset:0}.lb-attachment:where(:focus-visible),.lb-attachment-delete:where(:focus-visible){z-index:1}.lb-attachment:where(:focus-visible):after,.lb-attachment-delete:where(:focus-visible):after{box-shadow:var(--lb-dynamic-background)0 0 0 2px,var(--lb-accent)0 0 0 4px}.lb-attachment{border-radius:var(--lb-radius);background:var(--lb-dynamic-background);box-shadow:inset 0 0 0 1px var(--lb-foreground-subtle);inline-size:100%;min-inline-size:0;display:flex;position:relative}.lb-attachment:where([tabindex="-1"]){cursor:default}.lb-attachment:where(:not([tabindex="-1"])):where(:hover,:focus-visible){background:var(--lb-foreground-subtle)}.lb-attachment-delete{z-index:2;background:var(--lb-foreground-subtle);color:var(--lb-foreground-secondary);box-shadow:0 0 0 2px var(--lb-dynamic-background);opacity:0;border-radius:50%;justify-content:center;align-items:center;block-size:1.1rem;inline-size:1.1rem;display:flex;position:absolute;inset-block-start:-.35rem;inset-inline-end:-.35rem}.lb-attachment-delete:before{content:"";z-index:-1;border-radius:inherit;position:absolute;inset:-4px}.lb-attachment-delete:where(:hover,:focus-visible){background:var(--lb-foreground-secondary);color:var(--lb-dynamic-background)}:where(.lb-attachment:focus-within,.lb-attachment:hover) .lb-attachment-delete{opacity:1}.lb-attachment-delete :where(.lb-icon){inline-size:.75rem}.lb-attachment-details{gap:calc(.25*var(--lb-spacing));flex-direction:column;justify-content:center;min-inline-size:0;font-size:.875em;display:flex;position:relative}.lb-attachment-name{font-weight:500;display:flex}.lb-attachment-name-base,.lb-attachment-description{text-overflow:ellipsis;white-space:nowrap;transition-property:color;overflow:hidden}.lb-attachment-preview{background:color-mix(in srgb,transparent,var(--lb-foreground)var(--lb-foreground-contrast));color:var(--lb-foreground-tertiary);flex:none;justify-content:center;align-items:center;transition-property:background,color;display:flex;position:relative;overflow:hidden}.lb-attachment-preview-media{border-radius:inherit;transition-property:opacity}.lb-attachment-preview-media,.lb-attachment-preview-media:after,.lb-attachment-preview-media img,.lb-attachment-preview-media video{block-size:100%;inline-size:100%;position:absolute;inset:0}.lb-attachment-preview-media img,.lb-attachment-preview-media video{object-fit:cover;pointer-events:none}.lb-attachment-preview-media:after{content:"";border-radius:inherit;box-shadow:var(--lb-highlight-shadow);pointer-events:none}.lb-attachment-preview-media:where([data-hidden]){opacity:0}.lb-attachment-icon{color:var(--lb-foreground);flex:none;overflow:visible}.lb-attachment-icon-glyph{fill:var(--lb-foreground-moderate)}.lb-attachment-icon-background{fill:var(--lb-background)}.lb-attachment-icon-fold{fill-opacity:calc(.75*var(--lb-foreground-contrast))}.lb-attachment-icon-shadow{filter:blur(6px);fill-opacity:var(--lb-foreground-contrast)}.lb-file-attachment{gap:calc(.5*var(--lb-spacing));padding:calc(.5*var(--lb-spacing));padding-inline-end:calc(.65*var(--lb-spacing))}.lb-file-attachment :where(.lb-attachment-preview){aspect-ratio:1;border-radius:calc(.5*var(--lb-radius));inline-size:2.5rem}.lb-file-attachment :where(.lb-attachment-name){color:var(--lb-foreground-secondary)}.lb-file-attachment :where(.lb-attachment-description){color:var(--lb-foreground-tertiary)}.lb-file-attachment:where(:not([tabindex="-1"])):where(:hover,:focus-visible,:focus-within) :where(.lb-attachment-name){color:var(--lb-foreground)}.lb-file-attachment:where(:not([tabindex="-1"])):where(:hover,:focus-visible,:focus-within) :where(.lb-attachment-description){color:var(--lb-foreground-secondary)}.lb-media-attachment{aspect-ratio:16/10}.lb-media-attachment :where(.lb-attachment-preview){border-radius:inherit;position:absolute;inset:0}.lb-media-attachment :where(.lb-attachment-details){padding:calc(.75*var(--lb-spacing));text-shadow:0 0 2px #0006;opacity:0;background:linear-gradient(#0000,#000c);border-end-end-radius:inherit;border-end-start-radius:inherit;transition-property:opacity;position:absolute;inset-block-end:0;inset-inline:0}.lb-media-attachment :where(.lb-attachment-name){color:#fff}.lb-media-attachment :where(.lb-attachment-description){color:#fffc}.lb-media-attachment:where(:not([tabindex="-1"])):where(:hover,:focus-visible,:focus-within) :where(.lb-attachment-details){opacity:1}.lb-attachment:where([data-error]) :where(.lb-attachment-preview){background:var(--lb-destructive);color:var(--lb-destructive-foreground)}.lb-inbox-notification{--lb-inbox-notification-aside-size:36px;gap:calc(.75*var(--lb-spacing));padding:var(--lb-spacing);background:var(--lb-dynamic-background);color:var(--lb-foreground);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:400;transition-property:background;display:flex;position:relative;overflow:hidden}.lb-inbox-notification:where([data-missing]){--lb-dynamic-background:var(--lb-background-accent-faint);--lb-accent:var(--lb-destructive)!important;--lb-accent-foreground:var(--lb-destructive-foreground)!important;--lb-accent-contrast:var(--lb-destructive-contrast)!important}.lb-inbox-notification:where([data-unread]){--lb-dynamic-background:var(--lb-background-accent-faint)}.lb-inbox-notification:where([href]){cursor:pointer}.lb-inbox-notification:where([href]):where(:hover,:focus-visible,:focus-within){--lb-dynamic-background:var(--lb-background-foreground-faint)}.lb-inbox-notification:where([href]):where([data-unread]):where(:hover,:focus-visible,:focus-within){--lb-dynamic-background:var(--lb-background-accent-subtle)}.lb-inbox-notification-aside{inline-size:var(--lb-inbox-notification-aside-size);flex:none}.lb-inbox-notification-icon{aspect-ratio:1;background:var(--lb-foreground-subtle);border-radius:50%;justify-content:center;place-items:center;display:flex}.lb-inbox-notification:where([data-missing]) :where(.lb-inbox-notification-icon){background:var(--lb-accent-subtle);color:var(--lb-accent)}.lb-inbox-notification-content{flex:1}.lb-inbox-notification-content,.lb-inbox-notification-body{min-inline-size:0;max-inline-size:100%}.lb-inbox-notification-header{gap:calc(.75*var(--lb-spacing));align-items:center;margin-block-start:calc(.25*var(--lb-spacing));margin-block-end:calc(.5*var(--lb-spacing));display:flex}.lb-inbox-notification-title{min-block-size:calc(2*.25*var(--lb-spacing) + var(--lb-icon-size))}.lb-inbox-notification-title:first-letter{text-transform:capitalize}.lb-inbox-notification-title :where(strong,.lb-list,.lb-name){font-weight:500}.lb-inbox-notification-details{block-size:calc(2*.25*var(--lb-spacing) + var(--lb-icon-size));flex:none;align-self:start;min-inline-size:0;margin-inline-start:auto}.lb-inbox-notification-details-labels{align-items:baseline;min-inline-size:0;display:flex}.lb-inbox-notification-details-labels:before{content:""}.lb-inbox-notification-actions{gap:calc(.125*var(--lb-spacing));grid-area:actions;align-self:start;display:flex}.lb-inbox-notification-comments{gap:var(--lb-spacing);flex-direction:column;display:flex}.lb-inbox-notification-comment{background:0 0;padding:0}.lb-inbox-notification-comment :where(.lb-comment-header){color:var(--lb-foreground-tertiary);block-size:auto;font-size:.875rem}.lb-inbox-notification-comment :where(.lb-comment-reaction),.lb-inbox-notification-comment :where(.lb-comment-attachment){pointer-events:none}.lb-inbox-notification-date{color:var(--lb-foreground-tertiary);font-size:.875em}.lb-inbox-notification-unread-indicator{background:var(--lb-accent);border-radius:50%;align-self:center;block-size:10px;inline-size:10px;margin-inline-start:calc(.5*var(--lb-spacing))}.lb-history-version-summary{gap:calc(.25*var(--lb-spacing));padding:var(--lb-spacing);background:var(--lb-dynamic-background);flex-direction:column;justify-content:center;inline-size:100%;min-inline-size:0;transition-property:background;display:flex;position:relative}.lb-history-version-summary:where(:hover,:focus-visible,:focus-within,[data-selected]:not([data-selected=false])){--lb-dynamic-background:var(--lb-background-foreground-faint)}.lb-history-version-summary-date,.lb-history-version-summary-authors{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;max-inline-size:100%;overflow:hidden}.lb-history-version-summary-date:first-letter,.lb-history-version-summary-authors:first-letter{text-transform:capitalize}.lb-history-version-summary-date{color:var(--lb-foreground-secondary);font-weight:500}.lb-history-version-summary-authors{color:var(--lb-foreground-tertiary)}.lb-history-version-preview{background:var(--lb-dynamic-background);flex-direction:column;display:flex;position:relative;overflow-y:auto}.lb-history-version-preview-content{padding:var(--lb-spacing);flex:1 0 auto}.lb-history-version-preview-footer{gap:var(--lb-spacing);padding:var(--lb-spacing);border-block-start:1px solid var(--lb-foreground-subtle);background:var(--lb-dynamic-background);flex:none;align-items:center;margin-block-start:auto;display:flex;position:sticky;inset-block-end:0}.lb-history-version-preview-authors{text-overflow:ellipsis;white-space:nowrap;color:var(--lb-foreground-tertiary);flex:auto;min-inline-size:0;overflow:hidden}.lb-history-version-preview-actions{gap:calc(.35*var(--lb-spacing));flex:none;align-items:center;margin-inline-start:auto;display:flex}.lb-inbox-notification-list,.lb-history-version-summary-list{margin:0;padding:0;list-style:none}.lb-inbox-notification-list-item:where(:not(:last-of-type)),.lb-history-version-summary-list-item:where(:not(:last-of-type)){border-block-end:1px solid var(--lb-foreground-subtle)}.lb-root :where(code){border-radius:calc(.75*var(--lb-radius));background:var(--lb-foreground-subtle);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.2em .4em;font-size:85%;line-height:1}.lb-root :where(span:has(code)+span code){border-start-start-radius:0;border-end-start-radius:0;padding-inline-start:0}.lb-root :where(span:has(code):has(+span code) code){border-start-end-radius:0;border-end-end-radius:0;padding-inline-end:0}:where(.lb-root code){font-family:ui-monospace,Menlo,Monaco,Roboto Mono,Cascadia Code,Source Code Pro,Consolas,DejaVu Sans Mono,monospace}.lb-elevation{border-radius:var(--lb-radius);background:var(--lb-dynamic-background);box-shadow:var(--lb-elevation-shadow);position:relative;overflow:hidden}.lb-elevation:after{content:"";z-index:1;border-radius:inherit;box-shadow:var(--lb-inset-shadow);pointer-events:none;position:absolute;inset:0}.lb-dropdown,.lb-composer-suggestions{padding:4px;overflow-y:auto}.lb-dropdown:where([data-hidden]),.lb-composer-suggestions:where([data-hidden]){opacity:0}.lb-dropdown-item,.lb-composer-suggestions-list-item{padding:calc(.25*var(--lb-spacing))calc(.5*var(--lb-spacing));align-items:center;font-size:.875rem;display:flex}.lb-dropdown-item,.lb-composer-suggestions-list-item,.lb-emoji-picker-emoji{border-radius:calc(var(--lb-radius) - .75*4px);color:var(--lb-foreground-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;transition-property:background,color,opacity}:is(.lb-dropdown-item,.lb-composer-suggestions-list-item,.lb-emoji-picker-emoji):where([data-highlighted]:not([data-highlighted=false]),[data-selected]:not([data-selected=false]),[data-active]:not([data-active=false])){background:var(--lb-foreground-subtle);transition-duration:calc(var(--lb-transition-duration)/2)}:is(.lb-dropdown-item,.lb-composer-suggestions-list-item,.lb-emoji-picker-emoji):where(:disabled,[data-disabled]:not([data-disabled=false])){opacity:.5;cursor:not-allowed}.lb-dropdown,.lb-composer-suggestions,.lb-composer-floating-toolbar,.lb-tooltip,.lb-emoji-picker{animation-duration:var(--lb-transition-duration);animation-timing-function:var(--lb-transition-easing);will-change:transform,opacity}:is(.lb-dropdown,.lb-emoji-picker,.lb-tooltip:where([data-state=delayed-open]),.lb-composer-suggestions,.lb-composer-floating-toolbar):where([data-side=top]){animation-name:lb-animation-slide-up}:is(.lb-dropdown,.lb-emoji-picker,.lb-tooltip:where([data-state=delayed-open]),.lb-composer-suggestions,.lb-composer-floating-toolbar):where([data-side=bottom]){animation-name:lb-animation-slide-down}:is(.lb-dropdown,.lb-emoji-picker,.lb-tooltip,.lb-composer-suggestions,.lb-composer-floating-toolbar):where([data-state=closed]){animation-name:lb-animation-disappear}@keyframes lb-animation-slide-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes lb-animation-slide-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes lb-animation-appear{0%{opacity:0}to{opacity:1}}@keyframes lb-animation-disappear{0%{opacity:1}to{opacity:0}}@keyframes lb-animation-shimmer{0%,to{-webkit-mask-image:linear-gradient(90deg,#00000080,#000,#000,#00000080);mask-image:linear-gradient(90deg,#00000080,#000,#000,#00000080);-webkit-mask-size:400% 100%;mask-size:400% 100%}0%{-webkit-mask-position:200% 0;mask-position:200% 0}to{-webkit-mask-position:-200% 0;mask-position:-200% 0}}@keyframes lb-animation-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (hover:hover){.lb-comment:where(.lb-comment\:show-actions-hover) :where(.lb-comment-actions){opacity:0;transition-property:opacity;position:absolute;inset-inline-end:0}.lb-comment:where(.lb-comment\:show-actions-hover):where(:is(:hover,:focus-within,.lb-comment\:action-open)) :where(.lb-comment-actions){opacity:1;position:relative}.lb-thread:where(.lb-thread\:show-actions-hover :is(:hover,:focus-within)) :where(.lb-thread-actions){opacity:1}.lb-inbox-notification:where(.lb-inbox-notification\:show-actions-hover) :where(.lb-inbox-notification-header){grid-template:"title secondary"/1fr max-content;display:grid}.lb-inbox-notification:where(.lb-inbox-notification\:show-actions-hover) :where(.lb-inbox-notification-details){opacity:1;transition-property:opacity}.lb-inbox-notification:where(.lb-inbox-notification\:show-actions-hover) :where(.lb-inbox-notification-actions){opacity:0;transition-property:opacity}.lb-inbox-notification:where(.lb-inbox-notification\:show-actions-hover):where(:is(:hover,:focus-within,.lb-inbox-notification\:action-open)) :where(.lb-inbox-notification-details){opacity:0}.lb-inbox-notification:where(.lb-inbox-notification\:show-actions-hover):where(:is(:hover,:focus-within,.lb-inbox-notification\:action-open)) :where(.lb-inbox-notification-actions){opacity:1}.lb-inbox-notification:where(.lb-inbox-notification\:show-actions-hover) :where(.lb-inbox-notification-details),.lb-inbox-notification:where(.lb-inbox-notification\:show-actions-hover) :where(.lb-inbox-notification-actions){grid-area:secondary;justify-self:end}}@media (prefers-reduced-motion){.lb-dropdown:where(:not([data-state=closed])),.lb-emoji-picker:where(:not([data-state=closed])),.lb-tooltip:where([data-state=delayed-open]:not([data-state=closed])),.lb-composer-suggestions:where(:not([data-state=closed])){animation-name:lb-animation-appear}}
1
+ .lb-root{--lb-radius:.5em;--lb-spacing:1em;--lb-accent:#17f;--lb-accent-foreground:#fff;--lb-destructive:#f45;--lb-destructive-foreground:#fff;--lb-background:#fff;--lb-foreground:#111;--lb-line-height:1.5;--lb-icon-size:20px;--lb-icon-weight:1.5px;--lb-avatar-radius:50%;--lb-button-radius:calc(.75*var(--lb-radius));--lb-transition-duration:.1s;--lb-transition-easing:cubic-bezier(.4,0,.2,1);--lb-highlight-shadow:inset 0 0 0 1px #0000001a;--lb-elevation-shadow:0 0 0 1px #0000000a,0 2px 6px #00000014,0 8px 26px #0000001f;--lb-tooltip-shadow:0 2px 4px #00000014,0 4px 12px #0000001f;--lb-accent-contrast:8%;--lb-destructive-contrast:8%;--lb-foreground-contrast:8%;--lb-background-foreground-faint:color-mix(in srgb,var(--lb-foreground),var(--lb-background)calc(100% - var(--lb-foreground-contrast) + ((100% - var(--lb-foreground-contrast))/9)/2));--lb-background-accent-faint:color-mix(in srgb,var(--lb-accent),var(--lb-background)calc(100% - var(--lb-accent-contrast) + ((100% - var(--lb-accent-contrast))/9)/2));--lb-background-accent-subtle:color-mix(in srgb,var(--lb-accent),var(--lb-background)calc(100% - var(--lb-accent-contrast)));--lb-background-destructive-faint:color-mix(in srgb,var(--lb-destructive),var(--lb-background)calc(100% - var(--lb-destructive-contrast) + ((100% - var(--lb-destructive-contrast))/9)/2));--lb-background-destructive-subtle:color-mix(in srgb,var(--lb-destructive),var(--lb-background)calc(100% - var(--lb-destructive-contrast)));--lb-accent-subtle:color-mix(in srgb,var(--lb-accent),var(--lb-dynamic-background)calc(100% - var(--lb-accent-contrast)));--lb-accent-moderate:color-mix(in srgb,var(--lb-accent),var(--lb-dynamic-background)calc(100% - (var(--lb-accent-contrast) + 3*((100% - var(--lb-accent-contrast))/9))));--lb-accent-tertiary:color-mix(in srgb,var(--lb-accent),var(--lb-dynamic-background)calc(100% - (var(--lb-accent-contrast) + 5*((100% - var(--lb-accent-contrast))/9))));--lb-accent-secondary:color-mix(in srgb,var(--lb-accent),var(--lb-dynamic-background)calc(100% - (var(--lb-accent-contrast) + 7*((100% - var(--lb-accent-contrast))/9))));--lb-destructive-subtle:color-mix(in srgb,var(--lb-destructive),var(--lb-dynamic-background)calc(100% - var(--lb-destructive-contrast)));--lb-destructive-moderate:color-mix(in srgb,var(--lb-destructive),var(--lb-dynamic-background)calc(100% - (var(--lb-destructive-contrast) + 3*((100% - var(--lb-destructive-contrast))/9))));--lb-destructive-tertiary:color-mix(in srgb,var(--lb-destructive),var(--lb-dynamic-background)calc(100% - (var(--lb-destructive-contrast) + 5*((100% - var(--lb-destructive-contrast))/9))));--lb-destructive-secondary:color-mix(in srgb,var(--lb-destructive),var(--lb-dynamic-background)calc(100% - (var(--lb-destructive-contrast) + 7*((100% - var(--lb-destructive-contrast))/9))));--lb-foreground-subtle:color-mix(in srgb,var(--lb-foreground),var(--lb-dynamic-background)calc(100% - var(--lb-foreground-contrast)));--lb-foreground-moderate:color-mix(in srgb,var(--lb-foreground),var(--lb-dynamic-background)calc(100% - (var(--lb-foreground-contrast) + 3*((100% - var(--lb-foreground-contrast))/9))));--lb-foreground-tertiary:color-mix(in srgb,var(--lb-foreground),var(--lb-dynamic-background)calc(100% - (var(--lb-foreground-contrast) + 5*((100% - var(--lb-foreground-contrast))/9))));--lb-foreground-secondary:color-mix(in srgb,var(--lb-foreground),var(--lb-dynamic-background)calc(100% - (var(--lb-foreground-contrast) + 7*((100% - var(--lb-foreground-contrast))/9))));--lb-selection:color-mix(in srgb,var(--lb-accent)40%,transparent);overflow-wrap:break-word;accent-color:var(--lb-accent);-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lb-root,.lb-root *,.lb-root :before,.lb-root :after{box-sizing:border-box;transition:none var(--lb-transition-duration)var(--lb-transition-easing)}.lb-root:where(:not(.lb-root .lb-root)){--lb-dynamic-background:var(--lb-background)}.lb-loading,.lb-empty,.lb-error{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lb-loading{color:var(--lb-foreground-moderate)}.lb-empty,.lb-error{padding:var(--lb-spacing);color:var(--lb-foreground-tertiary);text-align:center;text-wrap:balance;font-size:.875em}.lb-icon-container,.lb-icon{inline-size:var(--lb-icon-size);block-size:var(--lb-icon-size)}.lb-icon-container{justify-content:center;align-items:center;display:flex}.lb-icon{--lb-icon-background:var(--lb-dynamic-background)}.lb-icon *{stroke-width:var(--lb-icon-weight);vector-effect:non-scaling-stroke}.lb-icon-spinner{transform-origin:50%;animation:.75s linear infinite lb-animation-spin}.lb-button{--lb-button-background:var(--lb-dynamic-background);all:unset;box-sizing:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;transition-timing-function:var(--lb-transition-easing);transition-duration:var(--lb-transition-duration);-webkit-tap-highlight-color:transparent;padding:calc(.25*var(--lb-spacing));border-radius:var(--lb-button-radius);background:var(--lb-button-background);color:var(--lb-foreground-moderate);outline:none;justify-content:center;align-items:center;transition-property:background,color,opacity;display:flex;position:relative}.lb-button:after{content:"";border-radius:inherit;pointer-events:none;transition-property:box-shadow;position:absolute;inset:0}.lb-button:where(:focus-visible){z-index:1}.lb-button:where(:focus-visible):after{box-shadow:var(--lb-dynamic-background)0 0 0 2px,var(--lb-accent)0 0 0 4px}.lb-button:where(.lb-button\:non-disableable:disabled){cursor:default}.lb-button:where(:not(.lb-button\:non-disableable):disabled){opacity:.5;cursor:not-allowed}.lb-button:where(:enabled:hover,:enabled:focus-visible,[aria-expanded=true],[aria-selected=true]){--lb-button-background:var(--lb-foreground-subtle);color:var(--lb-foreground-tertiary)}.lb-button:where([data-variant=default]:not(:is(:enabled:hover,:enabled:focus-visible,[aria-expanded=true],[aria-selected=true],[aria-pressed]))){background:0 0}.lb-button:where([data-variant=primary]){--lb-button-background:var(--lb-accent);color:var(--lb-accent-foreground)}.lb-button:where([data-variant=primary]):where(:enabled:hover,:enabled:focus-visible,[aria-expanded=true],[aria-selected=true]){--lb-button-background:var(--lb-accent-secondary);color:var(--lb-accent-foreground)}.lb-button:where([data-variant=outline]){box-shadow:inset 0 0 0 1px var(--lb-foreground-subtle);transition-property:background,color,opacity,box-shadow}.lb-button:where(:has(.lb-button-label)){gap:calc(.175*var(--lb-spacing));padding-inline:calc(.55*var(--lb-spacing))}.lb-button:where(:has(.lb-button-label)):where(:has(.lb-icon-container)){padding-inline-start:calc(.4*var(--lb-spacing))}.lb-button:where([data-variant=toolbar]){color:var(--lb-foreground-tertiary)}.lb-button:where([data-variant=toolbar]):where([aria-pressed=true]){--lb-button-background:var(--lb-foreground-subtle);color:var(--lb-foreground-secondary)}.lb-button:where([data-variant=toolbar]):where([aria-pressed=true]) :where(.lb-icon *){stroke-width:calc(1.25*var(--lb-icon-weight))}.lb-button:where([data-variant=secondary]){--lb-button-background:var(--lb-foreground-subtle);color:var(--lb-foreground-tertiary)}.lb-button:where([data-variant=secondary]):where(:enabled:hover,:enabled:focus-visible,[aria-expanded=true],[aria-selected=true]){--lb-button-background:var(--lb-foreground);color:var(--lb-dynamic-background)}.lb-button:where([data-size=large]){padding:calc(.5*var(--lb-spacing))}.lb-button:where([data-size=large]):where(:has(.lb-button-label)){gap:calc(.35*var(--lb-spacing));padding-inline:calc(.7*var(--lb-spacing))}.lb-button:where([data-size=large]):where(:has(.lb-button-label)):where(:has(.lb-icon-container)){padding-inline-start:calc(.6*var(--lb-spacing))}.lb-button :where(.lb-icon-container){flex:none}.lb-button :where(.lb-icon){--lb-icon-background:var(--lb-button-background)}.lb-button-label{block-size:var(--lb-icon-size);font-weight:500;font-size:calc(.7*var(--lb-icon-size));flex:none;align-items:center;line-height:1;display:inline-flex}.lb-dropdown{min-inline-size:160px}.lb-dropdown-label{padding:calc(.875*var(--lb-spacing))calc(.625*var(--lb-spacing))calc(.125*var(--lb-spacing));color:var(--lb-foreground-tertiary);text-transform:uppercase;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.675em;font-weight:600}.lb-dropdown-label:where(:first-child){padding-block-start:var(--lb-spacing)}.lb-dropdown-separator{background:var(--lb-foreground-subtle);block-size:1px;margin:4px -4px}.lb-dropdown-item :where(.lb-icon-container){color:var(--lb-foreground-moderate);margin-inline-start:calc(-.125*var(--lb-spacing));margin-inline-end:calc(.375*var(--lb-spacing));transition-property:color}.lb-dropdown-item:where(:is([data-highlighted]:not([data-highlighted=false]),[data-selected]:not([data-selected=false]),[data-active]:not([data-active=false]))) :where(.lb-icon-container){color:var(--lb-foreground-tertiary)}.lb-dropdown-item:where(:has(.lb-dropdown-item-accessory)) :where(.lb-dropdown-item-label){margin-inline-end:calc(.375*var(--lb-spacing))}.lb-dropdown-item-accessory{margin-inline-start:auto;margin-inline-end:calc(-.25*var(--lb-spacing))}.lb-dropdown:where(:has(.lb-dropdown-item-icon)) :where(.lb-dropdown-item:not(:has(.lb-dropdown-item-icon))) :where(.lb-dropdown-item-label){margin-inline-start:calc(var(--lb-icon-size) + (.375 - .125)*var(--lb-spacing))}.lb-select-button{min-inline-size:0}.lb-select-button :where(.lb-button-label){text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.lb-select-button-chevron{opacity:.75;flex:none;margin-inline-end:calc(-.25*var(--lb-spacing))}.lb-composer-suggestions-list{margin:0;padding:0;list-style:none}.lb-composer-suggestions-list-item{scroll-margin-block:4px}.lb-composer-mention-suggestions{--lb-composer-mention-suggestion-avatar-size:1.25rem}.lb-composer-mention-suggestion{padding:calc(.375*var(--lb-spacing))calc(.625*var(--lb-spacing))}.lb-composer-mention-suggestion-avatar{inline-size:var(--lb-composer-mention-suggestion-avatar-size);margin-inline-start:calc(-.125*var(--lb-spacing));margin-inline-end:calc(.5*var(--lb-spacing));margin-block:calc(.125*var(--lb-spacing));background:var(--lb-foreground-subtle);color:var(--lb-foreground-moderate)}.lb-list{display:contents}.lb-list :where(:first-child):first-letter,.lb-date:first-letter{text-transform:capitalize}@supports (background:-webkit-named-image(i)){.lb-emoji{will-change:transform;transform:scale(.825)}}.lb-emoji-picker{--lb-emoji-picker-padding:6px;--lb-emoji-picker-offset-padding:calc(6px + .375*var(--lb-spacing));max-inline-size:var(--frimousse-viewport-width);color:var(--lb-foreground);flex-direction:column;block-size:374px;inline-size:100%;display:flex}.lb-emoji-picker-header{border-block-end:1px solid var(--lb-foreground-subtle);flex:none}.lb-emoji-picker-footer{gap:calc(.5*var(--lb-spacing));padding:calc(.5*var(--lb-spacing));border-block-start:1px solid var(--lb-foreground-subtle);flex:none;align-items:center;inline-size:100%;display:flex}.lb-emoji-picker-active-emoji{flex:none;justify-content:center;align-items:center;block-size:1.25em;inline-size:1.25em;font-size:1.25em;display:flex}.lb-emoji-picker-active-emoji-label{text-overflow:ellipsis;white-space:nowrap;color:var(--lb-foreground-secondary);flex:1;font-size:.8125em;font-weight:500;overflow:hidden}.lb-emoji-picker-active-emoji-label-placeholder{color:var(--lb-foreground-moderate);margin-inline-start:calc(.5*var(--lb-spacing))}.lb-emoji-picker-skin-tone-selector{inline-size:calc(1.75*var(--lb-spacing));block-size:calc(1.75*var(--lb-spacing));flex:none;justify-content:center;align-items:center;margin-inline-start:auto;display:flex}.lb-emoji-picker-search-container{align-items:center;display:flex;position:relative}.lb-emoji-picker-search-container :where(.lb-icon){color:var(--lb-foreground-moderate);pointer-events:none;position:absolute;inset-inline-start:var(--lb-emoji-picker-offset-padding)}.lb-emoji-picker-search{all:unset;box-sizing:inherit;padding:var(--lb-emoji-picker-offset-padding);-webkit-appearance:textfield;appearance:textfield;background:0 0;outline:none;inline-size:100%;padding-inline-start:calc(var(--lb-icon-size) + var(--lb-emoji-picker-offset-padding) + .375*var(--lb-spacing))}.lb-emoji-picker-search::placeholder{color:var(--lb-foreground-moderate)}.lb-emoji-picker-search::-webkit-search-cancel-button{display:none}.lb-emoji-picker-content{outline:none;flex:1;position:relative}.lb-emoji-picker-category-header{padding:var(--lb-emoji-picker-padding)var(--lb-emoji-picker-offset-padding);background:var(--lb-dynamic-background)}.lb-emoji-picker-category-header-title{color:var(--lb-foreground-tertiary);text-transform:uppercase;font-size:.675em;font-weight:600}.lb-emoji-picker-list{animation:lb-animation-appear var(--lb-transition-duration)var(--lb-transition-easing)both;padding-block-end:var(--lb-emoji-picker-padding)}.lb-emoji-picker-row{padding-inline:var(--lb-emoji-picker-padding);scroll-margin-block-end:var(--lb-emoji-picker-padding);display:flex}.lb-emoji-picker-emoji{all:unset;box-sizing:inherit;aspect-ratio:1;padding:calc(.375*var(--lb-spacing));border-radius:calc(var(--lb-radius) - .75*6px);text-align:center;justify-content:center;align-items:center;display:flex;overflow:hidden}.lb-tooltip{--lb-background:#222;--lb-foreground:#fff;--lb-foreground-contrast:10%;min-block-size:calc(calc(1em + 2*.25*var(--lb-spacing)) + 2*5px);padding-inline:calc(.75*var(--lb-spacing));border-radius:var(--lb-radius);background:var(--lb-dynamic-background);color:var(--lb-foreground);box-shadow:var(--lb-tooltip-shadow);overflow-wrap:anywhere;pointer-events:none;align-items:center;max-inline-size:300px;font-size:.75rem;line-height:1;display:flex;position:relative}.lb-tooltip:after{content:"";z-index:1;border-radius:inherit;box-shadow:var(--lb-inset-shadow);pointer-events:none;position:absolute;inset:0}.lb-tooltip\:multiline{padding-block:calc(calc(.625*var(--lb-spacing))*(1/1.5));text-align:center;justify-content:center;line-height:1.5}.lb-tooltip-shortcut{gap:calc(.125*var(--lb-spacing));block-size:calc(1em + 2*.25*var(--lb-spacing));padding-inline:calc(.25*var(--lb-spacing));border-radius:calc(var(--lb-radius) - .625*5px);background:var(--lb-foreground-subtle);color:var(--lb-foreground-tertiary);text-transform:uppercase;justify-content:center;align-items:center;margin-inline-start:calc(.75*var(--lb-spacing));margin-inline-end:calc(-1*calc(.75*var(--lb-spacing)) + 5px);font-family:inherit;line-height:1;display:flex}.lb-tooltip-shortcut :where(abbr){all:unset}.lb-avatar{aspect-ratio:1;border-radius:var(--lb-avatar-radius);background:var(--lb-foreground-subtle);color:var(--lb-foreground-moderate);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden;container-type:inline-size}.lb-avatar:where([data-loading]){background:var(--lb-foreground);opacity:.12}.lb-avatar-image{object-fit:cover;block-size:100%;inline-size:100%;position:absolute;inset:0}.lb-avatar-fallback{white-space:nowrap;font-size:35cqi;font-weight:500}@supports not (container-type:inline-size){.lb-avatar-fallback{display:none}}.lb-name{display:inline-block}.lb-name:where([data-loading]):before{content:"";vertical-align:middle;border-radius:calc(.5*var(--lb-radius));opacity:.12;-webkit-user-select:none;user-select:none;background:currentColor;block-size:1.75ex;inline-size:8ch;display:inline-block}:is(.lb-avatar,.lb-name):where([data-loading]){animation:8s linear infinite lb-animation-shimmer}:is(.lb-comment-body,.lb-composer-editor){color:var(--lb-foreground-secondary)}:is(.lb-comment-body,.lb-composer-editor),:is(.lb-comment-body,.lb-composer-editor) *{line-height:var(--lb-line-height)}:is(.lb-comment-body,.lb-composer-editor) :where(p){--lb-line-height-crop:calc(1lh - 1em)/-2;margin-block:.25em}:is(.lb-comment-body,.lb-composer-editor) :where(p):where(:first-of-type){margin-block-start:calc(.125em + var(--lb-line-height-crop))}:is(.lb-comment-body,.lb-composer-editor) :where(p):where(:last-of-type){margin-block-end:calc(.125em + var(--lb-line-height-crop))}:is(.lb-comment-body,.lb-composer-editor) :where(strong){font-weight:600}.lb-comment-mention,.lb-composer-mention{color:var(--lb-accent);-webkit-box-decoration-break:clone;box-decoration-break:clone;font-weight:500}:is(.lb-comment-link,.lb-composer-link){color:var(--lb-foreground);text-decoration-line:underline;-webkit-text-decoration-color:var(--lb-foreground-moderate);text-decoration-color:var(--lb-foreground-moderate);text-underline-offset:2px;outline:none;font-weight:500;transition-property:color,text-decoration-color}:is(.lb-comment-link,.lb-composer-link):where([href]):where(:hover,:focus-visible){color:var(--lb-accent);-webkit-text-decoration-color:var(--lb-accent-moderate);text-decoration-color:var(--lb-accent-moderate)}.lb-comment-mention:where([data-self]),.lb-composer-mention{border-radius:calc(.675*var(--lb-radius));background:var(--lb-accent-subtle);padding:.1em .3em}.lb-composer{background:var(--lb-dynamic-background);color:var(--lb-foreground);transition-property:background;position:relative}.lb-composer-form{margin:0}.lb-composer:where(:has(.lb-composer-editor:not(:focus-visible))) :where(.lb-button[data-variant=primary]){--lb-button-background:var(--lb-foreground-subtle);color:var(--lb-foreground-tertiary)}.lb-composer:where(:has(.lb-composer-editor:not(:focus-visible))) :where(.lb-button[data-variant=primary]):where(:enabled:hover,:enabled:focus-visible){--lb-button-background:var(--lb-accent);color:var(--lb-accent-foreground)}.lb-composer-editor{padding:var(--lb-spacing);outline:none}.lb-composer-editor:where([data-disabled]:not([data-disabled=false])){opacity:.5;cursor:not-allowed}:where(.lb-composer-editor-container:has(.lb-composer-attachments)) .lb-composer-editor{padding-block-end:calc(.25*var(--lb-spacing))}.lb-composer-editor :where([data-placeholder]){color:var(--lb-foreground-moderate)}.lb-composer-mention::selection{background:0 0}.lb-composer-mention ::selection{background:0 0}.lb-composer-mention:where([data-selected]:not([data-selected=false])){background:var(--lb-accent);color:var(--lb-accent-foreground)}.lb-composer-footer{gap:calc(.75*var(--lb-spacing));block-size:calc(calc(2*.25*var(--lb-spacing) + var(--lb-icon-size)) + var(--lb-spacing));padding:0 var(--lb-spacing)var(--lb-spacing);align-items:center;margin-block-start:calc(-.125*var(--lb-spacing));display:flex}.lb-composer-actions,.lb-composer-editor-actions{gap:calc(.125*var(--lb-spacing));align-items:center;display:flex}.lb-composer-editor-actions{margin-inline-end:auto}.lb-composer-attribution{color:var(--lb-foreground-moderate);outline:none;transition-property:color}.lb-composer-attribution:where(:hover,:focus-visible){color:var(--lb-foreground-tertiary)}.lb-composer-attribution :where(svg){block-size:calc(.75*calc(2*.25*var(--lb-spacing) + var(--lb-icon-size)))}.lb-composer-attachments{padding-inline:var(--lb-spacing);padding-block-start:calc(.75*var(--lb-spacing));padding-block-end:var(--lb-spacing)}.lb-composer-editor-container:where([data-drop]) *{pointer-events:none}.lb-composer-attachments-drop-area{color:var(--lb-accent);place-content:center;place-items:center;display:flex;position:absolute;inset:0}.lb-composer-attachments-drop-area:before,.lb-composer-attachments-drop-area:after{content:"";inset:calc(.5*var(--lb-spacing));z-index:0;border-radius:calc(.75*var(--lb-radius));position:absolute}.lb-composer-attachments-drop-area:before{opacity:calc(1*var(--lb-accent-contrast));background:currentColor}.lb-composer-attachments-drop-area:after{opacity:calc(2*var(--lb-accent-contrast));border:2px dashed}.lb-composer-attachments-drop-area-label{gap:calc(.25*var(--lb-spacing));padding:calc(.375*var(--lb-spacing))calc(.5*var(--lb-spacing));border-radius:calc(.75*var(--lb-radius));background:var(--lb-accent);color:var(--lb-accent-foreground);pointer-events:none;place-items:center;font-weight:500;display:flex;position:relative}.lb-composer-floating-toolbar{-webkit-user-select:none;user-select:none;flex-direction:row;gap:4px;padding:4px;display:flex}.lb-composer-floating-toolbar :where(.lb-button):before{content:"";z-index:-1;border-radius:inherit;position:absolute;inset:-4px}.lb-composer-floating-toolbar :where(.lb-button):where(:not(:first-of-type)):before{inset-inline-start:-2px}.lb-composer-floating-toolbar :where(.lb-button):where(:not(:last-of-type)):before{inset-inline-end:-2px}.lb-comment{--lb-comment-avatar-size:calc(2*.25*var(--lb-spacing) + var(--lb-icon-size));padding:var(--lb-spacing);background:var(--lb-dynamic-background);color:var(--lb-foreground);scroll-margin:var(--lb-spacing);font-weight:400;position:relative}.lb-comment:where(:target,[data-target]){--lb-dynamic-background:var(--lb-background-accent-faint)}.lb-comment:where([data-editing]){--lb-dynamic-background:var(--lb-background-foreground-faint)}.lb-comment-header{gap:calc(.75*var(--lb-spacing));block-size:var(--lb-comment-avatar-size);align-items:center;margin-block-end:calc(.75*var(--lb-spacing));display:flex;position:relative}.lb-comment-details{gap:calc(.75*var(--lb-spacing));align-items:center;min-inline-size:0;display:flex}.lb-comment-avatar{inline-size:var(--lb-comment-avatar-size);flex:none}.lb-comment-details-labels{gap:calc(.5*var(--lb-spacing));align-items:baseline;min-inline-size:0;display:flex}.lb-comment-author,.lb-comment-date{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lb-comment-author:first-letter,.lb-comment-date:first-letter{text-transform:capitalize}.lb-comment-author{font-weight:500}.lb-comment-date{color:var(--lb-foreground-tertiary);font-size:.875em}.lb-comment-date-created,.lb-comment-date-edited{display:contents}.lb-comment-actions{gap:calc(.125*var(--lb-spacing));margin-inline-start:auto;display:flex}.lb-comment-composer{margin:calc(-1*var(--lb-spacing));background:unset}.lb-comment-body :where(p span:only-child:empty):before{content:"";-webkit-user-select:none;user-select:none}.lb-comment-attachments{margin-block-start:calc(.75*var(--lb-spacing))}.lb-comment-reactions{gap:calc(.375*var(--lb-spacing));flex-wrap:wrap;margin-block-start:calc(.75*var(--lb-spacing));display:flex}.lb-comment-reaction{gap:calc(.375*var(--lb-spacing));block-size:calc(2*.25*var(--lb-spacing) + var(--lb-icon-size));padding-inline:calc(.575*var(--lb-spacing));border-radius:9999px}.lb-comment-reaction:where([data-self]){background:var(--lb-accent-subtle);color:var(--lb-accent-secondary);box-shadow:inset 0 0 0 1px var(--lb-accent-moderate)}.lb-comment-reaction:where([data-self]):where(:enabled:hover,:enabled:focus-visible,[aria-expanded=true],[aria-selected=true]){color:var(--lb-accent)}.lb-comment-reaction-count{font-variant-numeric:tabular-nums;font-size:.75em;font-weight:500}.lb-comment-reaction-tooltip{max-inline-size:200px}.lb-comment-deleted{color:var(--lb-foreground-tertiary);font-size:.875em}.lb-comment\:indent-content{min-block-size:calc(var(--lb-comment-avatar-size) + 2*var(--lb-spacing))}.lb-comment\:indent-content :where(.lb-comment-header){block-size:calc(2*.25*var(--lb-spacing) + var(--lb-icon-size));margin-block-end:calc(.25*var(--lb-spacing))}.lb-comment\:indent-content :where(.lb-comment-avatar){position:absolute;inset-block-start:0;inset-inline-start:0}.lb-comment\:indent-content :where(.lb-comment-details-labels){margin-inline-start:calc(var(--lb-comment-avatar-size) + .75*var(--lb-spacing))}.lb-comment\:indent-content :where(.lb-comment-content){padding-inline-start:calc(var(--lb-comment-avatar-size) + .75*var(--lb-spacing))}.lb-thread{background:var(--lb-dynamic-background);color:var(--lb-foreground);transition-property:background}.lb-thread-comments{z-index:0;flex-direction:column;display:flex;position:relative}.lb-thread-comment{z-index:0;padding-block:calc(.6*var(--lb-spacing));transition-property:background}.lb-thread-comment:where(.lb-comment\:indent-content){min-block-size:calc(var(--lb-comment-avatar-size) + var(--lb-spacing))}.lb-thread-comment:where(:first-of-type,[data-editing]){padding-block-start:var(--lb-spacing)}.lb-thread-comment:where(:first-of-type,[data-editing]):where(.lb-comment\:indent-content){min-block-size:calc(var(--lb-comment-avatar-size) + 1.5*var(--lb-spacing))}.lb-thread-comment:where(:last-of-type,[data-editing]){padding-block-end:var(--lb-spacing)}.lb-thread-comment:where(:last-of-type,[data-editing]):where(.lb-comment\:indent-content){min-block-size:calc(var(--lb-comment-avatar-size) + 1.75*var(--lb-spacing))}.lb-thread-new-indicator{z-index:1;justify-content:center;align-items:center;block-size:0;display:flex;position:relative}.lb-thread-new-indicator:before,.lb-thread-new-indicator:after{content:"";z-index:0;border-block-start:1px solid var(--lb-foreground-subtle);flex:1;block-size:0;transition-property:border}.lb-thread-new-indicator-label{z-index:1;gap:calc(.325*var(--lb-spacing));padding:calc(.25*var(--lb-spacing))var(--lb-spacing);color:var(--lb-accent);text-transform:uppercase;flex:none;align-items:center;font-size:.675em;font-weight:600;display:flex}.lb-thread-new-indicator-label-icon{inline-size:calc(.6*var(--lb-icon-size));block-size:calc(.6*var(--lb-icon-size))}.lb-thread-composer{position:relative}.lb-thread-composer:after{content:"";border-block-start:1px solid var(--lb-foreground-subtle);pointer-events:none;block-size:100%;inline-size:100%;transition-property:border;position:absolute;inset:0}.lb-comment-attachments,.lb-composer-attachments{gap:calc(.75*var(--lb-spacing));flex-direction:column;display:flex}.lb-attachments{gap:calc(.75*var(--lb-spacing));grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));display:grid}.lb-attachment,.lb-attachment-delete{all:unset;box-sizing:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;transition-timing-function:var(--lb-transition-easing);transition-duration:var(--lb-transition-duration);-webkit-tap-highlight-color:transparent;outline:none;transition-property:background,color,opacity;position:relative}.lb-attachment:after,.lb-attachment-delete:after{content:"";border-radius:inherit;pointer-events:none;transition-property:box-shadow;position:absolute;inset:0}.lb-attachment:where(:focus-visible),.lb-attachment-delete:where(:focus-visible){z-index:1}.lb-attachment:where(:focus-visible):after,.lb-attachment-delete:where(:focus-visible):after{box-shadow:var(--lb-dynamic-background)0 0 0 2px,var(--lb-accent)0 0 0 4px}.lb-attachment{border-radius:var(--lb-radius);background:var(--lb-dynamic-background);box-shadow:inset 0 0 0 1px var(--lb-foreground-subtle);inline-size:100%;min-inline-size:0;display:flex;position:relative}.lb-attachment:where([tabindex="-1"]){cursor:default}.lb-attachment:where(:not([tabindex="-1"])):where(:hover,:focus-visible){background:var(--lb-foreground-subtle)}.lb-attachment-delete{z-index:2;background:var(--lb-foreground-subtle);color:var(--lb-foreground-secondary);box-shadow:0 0 0 2px var(--lb-dynamic-background);opacity:0;border-radius:50%;justify-content:center;align-items:center;block-size:1.1rem;inline-size:1.1rem;display:flex;position:absolute;inset-block-start:-.35rem;inset-inline-end:-.35rem}.lb-attachment-delete:before{content:"";z-index:-1;border-radius:inherit;position:absolute;inset:-4px}.lb-attachment-delete:where(:hover,:focus-visible){background:var(--lb-foreground-secondary);color:var(--lb-dynamic-background)}:where(.lb-attachment:focus-within,.lb-attachment:hover) .lb-attachment-delete{opacity:1}.lb-attachment-delete :where(.lb-icon){inline-size:.75rem}.lb-attachment-details{gap:calc(.25*var(--lb-spacing));flex-direction:column;justify-content:center;min-inline-size:0;font-size:.875em;display:flex;position:relative}.lb-attachment-name{font-weight:500;display:flex}.lb-attachment-name-base,.lb-attachment-description{text-overflow:ellipsis;white-space:nowrap;transition-property:color;overflow:hidden}.lb-attachment-preview{background:color-mix(in srgb,transparent,var(--lb-foreground)var(--lb-foreground-contrast));color:var(--lb-foreground-tertiary);flex:none;justify-content:center;align-items:center;transition-property:background,color;display:flex;position:relative;overflow:hidden}.lb-attachment-preview-media{border-radius:inherit;transition-property:opacity}.lb-attachment-preview-media,.lb-attachment-preview-media:after,.lb-attachment-preview-media img,.lb-attachment-preview-media video{block-size:100%;inline-size:100%;position:absolute;inset:0}.lb-attachment-preview-media img,.lb-attachment-preview-media video{object-fit:cover;pointer-events:none}.lb-attachment-preview-media:after{content:"";border-radius:inherit;box-shadow:var(--lb-highlight-shadow);pointer-events:none}.lb-attachment-preview-media:where([data-hidden]){opacity:0}.lb-attachment-icon{color:var(--lb-foreground);flex:none;overflow:visible}.lb-attachment-icon-glyph{fill:var(--lb-foreground-moderate)}.lb-attachment-icon-background{fill:var(--lb-background)}.lb-attachment-icon-fold{fill-opacity:calc(.75*var(--lb-foreground-contrast))}.lb-attachment-icon-shadow{filter:blur(6px);fill-opacity:var(--lb-foreground-contrast)}.lb-file-attachment{gap:calc(.5*var(--lb-spacing));padding:calc(.5*var(--lb-spacing));padding-inline-end:calc(.65*var(--lb-spacing))}.lb-file-attachment :where(.lb-attachment-preview){aspect-ratio:1;border-radius:calc(.5*var(--lb-radius));inline-size:2.5rem}.lb-file-attachment :where(.lb-attachment-name){color:var(--lb-foreground-secondary)}.lb-file-attachment :where(.lb-attachment-description){color:var(--lb-foreground-tertiary)}.lb-file-attachment:where(:not([tabindex="-1"])):where(:hover,:focus-visible,:focus-within) :where(.lb-attachment-name){color:var(--lb-foreground)}.lb-file-attachment:where(:not([tabindex="-1"])):where(:hover,:focus-visible,:focus-within) :where(.lb-attachment-description){color:var(--lb-foreground-secondary)}.lb-media-attachment{aspect-ratio:16/10}.lb-media-attachment :where(.lb-attachment-preview){border-radius:inherit;position:absolute;inset:0}.lb-media-attachment :where(.lb-attachment-details){padding:calc(.75*var(--lb-spacing));text-shadow:0 0 2px #0006;opacity:0;background:linear-gradient(#0000,#000c);border-end-end-radius:inherit;border-end-start-radius:inherit;transition-property:opacity;position:absolute;inset-block-end:0;inset-inline:0}.lb-media-attachment :where(.lb-attachment-name){color:#fff}.lb-media-attachment :where(.lb-attachment-description){color:#fffc}.lb-media-attachment:where(:not([tabindex="-1"])):where(:hover,:focus-visible,:focus-within) :where(.lb-attachment-details){opacity:1}.lb-attachment:where([data-error]) :where(.lb-attachment-preview){background:var(--lb-destructive);color:var(--lb-destructive-foreground)}.lb-inbox-notification{--lb-inbox-notification-aside-size:36px;gap:calc(.75*var(--lb-spacing));padding:var(--lb-spacing);background:var(--lb-dynamic-background);color:var(--lb-foreground);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:400;transition-property:background;display:flex;position:relative;overflow:hidden}.lb-inbox-notification:where([data-missing]){--lb-dynamic-background:var(--lb-background-accent-faint);--lb-accent:var(--lb-destructive)!important;--lb-accent-foreground:var(--lb-destructive-foreground)!important;--lb-accent-contrast:var(--lb-destructive-contrast)!important}.lb-inbox-notification:where([data-unread]){--lb-dynamic-background:var(--lb-background-accent-faint)}.lb-inbox-notification:where([href]){cursor:pointer}.lb-inbox-notification:where([href]):where(:hover,:focus-visible,:focus-within){--lb-dynamic-background:var(--lb-background-foreground-faint)}.lb-inbox-notification:where([href]):where([data-unread]):where(:hover,:focus-visible,:focus-within){--lb-dynamic-background:var(--lb-background-accent-subtle)}.lb-inbox-notification-aside{inline-size:var(--lb-inbox-notification-aside-size);flex:none}.lb-inbox-notification-icon{aspect-ratio:1;background:var(--lb-foreground-subtle);border-radius:50%;justify-content:center;place-items:center;display:flex}.lb-inbox-notification:where([data-missing]) :where(.lb-inbox-notification-icon){background:var(--lb-accent-subtle);color:var(--lb-accent)}.lb-inbox-notification-content{flex:1}.lb-inbox-notification-content,.lb-inbox-notification-body{min-inline-size:0;max-inline-size:100%}.lb-inbox-notification-header{gap:calc(.75*var(--lb-spacing));align-items:center;margin-block-start:calc(.25*var(--lb-spacing));margin-block-end:calc(.5*var(--lb-spacing));display:flex}.lb-inbox-notification-title{min-block-size:calc(2*.25*var(--lb-spacing) + var(--lb-icon-size))}.lb-inbox-notification-title:first-letter{text-transform:capitalize}.lb-inbox-notification-title :where(strong,.lb-list,.lb-name){font-weight:500}.lb-inbox-notification-details{block-size:calc(2*.25*var(--lb-spacing) + var(--lb-icon-size));flex:none;align-self:start;min-inline-size:0;margin-inline-start:auto}.lb-inbox-notification-details-labels{align-items:baseline;min-inline-size:0;display:flex}.lb-inbox-notification-details-labels:before{content:""}.lb-inbox-notification-actions{gap:calc(.125*var(--lb-spacing));grid-area:actions;align-self:start;display:flex}.lb-inbox-notification-comments{gap:var(--lb-spacing);flex-direction:column;display:flex}.lb-inbox-notification-comment{background:0 0;padding:0}.lb-inbox-notification-comment :where(.lb-comment-header){color:var(--lb-foreground-tertiary);block-size:auto;font-size:.875rem}.lb-inbox-notification-comment :where(.lb-comment-reaction),.lb-inbox-notification-comment :where(.lb-comment-attachment){pointer-events:none}.lb-inbox-notification-date{color:var(--lb-foreground-tertiary);font-size:.875em}.lb-inbox-notification-unread-indicator{background:var(--lb-accent);border-radius:50%;align-self:center;block-size:10px;inline-size:10px;margin-inline-start:calc(.5*var(--lb-spacing))}.lb-history-version-summary{gap:calc(.25*var(--lb-spacing));padding:var(--lb-spacing);background:var(--lb-dynamic-background);flex-direction:column;justify-content:center;inline-size:100%;min-inline-size:0;transition-property:background;display:flex;position:relative}.lb-history-version-summary:where(:hover,:focus-visible,:focus-within,[data-selected]:not([data-selected=false])){--lb-dynamic-background:var(--lb-background-foreground-faint)}.lb-history-version-summary-date,.lb-history-version-summary-authors{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;max-inline-size:100%;overflow:hidden}.lb-history-version-summary-date:first-letter,.lb-history-version-summary-authors:first-letter{text-transform:capitalize}.lb-history-version-summary-date{color:var(--lb-foreground-secondary);font-weight:500}.lb-history-version-summary-authors{color:var(--lb-foreground-tertiary)}.lb-history-version-preview{background:var(--lb-dynamic-background);flex-direction:column;display:flex;position:relative;overflow-y:auto}.lb-history-version-preview-content{padding:var(--lb-spacing);flex:1 0 auto}.lb-history-version-preview-footer{gap:var(--lb-spacing);padding:var(--lb-spacing);border-block-start:1px solid var(--lb-foreground-subtle);background:var(--lb-dynamic-background);flex:none;align-items:center;margin-block-start:auto;display:flex;position:sticky;inset-block-end:0}.lb-history-version-preview-authors{text-overflow:ellipsis;white-space:nowrap;color:var(--lb-foreground-tertiary);flex:auto;min-inline-size:0;overflow:hidden}.lb-history-version-preview-actions{gap:calc(.35*var(--lb-spacing));flex:none;align-items:center;margin-inline-start:auto;display:flex}.lb-inbox-notification-list,.lb-history-version-summary-list{margin:0;padding:0;list-style:none}.lb-inbox-notification-list-item:where(:not(:last-of-type)),.lb-history-version-summary-list-item:where(:not(:last-of-type)){border-block-end:1px solid var(--lb-foreground-subtle)}.lb-root :where(code){border-radius:calc(.75*var(--lb-radius));background:var(--lb-foreground-subtle);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.2em .4em;font-size:85%;line-height:1}.lb-root :where(span:has(code)+span code){border-start-start-radius:0;border-end-start-radius:0;padding-inline-start:0}.lb-root :where(span:has(code):has(+span code) code){border-start-end-radius:0;border-end-end-radius:0;padding-inline-end:0}:where(.lb-root code){font-family:ui-monospace,Menlo,Monaco,Roboto Mono,Cascadia Code,Source Code Pro,Consolas,DejaVu Sans Mono,monospace}.lb-elevation{border-radius:var(--lb-radius);background:var(--lb-dynamic-background);box-shadow:var(--lb-elevation-shadow);position:relative;overflow:hidden}.lb-elevation:after{content:"";z-index:1;border-radius:inherit;box-shadow:var(--lb-inset-shadow);pointer-events:none;position:absolute;inset:0}.lb-dropdown,.lb-composer-suggestions{padding:4px;overflow-y:auto}.lb-dropdown:where([data-hidden]),.lb-composer-suggestions:where([data-hidden]){opacity:0}.lb-dropdown-item,.lb-composer-suggestions-list-item{padding:calc(.25*var(--lb-spacing))calc(.5*var(--lb-spacing));align-items:center;font-size:.875rem;display:flex}.lb-dropdown-item,.lb-composer-suggestions-list-item,.lb-emoji-picker-emoji{border-radius:calc(var(--lb-radius) - .75*4px);color:var(--lb-foreground-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;transition-property:background,color,opacity}:is(.lb-dropdown-item,.lb-composer-suggestions-list-item,.lb-emoji-picker-emoji):where([data-highlighted]:not([data-highlighted=false]),[data-selected]:not([data-selected=false]),[data-active]:not([data-active=false])){background:var(--lb-foreground-subtle);transition-duration:calc(var(--lb-transition-duration)/2)}:is(.lb-dropdown-item,.lb-composer-suggestions-list-item,.lb-emoji-picker-emoji):where(:disabled,[data-disabled]:not([data-disabled=false])){opacity:.5;cursor:not-allowed}.lb-dropdown,.lb-composer-suggestions,.lb-composer-floating-toolbar,.lb-tooltip,.lb-emoji-picker{animation-duration:var(--lb-transition-duration);animation-timing-function:var(--lb-transition-easing);will-change:transform,opacity}:is(.lb-dropdown,.lb-emoji-picker,.lb-tooltip:where([data-state=delayed-open]),.lb-composer-suggestions,.lb-composer-floating-toolbar):where([data-side=top]){animation-name:lb-animation-slide-up}:is(.lb-dropdown,.lb-emoji-picker,.lb-tooltip:where([data-state=delayed-open]),.lb-composer-suggestions,.lb-composer-floating-toolbar):where([data-side=bottom]){animation-name:lb-animation-slide-down}:is(.lb-dropdown,.lb-emoji-picker,.lb-tooltip,.lb-composer-suggestions,.lb-composer-floating-toolbar):where([data-state=closed]){animation-name:lb-animation-disappear}@keyframes lb-animation-slide-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes lb-animation-slide-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes lb-animation-appear{0%{opacity:0}to{opacity:1}}@keyframes lb-animation-disappear{0%{opacity:1}to{opacity:0}}@keyframes lb-animation-shimmer{0%,to{-webkit-mask-image:linear-gradient(90deg,#00000080,#000,#000,#00000080);mask-image:linear-gradient(90deg,#00000080,#000,#000,#00000080);-webkit-mask-size:400% 100%;mask-size:400% 100%}0%{-webkit-mask-position:200% 0;mask-position:200% 0}to{-webkit-mask-position:-200% 0;mask-position:-200% 0}}@keyframes lb-animation-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (hover:hover){.lb-comment:where(.lb-comment\:show-actions-hover) :where(.lb-comment-actions){opacity:0;transition-property:opacity;position:absolute;inset-inline-end:0}.lb-comment:where(.lb-comment\:show-actions-hover):where(:is(:hover,:focus-within,.lb-comment\:action-open)) :where(.lb-comment-actions){opacity:1;position:relative}.lb-thread:where(.lb-thread\:show-actions-hover :is(:hover,:focus-within)) :where(.lb-thread-actions){opacity:1}.lb-inbox-notification:where(.lb-inbox-notification\:show-actions-hover) :where(.lb-inbox-notification-header){grid-template:"title secondary"/1fr max-content;display:grid}.lb-inbox-notification:where(.lb-inbox-notification\:show-actions-hover) :where(.lb-inbox-notification-details){opacity:1;transition-property:opacity}.lb-inbox-notification:where(.lb-inbox-notification\:show-actions-hover) :where(.lb-inbox-notification-actions){opacity:0;transition-property:opacity}.lb-inbox-notification:where(.lb-inbox-notification\:show-actions-hover):where(:is(:hover,:focus-within,.lb-inbox-notification\:action-open)) :where(.lb-inbox-notification-details){opacity:0}.lb-inbox-notification:where(.lb-inbox-notification\:show-actions-hover):where(:is(:hover,:focus-within,.lb-inbox-notification\:action-open)) :where(.lb-inbox-notification-actions){opacity:1}.lb-inbox-notification:where(.lb-inbox-notification\:show-actions-hover) :where(.lb-inbox-notification-details),.lb-inbox-notification:where(.lb-inbox-notification\:show-actions-hover) :where(.lb-inbox-notification-actions){grid-area:secondary;justify-self:end}}@media (prefers-reduced-motion){.lb-dropdown:where(:not([data-state=closed])),.lb-emoji-picker:where(:not([data-state=closed])),.lb-tooltip:where([data-state=delayed-open]:not([data-state=closed])),.lb-composer-suggestions:where(:not([data-state=closed])){animation-name:lb-animation-appear}}